Sponsored Enhancement: Scan Inventory

From ADempiere
Revision as of 08:55, 29 April 2008 by Bonev (Talk) (Some comments and ideas)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Project Team

Coordinator

Joel Stangeland

Functional Specs

  • Joel Stangeland
  • Alejandro Falcone

Developers

Testers

  • Joel Stangeland
  • Susy Ongko
  • Jan Kantert

Sponsors

Idalica

Requirements

Link to Revised Specs

The functionality to be developed, will permit to the user improve the velocity and way to enter the items, by using a barcode scanner, into three Adempiere windows. Those windows are:

- Physical Inventory - Inventory Move - Shipment (Customer)

In order to achieve this improvement, we'll build two new windows, which will let to the user scan the products code and insert all items they scanned into the Adempiere tables or to compare with products to be shipped, as they need.

The new windows could be called:

a) Scan Product Window, to be used in Physical Inventory and Inventory Move. b) Scan and Compare Window, to be used in Shipment (Customer).

Both windows will have a different behavior compared with the normal window of Adempiere, since the functionality required is different too. For example, the user can scan a product code more than once, and then the quantity will be accumulated, so they will have only one line for each product scanned.

Functionality

a) Physical Inventory


a.1) How it will work for the user?

1) The user open the Physical Inventory window and fill the required info as they do now. Click the new “Scan Product” button and then the new window will be opened.

2) They scan the products and could enter the quantity (the default quantity will be 1) . If is a new product they scanned, then a new line will be added to the list (with name product, so they can see it). If they scan a product that it was scanned previously, the quantity will be added in one (quantity accumulated).

3) When they finish the scan, click the “Generate Inventory from Scanned List” button. So, the process will insert all the products scanned into the Inventory Count line table. The window will be closed after that (automatically). They could close the window at anytime with the “Close” button, but in this case the datas will be lost.



4) The user will continue the normal process with the Physical Inventory window.


a.2) Considerations about the New window to be developed

- The new window will be a Modal window style. - The user can’t modify the product code. - The user can modify the quantity. - The user can delete a line as they want. - If a scanned code is not found (or the product is not Active status), the user will be informed by a Message with modal style (to prevent that they can continue with the scan of any other product). - The button to “Close” the window, will ask the user for confirmation. - The button to “Generate Inventory from Scanned List” will ask the user for confirmation. - After the window is closed all data scanned will be lost.

a.3) How the Scanned List will be inserted into the Physical Inventory Line?

The lines will be inserted with the default values they are filled now with the "Create Inventory Count List" process (I mean, values such as Locator, Quantity Book, Line No., etc). So, we'll maintain the consistence with the Adempiere standard.


b) Inventory Move

b.1) How it will work for the user?

1) The user open the Inventory Move window and fill the required info as they do now. They click the new “Scan Product” button and then the new window will be opened.

2) They scan the products and could enter the quantity (the default quantity will be 1) . If is a new product they scanned, then a new line will be added to the list (with name product, so they can see it). If they scan a product that it was scanned previously, the quantity will be added in one (quantity accumulated).

3) When they finish the scan, click the “Generate Move from Scanned List” button. So, the process will insert all the products scanned into the Move Line table. The window will be closed after that (automatically). They could close the window at anytime with the “Close Window” button, but in this case the datas will be lost.

4) The user will continue the normal process with the Inventory Move window.

b.2) Considerations about the New window to be developed

- The new window will be a Modal window style. - The user can’t modify the product code.



- The user can modify the quantity. - The user can delete a line as they want. - If a scanned code is not found (or the product is not Active status), the user will be informed by a Message with modal style (to prevent that they can continue with the scan of any other product). - The button to close the window, will ask the user for confirmation. - The button to “Generate Move from Scanned List” will ask the user for confirmation. - After the window is closed all data scanned will be lost.

The grid for both cases (P.Inventory and I.Move) coul be something like:

Barcode Scanner Product Name Qty. xxxxxx Item name XX


b.3) How the Scanned List will be inserted into the Inventory Move Line?

The lines will be inserted with the default values as they are filled now when the user click on the New Record button. After the insert, the users can modify any data as they want, from the Move Line Tab.


c) Shipment (Customer)

The main goal here, is to let the users can know what items they are missing after they scanned all the products to be shipped to the customer. So, no process to update any table is required, only to show the user the difference between they scanned and the Shipment original document.

Then we can considerate three cases: 1) Quantity Scanned = Quantity of Shipment Document: No difference to show. 2) Quantity Scanned > Quantity of Shipment Document: Two cases, a. They scan some products that not were included in the Shipment Document, b. They are included but the Quantity is less in the Shipment Document than the scanned. 3) Quantity Scanned < Quantity of Shipment Document: Two cases, a. Some product that is in the Shipment Document, was never scanned b. The Quantity they scanned is less than the Quantity in the Shipment Document.

c.1) How it will work for the user?

1) The document for which they are going to prepare the shipment. Clicking on the new “Scan Product” button and then the new window will be opened.



2) The grid into the window will be filled with the Shipment Lines from the Shipment document that they have choosed.

3) They will scan the products and could enter the quantity if they want to do. If they scan a product, that not was included in the original shipment lines, then a new line will be added to the list (with name product, so they can see it). In this case the Quantity to the Shipment will be filled to 0 (zero), then they will see the difference. If they scan a product that it was scanned previously, the quantity will be added in one (quantity accumulated). The users can’t modify the Shipment Quantity of any way. They only can see those quantities. They will be able to delete a line from the grid, only if is not included in the original document.

4) They will close the window, to continue the shipment process.


The grid could be something like:

BarCode Product Name Qty Shipment--Qty Scanned--Difference xxxxxxxxx Item Name XX YY XX – YY

Maybe we can use some color to show the user the Difference column if is not zero.


Some comments and ideas

Hello firends, Here is what I think about this very actual feature, based on my expirience with barcodes and inventories:

1. It is good to have this feature for vendor receipts too. Saves a lot of time and increases efficiency.

2. It would be good… no, it is necessary! to have an adjustable “parameter”, which is added to the counter each time a barcode is scanned (the default value can be 1 to cover the easiest case). This makes possible to count products with UOM square meters, meters, etc. which are packed in a different way.

3. Please have in mind, that the physical counting of the goods in most of the cases happens not in the office, but in the warehouse or outside and the proper way is to use a kind of Hand-Held device. So just a button and a popup dialog in a standard Adempiere window is very, very, idealized use case. Yes it is possible some warehouse worker to carry a notebook with a connected barcode scanner, but this is not the common case. I think that it is much better to develop a simple scan application, which is able to run from a Hand-Held PC. It will need the number of the empty document (created in the office in a regular way) and will fill it’s lines/details by scanning the product labels outside the office. I think, even just an easy way to import data from a CSV file produced let say by a Barcode-handheld terminal will bring much more. I'll be glad to help to build this very important function i a good way.

Best regards Peter Bonev