POSAgent for Community Edition Direct Print Cash Drawer

by
Odoo
v 16.0 Third Party 370
Download for v 16.0 Deploy on Odoo.sh
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 117
Technical Name pos_posagent
LicenseLGPL-3
Versions 17.0 16.0 15.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 117
Technical Name pos_posagent
LicenseLGPL-3
Versions 17.0 16.0 15.0

PosAgent PRO support for Odoo Community

What is POSAgent

POSAgent is a standalone, Desktop (Microsoft Windows currently) application that allows direct receipt print with ESC/POS thermal printers and enables Cash Drawer support for Odoo Community Edition.

This module allows you to use the POSAgent desktop client.

Where can I get POSAgent

From it's GitHub page, currently we have Windows 10/11 x64 versions available for download, copy and paste the link below:

https://dieg0-a.github.io/posagent-home/

Try it for free!

What is Currently supported

  • Windows 10/11
  • Thermal ESC/POS Printers (Windows raw printer driver) mainly USB printers
  • Any printer with a Windows driver via the system printer driver
  • Cash Drawers (currently ESCPOS only with the raw driver)

What is currently NOT supported but will be supported soon

  • STAR Printers
  • Linux version
  • Older Windows Versions/32 bit
  • Electronic Scales
  • More printer drivers (Windows serial port, TCP/IP (network))
  • Text mode (this would result in much better print quality), currently Odoo sends an image file to the proxy

Is this program free?

Yes, if you find this module useful you can support us on the project page

Features

  • Very fast and lightweight, made in native C++
  • Very easy to set up, you only need to configure it once and it'll remember your settings and printer
  • Silent, unintrusive, can run and start in the system tray
  • Now Open Source

Basic Usage for Windows

Interface is pretty self explanatory, select a printer driver in the upper dropdown menu then adjust the settings below

Setting up Odoo

Example for Odoo 16

Enable it in your POS Settings page, for example:

If everything went well then you should see the following icons in your POS interface:

And that's all there is to the configuration process, you'll now be able to print directly to your ESC/POS printer and use the cash drawer.

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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
I cant use cash drawer without ESC/POS
by
Zjegher
on 6/7/23, 12:24 PM

cant use cash drawer without esc/pos maket is bit useless module 

Re: I cant use cash drawer without ESC/POS
by
Diego Andino
on 6/8/23, 7:28 AM Author

Hello, thanks for your interest.

You are correct currently only ESC/POS printers are supported, however we'll be adding a raw STAR printer driver (including cash drawer function) along with other features such as a Windows spooler driver, which should enable support for every printer that has a Windows driver, so basically almost every printer in the market. All of this in the next update, hopefully due soon.

Regards.


it can be extended to connect direct multiple escpos printers for multi purpose
by
Fathi Ghaiati
on 4/5/24, 7:22 AM

do you have android apk version of the printer configurator POS Agent Proxy


Re: it can be extended to connect direct multiple escpos printers for multi purpose
by
Diego Andino
on 4/5/24, 5:41 PM Author

Hello. We don't an Android version at the moment, it's possible to develop one sometime in the future.


Can't install it
by
Abdulaziz Alanazi
on 1/19/24, 6:41 PM

Hello,
When I try to install the module, the following error shows up:

RPC_ERROR
Odoo Server Error
Traceback (most recent call last):
  File "/opt/odoo/odoo/http.py", line 1588, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/opt/odoo/odoo/service/model.py", line 134, in retrying
    result = func()
  File "/opt/odoo/odoo/http.py", line 1615, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/opt/odoo/odoo/http.py", line 1812, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "/opt/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
  File "/opt/odoo/odoo/http.py", line 701, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "/opt/odoo/addons/web/controllers/dataset.py", line 46, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/opt/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/opt/odoo/odoo/api.py", line 461, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/opt/odoo/odoo/api.py", line 448, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "/opt/odoo/odoo_pragtech_saas_script_software_saaskit/openerp_saas_tenant/models/openerp_saas_tenant.py", line 75, in button_immediate_install
    return super(module_module, self).button_immediate_install()
  File "/usr/local/lib/python3.10/dist-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/opt/odoo/odoo/addons/base/models/ir_module.py", line 76, in check_and_log
    return method(self, *args, **kwargs)
  File "/opt/odoo/odoo/addons/base/models/ir_module.py", line 491, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/opt/odoo/odoo/addons/base/models/ir_module.py", line 615, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/usr/local/lib/python3.10/dist-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/opt/odoo/odoo/tools/func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "/opt/odoo/odoo/modules/registry.py", line 90, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/opt/odoo/odoo/modules/loading.py", line 487, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/opt/odoo/odoo/modules/loading.py", line 371, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/opt/odoo/odoo/modules/loading.py", line 230, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package)
  File "/opt/odoo/odoo/modules/loading.py", line 71, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind)
  File "/opt/odoo/odoo/tools/convert.py", line 763, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate)
  File "/opt/odoo/odoo/tools/convert.py", line 829, in convert_xml_import
    obj.parse(doc.getroot())
  File "/opt/odoo/odoo/tools/convert.py", line 749, in parse
    self._tag_root(de)
  File "/opt/odoo/odoo/tools/convert.py", line 709, in _tag_root
    raise ParseError(msg) from None  # Restart with "--log-handler odoo.tools.convert:DEBUG" for complete traceback
odoo.tools.convert.ParseError: while parsing /opt/stream/pos_posagent/views/pos_config_views.xml:3
Error while validating view:

Element '' cannot be located in parent view

View error context:
{'file': '/opt/stream/pos_posagent/views/pos_config_views.xml',
'line': 2,
'name': 'pos.config.form',
'view': ir.ui.view(2741,),
'view.model': 'pos.config',
'view.parent': ir.ui.view(1126,),
'xmlid': 'pos_use_posagent_config_view_form'}


The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
    at makeErrorFromResponse (https://gold01.dstreamsit.com/web/assets/1210-ce6cb44/web.assets_backend.min.js:970:163)
    at XMLHttpRequest. (https://gold01.dstreamsit.com/web/assets/1210-ce6cb44/web.assets_backend.min.js:978:13)


Does not allow printing from cloud with ssl certificate
by
quimer panizo
on 10/1/23, 6:50 PM

Hello where can I contact me, I tried to make a test print from my cloud server, my service has ssl certificate and does not allow me to use the app locally if it works correctly.

Re: Does not allow printing from cloud with ssl certificate
by
Diego Andino
on 10/2/23, 2:28 PM Author

Hello, we've deployed this solution on a server with SSL encryption via a reverse proxy.

The only caveat is you have to add the http:// prefix in the "IoT Box address" field for the point of sale configuration, for example:

http://localhost:9069

Regards.


by
Saher Matter
on 8/31/23, 10:28 PM

Thank you Diago. 

I changed the port to be different from Odoo Server and it is working now. 


Issue
by
Saher Matter
on 8/30/23, 3:31 PM

Hello,

Setting the same port causes odoo to disconnect and I can not access it anymore 

Re: Issue
by
Diego Andino
on 8/31/23, 6:43 PM Author

Hello, if your Odoo server is running locally (in the same computer as the browser) then make sure you chose a port that's different to that of your Odoo server, the default is 9069, which is different from the default of the Odoo server (8069).

Thanks for your interest.


I cant use cash drawer without ESC/POS
by
Zjegher
on 6/7/23, 12:24 PM

cant use cash drawer without esc/pos maket is bit useless module 


by
Abdulla Ahmed
on 1/20/23, 4:32 AM

Getting long and weird printed paper from thermal printer,  with codes and unreadable characters

using POSSTORE PS-7 printer  


Re:
by
Diego Andino
on 1/20/23, 7:25 AM Author

Hello, thanks for your interest.

The Windows client should work for most ESC/POS compatible printers out of the box, however, there is a slight chance that a particular model doesn't support the needed commands or that the official driver somehow mangles the raw GS commands that are sent to it by posagent. We don't currently have access to this printer model but I'll take a look at the driver and see if I can figure out what's the problem with this setup. In the near future more printing modes will be added, that should work around this type of problem, we're sorry for any inconvenience this might have caused.

Sincerely, the POSAgent team.


Demo in Odoo 16
by
Thuy Nguyen
on 11/20/22, 4:48 AM

Hello

May i get the demo of this module on O16 CE?

Re: Demo in Odoo 16
by
Diego Andino
on 11/20/22, 6:14 AM Author

Hello Thuy Nguyen.

You can test POSAgent without installing this module, that is in fact, demo mode.

If it's good enough for your needs then you can purchase and install this module in your Odoo 16 Community Edition server and that will enable full mode.

Otherwise we're looking forward to your feedback to improve our solution and add more features!

Get POSAgent for Windows 10 (x64) from this page: 

https://github.com/dieg0-a/posagentpro/blob/main/assets/releases/Install POSAgentPRO.exe