Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
barcode_scanning:handheld_computer [2025/11/17 10:44] Gary Willettsbarcode_scanning:handheld_computer [2025/11/17 13:34] (current) Gary Willetts
Line 8: Line 8:
  
 Currently mSupply is compatible with Honeywell handheld computer barcode scanners like the CK65 shown in the image above and the only function available on these scanners is goods receiving. Currently mSupply is compatible with Honeywell handheld computer barcode scanners like the CK65 shown in the image above and the only function available on these scanners is goods receiving.
 +
 +As with using simple barcode scanners as described in the previous pages of the documentation, mSupply reads GS1 type barcodes with these devices. These barcodes can be in either 1D linear or 2D QR-code or datamatrix forms. Non GS1 type barcodes will be scanned successfully but ignored by mSupply.
  
  
Line 41: Line 43:
  
 ==== 5. Login to the app ==== ==== 5. Login to the app ====
-Enter your mSupply user name and password in the **Username** and **Password** fields. Then tap on the **Login** button to login to the app. Your credentials will be checked against these stored on the mSupply server found at the URL entered in step 4.+Enter your mSupply user name and password in the **Username** and **Password** fields. Then tap on the **Login** button to login to the app. Your credentials will be checked against those stored on the mSupply server found at the URL entered in step 4.
  
 Initial setup is now complete. Initial setup is now complete.
Line 47: Line 49:
  
 ===== Goods Receiving ===== ===== Goods Receiving =====
-==== Login ====+==== 1. Login ==== 
 +When using the app after initial set up set up has been completed, the first thing you must do is login to the app. Tap on the Zappo App icon on the scnner's main screen and enter your mSupply username and passowrd in the **Username** and **Password** fields. Tap on the **Login** button to login. If you are allowed to login to more than one store you will be shown a list of stores to select from: 
 + 
 +{{ .:pasted:20251117-105217.png?250 }} 
 + 
 +Tap on the store you want to login to and you will be taken to the next step (the list of supplier invoices). 
 + 
 +If you are only allowed to login to a single store thern this will automatically be selected for you and you will immediately be taken to the next step, the list of supplier invoices.  
 + 
 +==== 2. Select the supplier invoice ==== 
 +You are shown a list of new ('nw') status supplier invoice in the store you are logged in to: 
 + 
 +{{ .:pasted:20251117-105601.png?250 }} 
 + 
 +Tap on the supplier invoice you want to received goods into. If a new status supplier invoice was added in mSupply since you logged in, you can tap on the **Refresh** button to add it to the list. You can also tap on the hamburger in the page header (the {{.:pasted:20251117-110200.png?15}} icon) to open the configuration menu: 
 + 
 +{{ .:pasted:20251117-110535.png?250 }} 
 + 
 +Tap on: 
 +  * **Select Shipment** to go back to the supplier invoice selection window. 
 +  * **Config** to change the server API URL. 
 +  * **Logout** to log out. 
 + 
 +This same menu is available wherever the hamburger is displayed in a page header. 
 + 
 +When you have selected an invoice you will be shown a list of lines that belong to the invoice: 
 + 
 +{{ .:pasted:20251117-111026.png?250 }} 
 + 
 +==== 3. Start scanning ==== 
 +Now the fun starts! You can start scanning GS1 barcodes on received stock now, either on pallets, cartons or the primary packaging. Be careful you scan the right thing. The first barcode you scan **must** contain the item GTIN (Global Trade Identifier Number), element (01) in a GS1 barcode, so that mSupply can identify which item is being received. Be careful because not all barcodes contain the GTIN. Here are some examples, all found on cartons (rather than on pallets or primary packaging): 
 + 
 +**Example 1** 
 +{{ .:pasted:20251117-123019.jpeg?500 }} 
 + 
 +  * The datamatrix barcode (at the top right) contains the GTIN and all the other information. There is no human readable information next to it so you can't tell before you scan it whether it contains the GTIN. But scan it with your phone and you'll see we're telling the truth ;-). 
 +  * The next linear barcode down contains the expiry date (element (10)), the batch number (element (17)) and the number of packs (element (30)). 
 +  * The final linear barcode at the bottom contains the GTIN (element (01)), and the carton serial number (element (21)). 
 + 
 +So you could either scan the datamatrix or the bottom linear barcode first, but not the middle linear barcode. 
 + 
 +**Example 2** 
 +{{ .:pasted:20251117-123332.jpeg?500 }} 
 + 
 +  * Neither of the two linear barcodes contain the GTIN on this label. 
 +  * The datamatrix barcode does contain the GTIN, along with the batch and expiry date. The human readable information to the right of it makes this clear. 
 + 
 +So you can scan the datamatrix barcode first on this label. 
 + 
 +**Example 3** 
 +{{ .:pasted:20251117-123239.jpeg?500 }} 
 + 
 +  * This label has a single datamatrix barcode with clear human readable data next to it, telling you that it contains the GTIN (called DI here), batch number, expiry date and a few other bits of information. 
 +  * This is a good example of misleading human readable information - not all the human readable information is contained in the barcode. Beware! 
 + 
 +So this datamatrix barcode is fine to scan first. 
 + 
 +**Example 4** 
 +{{ .:pasted:20251117-123453.jpeg?500 }} 
 + 
 +  * This datamatrix barcode has clear humen-readable information next to it that accurately describes what it contains. But there is no GTIN present and there is no other barcode available on the carton. 
 + 
 +So you cannot scan this barcode first. You would be forced to look at the pallet wrapping to see if there's a barcode containing the GTIN there or open the carton and see if there is a barcode containing the GTIN on the primary packaging. If there is no barcode containing the GTIN then you cannot use scanning to enter this item, you must enter it manually into the supplier invoice in mSupply when you have finished scanning the other lines. 
 + 
 +What happens when you make the scan depends on the contents of the barcode and the lines (if any) already on the supplier invoice: 
 + 
 +=== If the barcode doesn't contain a GTIN === 
 +You will be shown an error message and asked to scan again. 
 + 
 +=== If the GTIN does not belong to an item in mSupply === 
 +You will be shown a page to enable you to connect the scanned GTIN with an item in mSupply: 
 + 
 +{{ .:pasted:20251117-132249.png?250 }} 
 + 
 +  * The GTIN field shoes the GTIN that was scanned (without its (01) element identifier) 
 +  * In the //Search// drop-down list, type a few characters of the item's name or code to see a list of items with names or codes that contain what you typed. Tap on the item to connect the GTIN with in the list. 
 +  * A **Pack size** field will then appear for you to enter the pack size that this GTIN represents. Please be careful when entering this, you must get it right! It will affect all future scans of this GTIN and can only be corrected in mSupply by editing the item's barcodes (see the [[barcode_scanning:adding_barcodes_to_items#editing_a_barcode|15.02. Adding barcodes to items]] page for details). This is a feature of the GTIN; it represents a unique combination of item and pack size. The same item with a different pack size will have a different GTIN. 
 +  * When the item and pack size are correct, tap on the **Associate** button to connect the GTIN to the item. 
 +  * What happens next depends on the content of the barcode you have scanned - see the options below! 
 + 
 +=== If the GTIN matches an item not already on the supplier invoice === 
 + 
 + 
 +=== If the barcode contains a GTIN, batch and expiry date matching a line already on the invoice === 
 + 
 + 
 +=== If the barcode contains a GTIN which matches an item but with a different batch and expiry date === 
 + 
  
  
  • Last modified: 2025/11/17 10:44
  • by Gary Willetts