[9.0] [ADD] Self service scale for loose goods and products sold by weight#470
[9.0] [ADD] Self service scale for loose goods and products sold by weight#470
Conversation
|
Hi @Fkawala, |
|
Hello @legalsylvain this is related to #436! Could you have a look whenever you have the time? Thank you in advance + have a nice day. |
|
Hello @robinkeunen, if you have some spare time to review this PR that would be great! Thank you in advance! |
|
FYI. this addon is conflicting with pos_empty_home. I'm not sure which is the best way to solve this conflict. One solution could be to update pos_empty_home for it to have an on/off toggle option in the POS model. I could code that if this is a good enough solution. |
|
Hello @legalsylvain, I hope you're doing as well as possible given the current circumstances. Do you think that you'll have some spare time to spend on this? All the best and stay safe. |
|
Huge work to review. I'll take a time this weel if possible. |
|
Hi @Fkawala, sorry for the late response, I got myself some new eyes (operation). I'll passed it on to the colleagues. |
|
@robinkeunen I hope your new eyes are working fine! Thank you for the message to your colleagues. @legalsylvain Thank you, I agree with you, clean merge+refacto for v12 is the best approach. To the best I can foresee, I'll have some time to spend on v12 related work during the coming months. Thank you both and best regards |
|
Hello @Fkawala, @robinkeunen told me about this PR, I will try to test and review the module this week ✌️ |
|
Howdy @vvrossem thank you in advance! Feel free to reach out if I can clarify anything on this PR. Have a nice day! |
vvrossem
left a comment
There was a problem hiding this comment.
Hello @Fkawala,
I hope you are doing well.
Great job. It's nice to see another point of view on the self-service scale: building a POC was my internship project!
Please find below some questions/comments:
- The possibility to weigh multiple products and then print all the label at once is refreshing, but I am unsure it's compatible with printers that automatically unstick the label from the paper roll.
- For security,
close_buttonin theHeaderButtonWidgetshouldn't be accessible to customers : they could close the POS session and enter in the backend. - Insignificant detail, but when no electronic scale is configured, the You did not configured this POS to use the electronic scale (...) popup is shown when selecting a product but not when taring a container
|
|
|
Hello @vvrossem , I'm doing well :) I hope you're doing good as well. Thank you for the thoughtful review, this is very useful. Please find below my inline response to your comments.
Our printer put itself on hold until the user has taken the printed label. I know that all the printers out there won't behave the same. I'll add a setting field to enable/disable that feature.
Good point, I'll disable it. For security reasons, we plan to open this POS using a dedicated odoo account with very restricted rights.
Good catch! I'll fix that. |
Arg weighing and not weighting ... will fix! |
|
Hello @legalsylvain, I went through our discussion about merging #447 and #436 we had during the code review of #447. Back then you suggested we should include information needed to reconstruct the gross weight on each order line. I think this requirement is now fulfilled. The tare weight is now displayed on each order line. This is also the case for the FWIW the barcode label also shows the net weight and the tare weight (see example below). I would like to get started on the migration of this addon to v12. As you suggested we could refactorize code from this PR, the Thank you and have a nice rest of the weekend! |
|
Hello @vvrossem I hope you're doing good. By any chance would you have five extra minutes to spend reviewing the change I did? All the issues you've raised are solved and I did a fair bit of work on the documentation. |
|
Hello @vvrossem, I'm trying to make this add-on work with a label printer (eg. zebra gk4200) that would be connected via USB to the self-service weighing station. I see two options:
Could you please share your thoughts on this? Am I missing a third option there? If not which option would you vote for? Thank you in advance for your guidance and time! ps; @legalsylvain @robinkeunen any comments will be warmly welcomed. |
@vvrossem I'm starting to work on this today and will implement option 1. Please do let me know if you would not pursue option 1. Thank you and have a great day. |
|
@Fkawala I would definitely pursue option 1. When I was working on a self-service scale POC, I noted the importance to build a |
Hello @vvrossem! I'm happy to learn I'm heading in the good direction :) No rush for the review this work is on hold until I figure out the label printer part of it. Have a nice day! |
|
Hello, @legalsylvain I see you contributed to https://github.com/akretion/pywebdriver/. I think this is exactly what I need to send raw data to the label printer. Would you have any thoughts to share on that? Would it be a problem for this addon to depend on pywebdriver to send raw data with the label printer? Thank you in advance for your inputs! |
|
Hi @Fkawala. Indeed, pywebdriver is a possibility. Well, in fact for each communication between Odoo and a device, there is two part : a front end part and the hardware part. The front end communicates the hardware part, with an http request. For exemple
for each connexion, pywebdriver can replace the So, in this module Please before develop hardware communication, please ping akretion team, that have still worked on zebra. see for exemple @PierrickBrun comment here : pywebdriver/pywebdriver#49 (comment) kind regards. |
Hello Sylvain, Thanks for the thoughtful answer, that is very much appreciated. My understanding (was/still is) that the Can you foresee any problem with that approach? Thank you & have a nice day |
|
Hi @Fkawala we already did this to print labels using ZPL on a Zebra printer, so this is a working approach. We used https://github.com/akretion/ak-odoo-incubator/tree/10.0/proxy_action to help us doing that |
Thank you @PierrickBrun, great to know I'm not the first one going that way! Have a nice day! |
|
Hi. @PierrickBrun do you mean this module will depend on proxy_action ? Regarding the design. This module will work in a first time only with pywebdriver that is not under the OCA umbrella. (But quasi : developped by GRAP, Akretion, Acsone, that are active members). |
|
@legalsylvain Do you think we should rather have code duplication and stay under the OCA umbrella? To me, it does not look like a lot of work. I'm keen on having a minimal piece of code (a |
|
Not sure to understand correctly. kind regards. |
|
Hi @Fkawala. don't know if you know this module, but you maybe should take a look on this module : |
|
this PR is still active ? |
Nop, I'll do a new one for v12.0 only. The new code will depend on |

This add-on allows you to run a grocery in a Bring Your Own Container (BYOC) schema. With this add-on, your customers will be able to buy loose goods using their own reusable containers. This add-on also enables customers to weight their vegetables and fruits before they checkout. To weight fruit and vegetable before checkout will speed up the checkout and make your customer happier.
The self-service BYOC scheme has six steps:
This add-on requires you to have a barcode label printer and an electronic scale. Your customers are expected to use this add-on in a self-service way. This add-on adds multiple news screens that are displayed only on the selected POS.
This add-on displays only the products that are meant to be weighted with a scale.
This addon depends on:
You can test with the following tare barcode: 0700000001235 it'll tare for 0.123kg.
Demo data include an article with a weight code bar: 2112345000008.
Below are screens for a POS with this add-on enabled.
The default screen:

The product screen:

The tare barcode scanning screen:

A price barcode looks like:

The configuration screen of POS has one new option:
