Help

6

Seamlessly Print POS receipt without using PosBox

After researching for printing POS receipts for awhile, I've found a solution to print without using PosBox. I'm writing on here to my personnel reference and might helpful to whom encounter unsolved PosBox problems.

Why not PosBox?

First, I had tried using PosBoxless solution to print the receipts, following the official document. Somehow, the hardware proxy service always crashed after the client connected to Odoo9 server. I might do something wrong.
So that, I recently brought a PosBox and hoped it's going to work for sure. After testing, I found that it could print only a few receipts before the PosBox went offline, and Thai font won't come out. I just got to know PosBox does not support Thai and many languages.

Solution

Actually, POS web can print the receipt via browser, but it's not so convenient as the print preview dialog always popups which requires few more clicks to process printing. The following are how to get rid of those dialogs.
Prerequisite
1. In Windows, please install your ESC/POS printer driver and set the printer as the default printer. Non ESC/POS Printer will be fine too.
2. Set automatic print in Pos setting.
Note that I used EPSON TM-T88IV and Windows 10.

Chrome
There is a feature in Chrome called Kiosk mode which force the browser to run in full screen mode and automatically click the preview dialog.
To set Kiosk mode in Windows
1. Create a new Chrome shortcut
2. Open shortcut Properties (Right-click on the shortcut, select Properties)
3. At Target field, append option --kiosk --kiosk-printing http:// [enter store URL here]
the whole target field would be like this

     "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --kiosk --kiosk-printing http://localhost:8069

4. Test it. Use Alt+F4 to exit.


Firefox
It's also easy to bypass the print dialog. Please follow the step in https://www.websitesupport.info/hc/en-us/articles/205075144-Bypass-the-Print-Dialog-Box-in-Firefox.


Printing Result
Unlike PosBox which sends line command to the ESC/POS printer and let the printer render graphic itself, browser printing sends whole receipt as an image to ESC/POS printer, so that the print result depend on how the browser render the image and how good the ESC/POS printer handle image.
According to my test, PosBox yields the finest print result. Firefox give an good result but you have to change font style at

in \addons\point_of_sale\static\src\css\pos.css
@media print { ...
.pos .pos-sale-ticket{ ...
font-size: 16px !important;
         font-family: Tahoma, Geneva, sans-serif

For Chrome, It's result look a bit distorted no matter you change the font style. However, it's ok to read.

Avatar
Discard
7 Answers
1
Avatar
Rodney Carrilho
Best Answer

I don't get it. Is there no way to print to an IP-Printer directly through port 9100? I tried that and I get a lot of Weird stuff like:

OPTIONS /hw_proxy_print_xml_receipt?session_id=alongnumber HTTP1.1
Host: 12.34.56.78 (IP-Adres)
User-Agent: Mozzilla/5.0 (Windows NT 10.0;WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
And so on.

I use an Epsopn TM88VI attached to my network with an ethernet cable and not with USB. I can't find any documentation on a ip-attached printer for the POS. Anyone any tips?

Avatar
Discard
0
Best Answer

I had similar need and searched everywhere without much success. However, I installed an Android app on my devices and it solved the connectivity issues and I was able to print from the Bluetooth printers conveniently. The android app is "ESC POS Bluetooth Print Service" by Loops Lab Pvt. Ltd. There are others as well but that is the one I used and it worked.

Avatar
Discard
0
Best Answer

Hi, it is possible to print receipt in Odoo Point of Sale without PosBox using these modules

https://apps.odoo.com/apps/modules/12.0/pos_network_printer for Pos retail and https://apps.odoo.com/apps/modules/12.0/pos_restaurant_network_printer for Pos restaurant

These modules (availaible for Odoo 10 - Odoo 11 - Odoo 12) lets you to connect directly your ESC/POS Network Printer to Pos and print receipt without PosBox. You can print from PC, smart phone or tablet to network printer. Follow the link for more details.

Avatar
Discard
0
Avatar
Toch
Best Answer

Hi,POS Restaurant Order tickets to networked printers does not work out of the box. All the alternatives offered so far does not work correctly. But my company delivers odoo 10 pos restaurant on networked printers WITHOUT the use of any POSBox or any software proxy. Remember you need at least one POSBOX for each printer and this is too expensive once you have more than one printer. We bill $300 to help you connect your odoo 10 pos restaurant to networked printers of any type and you can connect to as many networked printers as you have. You can contact me for this via skype: toch_willy

Avatar
Discard
0
Avatar
Mina
Best Answer

I have an application written in PHP with Laravel framework, we would like to send POS order through XML-RPC external API provided by Odoo. We successfully send the data of the user, products, and categories. For the order part, we send an order in pos.order table and insert order lines into it. I have a question related to the printers of POSBox, Do I have the same functionality of POS screen in printing receipts or forward orders to kitchen printers when I directly insert an order outside it.

Avatar
Discard
0
Avatar
Naing
Best Answer

Hi,

Any solutions for unsupported fonts to be able to print  via POS BOX?

We also had same issue. POS BOX doesn't support Myanmar fonts too.

But we need to print via POS BOX because we need multiple printings (to kitchen1,to kitchen 2, to drink counter,etc.. )

Any solutions for this issue,please? 

1 Comment
Avatar
Discard

Using PosBox with other languages, Esc/pos printers require extra coding in Odoo's hw_escpos module. Not only understands programming, but the developer must also understands Myanmar to do this job. However, you have to make sure first that the printer itself supports Myanmar too.

Another solution is to fix point_of_sale's javascript to convert your printing content from text to image before sending to Posbox. This way can avoid language complexity and applicable to many languages.

0
Avatar
bob harris
Best Answer

Just out of interest, what printers is everyone using? I spotted some small format, portable options at www.able-systems.com and wondered if these would be suitable?

1 Comment
Avatar
Discard

If you don't bother with very small ticket, it'll be fine.