Skip to Content
Menu

POS ESC/POS Print Agent | Self-hosted server Support |Odoo.sh Support | POS kitchen receipt printers | POS Order receipt printer | POS Restaurant receipt printers | POS Multi ESC/POS Printer Support | No Extra Fees

by
Odoo

301.00

v 18.0 Third Party 1
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Point of Sale (point_of_sale)
Discuss (mail)
Inventory (stock)
Invoicing (account)
Lines of code 326
Technical Name pos_print_agent
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?search=Khaled+hassan
Versions 17.0 18.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Point of Sale (point_of_sale)
Discuss (mail)
Inventory (stock)
Invoicing (account)
Lines of code 326
Technical Name pos_print_agent
LicenseOPL-1
Websitehttps://apps.odoo.com/apps/modules/browse?search=Khaled+hassan
Versions 17.0 18.0

POS ESC/POS Print Agent

Enhance your Point-of-Sale experience by printing directly to any network-connected ESC/POS printer no IoT Box required. This solution uses a lightweight print agent to establish seamless communication between your Odoo POS and printers . Ideal for restaurants, retail stores, and fast-paced environments that require reliable and instant receipt or kitchen order printing.



Compatibility
  • Supported Odoo Versions:Community & Enterprise
  • Compatible with Self-hosted Odoo servers
  • Works with Odoo.sh deployments
  • Cost-Efficient Avoid third-party printing services use your own "Printing Agent".
Features
  • Direct IP Printing Instantly send receipts or kitchen tickets to any ESC/POS network printer.
  • Reliable Queue System Failed prints are automatically retried until successful.
  • Secure API Access Only trusted print agents with valid API keys can fetch jobs.
  • Multi-Type Support Handles both POS receipts and kitchen orders seamlessly.
  • Cost-Efficient Avoid expensive IoT boxes and third-party printing services.
  • Quick Setup Just enter the printer's IP address in POS settings.
How It Works

This module connects your Odoo Point of Sale (POS) to your network ESC/POS printer through a simple print queue and a lightweight print agent. The process is seamless and efficient, ensuring smooth printing for receipts or kitchen orders.

Step-by-Step Overview:

  1. User Action: The POS user clicks the 'Print Receipt' button.
  2. Request Sent: The system sends the print request to the Print Agent, along with the printer’s IP address.
  3. Job Created: Odoo creates a print job.
  4. Print Agent Polling: The Print Agent checks for pending jobs from Odoo's backend.
  5. Printing: The Print Agent decodes the image, formats it, and sends it to the ESC/POS printer.
  6. Job Completion: The Print Agent updates the job status to 'completed'.
Print Agent Details & Flow

The Print Agent is a lightweight Python service that interacts with Odoo to send print jobs to your network-connected ESC/POS printer. Below is a detailed overview of the parameters and the flow:

Key Parameters:

Parameter Example Value Description
odoo_url https://mycompany.odoo.com URL of your Odoo instance. This can be an Odoo Cloud server, Odoo.sh instance, or a self-hosted server. Example: https://mycompany.odoo.com (Odoo Cloud), or https://yourcompany.odoo.sh (Odoo.sh).
api_key abcd1234token API authentication token for secure access to print jobs.
printer_ip 192.168.1.50 The local network IP address of your ESC/POS printer.

Flow Overview:

  1. POS User Action: The user clicks 'Print Receipt' in the Odoo POS.
  2. Request Sent: The system sends the print request to the Print Agent, including the printer's IP address and job details.
  3. Job Creation: Odoo creates a print job and marks it as pending.
  4. Print Agent Polling: The Print Agent checks Odoo for any pending jobs using the provided API key and printer IP.
  5. Printing: Once a job is found, the Print Agent decodes the print request and sends it to the connected ESC/POS printer.
  6. Job Completion: After the print job is completed, the Print Agent updates the status.
Setup & Usage

Follow these steps to get started with the POS ESC/POS Print Agent:

  1. Install the module: Install the module on your Odoo instance from the Apps section.
  2. Configure POS: Navigate to Point of Sale → Configuration → Settings, enable the ESC/POS Printer option, and enter the printer's IP address in the provided field.
  3. Create API Key: Go to Settings → Users & Companies → Users, select a POS user, and generate a new API key for that user. Copy the API key for later use.
  4. Install Dependency: Install the necessary dependency for the Print Agent by running the following command in your terminal:
    pip3 install python-escpos
  5. Run Print Agent: Start the Print Agent by running the following command, replacing the placeholders with your specific values:
    python3 print_agent.py \
      --odoo-url https://yourcompany.odoo.sh \
      --api-key YOUR_API_KEY \
      --printer-ip 192.168.x.x
  6. Print Receipt: Once your setup is complete, start a POS session in Odoo and click Print Receipt. The Print Agent will automatically handle the printing process to your ESC/POS printer.
Note: The Print Agent file must be running in the same network (LAN) as the ESC/POS printer.

POS ESC/POS Print Agent


FAQ
  • Q: What happens if the printer goes offline?
    A: Print jobs will remain in a pending state and will be retried until successful, or you can clear them manually from the Odoo backend.
  • Q: Can I run multiple printers with this setup?
    A: Yes, you can use separate POS configurations for each printer or run one Print Agent per printer with its own IP address.
  • Q: Do I still need an IoT Box for printing?
    A: No, the Print Agent replaces the IoT Box, providing a direct connection between Odoo and your ESC/POS printer without the need for an additional hardware device.
  • Q: Are my print jobs secure?
    A: Yes, print jobs are secured with API keys. Only authorized agents with valid API keys can fetch or update print jobs. We recommend using HTTPS for secure communication.
  • Q: Can I use this with Odoo.sh if the agent is running on my network?
    A: Yes, you can run the Print Agent on any machine in your local network that can reach both the printer and the Odoo.sh instance.
  • Q: Is self-hosted Odoo supported?
    A: Yes, this solution works with both self-hosted and cloud-hosted (Odoo.sh) Odoo instances, including Community and Enterprise editions.
Module Shots

POS Configuration

POS Configuration

Printer Setup

Printer Setup Printer Setup 2

Odoo API Key Generation

Go to Users Menu Select User Click Generate API Key Copy API Key


Our Odoo Services

Odoo Support Services

Get expert support for your Odoo system to ensure smooth operations and rapid issue resolution.

Odoo Customization

Tailor Odoo modules to match your business processes with precision and flexibility.

Odoo Integration

Seamlessly integrate Odoo with third-party apps like payment gateways, CRMs, or eCommerce platforms.

Odoo Deployment

Deploy Odoo on cloud or on-premise environments with scalability, security, and best practices in mind.

Odoo Migration

Upgrade your Odoo system to the latest version while preserving data integrity and customizations.

Odoo Outsourcing

Let our experienced Odoo developers handle your project end-to-end, saving time and cost.

We're Here to Help

Have a question, need assistance, or want to request a feature?
Get in touch with us via email or WhatsApp — we’d love to hear from you.

WhatsApp Us
WhatsApp Us
Scan the QR code to chat with us instantly
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.