Owner notices and holds
3PL add-on For: Compliance manager, Warehouse staff Checked on 18.0.0.2.0, 18.0.1.0.0
Which operations send a 3PL owner a notice and what it says, what an owner hold blocks, how owner holds and lot-wide holds combine, and when a release needs the owner's instruction. Notices are listed in Inventory ‣ Rx Tracking ‣ Owner Notices (in the 3PL ‣ Operations section) and owner holds in Inventory ‣ Rx Tracking ‣ Owner Holds (in the 3PL ‣ Operations section).
Which operations notify an owner, and what each notice says
Every notice is written by the operation it reports, for one owner, and names only that owner's units. Nobody creates, changes or deletes a notice (Find and read the notices sent to an owner).
| Notice | Sent when | Related Record | The text starts with |
|---|---|---|---|
| Hold | a lot with the owner's units in your custody is quarantined (by a manager, or by a receiving discrepancy with the hold scope Whole lot) | the lot | "Lot LOT (PRODUCT) was put on hold at COMPANY on DATE." |
| Hold | a further reason is added to a lot already on hold | the lot | "A further reason was added to the hold of lot LOT (PRODUCT) at COMPANY." |
| Hold | the owner's units are received into a lot that is on hold | the receipt | "N of your units arrived on RECEIPT in lot(s) that are on hold at COMPANY: they are held from arrival." |
| Hold | an owner hold is placed on the owner's units (hold scope Per owner for documentation holds) | the owner hold | "Your units of lot LOT (PRODUCT) were put on hold at COMPANY on DATE (receipt RECEIPT)." |
| Hold | an owner hold is extended, or more of the owner's units arrive into a lot and owner on hold | the owner hold | "A further reason was added to the hold of your units of lot …" / "N of your units arrived in lot LOT (PRODUCT), which is on hold for your units at COMPANY: they are held from arrival." |
| Suspect product | with the Suspect Product add-on, an investigation quarantines the lot | the lot | as a lot hold |
| Release | a lot is released (by a manager with the owner's instruction, or automatically when the missing documentation is recorded) | the lot | "Lot LOT (PRODUCT) was released from hold at COMPANY on DATE." |
| Release | an owner hold is released | the owner hold | "The hold of your units of lot LOT (PRODUCT) at COMPANY (receipt RECEIPT) was released on DATE." |
| Recall | a recall of the owner's lots (Recall an owner's lots on its recall instruction); the consignee list is attached | the owner's instruction (or the lot) | "Recall of lot(s) LOTS at COMPANY." |
| Recall | a recall of another owner's lots holds a lot with this owner's units (its hold notice) | the lot | as a lot hold, quoting the recall's Hold Reason |
| Loss | a count records the owner's units as gone, or a scrap destroys them | the inventory move, or the scrap | see Count an owner's stock and record the units that are gone |
| Return verified | the owner's returned units are verified for resale | the return transfer | see Verify an owner's returned units for resale |
| Exception | never: no operation sends it (known issue PF-A07-04) |
Lines that the notices add after their first line:
| Line | In |
|---|---|
| "Reason: REASON" | every hold and release notice |
| "N of your units of this lot in our custody are held: they will not be shipped, returned to a supplier or change title until the hold is released." | hold notices (an owner hold's adds "Other owners' units of this lot are not affected.") |
| "To release your units we need your written release instruction for lot LOT (your order or approval reference)." | lot hold notices, when the owner's profile says Required |
| "This hold is released automatically once the missing documentation is recorded: …" | owner hold notices of a Documentation hold |
| the release-instruction sentence above, or, when the owner's profile says Optional, "A DSCSA manager releases this hold once the mismatch is resolved." | owner hold notices of a Transaction information mismatch hold |
| "Released on your instruction REFERENCE." | a release with the owner's instruction |
| "The hold was released automatically: the documentation discrepancy that caused it was resolved." | an automatic release |
| "N of your units of this lot are available again." / "N of your units of this lot stay on hold under another hold: SERIALS." | release notices |
| "Your instruction: REFERENCE." / "The lots are on hold: N of your units in our custody will not ship." / "The lots were not put on hold by this recall." / "Your units of these lots were shipped through us to N customer(s): CUSTOMERS. …" / "None of your units of these lots were shipped through us." | the recalling owner's recall notice |
The return-verified notice starts "Saleable return verified for OWNER (FD&C Act §582(c)(4)(D)): …". That statute reference is the product's own text; this documentation adds nothing to it (known issue PF-A07-07).
The email
| Item | Value |
|---|---|
| Template | DSCSA 3PL: Owner Notice (an administrator can adapt it in Odoo's email templates, in developer mode) |
| Subject | "COMPANY: TITLE", for example "Demo Rx Distribution LLC: Hold notice to Northwind Generics LLC (lot BPDPZ2508K)" |
| Body | "Dear OWNER,", the notice text, Lots (each lot with its product and expiry), Your units (N) (the serials), "This notice is kept in our DSCSA records." |
| From | your company |
| To | the owner profile's Notice Contacts that have an email address; if none, the owner company when it has an email address; if neither, nobody: the notice is recorded unsent (Send a notice that could not be emailed) |
| Files | a recall's consignee list (CSV) |
| When | queued when the notice is created, and sent by Odoo's outgoing mail job; the notice's chatter shows the email at once |
Not notified: your own stock (a lot that holds only your units sends no notice), owners whose units of the lot are all shipped or missing, products that aren't DSCSA products, and anything while 3PL is off.
What an owner hold blocks, how holds combine, and when a release needs the owner's instruction
Owner hold or lot-wide hold
| Lot-wide hold (quarantine) | Owner hold | |
|---|---|---|
| Placed by | a manager's Quarantine; a receiving discrepancy (hold scope Whole lot); a recall; a suspect-product investigation | an owner receipt with a missing statement, missing supplier data or a transaction-information mismatch, with the hold scope Per owner for documentation holds |
| Holds | every unit of the lot in your custody: yours and every owner's | only that owner's units of the lot |
| Where you see it | the lot is Quarantined (Hold and release lots that hold owner units) | Owner Holds (3PL ‣ Operations); the lot's Owner Holds smart button (Follow and release owner holds) |
| Owners told | each owner with units in custody | that owner |
| Released by | a manager, with each owner's release instruction; or automatically when the missing documentation is recorded | automatically when the missing documentation is recorded (Documentation kind); a manager with Release Owner Hold and the owner's instruction (either kind) |
A duplicate serial or a wrong product on an owner receipt, a manager's quarantine, a recall, an investigation and every hold raised on your own receipts always hold the whole lot, whatever the hold scope.
What an active owner hold blocks
For that owner's units of the lot only:
- Reservation: they aren't reserved; the owner's orders reserve other lots.
- Scanning onto a delivery: refused, with "Serial SERIAL can't be used here: it is Quarantined." (for example in Scan Serials on the owner's delivery: "Nothing was registered. Fix these scans and try again: Line 1: Serial 600000022001 can't be used here: it is Quarantined.").
- Leaving your custody: validating a line that sends them to a customer, a supplier, a transit location or another company is refused with "These owners' units are on an owner hold and can't be shipped or sent to transit or another company until the hold is released: PRODUCT, lot LOT of OWNER (REASON)" (Error: "These owners' units are on an owner hold …").
- Arrivals: more of the owner's units received into the lot are held on arrival, and the owner is told.
Still allowed: internal moves (for example to a quarantine shelf), scrapping on the owner's instruction, and a nonsaleable return to the supplier. Your own units and the other owners' units of the lot are not affected.
A unit stays on hold while any hold applies
- Lot released, owner hold still active: every unit is freed except those under the owner hold, which stay Quarantined. The lot's chatter says "N package(s) stay on hold under owner holds: OWNER." and that owner's release notice says "N of your units of this lot stay on hold under another hold: SERIALS."
- Owner hold released, lot still quarantined: the release is recorded and the owner is told, but its units stay Quarantined until the lot is released ("N unit(s) stay on hold under another hold." in the hold's chatter).
When a release needs the owner's instruction
| Case | Instruction needed? |
|---|---|
| Putting a lot or units on hold (any hold, any path) | never |
| A manager releases a lot that holds owner units (Release, or any import or API write) | yes, for each owner with units of the lot in your custody whose profile says Required, also an owner whose units stay under its own owner hold |
| A manager releases an owner hold (Release Owner Hold) | yes, from that owner, when its profile says Required |
| Automatic release when the missing statement, supplier data or owner's confirmation is recorded | no: the recording is the evidence |
| The owner's profile says Optional | no; the owner is still told |
| The owner's profile is archived | always required, and it can't be recorded (known issue PF-A07-01) |
| A lot that holds only your own units, or 3PL off | no |
| Owners whose units of the lot are all shipped or missing | no |
Which instruction counts: kind Release from hold, from the same owner and company, not used yet, and either recorded for this lot or picked in the release window. One instruction releases a lot once: a lot held again needs a new one. All instruction kinds per operation: Which owner instruction each operation needs.