Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • E-learning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Sociale media-marketing
    • E-mailmarketing
    • Sms-marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Artificiële Intelligentie
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelwinkel
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Horeca & Hospitality
    • Bar en café
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van mede-eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brouwerij
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Diensten
    • Klusjesman
    • IT-hardware & ondersteuning
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profitorganisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Alle bedrijfstakken bekijken
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijsprogramma
    • Scale Up! Business Game
    • Odoo bezoeken
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Partner worden
    • Diensten voor partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

How to Set Up Windows Virtual IoT with a Zebra Printer on Odoo 19

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
windowsprinterbarcodelabelzebraVirtualIoTodoo19zplIoT
863 Weergaven
Avatar
Samson Mai (samai)

How to Set Up Windows Virtual IoT with a Zebra Printer on Odoo 19

After setting up Virtual IoT + Zebra printers across several client implementations, I noticed the official documentation for Odoo 19 is missing some critical steps (firewall configuration, PostgreSQL, ZPL printing, and more). More importantly, the existing forum threads cover bits and pieces, but there’s no single end-to-end guide.

This post consolidates everything I’ve learned from hands-on setups and working with our functional experts. Hope it helps.

What Is a Virtual IoT Box?

A Virtual IoT box is a Windows-based application that turns a standard Windows PC into the equivalent of a physical Odoo IoT box. The PC runs a local Odoo server (IoT service only), detects connected devices like printers and scanners, and makes them available to your Odoo database over the local network.

Key point: The Virtual IoT is Windows-only. Mac and Linux are not supported. You can run a Windows VM on Mac/Linux, but Odoo does not support that configuration and won’t troubleshoot it.

Prerequisites

Before you start, make sure you have:

  • Windows 10 or 11

  • Odoo 19 SaaS or Odoo.sh database with an active IoT subscription

  • IoT administrator access on the Odoo user performing the setup (Settings → Users → select user → IoT section → set to Administrator)

  • Zebra printer connected to the Windows machine with drivers already installed — verify it appears in Windows Settings → Printers & Scanners before touching Odoo

  • Internet access on the Windows machine (for initial setup and HTTPS certificate generation)

  • Local network access if other computers need to reach the IoT box

Important Notes on Prerequisites

  • Printer drivers are a hardware prerequisite, not an Odoo one. If the printer doesn’t show in Windows Printers & Scanners, contact the printer manufacturer’s support. Odoo cannot detect a printer that Windows itself doesn’t see.

  • Only genuine Zebra printers are supported. Non-Zebra label printers that claim ZPL compatibility via emulation are unreliable and unsupported.

  • The IoT app must be installed on your Odoo database, and your user must have IoT admin rights.

Step 1: Download the Correct Installer

This is where v19 differs from v17/v18 — don’t use the wrong installer.

Database Version

What to Download

Odoo 19

Dedicated IoT installer from odoo.com/page/download — scroll to the Virtual IOT section

Odoo 17 / 18

Odoo Community Windows installer → select "Odoo IoT" from the install type dropdown during setup

For v19, there’s a separate standalone installer. It is NOT the same as the Community installer with an IoT option in the dropdown. If you use the wrong one, the service may not start correctly.

Step 2: Install the Windows Virtual IoT
  1. Run the .exe installer. Follow the standard prompts. Accept the license agreement.

  2. Change the destination folder (critical). Do NOT use the default Program Files path. Instead, create and select C:\ODOO as the destination.

DANGER:  Never install into C:\Users\... or C:\Program Files\... — this will prevent the Nginx server from initializing and block HTTPS certificate generation. Always create a new folder at C:\ODOO and install there.

  1. Install the sub-modules. The installer will prompt you to set up two additional components:

Sub-Module

What It Does

GPL Ghostscript

Translates print commands into rendered images and text. Used on every print job.

Sumatra PDF

Parses and processes PDF files for printing to standard (non-label) printers.

Click Next / Install / Finish through each.

  1. PostgreSQL installation. The installer will prompt you to install PostgreSQL. This is required — proceed with the install. The Virtual IoT runs a local Odoo server that uses PostgreSQL as its database engine. You don’t need to configure or interact with PostgreSQL after installation.

TIP:  If the PostgreSQL checkbox appears greyed out, it usually means a previous Odoo or PostgreSQL installation left behind registry keys. Uninstall any old programs, open Registry Editor (regedit), search for “PostgreSQL,” delete all remaining entries, restart the computer, and re-run the installer.

  1. Complete the setup. Ensure the “Start Odoo” checkbox is selected, then click Finish. The IoT homepage will automatically open at http://localhost:8069. Installation takes about 5 minutes.

Step 3: Configure the Windows Firewall

This step is required if any other computer on the network needs to access the IoT box (which is the typical setup). Without it, the IoT will only work from the same machine it’s installed on.

  1. Open Windows Defender Firewall with Advanced Security (search “Windows Firewall” in Start)

  2. Click Inbound Rules in the left panel

  3. Click New Rule on the right

  4. Select Port as the rule type → Next

  5. Leave TCP selected. In “Specific local ports,” enter: 8069, 80, 443

  6. Select “Allow the connection” → Next

  7. Check all three profiles (Domain, Private, Public) → Next

  8. Name the rule ODOO → Finish

Port

Purpose

8069

Odoo server port (primary IoT communication)

80

HTTP

443

HTTPS


NOTE:  An outbound rule is NOT needed. The IoT box only receives inbound connections from devices on the local network.

Step 4: Connect the Virtual IoT to Your Odoo Database
  1. Verify the IoT homepage loads. On the same machine, open http://localhost:8069. You should see the IoT box interface with a pairing code. From another machine on the same network, try http://[local-IP]:8069 to confirm remote access.

  2. Find the local IP. It’s displayed on the IoT homepage. Or open Command Prompt and run: ipconfig

  3. Open the IoT app in your Odoo database. Navigate to IoT → IoT Boxes → click Connect.

  4. Enter the pairing code. On v19, the system may auto-detect the IoT box. If not, click “Use Pairing Code” and enter the code from the IoT homepage.

  5. Wait for devices to populate. After connecting, the IoT box will pull all detected devices from Windows Printers & Scanners. This can take up to 5 minutes. Refresh periodically.

TIP:  If no devices appear after 5 minutes, restart the Odoo IoT service. Search “Services” in the Start menu, find “Odoo IoT” or “Odoo IoT 19,” right-click, and select Restart.

Step 5: Print with the Zebra Printer
ZPL Format — The Key Thing to Know

Zebra printers connected via IoT only accept ZPL (Zebra Printing Language) format reports. Standard PDF reports (delivery slips, invoices, pick lists) will NOT print to a Zebra. When selecting a report, always look for options labeled “ZPL” in the name.

Print a Test Label
  1. In the Inventory app, open a product that has a barcode assigned

  2. Click the gear/action icon → Print Labels

  3. Select a ZPL format report from the list

  4. When prompted, assign the correct printer (this is a per-user setting)

  5. Click Print — the label should print immediately

TIP:  Users can check “Do not ask me again” to suppress the printer selection prompt. To change the printer later, go to IoT → Devices and reassign it.

Where ZPL Reports Are Triggered

Manual printing (from the Inventory app):

  • Product form → gear icon → Print Labels → ZPL option

  • Inventory → Products → Lots/Serial Numbers → select rows → Print → ZPL

Automatic printing (on operation validation):

  • Inventory → Configuration → Operations Types → select an operation → Hardware tab → enable Product Labels and/or Lot/SN Labels → select a ZPL format

  • Once configured, labels auto-print whenever that operation is validated — whether from the Inventory app or the Barcode app

Carrier/shipping labels:

  • Delivery orders validated with a third-party carrier (FedEx, UPS, etc.) set to ZPL2 label format

What Does NOT Print to Zebra:

  • Any PDF report

  • ZPL prints 1 label per job — no native batch printing

NOTE:  The Barcode app does NOT have a print button. It only triggers ZPL printing indirectly by validating operations that have auto-print configured on the operation type.

Step 6: Barcode Scanner (Optional)

If you also have a USB barcode scanner, plug it into the Windows machine. It should be detected automatically via Plug and Play. Open the Barcode app in Odoo and scan a barcode to verify.

Note: barcode scanners may appear intermittently in the IoT device list, but they generally function correctly when connected.

Known Limitations

  • Customer displays are not supported on Windows Virtual IoT

  • MRP devices (cameras, measurement tools) are not compatible

  • Non-Zebra label printers claiming ZPL emulation are unreliable and unsupported

  • Devices must remain physically connected. If you unplug a printer, it disappears from the IoT device list

  • Label customization (custom layouts, industry-specific codes) requires custom development or a success pack

  • Mac/Linux: You can run a Windows VM, but this is unsupported by Odoo

Troubleshooting Quick Reference

Problem

Solution

IoT homepage doesn’t load at localhost:8069

Restart the Odoo IoT service via Windows Services

Devices don’t appear on the database

Wait 5 min, then restart the service. Verify printer appears in Windows Printers & Scanners

Can’t access IoT from another computer

Check firewall inbound rule for ports 8069, 80, 443. Verify both machines are on same network

Zebra printer doesn’t print

Confirm you selected a ZPL report (not PDF). Verify the printer driver is installed in Windows

PostgreSQL checkbox greyed out

Previous install left registry keys. Clean with regedit, restart, reinstall

“Connection to IoT Box failed”

Check IoT subscription is active. Try https://[IoT-IP] and manually accept the self-signed certificate

Service name unclear

On v19, look for “Odoo IoT” or “Odoo IoT 19” in Windows Services

Driver issues

Contact the printer’s hardware support (Zebra). Not an Odoo issue

Useful Links

  • Windows Virtual IoT documentation (v19): odoo.com/documentation/19.0/applications/general/iot/windows_iot.html

  • IoT system connection to Odoo: odoo.com/documentation/19.0/applications/general/iot/connect.html

  • Connect a printer: odoo.com/documentation/19.0/applications/general/iot/devices/printer.html

  • Zebra label configuration: odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/zebra.html

  • Barcodes for lot and serial numbers: odoo.com/documentation/19.0/applications/inventory_and_mrp/barcode/setup/serial_numbers_lots.html

  • Auto-print settings on operations: odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/print_on_validation.html

  • Labelary ZPL viewer (for testing label designs): labelary.com/viewer.html

Related Forum Threads

If you’re looking for answers to specific issues, these existing threads may help:

  • "How to install & connect my virtual IoT?" — v16/v17 focused but general concepts apply

  • "Virtual IoT Odoo 19" — confirms the separate v19 installer and nightly build URL

  • "What is the difference between the IoT box and the Virtual IoT?" — physical vs virtual comparison

  • "Label Code for ZD410 Zebra Printer" — ZPL code customization examples

  • "Connect your printer & modify ZPL format" — general printer + ZPL setup

Hope this helps someone avoid the headaches I went through. Happy to answer follow-up questions.

Samson Mai

Business Solutions Analyst, Odoo North America

1
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
Virtual IOT 17 not pairing, (No devices)
printer label IOT VirtualIoT
Avatar
0
mei 26
426
Print custom label size
printer print barcode label labels
Avatar
Avatar
Avatar
2
mrt. 23
10162
Virtual IoT Odoo 19 Opgelost
VirtualIoT IoT
Avatar
Avatar
Avatar
2
nov. 25
2420
Add Customer Name to ZPL Label
label zpl
Avatar
Avatar
1
dec. 24
1887
How to fix barcode error reader on Zebra mobile scanner device (And other mobile scanners) in Odoo 16. Opgelost
barcode zebra
Avatar
Avatar
Avatar
Avatar
Avatar
5
okt. 25
10324
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Partner worden
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo is een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now