Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Point Of Sale
  3. Universal Android POS Printer for Odoo v 19.0
  4. Sales Conditions FAQ

Universal Android POS Printer for Odoo

by Grevlin Global Corp https://grevlin.com
Odoo

$ 292.55

In-App Purchases
v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
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 1442
Technical Name grev_od_universal_android_pos_print
LicenseOPL-1
Websitehttps://grevlin.com
You bought this module and need support? Click here!
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 1442
Technical Name grev_od_universal_android_pos_print
LicenseOPL-1
Websitehttps://grevlin.com
  • Description
  • Documentation
  • License
🖨 SUNMI & iMin • NO IoT BOX

Universal Android POS Printer for Odoo

Print receipts, kitchen tickets and open the cash drawer on Sunmi and iMin Android POS terminals — one module, two native SDKs, zero IoT hardware.

✓ Odoo 19.0 ✓ Sunmi JS SDK ✓ iMin JS SDK ✓ Multi-printer

Universal Android POS Printer turns any Sunmi or iMin Android POS terminal with a built-in thermal printer into a native Odoo POS printer. The module ships both vendor JS SDKs, auto-detects which one to use at runtime, and lets a single POS session drive a receipt printer, a kitchen printer and a bar printer at the same time — no IoT Box, no LAN printer, no ESC/POS hardware.

Supported Android POS Devices

Works on every Sunmi and iMin Android POS terminal that exposes its native Inner Printer service, through the official vendor JS SDKs.

Sunmi V2 / V2 Pro / V2s Sunmi P2 / T2 / T2s / T3 Sunmi D2 / D3 / D2s iMin Swan1 / Swan2 iMin Falcon1 iMin D3 Pro / M2 Max

Core Features

⚡

Native SDK Speed

Sunmi and iMin devices print through their official vendor JS SDKs over an on-device WebSocket. Sub-second latency, full ESC/POS compatibility and cash-drawer support.

🔍

Auto-Detect Mode

The main receipt printer is auto-selected in the order Sunmi SDK → iMin SDK, so most deployments are plug-and-play with no manual driver picking.

🖨

Multi-Printer per POS

Drive several Android printers from a single POS session — a receipt printer, a kitchen printer, a bar printer — each on its own brand and driver.

🍴

Kitchen Ticket Routing

Route order tickets by POS category to any number of kitchen or bar printers, each running its own Sunmi or iMin SDK driver.

📐

58mm & 80mm Paper

Paper width is configured at the POS level and per printer. Layout, margins and font sizing adapt so receipts always stay clean and readable.

🎯

Receipt Customization

Add a logo, a footer message, customer name and a QR code (order reference, website or custom text) without touching any template.

💰

Cash Drawer Support

Opens the cash drawer on cash payments through the Sunmi and iMin SDKs, just like a classic ESC/POS printer — no extra configuration needed.

🔐

Upgrade Safe

Pure extension of pos.config, pos.printer and res.config.settings. No custom models, no core overrides, no monkey-patching.

Two Native SDKs, One Module

Sunmi JS SDK

On-device WebSocket to the Sunmi Inner Printer service. Zero network hops, instant printing on V2, V2 Pro, V2s, P2, T2, T2s, T3, D2, D2s, D3 and every Sunmi model with a built-in printer.

iMin JS SDK

On-device WebSocket plus HTTP bitmap upload to the iMin printer service. Supports Swan1, Swan2, Falcon1, D3 Pro, M2 Max and the rest of the iMin range.

Why Universal Android Print

Save the IoT Box Cost

Skip the Odoo IoT Box, the LAN printer and the extra router per shop. Your Android terminal is both the POS and the printer.

Mixed Sunmi & iMin Fleets

Shops with a mix of Sunmi and iMin terminals no longer need one printer module per brand. One install covers both SDKs.

Works Offline

Printing happens on the device itself via the vendor SDK. Receipts keep coming even when the internet drops.

How It Works

1

Install the module

Install Universal Android POS Printer from the Apps menu. Depends only on point_of_sale.

2

Pick the driver

Set Android Print Mode on the POS config, or leave it on Auto-detect and the best SDK is picked for you.

3

Open the POS

Launch Odoo POS on the Android terminal. Receipts, kitchen tickets and the cash drawer just work.

Changelog

Version 19.0.2.1.0 — Multi-printer & iMin SDK

  • Per-pos.printer driver selection — mix Sunmi and iMin printers in the same POS session
  • Native iMin JS SDK driver (WebSocket + HTTP bitmap upload) for Swan1, Swan2, Falcon1, D3 Pro, M2 Max
  • Auto-detect order Sunmi SDK → iMin SDK for the main receipt printer
  • Receipt customization: logo, footer, customer name, QR code (order ref / website / custom text)
  • Kitchen ticket routing by POS category

Version 19.0.1.0.0 — Initial Release

  • Sunmi JS SDK driver for the built-in thermal printer on Sunmi devices
  • 58mm and 80mm paper width at POS and printer level
  • Cash drawer open command on cash payments
  • Native extension of pos.config, pos.printer and res.config.settings

Need Help?

Questions, feedback or a specific Android device to support?
Reach out at odoo@grevlin.com

Follow us on X: @GrevlinGlobal

✨ 30 days free support included

Universal Android POS Printer for Odoo - Documentation

This module turns any Sunmi or iMin Android POS terminal with a built-in thermal printer into a native Odoo POS receipt printer, without an IoT Box, a LAN printer, or any ESC/POS hardware.

The module ships the two native vendor JS SDKs (Sunmi and iMin) and lets Odoo POS pick the right one per pos.printer record, so one POS session can drive a receipt printer, a kitchen printer and a bar printer at the same time.

Overview

The module ships two print drivers and lets Odoo POS pick the right one per printer record:

  1. Sunmi JS SDK — on-device WebSocket to the Sunmi printer service, using the official Sunmi JavaScript SDK bundled with the module.
  2. iMin JS SDK — on-device WebSocket plus HTTP bitmap upload to the iMin printer service, using the official iMin JavaScript SDK.

Key Features

  1. Works on every Sunmi and iMin Android POS terminal with a built-in thermal printer
  2. Multi-printer per POS — drive a receipt printer, a kitchen printer and a bar printer at the same time, each on its own brand and driver
  3. Auto-detect for the main receipt printer in the order Sunmi SDK → iMin SDK
  4. 58mm and 80mm paper widths, configurable at POS level and per printer
  5. Receipt customization: logo, footer text, customer name and QR code (order reference, website URL or custom text)
  6. Kitchen ticket routing by POS category
  7. Opens the cash drawer on cash payments
  8. No IoT Box, no LAN printer, no extra hardware

Requirements

  • Odoo 19.0 (Community or Enterprise)
  • A Sunmi or iMin Android POS terminal with a built-in thermal printer
  • The Odoo POS is opened directly on the Android terminal in its Chrome / WebView

Note

The Sunmi and iMin JS SDKs only expose their on-device WebSocket to applications running on the terminal itself. Opening the POS from a desktop browser pointing to the same device is not supported.

Installation

  1. Copy the grev_od_universal_android_pos_print folder into your Odoo addons path
  2. Restart the Odoo server
  3. Go to :menuselection:`Apps` and click :guilabel:`Update Apps List`
  4. Search for Universal Android POS Printer for Odoo
  5. Click :guilabel:`Install`

Important

The module depends only on point_of_sale. No additional Python packages or system libraries are required on the server side.

Configuration

Select the print mode

  1. Go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`
  2. Open the POS configuration used on the Android terminal
  3. In the :guilabel:`Printers` section, set :guilabel:`Android Print Mode` to one of:
    • :guilabel:`Auto-detect (recommended)` — picks Sunmi SDK or iMin SDK automatically at runtime
    • :guilabel:`Sunmi JS SDK (Sunmi devices only)`
    • :guilabel:`iMin JS SDK (iMin devices only)`
    • :guilabel:`Disabled`
  4. Select the :guilabel:`Paper Width` (58mm or 80mm) matching the paper roll loaded in the terminal
  5. Click :guilabel:`Save`

Tip

Leave the print mode on :guilabel:`Auto-detect` unless you need to pin a specific driver. Auto-detect is the fastest path to a working POS on mixed fleets.

Receipt customization

Under the same POS configuration, the module adds:

  • :guilabel:`Print Logo on Receipt` with an optional :guilabel:`Receipt Logo` image (PNG or JPG, max 400px wide)
  • :guilabel:`Print Footer Text` and the :guilabel:`Footer Text` content
  • :guilabel:`Print Customer Name`
  • :guilabel:`Print QR Code` with :guilabel:`QR Content` set to :guilabel:`Order Reference`, :guilabel:`Website URL` or :guilabel:`Custom Text`
  • :guilabel:`Auto-print on Payment` and :guilabel:`Number of Copies`

Kitchen ticket routing

  1. On the POS configuration, enable :guilabel:`Kitchen Ticket Printing`
  2. Pick the :guilabel:`Kitchen Categories` whose products should appear on kitchen tickets
  3. Go to :menuselection:`Point of Sale --> Configuration --> Order Printers`
  4. Create or open a printer record
  5. Set :guilabel:`Printer Type` to :guilabel:`Android Universal Printer`
  6. Choose the per-printer :guilabel:`Android Driver` (:guilabel:`Sunmi JS SDK` or :guilabel:`iMin JS SDK`)
  7. Select the :guilabel:`Paper Width`
  8. Assign the printer to the relevant POS categories

Usage

Print a receipt

  1. Open Odoo POS on the Android terminal
  2. Add products to the order
  3. Click :guilabel:`Payment`, select the payment method and click :guilabel:`Validate`
  4. The receipt is printed on the built-in thermal printer
  5. On cash payments, the cash drawer opens automatically

Print a kitchen ticket

  1. Add one or more products belonging to a category assigned to an Android kitchen printer
  2. Click :guilabel:`Order`
  3. The kitchen ticket is printed immediately on the target Android terminal, through its configured driver

Reprint a receipt

Reprinting a receipt from the POS order history goes through the same Android driver path, so the behavior is identical to the original print.

Technical Details

Architecture

The module extends three standard Odoo models:

  • pos.config — adds android_print_mode and the full set of per-POS Android printer settings (paper width, receipt customization, auto-print, kitchen routing)
  • pos.printer — adds an android_driver selection and per-printer paper width, used to dispatch each order/kitchen printer to the matching driver
  • res.config.settings — exposes the fields above in the POS settings page

JavaScript drivers live under static/src/app/utils/ and are loaded through the point_of_sale._assets_pos bundle:

  • sunmi_sdk_driver.js — WebSocket ws://localhost:7070/ws, uses the SUNMI global from static/lib/sunmi_sdk.js
  • imin_sdk_driver.js — WebSocket ws://127.0.0.1:8081/websocket plus HTTP http://127.0.0.1:8081/upload for bitmaps, uses the IminPrinter global from static/lib/imin-printer.js

Note

The module defines no new model. All behavior lives on existing Odoo POS entities, which keeps it upgrade-safe and compatible with other POS customizations.

Supported Android POS devices

Brand Example models Driver
Sunmi V2, V2 Pro, V2s, P2, T2, T2s, T3, D2, D2s, D3 Sunmi JS SDK
iMin Swan1, Swan2, Falcon1, D3 Pro, M2 Max iMin JS SDK

Limitations

  • Printing requires the POS to run on the Android terminal itself
  • Only built-in Sunmi and iMin thermal printers are targeted — external USB or network printers are not handled by this module
  • Other Android POS brands (PAX, Urovo, Telpo, Newland, generic OEM) are planned for a future release

See also

  • :doc:`../../grev_od_sunmi_direct_print/doc/index`
  • 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

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with