This module enables direct printing from Odoo POS to Epson Network Printers using ePOS/ESC/POS protocol.
- POS Receipt Printer: Print customer receipts at the Point of Sale
- Kitchen Printer: Print preparation orders to a kitchen printer
- Deploy the
pos_epson_networkdirectory to your Odoo addons path. - Update App List in Odoo (Apps > Update App List).
- Install/Upgrade "Epson Network Printer (Direct)".
Important
The Odoo Server must have network access to the printer IP addresses.
- Go to Point of Sale → Configuration → Settings.
- Select your POS Configuration.
- Scroll to Connected Devices section.
- Enable "Epson POS Printer"
- Enter the IP Address (e.g.,
192.168.1.50) - Set the Port (default
80for ePOS)
- Enable "Epson Kitchen Printer"
- Enter the IP Address (e.g.,
192.168.1.51) - Set the Port (default
80for ePOS)
- Epson TM-T88, TM-T20, or compatible ESC/POS thermal printer with Ethernet/WiFi
- Static IP assigned to each printer
- Port 80 (ePOS) or 9100 (raw) open
Upload a logo directly in Odoo POS Settings:
- Go to POS → Configuration → Settings
- Enable Epson POS Printer
- Upload your logo in the Receipt Logo field
Logo requirements:
- Format: PNG or BMP
- Width: Max 576 pixels (80mm paper) or 384 pixels (58mm paper)
- Color: Works best with monochrome/black-and-white
- Size: Keep small for faster printing
Note
The logo is converted to ESC/POS raster format on-the-fly. Pillow (PIL) library must be installed on the Odoo server.
- Open POS, create an order, complete payment
- Receipt automatically prints to the POS printer
- Add products to an order
- When order is sent to preparation, it prints to the kitchen printer
The full customer receipt including:
- Store name and address
- Order number and date/time
- Itemized list with prices
- Subtotal, taxes, and total
- Payment method used
- Customer info (if applicable)
A kitchen preparation ticket showing:
- Table number (restaurant mode)
- Order tracking number
- Time and employee name
- New items to prepare
- Cancelled items (if any)
- Notes and modifications
- Does NOT include prices or payment info
POS Client (JS) → RPC → Odoo Server (Python) → HTTP/Socket → Printer
- ePOS-Print API: Primary method (HTTP port 80)
- Raw Socket: Fallback method (port 9100)