$ 229.35
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 346 |
| Technical Name |
grev_od_sunmi_direct_print |
| License | OPL-1 |
| Website | https://grevlin.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 346 |
| Technical Name |
grev_od_sunmi_direct_print |
| License | OPL-1 |
| Website | https://grevlin.com |
|
🖨 SUNMI • ODOO POS • NO IoT BOX
Sunmi Direct Print for Odoo POSPrint receipts, kitchen tickets and open the cash drawer on any Sunmi Android POS device — directly from Odoo POS, with zero extra hardware.
|
|
|
|
Works with every Sunmi Android POS terminal that exposes the Sunmi Inner Printer service, including:
|
|
|
Need Help?
Questions, feedback or a specific Sunmi device to support? Follow us on X: @GrevlinGlobal ✨ 30 days free support included |
Sunmi Direct Print for Odoo POS - Documentation
This module enables Odoo Point of Sale to print receipts, kitchen tickets and open the cash drawer directly on Sunmi Android POS terminals, using the built-in thermal printer, without an IoT Box.
Overview
Sunmi Direct Print is a thin, upgrade-safe extension of the standard Odoo POS that delegates printing to the new Sunmi `JS SDK`_ running on the device itself. The POS front-end sends a print job through an on-device WebSocket that is handled by the Sunmi Inner Printer service, so receipts are produced locally in milliseconds.
Key Features
- Direct printing to the Sunmi built-in thermal printer
- Works on Sunmi V2, V2 Pro, V2s, P2, T2, T3, D2, D3 and compatible terminals
- Supports both 58mm and 80mm paper widths
- Prints POS receipts and order kitchen / bar tickets
- Opens the cash drawer on cash payments
- No IoT Box, no network printer, no extra hardware
- Keeps working even when the internet connection drops
Requirements
- Odoo 19.0 (Community or Enterprise)
- A Sunmi Android POS terminal running the Sunmi Inner Printer service
- The Odoo POS is opened directly on the Sunmi device in its Chrome / WebView
Note
The Sunmi JS SDK only exposes its on-device WebSocket to applications running on the Sunmi terminal itself. Opening the POS from a desktop browser pointing to the same device is not supported.
Installation
- Copy the grev_od_sunmi_direct_print folder into your Odoo addons path
- Restart the Odoo server
- Go to :menuselection:`Apps` and click :guilabel:`Update Apps List`
- Search for Sunmi Direct Print for Odoo POS
- Click :guilabel:`Install`
Important
The module depends only on point_of_sale. No additional Python packages or system libraries are required.
Configuration
Enable Sunmi printing on a POS
- Go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`
- Open the POS configuration used on the Sunmi terminal
- In the :guilabel:`Printers` section, tick :guilabel:`Sunmi Printer`
- Select the :guilabel:`Paper Width` (58mm or 80mm) matching the paper roll loaded in the terminal
- Click :guilabel:`Save`
Tip
Most Sunmi V2 / P2 / T2 models ship with 58mm paper. The larger T2s and T3 typically use 80mm. Check the physical paper roll before selecting a width.
Configure a kitchen or bar printer
To route order tickets to the on-device printer:
- Go to :menuselection:`Point of Sale --> Configuration --> Order Printers`
- Create or open a printer record
- Set :guilabel:`Printer Type` to :guilabel:`Sunmi Printer`
- Select the :guilabel:`Paper Width`
- Assign the printer to one or more categories on the POS configuration
- Save
Usage
Print a receipt
- Open Odoo POS on the Sunmi terminal
- Add products to the order
- Click :guilabel:`Payment`, select the payment method and click :guilabel:`Validate`
- The receipt is printed on the built-in thermal printer
- On cash payments, the cash drawer opens automatically
Print a kitchen ticket
- Add one or more products belonging to a category assigned to the Sunmi kitchen printer
- Click :guilabel:`Order`
- The kitchen ticket is printed immediately on the Sunmi terminal
Reprint a receipt
Reprinting a receipt from the POS order history goes through the same Sunmi printer path, so the behavior is identical to the original print.
Technical Details
Architecture
The module extends three standard Odoo models:
- pos.config — adds the sunmi_printer_enabled and sunmi_paper_width fields
- pos.printer — adds a sunmi_local printer type and its own paper width
- res.config.settings — exposes the fields above in the POS settings page
The POS front-end loads the Sunmi JS SDK from grev_od_sunmi_direct_print/static/lib/sunmi_sdk.js inside the point_of_sale._assets_pos bundle and connects to the on-device WebSocket exposed by the Sunmi Inner Printer service.
Note
The module does not define any new model. All behavior lives on existing Odoo POS entities, which keeps it upgrade-safe and compatible with other POS customizations.
Limitations
- Printing requires the POS to run on the Sunmi terminal itself
- Only the built-in Sunmi thermal printer is targeted — external USB or network printers are not handled by this module
- Non-Sunmi Android devices are not supported; use grev_od_universal_android_pos_print for multi-brand support
See also
- Grevlin website
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module