Go to file
2026-01-26 11:26:45 +07:00
models first commit 2026-01-26 11:26:45 +07:00
security first commit 2026-01-26 11:26:45 +07:00
views first commit 2026-01-26 11:26:45 +07:00
wizard first commit 2026-01-26 11:26:45 +07:00
__init__.py first commit 2026-01-26 11:26:45 +07:00
__manifest__.py first commit 2026-01-26 11:26:45 +07:00
.gitignore first commit 2026-01-26 11:26:45 +07:00
README.md first commit 2026-01-26 11:26:45 +07:00

Citizen ZPL Printer for Odoo

This module allows direct ZPL printing from Odoo to Citizen Label Printers (e.g., CL-S621, CL-S631) via a network connection (socket). It provides a wizard to select lots and quantities before printing.

Features

  • Direct Printing: Sends ZPL commands directly to the printer's IP address.
  • Print Wizard: Select specific lots and quantity of labels to print from a Stock Picking.
  • Customizable Layout: Configure label size, margins, and content size in dots.
  • Image Support: Print Company Logo and a Custom Image (e.g., "Fragile" icon).
  • Barcode Support: Prints Code128 and Datamatrix/GS1 barcodes.

Configuration

Go to Settings > Inventory > Citizen ZPL Printer.

1. Connection

  • IP Address: The IP address of your printer.
  • Port: Port number (default is 9100).

2. Label Dimensions (Dots)

Configure the physical size of your label.

  • Formula (203 DPI): 1 mm ≈ 8 dots
  • Example (60mm x 30mm):
    • Width: 480 dots
    • Height: 240 dots

3. Content Settings

  • Font Size: Height of the text in dots (30 dots ≈ 3.75mm).
  • Barcode Height: Height of the barcode in dots.
  • Module Width: Density of the barcode (Default 2).

4. Images

  • Print Company Logo: Prints the company logo at the bottom center.
  • Custom Image: Upload an additional image to print at the bottom right.

Usage

  1. Open a Stock Picking (Transfer) in "Done" state.
  2. Click the Print ZPL Barcode button.
  3. A wizard will open listing all lots in the picking.
  4. Adjust the Copies (Quantity) for each lot if needed.
  5. Click Print.

Technical Details

  • DPI: This module is optimized for 203 DPI printers. For 300 DPI, multiply dot values by ~1.5.
  • ZPL Template: The ZPL code is generated using QWeb view citizen_zpl_printer.label_citizen_template_view.