Print anything, from anywhere in Odoo.
Two powerful modules — use them together for a complete end-to-end printing solution, or independently to fit your existing setup. Bista Cloud Server connects any Odoo instance to real-world printing hardware while Bista ZPL Designer brings professional label design to Odoo.
ZPL Label Solution Direct Printing Solution
Design and print ZPL labels without leaving Odoo.
The ZPL Designer gives warehouse managers, operations teams, and developers a drag-and-drop canvas to build professional thermal printer labels directly inside Odoo — no external software, no manual ZPL scripting.
Labels are rendered in real time, giving you an accurate live preview before you send a single print job.
Drag-and-drop label canvas
Build labels visually by placing text, barcodes, QR codes, images, borders, and multi-line fields onto a pixel-accurate canvas. Resize elements proportionally when you change label dimensions
Multiple barcode formats
Code 128, EAN-13, EAN-8, UPC-A, UPC-E, Code 39, Code 93, Code 49, PDF417, Planet Code, and QR code — all configurable per element with adjustable magnification (1–10×).
Live ZPL Preview
Every element change triggers a real time bitmap preview. What you see in Odoo is exactly what the printer will produce.
Per-model label support
Create separate label templates for products, product variants, lot/serial numbers, stock locations, stock move lines, and warehouse transfers — with full access to each model's fields.
Publish & access control
Labels have a Published/Unpublished state and can be restricted to specific user groups. Control exactly which teams see which label templates in the print wizard.
Multi-DPI support
Configure labels at 152, 203, 300, or 600 DPI to match your Zebra or compatible thermal printer's physical resolution — ensuring crisp output every time.
How the ZPL Designer Works
01 Create a label template
Navigate to the ZPL Labels menu, create a new record, and set the target model (e.g. Product, Lot, Transfer), dimensions in inches, DPI, and margins.
02 Design in the canvas
Open the designer view. Drag text blocks, barcodes, QR codes, images, and borders onto the canvas. Position with pixel-level precision using top/left coordinates.
03 Bind Odoo Fields
For each element, select the source field from the model. For many2one fields, pick a related field to traverse the relation (e.g. Product → Category Name).
04 Preview in real time
The module calls the Bista rendering API with your label configuration, returning a bitmap image rendered by the same engine the printer uses — no surprises at print time.
05 Publish and Print
Publish the label to make it available to users. From any product, lot, or transfer record, open the Print Wizard, select the label, choose a cloud-connected device, and print.
Connect Odoo to any physical printer over the cloud.
Bista Cloud Server is the infrastructure layer that bridges Odoo with real-world printing hardware. It manages secure connections to on-premise print servers, discovers physical devices, queues print jobs, and delivers them reliably — all from within Odoo's interface.
It also provides the automation engine that lets you trigger print jobs automatically based on Odoo events, method calls, and domain conditions.
Secure server pairing
Connect Odoo to any Bista Cloud Server instance using a pairing code. All communication is encrypted with Fernet symmetric encryption derived from the pairing code, so no credentials are ever sent in plain text.
Multi-server support
Register multiple cloud server instances — one per site, building, or region. Each server is independently connected, monitored, and managed with its own device pool.
Device discovery and management
Fetch all printers and devices registered on a cloud server with one click. Odoo automatically syncs device metadata and deduplicates against existing records.
Multiple printer types
Supports Generic PCL printers, ZPL RAW thermal printers (Zebra and compatibles), Star TSP raster printers, Dot Matrix, and EPSON receipt printers — all under a single interface.
Flexible communication
Devices can communicate via IP address and port, or through CUPS (Common Unix Printing System). Duplicate detection prevents conflicting device registrations on both channels.
Print job queue
Every print request becomes a tracked job record. Jobs move through draft → processing → done/error states, giving you full visibility into what was sent, when, and whether it succeeded.
How the Cloud Server Works
01 Deploy the client app
Install the Bista Cloud Server client application on any machine that has network access to your printers. The client registers itself and waits for encrypted job payloads.
02 Add the server in Odoo
Go to Cloud Printing → Servers, create a new server record, enter the URL of the client machine, and enter the pairing code shown in the client app.
03 Fetch & configure devices
Click "Fetch Devices" to discover all printers registered on the server. Set each device's type, printer language, IP address or CUPS name, and access groups.
04 Test the connection
Use the test print function to confirm end-to-end communication. The status indicator on each device updates to "Connected" when the handshake succeeds.
05 Print manually or automatically
Users can print from any record using the Print Wizard, or set up Cloud Automation rules to print without any user interaction when records meet defined conditions.
Compare it to other solutions
