Works with Odoo 16, 17 & 18

Print labels from
Odoo Mobile
to any Zebra printer.

A local print agent that converts PDF print jobs to ZPL and delivers them to your Zebra printer over TCP in under two seconds. No cloud. No subscription. No data leaves your network.

How a print job travels
📱
Odoo Mobile
Renders label as PDF, sends POST /print
LabelCast Agent
Converts PDF to ZPL via Ghostscript. Runs on your Windows PC.
🖨️
Zebra Printer
ZPL delivered over TCP port 9100. Any network Zebra model.
Label printed in under 2 seconds
Works with
Odoo 16 Odoo 17 Odoo 18 Zebra ZT Series Zebra GK / GX Zebra ZD Series Windows 10 / 11 Node.js 18+
How it works

Up and running
in 30 minutes.

Four steps from install to your first printed label. No cloud account or configuration portal required.

1

Install prerequisites

Node.js 18 and Ghostscript on any Windows PC on your network. Both free, both five-minute installs.

2

Configure .env

Set your Zebra's IP, a secret API token, and your label DPI. Run start.bat and you're live.

3

Connect Odoo

Add a server action that POSTs the label PDF to the agent with your token header. Included in paid tiers.

4

Tap. Label prints.

From your phone on the warehouse floor. PDF converts to ZPL and hits the printer's TCP socket in under 2 seconds.

Self-hosted.
No cloud middleman.

PrintNode routes your jobs through external servers, charges by account tier, and requires an internet connection. LabelCast runs on your hardware, on your LAN, with no ongoing fees and no data leaving the building.

LabelCastPrintNode
Cloud required✓ None✗ Always
Data leaves network✓ Never✗ Every job
Recurring fee✓ Optional✗ $9-$990/yr
Print limit✓ Unlimited✗ 50 free/mo
Works offline✓ Yes✗ No
Odoo integration✓ IncludedManual
Open source✓ MIT licence✗ Proprietary
Features

Built for production,
not demos.

Handles the edge cases your warehouse floor will actually throw at it.

📬

Three intake methods

Multipart upload, raw binary body, or JSON base64. Works with any Odoo version's HTTP calls.

🔑

Token authentication

Simple API token in the X-Print-Token header. Configure once in Odoo system parameters.

📋

Print queue

Jobs queue automatically. Poll GET /jobs/:id for status. Handles burst traffic without dropping jobs.

🔬

High-fidelity conversion

Ghostscript renders PDF to 1-bit raster, encoded as ZPL ^GF. Barcodes and fonts rendered correctly at 203 or 300 DPI.

⚙️

Windows Service

Installs as a background service via NSSM. Auto-starts on reboot, restarts on crash. Set and forget.

❤️

Health monitoring

GET /health returns printer connectivity. Hook into UptimeRobot for free uptime alerting.

📄

Multi-page PDFs

Each page becomes a label. Submit a five-page picking slip, get five labels. Copies parameter included.

📊

Structured logging

Winston logs with automatic rotation. Every job and printer event recorded for easy diagnosis.

🔓

MIT licensed core

Community tier is fully open source. Read the code, audit it, fork it. No black boxes on your network.

Pricing

One price.
No surprises.

One-time licence fee. No per-print charges. No cloud subscription that can be cancelled beneath you.

Community
Free
MIT licence · GitHub
  • Full source code
  • Manual Node.js setup
  • All core features
  • Community support
View on GitHub
Pro
$197
One-time · +$79/yr support
  • Everything in Single Site
  • Multi-printer routing
  • Priority support
  • 12 months of updates
  • Up to 5 locations
Buy Pro
Partner / VAR
$497
One-time · unlimited clients
  • Reseller & white-label rights
  • Unlimited client deployments
  • Priority Slack support
  • 30% referral commission
  • Co-marketing support

Your warehouse. Your printer.
Your data.

Download the free Community edition and have labels printing in 30 minutes.

Download LabelCast →