Repository navigation
Shopfloor reception - missing features #1018
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or requestno staleUse this label to prevent the automated stale action from closing this PR/Issue.Use this label to prevent the automated stale action from closing this PR/Issue.
Description
Missing features
Receptions to process
-
Choose an operationscreen : provide more flexibility in the way todays receptions are listed. - Mark reception as printed when you start working on it (scan a picking or select one from the list). This is the standard behavior in all shopfloor scenario. This should also allow to block starting a reception if there is not shipment advice (this condition could then look at the printed status)
- Do not complain if there is a single picking to process
GS1 barcode
-
Set lotscreen : when scanning a GS1 barcode, if it contains the lot and expiry date, fill the 2 fields on the screen. -
Set lotscreen : when the lot and expiry date are in 2 separate GS1 barcode, allow to scan the lot barcode and then the expiry date barcode -
Select a movescreen : when scanning a GS1 barcode that contains a product & lot, select move, jump automatically to set lot and already fill the decoded information (lot, expiry date) - See Shopfloor Reception - Better GS1 support stock-logistics-shopfloor#110
Lot & Expiry date
-
Set lotscreen : change the date widget to a text widget with a mask to ease the entry -
Set lotscreen : when a date is set before a lot, generate a lot name based on the date- spe alc
- Search lot for currently processed product only
Product Packaging
- add additional packaging : in the
Set quantityscreen (coming afterSelect a moveorSet lotorSet packaging dimension), we see the list of product packaging in the quantity widget. We should be able to declare new packaging. We need to define the packaging level of that new packaging and the quantity. We should then enter the collection of relevant packaging data by jumping to screenSet packaging dimension(see next point)- Out of scope, it is the responsibility of the product manager to load the list of packaging
-
Set packaging dimensionscreen : collect relevant packaging data (dimension, barcode). The packaging level should define what data should be collected. For example, for a pallet, only the height should be collected. Currently it is hard-coded https://github.com/OCA/wms/blob/14.0/shopfloor_reception_packaging_dimension/services/reception.py#L26 - collect relevant packaging data on for packaging smaller than received. If you receive a box but you have a pallet packaging missing data, it will ask to fill the data for the pallet.
- Current solution is to click on the skip button for that packaging
Product Data
-
Set product dimensionscreen : add missing screen to collect product dimensions. If the products are always managed by product packaging (if you define a packaging for 1 unit), we need to be able to disable that screen. -
Set product barcodescreen : add missing screen to collect product barcode. Should we make a separate screen ? What if we want to collect other data ? We need a way to configure the list of fields to fill like we would do on the packaging level for the product packaging.
Measuring device
-
Set packaging dimensionscreen : add button to collect data from a measuring device and fill the form. This should replace https://github.com/OCA/wms/tree/14.0/stock_reception_screen_measuring_device -
Set product dimensionscreen : add button to collect data from a measuring device and fill the form.
Quantity
- Allow to receive more than the demand
- Allow to receive multiple pallets (packages) in "burst" mode
Destination Package
-
Set quantityscreen : currently you can choose to use an existing pack, create a new pack, or process without pack. Those options should be configurable. Use case, you always receive on a pre-printed pack barcode.
Package Type
-
Set quantityscreen : we need to identify the package type that is received when you assign a package to the move line. If the quantity is a multiple of a product packaging, we need to pre-fill with the corresponding package type. Take the biggest. - For each packaging, define the package type if missing. As the package type could be pre-computed based on the dimensions, show this screen after the
Set packaging dimensionscreen- Out of scope, it is the responsibility of the product manager to load the package type on each packaging
- For the product, define the package type if missing. As the package type could be pre-computed based on the dimensions, show this screen after the
Set product dimensionscreen. If the products are always managed by product packaging, we need to be able to disable that screen.- Out of scope, it is the responsibility of the product manager to load the package type on the product
- When a package with a package type is set on the move line, the put-away should be recomputed
- base PR for backend: [ADD] stock_picking_putaway_recompute stock-logistics-workflow#1740
- missing integration with shopfloor. Task: BSCOS-6011
Package Dimension
- Set the height of the package
Label Printing
- Print product label
- Print package label
Carrier return
- allow to parse a carrier return barcode
cc @rousseldenis @meredith-alana @Highcooley @phschmidt @TDu @mmequignon
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestno staleUse this label to prevent the automated stale action from closing this PR/Issue.Use this label to prevent the automated stale action from closing this PR/Issue.
Activity
jbaudoux commentedon Jul 18, 2025
I updated the status with ongoing and done work
Set packaging dimensionscreen : collect relevant packaging data (dimension, barcode) : the packaging level should define what data should be collected. For example, for a pallet, only the height should be collected. Currently it is hard-coded https://github.com/OCA/wms/blob/14.0/shopfloor_reception_packaging_dimension/services/reception.py#L26 #1087Set packaging dimensionscreen : collect relevant packaging data (dimension, barcode) : the packaging level should define what data should be collected. For example, for a pallet, only the height should be collected. Currently it is hard-coded https://github.com/OCA/wms/blob/14.0/shopfloor_reception_packaging_dimension/services/reception.py#L26 #1087Set packaging dimensionscreen : collect relevant packaging data (dimension, barcode) : the packaging level should define what data should be collected. For example, for a pallet, only the height should be collected. Currently it is hard-coded https://github.com/OCA/wms/blob/14.0/shopfloor_reception_packaging_dimension/services/reception.py#L26 #1087 as a duplicate of this issuerousseldenis commentedon Aug 21, 2025
@jbaudoux I will enhance the picking lines selection as currently we display stock moves. That has disadvantage to avoid managing partial reception lines.
In fact, the move will display the quantity done in yellow but grouping behind the not done quantities and the done ones. If we select at new the partially done move, the quantity is set to '1'. So, the user lost his previous work.
I will change by displaying the move lines. That is even more inline with Odoo backend appearance and behaviour.
@simahawk
jbaudoux commentedon Aug 21, 2025
@rousseldenis I don't like this change as I understand it. If you receive 30 pallets of a product, you will see 30 lines for the same product as each pallet gets its destination package? The purpose was to see the progress per product and allow multiple users to receive the same product. Only the move knows the quantity to do and done. In v18, for one move, only the first move line gets the quantity to do but each other move line gets the quantity done. Viewing the move gives the correct total and progress.
Cc @mt-software-de
rousseldenis commentedon Aug 22, 2025
We don't use packages for reception.
That's not true as:
rousseldenis commentedon Aug 23, 2025
@jbaudoux @simahawk I struggle to get a result about changing the behaviour of DatePicker to get a mask input text in it (the current implementation is not practical for users as the input is quite long to get the date).
But I'm so bad at js to get a satysfying result for now. Can someone do something about that? Or to point me to some bricks I can implement ?
simahawk commentedon Aug 29, 2025
@rousseldenis I'll have a look at reception mobile next week very likely. What are you trying to achieve in particular?