Troubleshooting: receiving
Core module For: Administrator, Compliance manager, Warehouse staff, Sales and purchasing Checked on 18.0.0.2.0
What to do when buying, importing a supplier's EPCIS file, scanning units or validating a receipt stops with an error. Entries are ordered from the most frequent. The serial-count and done-line entries also cover deliveries, returns and other transfers. Abbreviations: EPCIS: Electronic Product Code Information Services; GLN: Global Location Number; GTIN: Global Trade Item Number; NDC: National Drug Code; SSCC: Serial Shipping Container Code (see the glossary).
Elsewhere:
- Refusals that name a trading partner ("… can't be confirmed: it contains DSCSA products …", "… has no valid state license …", "… has no DSCSA role set …", "… but no trading partner is set on the transfer.") are explained with their fixes in Troubleshooting: products, partners and licenses, starting at Error: "… can't be confirmed: it contains DSCSA products …".
- "Only DSCSA users can …" (importing, scanning or removing scans without an Rx Tracking right): see Error: "Only DSCSA users can ...".
- The warnings listed on an imported file's Warnings tab, and receiving discrepancies: see Troubleshooting: receiving discrepancies.
Error: "… can't be validated: scan one DSCSA serial for each unit being validated"
What you see: an "Invalid Operation" dialog when you select Validate:
TRANSFER can't be validated: scan one DSCSA serial for each unit being validated.
- PRODUCT: QUANTITY expected, SCANNED scanned.
Scan the missing serials, unscan the extra ones, or change the quantities to validate (the rest can go to a backorder).
When the counts per product match but the lots don't, the line names the lot instead:
- PRODUCT, lot LOT: SCANNED package(s) scanned but QUANTITY unit(s) being moved.
When: validating a receipt in Validate a DSCSA receipt or Receive without a supplier EPCIS file; the same message stops deliveries and returns. For example, "WH/IN/00009 can't be validated: … - [DEMO-SMS-40] Samplostatin 40 mg Tablets, 90 count: 12 expected, 0 scanned.".
Cause: every unit of a DSCSA product that is being validated needs one scanned package, and the Quantity of each product (and lot) must equal the number of its scanned packages. In Odoo 18 a receipt shows the ordered quantity in Quantity before anything is scanned, so a receipt with no scans is refused. "11 expected, 12 scanned" means the Quantity was lowered below the scans.
Remedy: resolution. Choose one:
- Scan the missing units: Scan units onto a receipt with Scan Serials, and undo a scan. Scanning also sets the Quantity.
- Remove scans of units that aren't in the shipment with the ✖ (Remove this scan) icon on the DSCSA Packages tab (Undo a scan).
- If fewer units arrived, scan only those, validate, and choose Create Backorder or No Backorder (Receive part of a shipment).
- If you typed a Quantity by hand, don't type it back: remove one scan and scan it again, which rebuilds the lines from the scans (see Error: "You need to supply a Lot/Serial number for products …").
Then select Validate again.
Who can fix it: Rx Tracking User or Manager (scanning). An Inventory User without an Rx Tracking right can't scan: ask a colleague with the right.
Error: "You need to supply a Lot/Serial number for products …"
What you see: an "Invalid Operation" dialog when you select Validate on a receipt whose units are all scanned:
You need to supply a Lot/Serial number for products PRODUCT.
When: in Validate a DSCSA receipt, after the Quantity on the Operations tab was typed by hand once the units were scanned (for example lowered to 11, then set back to 12).
Cause: this is Odoo's own lot check. Typing the Quantity of a scanned line splits it: the scanned units stay on a line with their lot, and the typed difference becomes a line without a lot. Registering the same scans again doesn't merge the lines (known issue PF-W05-02).
Remedy: workaround.
-
On the DSCSA Packages tab, select the ✖ (Remove this scan) icon on any one unit.
-
Select Scan Serials, scan that unit again and select Register.
Result: the receipt's lines are rebuilt from the scans: one line per lot, with the Quantity equal to the scans.
-
Select Validate.
Don't type the Quantity of a DSCSA product on a receipt: scanning sets it.
Who can fix it: Rx Tracking User or Manager.
Error: "Some lines could not be read"
What you see: an "Invalid Operation" dialog when you select Register in Scan DSCSA Serials, listing the unreadable lines:
Some lines could not be read:
Line N: GS1 AI (10) BATCH/LOT must have 1 to 20 characters, got 'LOT#21SERIAL' (LENGTH) in 'LINE'.
Line N: GS1 date 'YYMMDD' has an invalid month MM.
Line N: GTIN 'DIGITS' has an invalid check digit: the last digit should be EXPECTED, not TYPED. Check for a typing or scanning error.
Line N: Barcode data 'LINE' is not GS1 data (symbology identifier ']XX').
Line N: Unknown GS1 Application Identifier at 'TEXT' in barcode data 'LINE'.
Other forms of the same condition: "GS1 AI (NN) … must be digits only …", "… contains characters GS1 does not allow …", "GS1 AI (NN) appears twice with different values …", "Expected a known GS1 Application Identifier in parentheses at …", "GS1 date '…' is not a valid date.", "GTIN '…' must have 8, 12, 13 or 14 digits …", "SSCC '…' must have 18 digits …".
When: registering scans in Scan units onto a receipt with Scan Serials, and undo a scan, Receive a sealed case by scanning its SSCC label or the scanner test of Set up a handheld scanner for Scan Serials. The same dialog is used on deliveries and returns.
Cause: the line is not valid GS1 data. The most frequent cause is the scanner: it doesn't send the GS separator after the lot, or sends
it as # or Alt029, which this dialog doesn't read, so the lot runs into the serial (known issue PF-A02-06). Other causes: a typing
error in a typed line, a damaged label, or a scanner prefix for a symbology that isn't GS1. Nothing was registered.
Remedy: resolution.
- Select Close. The dialog keeps your lines.
- Correct the line (type the separator as
<GS>, or use the human-readable form(01)GTIN(21)SERIAL(17)YYMMDD(10)LOT), or delete it and scan the label again. - Select Register.
- If every scan from a scanner fails the same way, set the scanner up again: Set up a handheld scanner for Scan Serials.
Who can fix it: Rx Tracking User or Manager; whoever configures the scanners for step 4.
Error: "… the scan has no lot number (AI 10)" or "a package scan needs a GTIN (01) and a serial number (21)"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: Serial SERIAL: the scan has no lot number (AI 10).
Line N: a package scan needs a GTIN (01) and a serial number (21).
When: registering scans in Scan units onto a receipt with Scan Serials, and undo a scan.
Cause: the line lacks a part a unit's DataMatrix always has: the lot (AI 10), or the GTIN (AI 01) and serial (AI 21). A line that misses the GS separator after the lot can also read as a lot with no serial. Nothing was registered, not even the good lines.
Remedy: resolution. Select Close, then scan the unit's label again, or complete the typed line, for example
(01)00399990102901(21)400000000002(17)280930(10)BPSMS2509C. Select Register. If a label really has no lot or serial, set the unit
aside and ask the supplier: it isn't a serialized DSCSA package.
Who can fix it: Rx Tracking User or Manager.
Error: "… is not on this transfer" or "… is not a DSCSA product"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: PRODUCT is not on this transfer.
Line N: PRODUCT (GTIN GTIN) is not a DSCSA product.
When: registering scans in Scan units onto a receipt with Scan Serials, and undo a scan. For example "[DEMO-SMS-40] Samplostatin 40 mg Tablets, 90 count is not on this transfer." on a receipt of Demoprazole, or "[DEMO-PLB-10] Placebrin 10 mg Tablets, 100 count (GTIN 00399990104011) is not a DSCSA product.".
Cause: the GTIN on the label belongs to a product that isn't on this receipt, or to a product that isn't a DSCSA product, which is never scanned.
Remedy: resolution. Select Close, delete the line and select Register for the rest. Then:
- a unit of another product was shipped by mistake: set it aside and contact the supplier; or, if you accept it, add the product to the receipt (Operations tab, Add a line) and scan it again;
- the product should be a DSCSA product: ask an Rx Tracking Manager to tick DSCSA Product on it (Set up a DSCSA product).
Who can fix it: Rx Tracking User or Manager; an Rx Tracking Manager for the product setting.
Error: "no DSCSA product has GTIN …"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: no DSCSA product has GTIN GTIN. Set the GTIN on the product, or choose the product in the wizard to capture it.
Related messages in the same dialog: "GTIN GTIN is unknown and PRODUCT already has GTIN OTHER-GTIN." (the product chosen in Product for an unknown GTIN already has another GTIN), "PRODUCT is not a DSCSA product." (the chosen product isn't one) and "several products have GTIN GTIN." (two products share the GTIN).
When: registering scans in Scan units onto a receipt with Scan Serials, and undo a scan or Capture a product's GTIN from the first scan.
Cause: no product has the GTIN on the label, usually a new product created without its NDC or GTIN.
Remedy: resolution. Choose one:
- In the same dialog, choose the product in Product for an unknown GTIN and select Register: the GTIN is saved on the product (IN-09).
- Or set the GTIN (or the NDC) on the product's DSCSA tab first (Set up a DSCSA product), then register the scans again.
For "already has GTIN", choose the right product. For "several products have GTIN", ask an Rx Tracking Manager to remove the GTIN from the product that shouldn't have it.
Who can fix it: Rx Tracking User or Manager (option 1); whoever maintains products (option 2).
Error: "SSCC … is not a case the supplier's EPCIS file lists for this transfer"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: SSCC SSCC is not a case the supplier's EPCIS file lists for this transfer. Scan the packages inside it one by one.
When: scanning a case label in Receive a sealed case by scanning its SSCC label, or by mistake in Receive without a supplier EPCIS file. The same message appears when you scan a case label (SSCC, Serial Shipping Container Code) on a delivery: a sealed case can't be shipped from its label, so scan every unit in it. See Error: "SSCC … is not a case the supplier's EPCIS file lists for this transfer" on a delivery.
Cause: a case label on its own line receives the units that the supplier's file puts in that case. This receipt has no imported file, or the file doesn't list this case (another shipment's case, or a file for another receipt).
Remedy: resolution. Choose one:
- Import the supplier's file on this receipt (IN-03), then scan the case again.
- Or open the case and scan every unit's DataMatrix (IN-08). Do this too when the seal is broken, and always on a delivery (OUT-03).
Who can fix it: Rx Tracking User or Manager.
Error: "… is already scanned on …"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: Serial SERIAL is already scanned on TRANSFER.
For "Serial SERIAL belongs to PRODUCT.", see Error: "Serial … belongs to …".
When: registering scans in Scan units onto a receipt with Scan Serials, and undo a scan.
Cause: the unit is already scanned on another transfer that is still open, for example another receipt of the same product.
Remedy: resolution. Open the transfer named in the message and check its DSCSA Packages tab. If the unit is on the wrong transfer, remove it there with the ✖ (Remove this scan) icon (Undo a scan), then scan it here. If it really is on the right transfer, delete the line here.
Who can fix it: Rx Tracking User or Manager.
Error: "Serial … belongs to …"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: Serial SERIAL belongs to PRODUCT.
For example "Line 1: Serial 200000000013 belongs to [DEMO-DPZ-20] Demoprazole 20 mg Delayed-Release Capsules, 30 count." when the unit is scanned on a transfer of another product.
When: registering scans on a receipt, a delivery or another transfer, in Scan units onto a receipt with Scan Serials, and undo a scan or Scan the serials of a delivery and validate it. No transfer is named in the message.
Cause: the unit is in the package ledger under PRODUCT, but the GTIN (Global Trade Item Number) on its label now names another product. This happens after someone changed the NDC or GTIN on the DSCSA tab of PRODUCT once its units were received, and gave the old GTIN to another product (known issues PF-W03-03 and PF-V02c-01). Units of the changed product can't be scanned onto any transfer until the identifiers are set back: with the new GTIN the scan says "… is not in the package ledger …", with the label's GTIN it says "no DSCSA product has GTIN …" or this message.
Remedy: resolution. The label is right; the product record changed.
- Open PRODUCT and the product that now has the label's GTIN, and read their chatters: each change of NDC or GTIN is logged there.
- Set the identifiers back: remove the old GTIN from the other product, then give PRODUCT its original NDC (or GTIN) again (Set up a DSCSA product step 4).
- Scan the unit again.
Who can fix it: Rx Tracking Manager with a right to edit products (the Who line of MD-01).
Error: "… is already registered (state: …). A duplicate serial is a suspect-product signal"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: Serial SERIAL is already registered (state: STATE). A duplicate serial is a suspect-product signal: do not receive it until it is investigated.
When: scanning a unit onto a receipt in Scan units onto a receipt with Scan Serials, and undo a scan. For example "Serial 200000000012 is already registered (state: In Stock)." for a unit that is already on your shelf.
Cause: the package ledger already has a unit with this GTIN and serial (in stock, shipped, or in another state). Two physical units with the same product identifier can't both be genuine, so the software refuses to receive it.
Remedy: resolution. Select Close, delete the line, register the other units and set the unit aside. Then follow Handle a duplicate serial at receipt. Your procedure decides who investigates a suspect unit and how.
Who can fix it: Rx Tracking User or Manager (setting it aside); your compliance manager for the investigation.
Error: "the scan says lot … expires …, but the lot expires …"
What you see:
Nothing was registered. Fix these scans and try again:
Line N: the scan says lot LOT expires SCANNED-DATE, but the lot expires LOT-DATE.
When: scanning a new unit of a lot that already exists, in Scan units onto a receipt with Scan Serials, and undo a scan. For example "the scan says lot BPDPZ2509A expires 2029-06-30, but the lot expires 2028-06-30.".
Cause: the expiry date on the label differs from the lot's expiry date in Odoo. A lot has one expiry date, so either the label or the lot is wrong, or the lot number was reused.
Remedy: resolution. Check the label against the supplier's paperwork. If the label is wrong, set the unit aside and contact the supplier. If the lot's date in Odoo is wrong, ask an Rx Tracking Manager to check the lot before you register the unit.
Who can fix it: Rx Tracking Manager.
Error: "Scan or paste at least one package DataMatrix."
What you see: "Scan or paste at least one package DataMatrix." when you select Register.
When: in any use of Scan Serials (IN-08).
Cause: the scan box is empty, or holds only blank lines.
Remedy: resolution. Select Close, select the scan box ("Scan here...") and scan, or select Cancel to close the dialog.
Who can fix it: Rx Tracking User or Manager.
Error: "… is already done or cancelled."
What you see: "TRANSFER is already done or cancelled." when registering scans, or "The transfer is already done or cancelled." when removing a scan.
When: a transfer became Done or Cancelled in another browser tab or by a colleague while Scan DSCSA Serials was open, or you work from an old page.
Cause: scans can be added or removed only while the transfer is open.
Remedy: resolution. Reload the page. A done receipt keeps its scans; to change it afterwards, see Correct a receipt after validation.
Who can fix it: Rx Tracking User or Manager.
Error: "The buyer in the file has GLN …" or "The seller in the file has GLN …"
What you see: the import is refused:
FILE-NAME was not imported:
- The buyer in the file has GLN FILE-GLN, but COMPANY has KNOWN-GLNS. If the file is right, add that GLN to COMPANY (or one of its addresses); otherwise ask the supplier for a corrected file.
or the same with "The seller in the file has GLN …, but SUPPLIER has …".
When: selecting Import in Import the supplier's EPCIS file on the receipt.
Cause: the file names a buyer (or seller) whose GLN is none of those recorded in Odoo for your company (its contact, addresses and warehouses) or for the supplier (its company, contacts and addresses). Either the file was made for another customer, or a GLN is missing or wrong in Odoo. A GLN that is missing from the file, or not recorded in Odoo at all, doesn't refuse the import: it gives a warning instead.
Remedy:
- The file is for another company: resolution: ask the supplier for a corrected file, then import it.
- The GLN in the file is right: resolution: record it (your company: Set the company GLN and GS1 prefix length or Give a warehouse its own GLN; the supplier: Onboard a trading partner: DSCSA role, GLN and address), then import the file again.
Who can fix it: an administrator for your GLNs; an Rx Tracking Manager for the supplier's.
Error: "GTIN … is not on any product"
What you see:
FILE-NAME was not imported:
- GTIN GTIN (PRODUCT-NAME, NDC NDC) is not on any product: set it on the product (Rx Tracking tab) and import again.
or "- Several products have GTIN GTIN.".
When: selecting Import in Import the supplier's EPCIS file on the receipt.
Cause: the file ships a product whose GTIN no product in Odoo has (or two products have). Unlike Scan Serials, the import doesn't capture a GTIN. The message says "Rx Tracking tab", but the tab is called DSCSA (known issue PF-A02-05).
Remedy: resolution. Set the GTIN (or the NDC, from which Odoo computes it) on the product's DSCSA tab (Set up a DSCSA product), or capture it by scanning one unit (IN-09). Then import the file again. For "Several products have GTIN", remove it from the product that shouldn't have it.
Who can fix it: whoever maintains products (the product form); an Rx Tracking User or Manager for the scan capture.
Error: "… is in the file but not on …"
What you see:
FILE-NAME was not imported:
- PRODUCT (GTIN GTIN) is in the file but not on RECEIPT. Add it to the receipt, or ask the supplier for a corrected file.
When: selecting Import in Import the supplier's EPCIS file on the receipt.
Cause: the file ships a DSCSA product that isn't on the receipt: the supplier sent another product, or the file belongs to another purchase order.
Remedy: resolution. If the file belongs to another order, import it on that order's receipt. If you accept the product, add it to the receipt (Operations tab, Add a line) and import again. Otherwise ask the supplier for a corrected file.
Who can fix it: Rx Tracking User or Manager; purchasing staff for a change to the order.
Error: "These serials are already expected on another open receipt"
What you see:
FILE-NAME was not imported:
- These serials are already expected on another open receipt: SERIAL (expected on RECEIPT), SERIAL (expected on RECEIPT), … and N more. A file can only be imported on one receipt; cancel the other import first if it was a mistake.
When: selecting Import in Import the supplier's EPCIS file on the receipt.
Cause: the same file, or another file with the same serials, is already imported on another receipt that isn't Done yet.
Remedy: resolution. Open the receipt named in the message. If the file belongs there, don't import it again. If it was imported there by mistake, cancel that import (Cancel a supplier file, or a receipt that has scans or a file), then import it on the right receipt.
Who can fix it: Rx Tracking User or Manager.
Error: "… can't be read as an EPCIS 1.2 file"
What you see: the import is refused with "FILE-NAME can't be read as an EPCIS 1.2 file: REASON", for example:
FILE-NAME can't be read as an EPCIS 1.2 file: The file is not well-formed XML and cannot be read: Start tag expected, '<' not found, line 1, column 1 (<string>, line 1)
Other reasons: "The EPCIS file is empty.", "This is a JSON file (probably EPCIS 2.0 JSON-LD). …", "This is an EPCIS 2.0 file. …", "This is not an EPCIS file: its root element is …", "EPCIS schemaVersion '…' is not supported; …", "The file is a GS1 Standard Business Document but contains no EPCIS document.", "The file contains a DOCTYPE declaration. …", or a malformed identifier ("… is malformed: …", "'…' is not a supported EPC URN …").
When: selecting Import in Import the supplier's EPCIS file on the receipt.
Cause: the uploaded file isn't an EPCIS 1.2 XML file: another document (a PDF, a packing list, a scans file), an EPCIS 2.0 file, or a damaged file.
Remedy: resolution. Check that you chose the supplier's EPCIS XML file for this shipment. If it is, ask the supplier for the EPCIS 1.2 XML version of it. Until you have a readable file, see Receive without a supplier EPCIS file.
Who can fix it: the supplier; Rx Tracking User or Manager to import the new file.
Error: "The file announces no serialized packages" or "… package(s) have no lot number in the file"
What you see:
FILE-NAME was not imported:
- The file announces no serialized packages (a shipping event listing SGTINs, or SSCCs with their aggregation data), so there is nothing to receive against it.
or "- COUNT package(s) have no lot number in the file: SERIALS.".
When: selecting Import in Import the supplier's EPCIS file on the receipt.
Cause: the file is readable but gives no unit serial numbers to receive against, or gives serials without their lot.
Remedy: resolution. Ask the supplier for a file that lists every package with its lot. Until then, see Receive without a supplier EPCIS file.
Who can fix it: the supplier.
Error: "… has no open receipt to import a supplier EPCIS file on"
What you see: one of:
ORDER has no open receipt to import a supplier EPCIS file on.
A supplier EPCIS file can only be imported on an open receipt (RECEIPT is not one).
RECEIPT has no DSCSA products to receive, so there is nothing to import.
RECEIPT is not an open receipt of ORDER.
Choose the supplier's EPCIS file.
When: selecting Import EPCIS on a purchase order, or Import in the dialog, in Import the supplier's EPCIS file on the receipt.
Cause: the order's receipts are all Done or Cancelled; the receipt isn't open; it has only products that aren't DSCSA products; or no file was chosen in EPCIS File.
Remedy: resolution. Import on an open receipt of the order (for example its backorder), and choose the file with Upload your file before selecting Import. A file can't be imported on a done receipt (known issue PF-A02-01, see Receive without a supplier EPCIS file).
Who can fix it: Rx Tracking User or Manager.
Error: "DSCSA packages don't match the quantities being validated"
What you see: a dialog when you select Validate on a transfer:
DSCSA packages don't match the quantities being validated:
PRODUCT, lot LOT: SCANNED package(s) scanned but QUANTITY unit(s) being moved.
or "Package PACKAGE can't be moved here: it is STATE.".
When: validating a receipt, delivery or other transfer whose done lines and scanned packages disagree. It is a last backstop that the usual screens don't normally reach: changing the lots in a line's detailed operations is stopped earlier, with the per-lot line of Error: "… can't be validated: scan one DSCSA serial for each unit being validated" (for example "… lot BPSMS2509C: 12 package(s) scanned but 11.0 unit(s) being moved."), and quarantining a lot takes its scans off open transfers. Expect it only after an import or a script changed the lines.
Cause: a last check before the stock moves: the done lines must carry exactly the scanned packages, lot by lot, and each package must be in a state that allows the move (for example not Quarantined on a delivery).
Remedy: resolution. Reload the transfer. On the DSCSA Packages tab, remove the scans that don't belong, scan the missing units, and leave the line quantities to the scans. For a Quarantined package, see Troubleshooting: quarantine, scrap and trace requests.
Who can fix it: Rx Tracking User or Manager.
The Scan Serials or Import EPCIS button isn't shown
What you see: the receipt form has no Scan Serials or Import EPCIS button, and no DSCSA Packages tab. A user without an Rx Tracking right who reaches the action another way (an old page, a link) gets "Only DSCSA users can import or cancel supplier EPCIS files.", "Only DSCSA users can scan DSCSA serials onto a transfer." or "Only DSCSA users can remove scanned DSCSA packages from a transfer." instead (see Error: "Only DSCSA users can ...").
When: in Import the supplier's EPCIS file on the receipt or Scan units onto a receipt with Scan Serials, and undo a scan.
Cause: one of:
- your user has no Rx Tracking right (an Inventory User only): no button and no DSCSA Packages tab;
- the receipt is Draft (a receipt created by hand, before Mark as Todo), Done or Cancelled;
- the receipt has no DSCSA product.
Remedy: resolution.
- No right: ask an administrator for Rx Tracking User (Give staff the right Rx Tracking access), or ask a colleague who has it to scan. You can still validate once the units are scanned.
- Draft: select Mark as Todo.
- Done: see Correct a receipt after validation.
- No DSCSA product: nothing to scan; validate as in standard Odoo. If the product should be a DSCSA product, see Set up a DSCSA product.
Who can fix it: Administrator (Administration: Settings) for rights; Rx Tracking User or Manager otherwise.