Odoo has a great Point of Sale App. Simple, fast and user friendly. Even the out of the box Odoo SAAS version is pretty good and a perfect fit for shops and restaurants. With the Customizable plan, customers can install large variety of apps from the store to fine-tune their Odoo POS even more.
One thing that is not as straight forward as you may think is the installation and set-up of the receipt printers.
Odoo recommends Epson printers that are compatible with the ePOS protocol. This allows printing without Odoo's IOT box directly from the browser.
As browsers tend to focus more on security you need to take a few steps before the printer actually works or you will be prompted with the error Connection to the printer failed.
Now this error actually tells you were to start: Odoo's documentation for 'Self-signed certificate for ePOS printers' and 'Secure connection (HTTPS)'.
So here is a step-by-step guide on how to install your Epson Epos POS printer in Odoo.
Create a Self-signed certificate for Odoo POS
To create a self-signed certificate for Odoo Point of Sale you must follow these steps:
First go into your Epson receipt printer configuration settings. To get into your Epson configuration settings you need to have the printer connected to your network and you need to have the admin password.
There is an excellent description on how to configure your Epson thermal printer by Jeremy Swift here: How to: Configure an Epson TM-m30 Thermal Printer. So credits to him!
I also tested the Epson TM Utility App which allowed me to configure the network with my phone, which does not require a TCP cable.
To create the certificate go to your Epson IP address and login as EPSON. The default password should be epson, lower case.
Go to Configuration > SSL/TLS and Create a Self-Signed Certificate.
The Common Name must be equal to the IP of your printer. The validity does not really matter - so set it to 10 years.
Send the settings to the printer and reset the printer via the web interface. Wait a few minutes for the process to complete. You may need to refresh your browser.
Download the certificate
Assuming you are using Chrome, enter the IP of your printer in your browser again and press enter. You do not need to log in. At this point the browser is still unaware of the certificate and you still see the warning. You can now follow the steps described by Odoo. Click on the warning > go to Details > export the certificate.
Accept the certificate in the browser running Odoo
In Chrome, go to Settings > Privacy and security > Security > Manage device certificates.
The Certificates window pops up. Select the tab "Trusted Root Certification Authorities > click Import > Next > [select your file] > next > next > Finish.
Restart your browser and go to your printer IP again. The warning should now be cleared.
Also Odoo POS should be able print without errors.
If you still get the error in Odoo, but you have a valid certificate in Chrome, you need to force Odoo POS to use HTTPS.
Accept the certificate in your IOS device running the Odoo App
Now to get the Odoo IOS app printing without issues you need to import the certificate in your iPad / iPhone. The easiest way to do so it to create a draft email and attach the certificate. Open the email from the Safari browser (not Chrome) and download the certificate from the attachment. Apple recognizes the certificate and prompts to install it. After that you need to go to Settings. Just below your Apple ID on the left there will be the option to install the certificate.
No you are not done yet.
Last step is to go to Settings > About > Certificate Trust Settings and activate the certificate you just installed.
Now you can enjoy your Odoo IOS app with the Point of Sale app and print receipts directly from your iPad.