Skip to main content

Quarantine and holds

Core module 3PL add-on Odoo Enterprise: Quality app For: Administrator, Compliance manager, Warehouse staff Checked on 18.0.0.2.0, 18.0.1.0.0

A hold stops DSCSA units from being reserved or shipped while something about them is unresolved: a suspicion, a receiving discrepancy, a missing statement, a returned unit nobody has checked yet. Some holds are placed by a manager, others by the software itself; this page explains how they fit together and who can lift each one.

What a hold is​

Rx Tracking holds stock by lot. A lot of a DSCSA product has a Quarantine status on its form: Not Quarantined, Quarantined or Released. While a lot is Quarantined, its packages that were In Stock or Returned are Quarantined too, and:

  • the lot is never reserved for an order, and the reservations it had move to other lots;
  • validating a delivery, a return to the supplier, or a move to a transit location or another company refuses the lot (a non-saleable return to the supplier is the exception);
  • scanning one of its units onto a delivery is refused ("… can't be used here: it is Quarantined.");
  • receipts into the lot, internal moves (for example to a quarantine shelf) and scrapping stay possible.

The units stay in stock and in Odoo's on-hand quantities. The lot keeps the reason, who placed the hold and when, and the same for the release; Inventory ‣ Rx Tracking ‣ Quarantined Lots lists the lots on hold now. See Quarantine a lot so it can't be reserved or shipped and Review the lots on hold, and why they are held.

A released lot can be reserved and shipped again, and each package gets back the state it had before the hold. Nothing is reserved at the moment of release: open deliveries pick the lot up at their next availability check.

The kinds of hold​

HoldPlaced byWhat it holdsLifted by
A manager's quarantinean Rx Tracking Manager's Quarantine on the lot, with a reasonthe whole lota Manager's Release, with a reason (EXC-02)
A receiving discrepancy (missing, extra, duplicate serial, wrong product, lot or expiry)the software, when the receipt becomes Donethe lots of the receipt the discrepancy names; a duplicate serial holds both lotsresolving the discrepancy (User or Manager) never releases the lot; a Manager releases it once nothing else holds it (DISC-08)
A missing Transaction Statementthe software, when a receipt whose supplier file has no affirmed statement becomes Doneevery DSCSA lot of the receiptrecording the statement releases the lots automatically, unless another hold remains (DISC-07)
Returns to Verify (not a lot hold)the software, when a customer return becomes Doneeach returned unit (package Returned) until a decisiona Manager verifies the unit for resale or rejects and destroys it (RET-02)

The lot form's Held Outside Discrepancies says whether the lot also has a hold that didn't come from a receiving discrepancy, such as a manager's own quarantine. That is why recording a missing statement can leave a lot Quarantined: the other hold still applies, and each Rx Tracking Manager gets a Lot still quarantined activity to review it.

With the Suspect Product add-on (Odoo Enterprise)​

Every lot that enters quarantine, by a manager or by the software, opens a Suspect product investigation for it (unless it already has an open one, or the setting is cleared). An investigation can also quarantine and release its lot itself (Quarantine Lot, Release Lot); these use the same lot status and the same reason. See Follow the investigation a lot quarantine opens automatically. Without Enterprise, the lot's quarantine is the hold and its chatter the running record: see Suspect product without Odoo Enterprise.

With the 3PL add-on​

A lot can hold your units and several owners' units at once. Two more rules apply:

An owner's goods that arrive before their supplier data are held under a Supplier Data Pending discrepancy until the data or the owner's confirmation is recorded (Receive an owner's goods before their data). A recall holds the owner's lots on its recall instruction (Recall an owner's lots on its recall instruction).

How holds combine​

A unit is free only when no hold applies to it:

  • One lot has one Quarantine status, whatever placed it. Lifting one cause (resolving a discrepancy, recording a statement) doesn't release a lot that another cause still holds.
  • With 3PL, a lot released while an owner hold is still active frees every unit except that owner's; an owner hold released while the lot is still quarantined leaves the owner's units Quarantined until the lot is released too.

The complete rules, including which releases need an owner's instruction, are in What an owner hold blocks, how holds combine, and when a release needs the owner's instruction.

Who can release what​

Placing a hold never needs anyone's approval. Releasing one does:

To releaseWhoAlso needed
A lot (any lot hold)Rx Tracking Managera reason; with 3PL, each owner's Release from hold instruction when its profile says Required
A lot held only for a missing Transaction Statementnobody: it is released when the statement is recorded (Rx Tracking User or Manager)the statement's source and evidence
A returned unitRx Tracking Manager (verify for resale, or reject and destroy)—
An owner holdautomatic when the documentation is recorded, or Rx Tracking Managerthe owner's instruction when its profile says Required
A lot from its investigation (Enterprise)Rx Tracking Manager (Release Lot)a reason

Why it exists​

Background: Odoo can move suspect product to a shelf, but nothing stops it from being reserved, so the modules add a lot quarantine that blocks reservation. The modules follow the reading that product with a receiving discrepancy isn't sold on until the discrepancy is resolved (FD&C Act § 582(c)(1)(A)(i), § 582(g)(1); FDA interoperable exchange guidance (September 2023); see Compliance background), that suspect product is quarantined while it is investigated and released if it is cleared (FD&C Act § 582(c)(4); FDA suspect-product guidance (June 2021); Form FDA 3911; see Compliance background), and that returned product is verified before it is resold (FD&C Act § 582(c)(1)(B), § 582(c)(4)(D); see Compliance background). For owner stock, every hold that touches owner units notifies each affected owner, and the reach of a hold is left to the business (FD&C Act § 582(c)(4); FDA suspect-product guidance (June 2021); Form FDA 3911; see Compliance background).

Your procedure decides when a lot is quarantined, who investigates it, and who may release it on what evidence; the software requires the Rx Tracking Manager right and a reason for every manual hold and release.

Where to go next​