Skip to main content

Scrap DSCSA units

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

Take destroyed, damaged, expired or rejected units out of stock for good, and record which units they were. For a DSCSA product you scan the serial of each unit you scrap, so the package ledger marks exactly those units Destroyed.

Scrap DSCSA units, naming each unit's serial​

Scrap units of a DSCSA product with Odoo's scrap form, which asks for the DataMatrix of each unit in its DSCSA Serials block. Background: the modules track every unit by its own serial number in a package ledger, so the ledger has to learn which units left stock.

Your procedure decides who may destroy product, how it is destroyed and what evidence is kept outside Odoo; the software requires the Rx Tracking User right and one serial per unit.

Note

The Barcode app (Odoo Enterprise) can't scrap DSCSA units: use this form. See Scrap DSCSA units when you work in the Barcode app. For units that a 3PL keeps for an owner, see Scrap an owner's units on its scrap or destroy instruction.

Who: Rx Tracking User or Manager

Requires: Rx Tracking (DSCSA). Works in Odoo Community and Enterprise.

Before you start:

  • The units are in the package ledger with the state In Stock, Returned or Quarantined (a quarantined lot can be scrapped), and aren't scanned on another open transfer. Units counted as missing can't be scrapped until they are recorded as found. See Record units found in a count.
  • You know the location the units are in, in the same warehouse as the scrap's Source Location (for example WH/Stock or WH/Stock/Quarantine).
  • The scanner is set up. See Set up a handheld scanner for Scan Serials.
  1. Go to Inventory ‣ Operations ‣ Scrap and select New.

  2. In Product, choose the product, for example Samplostatin.

    Result: the DSCSA Serials block appears under the fields, with the hint "Scan the DataMatrix of each unit being scrapped, one per line."

  3. If the units aren't in WH/Stock, change Source Location to where they are, for example WH/Stock/Quarantine.

  4. In DSCSA Serials, scan the DataMatrix of each unit you scrap, one per line. You can also paste the lines.

    Result: Quantity equals the number of serials, and Lot/Serial shows the lot of the scanned units when they all belong to one lot.

    Screenshot of a new scrap of Samplostatin: Quantity 2.00, lot BPSMS2508B and two DataMatrix lines. The DSCSA Serials box is outlined.

  5. Optional: in Scrap Reason, choose one or more reasons.

  6. Select Validate.

    Result: the scrap gets its number (SP/00001) and is Done. The DSCSA Serials block lists each unit with its Serial Number, Lot, Expiration Date and the State Destroyed, and the scans can no longer be changed.

    Screenshot of the done scrap SP/00001 of Samplostatin: two serials of lot BPSMS2508B with the state Destroyed.

Result: the units are out of stock and recorded as destroyed. Records: the scrap SP/NNNNN (Done) with its scans; one package per unit, now Destroyed; the stock move from the Source Location to Virtual Locations/Scrap (the Product Moves smart button).

The DSCSA Serials box accepts the same lines as Scan Serials on a transfer: a raw scan, the <GS> stand-in for the group separator, or the (01)…(21)…(17)…(10)… form. Scrap each lot on its own scrap: the form needs one Lot/Serial.

Products that aren't DSCSA products show no DSCSA Serials block and are scrapped as in standard Odoo.

If it doesn't work

Validating checks every line at once and lists every problem in one message, "PRODUCT can't be scrapped:", one line per problem. Nothing is scrapped: select Close, correct the lines or the quantity, and select Validate again. The scrap stays a draft named "New" until Validate succeeds.

Screenshot of the Invalid Operation dialog: Samplostatin can&#39;t be scrapped, one serial is in another lot and one isn&#39;t in the ledger.

From an open transfer​

You can also scrap units while a transfer is open, for example units found damaged while picking a delivery. The units still have to be in stock; scrapping doesn't change what the transfer asks for.

  1. Open the transfer, for example the delivery WH/OUT/00012.

  2. Select the ⚙ (Actions) menu, then Scrap.

    Result: the Scrap Products dialog opens.

  3. Choose the Product, check Source Location, and scan each unit into DSCSA Serials, as in steps 2–4 above.

  4. Select Scrap Products.

    Result: the dialog closes and the units are Destroyed, as above.

Known issue

Known issue (PF-W09-01): on a transfer that is already Done (for example a receipt), Scrap Products is refused for a DSCSA product with "PRODUCT can't be added to WH/IN/NNNNN: it is done, and DSCSA units must go through the checks of a validation (serials, trading partner, quarantine, documents). Put the extra units on a new transfer instead." Select Close and Discard, then scrap the units from Inventory ‣ Operations ‣ Scrap (steps 1–6 above). See Error: "… can't be added to …: it is done" when scrapping from a transfer.

Other ways units leave stock as destroyed​