# Mobile App - Picking

This module provides a light Web app to scan products Barcode to handle stock pickings with a barcode reader.

This module was written to extend the functionality of odoo Stock module.

You could be interested by different OCA implementions of such features:

- `stock_scanner` approach: https://github.com/OCA/stock-logistics-barcode/tree/11.0/stock_scanner
- `stock_barcodes` approach: https://github.com/OCA/stock-logistics-barcode/tree/11.0/stock_barcodes

Table of contents

- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Other credits
  - Maintainers

# Configuration

- Go to ‘Inventory’ / ‘Configuration’ / ‘Warehouse Management’ / ‘Operations Types’
- Select an operation type you want to handle with your mobile
- Check the box ‘Available on Mobile’

Optionaly you can put two extra settings:

- ‘Create backorder’ if you want that confirm picking on the Mobile App generate or not a backorder by default.
- ‘Product fields’ to select extra custom fields that will be displayed on the mobile app.

# Usage

Enter the url http://MY-ODOO-INSTANCE/mobile_app_picking/static/www/index.html

You can also enter the url http://MY-ODOO-INSTANCE/mobile_app_picking if all your odoo databases have `mobile_app_picking` installed.

Description | Screenshot
--- | ---
Select a database (if your instance has many databases) Enter your credentials and confirm |
Select a picking type |
Select a picking. (you can scan its barcode) |
The next screen displays the detail of the operations. To go the scan screen, click on the ‘Scanner’ button You can also click on a move line |
Scan the product barcode: This will display the detail of the operation. (expected and done quantity, the UoM, and also extra fields you could have set in the picking type configuration) Everytime you scan a product, the done quantity will be increased by 1. You can also put a custom quantity in the field if it is easy for your operator to count the number of products At the end of the process, go back to the list of move lines, by clicking on the according button. |
You can reset a quantity if you did a bad operation, by clicking on the button on the end of each line. When your picking is finished, click on the ‘Validate’ button. |
It will create a backorder or not, depending on the setting of the picking type. Once validated, the screen will go the screen to select another picking. |

Colors depending on the quantity

The field quantity will have a different background color depending on the difference between expected and done quantity :

- `white` : no quantity set
- `yellow` : expected quantity not reached
- `green` : done quantity corresponds to the expected quantity
- `red`: done quantity is over the expected quantity

Typical Errors and Warning at the login screen

- It will not possible to log in if the user is not member of the ‘Warehouse / User’ group.

Typical Errors and Warning at the scanner screen

- ‘Incorrect quantity’ if the quantity entered is negative, or is not a float.
- ‘Barcode not found in the picking’ if the operator tries to scan a product that is not in the list of move lines.
- ‘Many operations found’ if there are many lines with the same products. In that case, the operator should select manually the line he want to treat.

# Known issues / Roadmap

- For the time being, this module doesn’t handle ‘Lot’, ‘Pack’ and ‘Owner’.
- The UI doesn’t allow to add an unexpected product on the fly.
- In practice, the mobile app emulate the actions of the user, changing Done quantity of stock moves of a given picking. This action is allowed by odoo under certain conditions, that are defined by the field `is_quantity_done_editable` of the `stock.picking`. Using this module if this field is unchecked could generate problems. This field is disabled (amoung others conditions) if user is member of `stock.group_stock_multi_locations` or `stock.group_tracking_owner` See the functions `_compute_show_details_visible` and `_compute_is_quantity_done_editable` for more detals.
- Could be interesting to merge the two views `list_move` and `main_scan` into a single one module.

# Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- GRAP

## Contributors

- Sylvain LE GAL (https://www.twitter.com/legalsylvain)

## Other credits

The development of this module has been financially supported by:

- Cycle En Terre (https://cycle-en-terre.be/)

## Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/stock-logistics-barcode project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.