Skip to main content

Troubleshooting: returns and the customer portal

Core module For: Administrator, Compliance manager, Warehouse staff Checked on 18.0.0.2.0

What to do when a customer return, a return to the supplier or the customer portal stops with an error or doesn't behave as expected. Entries are ordered from the most frequent. Messages from the Return dialog start with the product, for example "[DEMO-DPZ-20] Demoprazole 20 mg Delayed-Release Capsules, 30 count: Line 1: …"; the same messages from Scan Serials start with "Line 1: …".

Errors that returns share with other flows are on their own pages:

Error: "Serial … was shipped to …, not to …"​

What you see:

Nothing was registered. Fix these scans and try again:
PRODUCT: Line N: Serial SERIAL was shipped to OTHER-CUSTOMER, not to CUSTOMER.

For example: "Line 1: Serial 200000000006 was shipped to Hillcrest Family Pharmacy, not to Riverside Community Pharmacy." A package with no recorded buyer gives "Serial SERIAL has no record of a shipment to CUSTOMER.".

When: selecting Return in the Return dialog, or Register in Scan Serials on a customer return, in Receive a saleable customer return with its serials.

Cause: the package ledger shows the unit was shipped to another customer (the company of that delivery's address). A customer can return only units you sold to it. Nothing is created.

Remedy: a resolution.

  1. Select Close, then delete the line from the Serials (scan each package) cell (or the scan box).
  2. Set the unit aside, and look it up in the package ledger to see where it went (Look up a unit in the package ledger).
  3. Select Return (or Register) again for the other units.

Your procedure decides whether a unit that comes back from a customer you didn't sell it to is investigated as suspect product.

Who can fix it: Rx Tracking User or Manager (the scans); the investigation per your procedure.

Error: "… was never shipped …" or "… is not in our package ledger …"​

What you see: one of:

Nothing was registered. Fix these scans and try again:
PRODUCT: Line N: Serial SERIAL was never shipped (the package ledger has it In Stock), so it can't be a return of our own sale to CUSTOMER.
Nothing was registered. Fix these scans and try again:
PRODUCT: Line N: Serial SERIAL is not in our package ledger: we never received it, so it can't be a return of our own sale.

When: returning units in Receive a saleable customer return with its serials or Take back units shipped at lot level to a small dispenser.

Cause:

  • "was never shipped": the ledger has the unit In Stock, so no delivery took it out. Either the label was misread or mistyped, or the unit is one of your own shelf units, or (for a small dispenser) the customer received no unit of this product at lot level before the company's small-dispenser exemption end date.
  • "is not in our package ledger": no unit with this product and serial number was ever received or registered by you. It isn't from one of your sales.

Remedy:

  1. Scan the label again, or check the typed line (resolution for a misread).
  2. Otherwise don't accept the unit as a return: set it aside. Your procedure decides how such a unit is investigated.

Who can fix it: Rx Tracking User or Manager.

Error: "Serial … can't be used here: it is …"​

What you see:

Nothing was registered. Fix these scans and try again:
PRODUCT: Line N: Serial SERIAL can't be used here: it is STATE.

For example: "Line 1: Serial 200000000001 can't be used here: it is Returned." or "Line 1: Serial 500000006001 can't be used here: it is Quarantined."

When: returning units in Receive a saleable customer return with its serials, Return saleable product to the supplier or Send a non-saleable return to the supplier.

Cause: the unit's package is in a state this return doesn't accept:

StateWhere you see itWhat it meansWhat to do
Returneda customer returnthe unit already came back and waits in Returns to VerifyDon't take it back twice. Scan the other units.
Returneda return to the supplier without the non-saleable flagthe unit waits in Returns to VerifySend it as a non-saleable return from WH/Returns to Verify (RET-05), or have it verified first (RET-02).
Quarantineda return to the supplierits lot is quarantinedSend it as a non-saleable return (RET-05): create the return without serials, set the flag, then scan on the transfer.
Destroyed, Missingany returnthe unit was scrapped, rejected, or recorded as missingSet it aside and tell an Rx Tracking Manager.

Remedy: a resolution. Select Close, delete the line, and continue as the table says.

Who can fix it: Rx Tracking User or Manager; Rx Tracking Manager for the non-saleable flag.

Error: "The return can't be created: …"​

What you see: when you select Return in the Return dialog, one line per problem:

The return can't be created:
PRODUCT: Line N: a case (SSCC) label can't be used here; scan each unit's DataMatrix.
PRODUCT: SCANNED serial(s) scanned but QUANTITY to return.
PRODUCT: Line N: this package is OTHER-PRODUCT, not PRODUCT.
PRODUCT is not a DSCSA product: it has no serials to scan.

When: creating a return in Receive a saleable customer return with its serials or Return saleable product to the supplier.

Cause: a line of the dialog is wrong. Nothing is created.

MessageCauseFix
"a case (SSCC) label can't be used here"a case label was scannedScan each unit's DataMatrix instead.
"SCANNED serial(s) scanned but QUANTITY to return"the Quantity was changed after scanningSet the Quantity to the number of units scanned, or scan the missing units.
"this package is OTHER-PRODUCT, not PRODUCT"the unit is another product than the lineScan it on that product's line, or set it aside.
"is not a DSCSA product: it has no serials to scan"serials on a product that isn't a DSCSA product (only through an import or the API: the dialog has no Serials cell for it)Remove the serials; enter the Quantity only.

Remedy: a resolution. Select Close, correct the line as the table says, and select Return again.

Who can fix it: Rx Tracking User or Manager.

Known issue

Known issue (PF-W08-02): a scan whose GTIN (Global Trade Item Number, see the glossary) matches no product gives a garbled line: "Line N: this package is no DSCSA product has GTIN GTIN. Set the GTIN on the product, or choose the product in the wizard to capture it., not PRODUCT." The Return dialog has no product to choose. Scan the right unit, or have the product's GTIN set (Set up a DSCSA product).

Error: "… matched at lot level …" or "no unit of lot … shipped to … without serials is still out"​

What you see: one of:

Nothing was registered. Fix these scans and try again:
Lot LOT: COUNT serial(s) matched at lot level (SERIALS), but only AVAILABLE unit(s) of this lot shipped to CUSTOMER without serials are still out.
Nothing was registered. Fix these scans and try again:
PRODUCT: Line N: Serial SERIAL is In Stock in the package ledger, and no unit of lot LOT shipped to CUSTOMER without serials is still out, so it can't be matched at lot level.

For example: "Lot BPDPZ2508K: 2 serial(s) matched at lot level (200000000014, 200000000015), but only 1 unit(s) of this lot shipped to Hillcrest Family Pharmacy without serials are still out."

When: returning units in Take back units shipped at lot level to a small dispenser.

Cause: the software counts, per lot, the units shipped to this customer without serials before the exemption end date, minus those already returned. You scanned more units of the lot than are still out, or units of a lot that wasn't shipped to this customer at lot level (or that came back already).

Remedy:

  1. Check the lot on the customer's lot-level delivery (its Operations tab, or the Moves smart button).
  2. Scan only units of that lot, and no more than are still out. Set the other units aside: your procedure decides how they are investigated.

Who can fix it: Rx Tracking User or Manager.

Error: "…: set the customer on the return first"​

What you see:

Nothing was registered. Fix these scans and try again:
Line N: Serial SERIAL: set the customer on the return first; returned serials are matched against what we shipped to that customer.

When: scanning units with Scan Serials on a customer return whose Receive From is empty, in Scan the serials on the return transfer instead.

Cause: the software matches each returned unit against your sales to the return's customer, and there is none.

Remedy: a resolution. Select Close, choose the customer in Receive From, select the save icon, then scan again.

Who can fix it: Rx Tracking User or Manager.

Error: "… can't be validated: these returned serials don't match our own sales"​

What you see: when you select Validate on a customer return:

RETURN-NUMBER can't be validated: these returned serials don't match our own sales:
- Serial SERIAL was shipped to OTHER-CUSTOMER, not to CUSTOMER.

For example: "WH/IN/00034 can't be validated: these returned serials don't match our own sales: - Serial 200000000003 was shipped to Riverside Community Pharmacy, not to Hillcrest Family Pharmacy."

When: validating a return in Receive a saleable customer return with its serials.

Cause: the matches are checked again at Validate. The Receive From of the return was changed after the units were scanned.

Remedy: a resolution. Select Close, set Receive From back to the customer who returned the units, select the save icon and Validate again. If the units really came from another customer, cancel this return and create it from that customer's delivery.

Who can fix it: Rx Tracking User or Manager.

Error: "Returned DSCSA units in … are waiting for verification."​

What you see:

Returned DSCSA units in WH/Returns to Verify are waiting for verification. Only a DSCSA manager can release them (Rx Tracking > Returns to Verify: Verify for Resale, or Reject and Destroy).

When: validating a transfer that takes returned units out of WH/Returns to Verify in another way than a manager's decision, for example an internal transfer to WH/Stock.

Cause: returned units leave the hold only through Verify returned units for resale, or reject and destroy them, or on a non-saleable return to the supplier (RET-05).

Remedy: a resolution. Cancel the transfer, and ask an Rx Tracking Manager to verify or reject the units.

Who can fix it: Rx Tracking Manager.

Verify for Resale and Reject and Destroy aren't shown​

What you see: in Inventory ‣ Rx Tracking ‣ Returns to Verify, selecting a unit shows only "1 selected", and the package form has no Verify for Resale or Reject and Destroy. Through an import or the API, the refusal is "Only a DSCSA manager can verify or reject returned packages." or "Only a DSCSA manager can verify a returned package for resale.".

When: in Verify returned units for resale, or reject and destroy them.

Cause: the decision needs the Rx Tracking Manager right. Rx Tracking Users see the list read-only. On a package form, the buttons are also hidden while the unit is on an open transfer.

Remedy: ask an Rx Tracking Manager to decide, or an administrator to give you the right (Give staff the right Rx Tracking access).

Who can fix it: Rx Tracking Manager; the access right: Administrator (Administration: Settings).

Error: "Only returned packages that are not on an open transfer can be verified or rejected"​

What you see:

Only returned packages that are not on an open transfer can be verified or rejected:
SERIAL (PRODUCT, lot LOT)

For example: "400000000002 ([DEMO-SMS-40] Samplostatin 40 mg Tablets, 90 count, lot BPSMS2509C)".

When: selecting Verify for Resale or Reject and Destroy in Verify returned units for resale, or reject and destroy them.

Cause: the unit is scanned on a transfer that isn't done yet, for example a non-saleable return to the supplier, or its package is no longer Returned (for example because its lot was quarantined after the list was opened).

Remedy: a resolution. Leave the units that are on the open transfer: that transfer decides where they go. To decide about them here instead, remove the scan from that transfer (its DSCSA Packages tab) or cancel it, then select the units again. For a quarantined lot, release it first (Release a lot from quarantine).

Who can fix it: Rx Tracking Manager.

Error: "… its stock location is unknown …", "… has no scrap location." and similar​

What you see: one of:

Package PACKAGE: its stock location is unknown (no done movement).
LOCATION is not in a warehouse, so there is no stock location to put the verified units back into.
COMPANY has no scrap location.
The units of SERIALS could not be moved.

When: selecting Verify for Resale or Reject and Destroy in Verify returned units for resale, or reject and destroy them.

Cause: the decision moves each unit from where it is to the warehouse's stock location or to the company's scrap location, and one of them can't be found. This needs a configuration that the screens don't normally let you make (a hold location outside a warehouse, no scrap location); it isn't shown in the example database.

Remedy: ask your Odoo administrator to check the warehouse's locations and the company's scrap location (Inventory ‣ Configuration ‣ Locations), then decide again.

Who can fix it: Administrator (Inventory Administrator).

The Non-saleable return checkbox isn't shown​

What you see: the return transfer to the supplier has no Non-saleable return (§582(c)(1)(B)(ii)) checkbox. Through an import or the API, the refusal is one of:

Only DSCSA managers can mark or unmark a return to the supplier as non-saleable: it lets held product ship and skips the outbound DSCSA document.
TRANSFER-NUMBER: only a transfer to a supplier location can be a non-saleable return.

When: in Send a non-saleable return to the supplier.

Cause: the checkbox is shown only to Rx Tracking Managers, and only on a transfer that ships DSCSA products from your warehouse to a supplier location (a return from a receipt). Others see it, read-only, once it is set.

Remedy: ask an Rx Tracking Manager to set it. Start the return from the receipt with Return, so that it goes to the supplier's location.

Who can fix it: Rx Tracking Manager.

Error: "The non-saleable return flag of … can't change"​

What you see:

The non-saleable return flag of TRANSFER-NUMBER can't change: the transfer is done or cancelled.

When: changing the flag of a done or cancelled transfer through an import or the API. On the form the checkbox is read-only once the transfer is done.

Cause: the flag records how the units left; it stays as it was when the transfer was done.

Remedy: none needed: by design. A mistake is corrected with a new transfer, not by changing the flag.

Who can fix it: nobody; it is by design.

What you see: the customer opens a document's address and sees "Error 404" and "We couldn't find the page you're looking for!". A file's address (ending /pdf or /xml) shows "Not Found" instead ("The requested URL was not found on the server. …"). A link from the email (View DSCSA Transaction Document) with a changed or missing character opens the portal's sign-in page (Email, Password, Log in) instead of the document.

When: in Your DSCSA documents in the customer portal, or when opening a link sent by email (Send one document's link to a customer).

Cause: the portal shows a document only to users of its buyer's company, or to someone with the document's link. Everything else answers "Error 404" (or "Not Found" for a file), without saying whether the document exists: another customer's document, a supplier's (inbound) document, or a document address whose access_token was changed. A damaged link from the email (/mail/view?access_token=…) isn't recognized, so Odoo asks the reader to sign in.

Remedy:

  1. Check the document's Trading Partner (Inventory ‣ Rx Tracking ‣ Documents): the customer's user must belong to that company.
  2. If the link was changed or cut in the email (the sign-in page opens), send it again (OUT-11).

Who can fix it: Rx Tracking Manager (sending the link); Administrator (Administration: Settings) for portal access.

A customer doesn't see a document, or the DSCSA Documents card, in the portal​

What you see: the customer's DSCSA Documents list doesn't have a document you expect, or My account has no DSCSA Documents card at all.

When: in Find and download your DSCSA documents.

Cause: the portal lists posted outbound documents whose buyer is the customer's company. A document is missing when:

  • the order was shipped to another company's address: the document's buyer is that company (Known issue PF-A03-03);
  • the delivery isn't Done yet, or it had no DSCSA products;
  • the customer's user is a contact of another company.

The card isn't shown while the customer has no document yet.

Remedy: a workaround for the first case: send the document's link or its T3 report (Transaction Report) yourself (Send one document's link to a customer). Otherwise check the delivery and the contact's company, and give the right contact portal access (Give a customer portal access to its DSCSA documents).

Who can fix it: Rx Tracking User or Manager (the document and the link); Administrator (Administration: Settings) for portal access.

The order page says "sign in to download them"​

What you see: on an order opened from an email link without signing in, the DSCSA Documents section says "This order's DSCSA documents are available in your customer account: sign in to download them."

When: a customer opens the link of a quotation or order email.

Cause: the order's link opens the order only. The DSCSA documents need a portal login of the buyer's company, or the document's own link.

Remedy: the customer signs in with its portal login. If it has none, give it portal access (Give a customer portal access to its DSCSA documents), or send the document's link (OUT-11).

Who can fix it: Administrator (Administration: Settings) for portal access; Rx Tracking Manager for a document link.