Skip to main content

Troubleshooting: owner returns and adjustments

3PL add-on For: Administrator, Compliance manager, Warehouse staff Checked on 18.0.0.2.0, 18.0.1.0.0

What to do when a return of an owner's units, a count, a scrap or an opening balance of owner stock is refused. Entries are ordered from the most frequent. In the messages, "our own stock" (or "us") means your company's stock, not held for any owner.

Refusals that are not specific to this area have their entry elsewhere:

Error: "Serial … was sold by …: it can only come back into …"​

What you see: in the Return dialog (or in Scan Serials on a return), after "Nothing was registered. Fix these scans and try again:", one of these lines:

PRODUCT: Line N: Serial SERIAL was sold by us: it can only come back into our own stock, not into the stock of OWNER. Return it on a
transfer that is not held for an owner ("Return" on our delivery).

PRODUCT: Line N: Serial SERIAL was sold by OWNER (we hold its stock as a 3PL): it can only come back into the stock of OWNER, not into ours.
Use "Return" on the delivery of OWNER, or hold this return for OWNER ("Held for Owner") before scanning.

PRODUCT: Line N: Serial SERIAL was sold by OWNER: it can only come back into the stock of OWNER, not into the stock of OTHER-OWNER. Use
"Return" on the delivery of OWNER.

At Validate (mostly through imports and API calls) the same condition reads "Serial SERIAL was sold by SELLER: it can only come back into that seller's stock, not into TARGET." or "…: returned serial SERIAL was sold by SELLER, not by OWNER.".

When: taking back a customer return, also at lot level (3PL-RET-04).

Cause: a returned unit comes back only into the stock of its Seller of Record (the owner that sold it through you, or your company), and a return is held for one seller. The return was started from the wrong delivery, or the box mixes units of several sellers. At lot level, an in-stock unit counts as its owner's: "sold by us" then means one of your own units.

Remedy: resolution.

  1. Open the unit's package (Inventory ‣ Rx Tracking ‣ Packages, search the serial) and read Seller of Record and Shipped To.
  2. Select Close in the dialog, and delete that unit's line.
  3. Take the unit back with Return on the seller's delivery: the owner's delivery for an owner's unit (3PL-RET-01), your delivery for yours (Receive a saleable customer return with its serials).
Known issue

Known issue (PF-W19-01): the second message's advice "or hold this return for OWNER ("Held for Owner") before scanning" can't be followed: on a return of your own delivery, setting Held for Owner is refused when you save ("… is on our sale or purchase order: its DSCSA units can't be held for …", see On our order), and a receipt made with New is an owner's purchase receipt, not a return. Use Return on the owner's delivery.

Who can fix it: Rx Tracking User or Manager.

Error: "Returned units held for an owner are destroyed only on the owner's instruction"​

What you see: after Reject and Destroy ‣ Ok:

Returned units held for an owner are destroyed only on the owner's instruction:
- RETURN (serials SERIAL, …): OWNER's instruction (Destroy) is required for RETURN: record the owner's order or approval first.
Record the owner's destroy instruction for the return transfer ("Record Destroy Instruction" on the returned unit), then reject again.

Instead of "is required", a line may say "…: instruction INSTRUCTION was already used on DATE; a destroy instruction directs one rejection." or give another instruction refusal ("… is from …, not from …").

When: rejecting and destroying an owner's returned units.

Cause: no unused Destroy instruction of the owner is recorded for that return transfer. Common cases: the instruction was recorded in Owner Instructions without the return (it isn't picked up); it was recorded as Scrap (not accepted here); or it was already used by an earlier rejection of another unit of the same return. The check covers every owner of the selected units before anything moves, so nothing was destroyed.

Remedy: resolution.

  1. Open one of the refused units from Inventory ‣ Rx Tracking ‣ Returns to Verify and select Record Destroy Instruction.
  2. Enter the owner's Reference, attach its order if you have it, and select Save.
  3. Select the units of that return together in Returns to Verify and select Reject and Destroy again.

"Only a returned unit held for an owner needs the owner's destroy instruction." appears only through imports and API calls: the button is hidden on your own units and on units that aren't Returned.

Who can fix it: Rx Tracking User or Manager (the instruction); Rx Tracking Manager (the rejection).

Error: "… a nonsaleable return of units held for … goes to … or to one of its return designees …"​

What you see: at Validate:

DSCSA owner isolation (3PL):
- WH/OUT/NNNNN: a nonsaleable return of units held for OWNER goes to OWNER or to one of its return designees (owner profile), not to PARTNER.

"an empty partner" replaces PARTNER when Delivery Address is empty. The refusal is also written in the gate log with the result Refused (party role Supplier): Inventory ‣ Rx Tracking ‣ Gate Log (in the 3PL ‣ Reports section).

When: sending an owner's nonsaleable units.

Cause: a nonsaleable return of owner units goes only to the owner (or one of its addresses) or to a partner in the owner profile's Return Designees. The original supplier and another owner's designees are refused.

Remedy: resolution. Choose one:

  • Change Delivery Address to the owner or one of its designees, then validate again.
  • If the owner names a new designee, an Rx Tracking Manager adds it to Return Designees (Set the owner's policies); the designee must be an authorized trading partner.

Who can fix it: Rx Tracking User or Manager (the partner); Rx Tracking Manager (the designees).

Error: "… a custody return gives units back to …, so it goes to … or one of its addresses …"​

What you see: at Validate:

DSCSA owner isolation (3PL):
- WH/OUT/NNNNN: a custody return gives units back to OWNER, so it goes to OWNER or one of its addresses, not to PARTNER.

When: returning an owner's units in custody.

Cause: Custody Shipment is selected, but Delivery Address is another partner, usually the supplier the return was created for.

Remedy: resolution. Choose one:

  • To give the units back to the owner: set Delivery Address to the owner or one of its addresses.
  • To return them to the supplier as a sale: clear Custody Shipment and choose the owner's Return to vendor instruction.

Who can fix it: Rx Tracking User or Manager.

Error: "Lot …: … serial(s) matched at lot level …, but only … unit(s) … are still out."​

What you see: in the Return dialog of a lot-level delivery:

Nothing was registered. Fix these scans and try again:
Lot LOT: N serial(s) matched at lot level (SERIAL, …), but only N unit(s) of this lot shipped to CUSTOMER without serials are still out.

When: taking back units an owner shipped at lot level.

Cause: with 3PL on, the units shipped to the customer without serials and not returned yet are counted per seller. An owner's return uses only the units that owner shipped; units your company or another owner shipped to the same customer don't count.

Remedy: resolution. Return on the owner's delivery only as many units as it shipped at lot level and hasn't had back. Units your company shipped go on the return of your delivery. The core rules of lot-level returns: Error: "… matched at lot level …".

Who can fix it: Rx Tracking User or Manager.

Held for Owner is missing on a new delivery​

What you see: a transfer made with Inventory ‣ Operations ‣ Deliveries ‣ New has no Held for Owner, Custody Shipment or Owner Instruction field, and reserves only your own units.

When: you try to return an owner's units to its supplier, to the owner or to a designee.

Cause: Known issue PF-A07-02: those fields show on a delivery only once Held for Owner is set, and a new delivery can't set it.

Remedy: workaround. Start the return with Return on the owner's receipt the units came in on (3PL-RET-05). For goods the owner stored with you, create an owner order of kind Custody return to the owner (Send an owner's goods back to it).

Who can fix it: Rx Tracking User or Manager.

Error: "Serial … is held for …, not for …: count it on that owner's line."​

What you see: after Apply in the DSCSA Serials dialog of a count:

The inventory adjustment can't be applied:
PRODUCT, lot LOT at LOCATION:
- Line N: Serial SERIAL is held for OWNER, not for LINE-OWNER: count it on that owner's line.

OWNER or LINE-OWNER reads "our own stock" for your stock.

When: counting an owner's stock or recording units found.

Cause: each line of Physical Inventory is one owner's (or yours), and a count records only that owner's units as missing or found. The scanned unit belongs to another line of the same lot and location. The dialog doesn't show which line it is (PF-W19-02).

Remedy: resolution.

  1. Select Cancel, and select Clear on the line if you want to start over.
  2. Look up the unit's Held for Owner in Inventory ‣ Rx Tracking ‣ Packages.
  3. Count it on that owner's line (or on your own line).

Who can fix it: Rx Tracking User or Manager (units gone); Rx Tracking Manager (units found).

Error: "… count DSCSA stock held for the owner company …" or "… is not an owner of …"​

What you see: after Apply in the DSCSA Serials dialog:

The inventory adjustment can't be applied:
PRODUCT, lot LOT at LOCATION: count DSCSA stock held for the owner company OWNER, not for its contact CONTACT.

The inventory adjustment can't be applied:
PRODUCT, lot LOT at LOCATION: PARTNER is not an owner of COMPANY (no owner profile), so DSCSA stock can't be counted as held for it.

When: recording owner units found in a count on a line whose Held for Owner you chose.

Cause: DSCSA stock can be counted as held only for an owner company: a partner with an owner profile (active or archived). A contact of the owner, a customer or a supplier is refused, so a count can't create stock held for an arbitrary partner.

Remedy: resolution.

  1. Select Cancel, then Clear on the line.
  2. Add the line again with Held for Owner = the owner company, and apply.
  3. If the partner really is a new client, an Rx Tracking Manager creates its owner profile first (Create an owner profile).

Who can fix it: Rx Tracking Manager.

Error: "… can't be scrapped: the serials are held for several owners …"​

What you see: at Validate on a scrap:

PRODUCT can't be scrapped: the serials are held for several owners (OWNER, OWNER). Scrap each owner's units separately.

Your own units are named "our own stock".

When: scrapping an owner's units.

Cause: a scrap takes the units of one owner (or yours) only, so each owner's loss is recorded and notified on its own.

Remedy: resolution. Keep the serials of one owner on this scrap, with that owner's instruction, and make a separate scrap for each other owner (and one without owner or instruction for your own units).

Who can fix it: Rx Tracking User or Manager.

Error: "The serials are held for …, but the scrap is for …"​

What you see: at Validate on a scrap, one or more of these lines:

PRODUCT can't be scrapped:
- The serials are held for OWNER, but the scrap is for OTHER.
- Instruction INSTRUCTION is from OTHER, not from OWNER.
- Instruction INSTRUCTION is an owner's instruction, but the serials are our own stock: remove it.

When: scrapping an owner's units.

Cause: Held for Owner or Owner Instruction names another owner than the units' owner. The Owner Instruction list offers every owner's scrap and destroy instructions (Known issue PF-A07-08), and choosing one fills an empty Held for Owner with its owner. The last line means the scanned units are your own stock.

Remedy: resolution.

  1. Select Close.
  2. Choose one:
    • For owner units: set Held for Owner to the units' owner and choose that owner's Scrap or Destroy instruction.
    • For your own units: clear Owner Instruction and Held for Owner.
  3. Select Validate again.

Who can fix it: Rx Tracking User or Manager.

Error: "… serial(s) scanned, but only … unit(s) … have no package yet" for an owner​

What you see: after Register in the DSCSA Opening Balance dialog with Held for Owner set:

Nothing was registered. Fix these scans and try again:
N serial(s) scanned, but only N unit(s) of PRODUCT, lot LOT at LOCATION have no package yet (N on hand there, N already registered; the
warehouse as a whole is checked too).

When: registering an opening balance for an owner.

Cause: the room counts only the chosen owner's units and packages. Your own units without a package don't count for the owner (and an owner's never count for you). The owner's room is usually 0, because owner receipts and count gains always create packages.

Remedy: resolution. Choose one:

  • Check Held for Owner, the lot and the location: Units Without Package must cover your scans.
  • If the owner's units are on the shelf but not in Odoo held for the owner, record them with a count gain on a line held for the owner (3PL-ADJ-02).
  • If they are recorded as your own stock, only a title transfer changes their owner: see Go live as a 3PL.

The core form of this message: Error: "… have no package yet".

Who can fix it: Rx Tracking Manager.

Error: "… has no active owner profile, so DSCSA stock can't be registered as held for it"​

What you see: after Register, one of:

OWNER has no active owner profile, so DSCSA stock can't be registered as held for it (Rx Tracking > 3PL).
Register the opening balance for the owner company OWNER, not for its contact CONTACT.
Third-party logistics is off for COMPANY: an opening balance can't be held for an owner.

When: registering an opening balance for an owner, mostly through imports and API calls: the dialog's Held for Owner offers only owner companies with an active profile, and is hidden while 3PL is off.

Cause: the owner's profile was archived after the dialog was opened, a contact was given instead of the company, or 3PL was switched off.

Remedy: resolution. Re-activate the owner's profile (Change, end or re-open an owner relationship), use the owner company, or switch 3PL on; then open the dialog again.

Who can fix it: Rx Tracking Manager.

Error: "The owner instruction of a done scrap is part of its record and can't be changed."​

What you see: "The owner instruction of a done scrap is part of its record and can't be changed." or "The owner of a done DSCSA scrap can't be changed: its units were scrapped from that owner's stock."

When: only through imports and API calls: on a done scrap, Held for Owner and Owner Instruction are read-only in the form.

Cause: a done scrap keeps the owner its units were scrapped from and the instruction that directed it.

Remedy: none needed: the record stays as it was when the scrap was done.

Who can fix it: nobody (by design).