| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Invoicing (account) • Sales (sale_management) • Discuss (mail) • Website (website) |
| Community Apps Dependencies | Show |
| Lines of code | 1715 |
| Technical Name |
website_sale_auto_print |
| License | LGPL-3 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Invoicing (account) • Sales (sale_management) • Discuss (mail) • Website (website) |
| Community Apps Dependencies | Show |
| Lines of code | 1715 |
| Technical Name |
website_sale_auto_print |
| License | LGPL-3 |
This module automatically prints sales orders when customers complete purchases on your Odoo eCommerce website. It integrates seamlessly with thermal printers through IoT Box or direct printing solutions, enabling instant order fulfillment without manual intervention.
Automatic printing of website orders upon confirmation
Compatible with ESC/POS thermal printers and standard printers
Configurable per website with custom printer selection
- Automatic Order Printing: Prints sales orders automatically when customers complete checkout on your website.
- ESC/POS Receipt Format: Optimized thermal receipt printing with customer details, order lines, and totals.
- Non-Blocking Operation: Printing errors don't prevent order confirmation - errors are logged for review.
- Remote Printing Support: Works with Cloudflare Tunnel for secure remote printer access.
Module Configuration Guide
This module requires the printer_direct module to be installed. Make sure it's installed and configured before proceeding.
Navigate to Settings â Printers and create or configure a printer:
- Name: A descriptive name (e.g., "Website Orders Printer")
- Print Format: Select Ticket for thermal receipt printers
- IoT Box URL: Enter your printer server URL (e.g.,
https://print.yourdomain.comif using Cloudflare Tunnel, orhttp://192.168.1.100:8070for local)
Navigate to Website â Configuration â Settings and configure auto-printing:
- Go to the Odoo main menu and click on Website
- Click on Configuration â Settings
- At the top of the page, select your website from the dropdown (if you have multiple websites)
- Scroll down to find the "Auto Print Orders" section
- Check the "Auto Print Orders" checkbox to enable automatic printing
- In the "Printer" field, click the dropdown and select the printer you configured in Step 2
- Click the "Save" button at the top left
Visual Example:
Screenshot showing the Auto Print Orders section in Website Settings. Enable the checkbox and select your configured printer from the dropdown.
To test if auto-printing is working:
- Place a test order on your website
- Complete the checkout process
- Confirm the order
- The order should automatically print on the configured printer
- If using Cloudflare Tunnel, ensure the tunnel is running before testing
- Printing errors will not prevent order confirmation - they are logged for review
- For multi-website setups, configure each website separately with its own printer
How Direct Printing Works
The direct printing process follows these steps:
- User Initiates Print: When a user clicks the print button for a report
- Server-Side Processing: The server directly communicates with the jIotBox
- Print Execution: The jIotBox processes the print job and sends it to the appropriate printer
This optimized printing workflow offers several advantages:
- Reduced Latency: Optimized printing process eliminates unnecessary delays
- Improved User Experience: Faster printing without interrupting the user's workflow
- Better Error Handling: Clear notifications and non-blocking error management
- Optimized Resource Usage: Efficient database queries and network requests reduce server load
Cloudflare Tunnel Setup for Remote Printing
Cloudflare Tunnel allows you to securely expose your local printer server (IoT Box) to the internet without opening ports on your firewall. This enables remote printing from your Odoo server to printers located anywhere in the world.
If you're using jIotBox, Cloudflared is already included.
Run the following command to authenticate:
cloudflared tunnel login
This will open a browser window where you can log in to your Cloudflare account and authorize the tunnel.
Create a new tunnel with a descriptive name:
cloudflared tunnel create your-tunnel-name
Replace your-tunnel-name with a name like printer-tunnel or iotbox-tunnel.
Route a subdomain to your tunnel:
cloudflared tunnel route dns your-tunnel-name print.yourdomain.com
Replace your-tunnel-name with your tunnel name and print.yourdomain.com with your desired subdomain.
Start your jIotBox application. The config.yml file will be created automatically, the tunnel will start automatically, and you'll have remote access at https://print.yourdomain.com
tunnel: <tunnel-id>
credentials-file: /path/to/.cloudflared/<tunnel-id>.json
ingress:
- hostname: print.yourdomain.com
service: http://localhost:8070
- service: http_status:404
Replace <tunnel-id> with your actual tunnel ID (shown when you created the tunnel), print.yourdomain.com with your subdomain, and adjust the port to match your IoT Box or printer server port.
If you encounter issues with the direct printing functionality, check the following:
- jIotBox Connection: Ensure the jIotBox is online and accessible from your client device
- Printer Status: Verify that the printer is powered on, connected, and has paper
- Network Configuration: Check firewall settings that might block communication between the client and jIotBox
Our Additional Apps
Please log in to comment on this module