Skip to main content

Release notes and known issues

Each module's changes are recorded in the Changelog section of its README.rst. This page links to them and lists the known issues that affect users of this release: what you see, who is affected and what to do meanwhile.

  • ChangelogWhat changed in each module, version by version.
  • Upgrade guideHow to move a database to a newer version of the modules.
  • VersionsThe documented Odoo series and module versions.

Abbreviations on this page: EPCIS (Electronic Product Code Information Services), GLN (Global Location Number), GTIN (Global Trade Item Number), NDC (National Drug Code), SSCC (Serial Shipping Container Code) and T3 (Transaction Report).

Module versions​

The version is the one Odoo shows on the module's card in Apps (and in Module Info, in the card's ⋮ menu). The Changelog is the last section of each module's README, which Odoo also shows in Module Info.

Module (name in Apps)VersionChangelog
Rx Tracking (DSCSA)18.0.0.2.0Changelog
Rx Tracking (DSCSA) - Barcode18.0.1.0.0Changelog
Rx Tracking (DSCSA) - Suspect Product Investigations18.0.1.0.0Changelog
Rx Tracking (DSCSA): 3PL and title model18.0.1.0.0Changelog
Rx Tracking (DSCSA): 3PL Barcode bridge18.0.1.0.0Changelog
Rx Tracking (DSCSA): 3PL Quality bridge18.0.1.0.0Changelog

Which modules you need for your edition: Which modules to install for your edition. How to update: Update the modules to a new version.

Known issues​

These are the known issues that the procedures of this manual mark with a Known issue note, collected by guide and, in the core and 3PL guides, by area. Each entry gives the issue (its ID in brackets, the same ID as on the procedure's note), what you see and what to do until it is fixed, and ends with a link to the procedure where you meet it. An issue that affects several guides is listed in each of them. None of them stops a documented procedure: each page documents the working path. An error message with no known issue behind it is in Troubleshooting.

Getting started​

  • A sale to another company of the same database ships DSCSA units through inter-company transit with no partner check, no serial count and no DSCSA document (PF-W04-01). A sale from one of your companies to another company of the same database ships through Odoo's inter-company transit location with no trading-partner check, no serial count and no DSCSA document, unless the first part of Move DSCSA stock between two of our companies was done. Do it before the companies trade DSCSA products with each other. See Configure Rx Tracking in the first 30 minutes.
  • A lot created while entering go-live stock gets today's date as its expiry, so the opening balance and the count refuse every scan (PF-W29-01). When the product has Expiration Date selected on its Inventory tab, Odoo gives a lot created while you enter the quantities today's date as its expiry. The opening balance then refuses every scan with "Line N: Serial …: the scan says expiry … but lot … expires …", the second date being today, and a count refuses them the same way. Correct each lot's expiration date on the lot form before you scan. See Go live with stock and records you already have.
  • Go-live stock that isn't in Odoo yet has no opening-balance path (PF-A04-02). The opening balance never creates stock. If a product was made a DSCSA product before its quantities were entered, Units Without Package stays 0 (or the lot doesn't exist yet) and every scan is refused. Enter those units with a count instead: on the Physical Inventory line, Apply asks for each unit's serial and registers the packages with Origin Found in Inventory Count, not Opening Balance. Check the lot's expiration date first. See Record units found in a count. Noted on Go live with stock and records you already have.
  • The Sales app menu is missing after installing the modules (PF-T02-01). The core module installs Odoo's sales engine but not the Sales app, so unless you install it there is no Sales app on the home screen and sales staff can't create quotations. Install Sales at any time, before or after the core module. See Install Rx Tracking (DSCSA).
  • On Odoo Community, activating the Suspect Product add-on fails without a message and leaves it (and the 3PL Quality bridge) waiting to install (PF-W01-01). On Odoo Community, activating Rx Tracking (DSCSA) - Suspect Product Investigations fails without a message and leaves the module waiting to be installed; if the 3PL add-on is installed or installed later, Rx Tracking (DSCSA): 3PL Quality bridge waits too. Nothing breaks, but both cards show Cancel Install. On each of these cards, select Cancel Install: the card shows Activate again. See Install the Enterprise add-ons, and what installs automatically.
  • Every update of the core gives the administrator and OdooBot the Rx Tracking Manager right again (PF-W01-03). Every update gives the administrator (and Odoo's internal OdooBot user) the Rx Tracking Manager right again, even if you removed it. If your procedure keeps the administrator out of DSCSA work, remove the right again after each update: Give staff the right Rx Tracking access. See Update the modules to a new version.
  • Uninstalling a module deletes all its DSCSA records and their stored files, with no guard beyond Odoo's generic dialog (PF-A12-01). No Rx Tracking module refuses to be uninstalled, even while it holds DSCSA documents that the software otherwise never lets anyone delete. Keep uninstall rights (Administration: Settings) to the people your procedure names, and always make the backup first. See Uninstall a module, and what is deleted with it.
  • The Uninstall dialog hides the modules that go with the core and doesn't list the package ledger among the records it deletes (PF-W01-02). The dialog lists only some kinds of records under Documents to Delete. The package ledger (every serial and its history), document lines and the other DSCSA records are deleted too, although they aren't listed. The procedure's table, not the dialog, lists what goes. See Uninstall a module, and what is deleted with it.
  • Uninstalling the 3PL add-on makes owners' mode-A documents visible to their buyers on the customer portal (PF-A12-02). After the 3PL add-on is uninstalled, owners' documents that were issued to the owner only become visible to the buyer they name, on that buyer's customer portal. Before uninstalling the 3PL add-on, remove the portal access of those buyers' contacts, or don't uninstall it. See Uninstall a module, and what is deleted with it.
  • An on-demand retention export made in the US evening is named and dated for the next day (PF-W29-02). It uses the server's date (UTC), not yours: after 5 p.m. Pacific time (4 p.m. in winter) the export's name, period and file names carry the next day's date. Nothing is missing from it. See Prove the whole chain once after go-live.
  • Importing licenses from a spreadsheet accepts a state license without a Jurisdiction (PF-A01-04). The import accepts a state license without a Jurisdiction, which the license form requires, and the license authorizes the partner once verified. Fill in Jurisdiction on every state license, and check the list after the import. See Load products, trading partners and licenses from a spreadsheet.
  • Importing products from a spreadsheet accepts a DSCSA product without expiration dates (PF-A01-05). The import accepts a DSCSA product whose Use Expiration Date is False or missing, although the product form selects Expiration Date for every DSCSA product. Keep the column at True, and check the products after the import. See Load products, trading partners and licenses from a spreadsheet.
  • The expiry-mismatch refusal gives the lot's expiry as its UTC date, a day later than the lot form shows in a US evening (PF-V02b-01). When the opening balance or a count refuses a scan because the expiry differs from the lot's, the message gives the lot's date in UTC: in a US evening it names tomorrow's date, while the lot's Dates tab shows today's. Compare the dates with that in mind. See Go live with stock and records you already have.
  • On Odoo Community, activating the 3PL Quality bridge installs the 3PL add-on without a word, then leaves the Suspect Product add-on and the bridge waiting to install (PF-V02a-01). On Odoo Community, activating Rx Tracking (DSCSA): 3PL Quality bridge shows no message, installs Rx Tracking (DSCSA): 3PL and title model, and leaves the Suspect Product add-on and the bridge waiting to be installed. Select Cancel Install on each card that shows it. The 3PL add-on's checks apply only once 3PL is turned on for a company; to remove the add-on, uninstall it. See Install the Enterprise add-ons, and what installs automatically, Uninstall a module, and what is deleted with it.

Core guide​

Configure​

Master data​

  • A state license's Jurisdiction is required only by the form (PF-A01-04). Jurisdiction is required only on the form. A state license imported or created through the API without a jurisdiction is accepted, can be verified and then authorizes the partner. After an import, filter the licenses by Type and check that every state license has a Jurisdiction before you verify it. See Record and verify a trading partner's license.
  • A DSCSA product without an NDC ships without an outbound EPCIS file, with no warning beforehand (PF-A01-02). A DSCSA product without an NDC saves without any warning, but its deliveries post their DSCSA document without an EPCIS file (the document is listed under the EPCIS Missing filter), and the file can't be added later. The same happens for a GTIN entered by hand without a GS1 Company Prefix Length. Always enter the NDC, or the GTIN and its prefix length, before you sell the product. See Set up a DSCSA product.
  • Expiration dates are not enforced on DSCSA products created by import or RPC (PF-A01-05). The form turns on Expiration Date when you select DSCSA Product, but a product created by import or through the API with DSCSA Product set keeps Expiration Date off. After an import, check the Inventory tab of each imported DSCSA product and select Expiration Date. See Set up a DSCSA product.
  • The NDC and GTIN of a DSCSA product can be changed by any product editor, even once the product is in the DSCSA record (PF-W03-03). A user with a product right (for example Inventory Administrator) but no Rx Tracking right can still change the NDC and GTIN of a DSCSA product, even one that already has packages in the ledger and posted documents; only the DSCSA Product flag is protected. Each change is logged in the product's chatter. Your procedure decides who may edit DSCSA product identifiers; limit product rights accordingly. See Set up a DSCSA product.
  • An Rx Tracking Manager can't set up a DSCSA product without an Odoo right to edit products (PF-W03-01). Rx Tracking Manager alone doesn't let you edit products: the product list has no New button and the form is read-only. Give the users who set up DSCSA products a product right as well (the Who line). See Set up a DSCSA product.
  • An Rx Tracking User can't set a partner's DSCSA role or small-dispenser flag without an Odoo right to edit contacts (PF-W03-02). Rx Tracking User doesn't include the right to edit contacts, so a warehouse user with only Rx Tracking User and Inventory User sees the partner form read-only and can't set a role or the small-dispenser flag. Give the users who onboard partners Contact Creation (shown on the user form in developer mode) or an administrator right in Sales, Purchase or Inventory. See Onboard a trading partner: DSCSA role, GLN and address.
  • Sales and purchasing staff can't see why a partner is not authorized before the gate refuses (PF-A01-09). Sales and purchasing staff without an Rx Tracking right don't see the DSCSA tab or these filters. They learn that a partner isn't authorized only when confirming an order is refused, and then need an Rx Tracking user to look up why. See Error: "… not an authorized trading partner" when you have no Rx Tracking right. Noted on Check whether a partner is an authorized trading partner, and why not.
  • The "GLN missing" activity never closes by itself (PF-A03-06). The GLN missing activity doesn't close by itself when the GLN is added. Mark it done by hand. See Fix a missing GLN before shipping.
  • A state license of any jurisdiction, even outside the US, authorizes a partner; the Jurisdiction field offers "Baja California (MX)" first for "California" (PF-W29-03). The license's Jurisdiction isn't compared with the partner's (or the ship-to) state, and typing a state's name can offer another country's state first, for example Baja California (MX) for California. Choose the entry with (US). Your procedure decides which state's license you accept. See Record and verify a trading partner's license.
  • After the NDC or GTIN of a DSCSA product that has packages is changed, its units in stock can no longer be scanned (PF-V02c-01). Once a DSCSA product has units in the package ledger, changing its NDC or GTIN is saved without a warning, but its units in stock can then no longer be scanned onto any transfer: their labels carry the old GTIN. Scans say "… is not in the package ledger …", "no DSCSA product has GTIN …" or "Serial … belongs to …". Don't change the identifiers of a product that has been received; if it happened, set them back. See Set up a DSCSA product, Error: "Serial … belongs to …".

Receive​

  • Receiving discrepancies send no reminder before or at the 10-business-day deadline (PF-A02-07). Nothing reminds anyone of a discrepancy before or at its Resolve By date: no activity, no email. Overdue discrepancies only turn red. Check the Overdue filter as part of your daily routine. See Work a receiving discrepancy to resolution.
  • A supplier file whose every unit is already in the ledger can't be received: no Duplicate Serial discrepancy, no lot on hold (PF-W06-03). When every unit of a file is a duplicate, the receipt can't be done: the scans are refused, and with a zero quantity Odoo refuses "You cannot validate a transfer if no quantities are reserved …". No Duplicate Serial discrepancy is recorded and no lot is quarantined. The file's Duplicates tab is the record. An Rx Tracking Manager quarantines the lot of the units already in the ledger (Quarantine a lot); then cancel the receipt (DISC-04) so the file stays on record as Cancelled. See Handle a duplicate serial at receipt.
  • Inbound UI texts that don't match the screens (PF-A02-05). The unknown-GTIN message says to set the GTIN on the product's "Rx Tracking tab". The tab is called DSCSA on the product form. See Import the supplier's EPCIS file on the receipt.
  • Typing the Quantity of a scanned DSCSA receipt line leaves a line without a lot (PF-W05-02). If you type the Quantity of a scanned DSCSA line on the Operations tab and then type it back, Validate is refused with Odoo's "You need to supply a Lot/Serial number for products …", and registering the same scans again doesn't repair it. Remove one scan with the ✖ (Remove this scan) icon, scan that unit again, then validate. Let the scans set the Quantity. See Validate a DSCSA receipt.
  • An own receipt has no way to record the supplier's data when it has no EPCIS file, or when the file arrives late (PF-A02-01). An own receipt has no way to record the supplier's transaction data when there is no EPCIS file: a late file can't be imported once the receipt is Done, and there is no place for a T3 or packing-slip PDF as a DSCSA record (a PDF attached in the chatter is an ordinary attachment). Keep the supplier's documents as your procedure requires until this is resolved. With 3PL, owner receipts do have these paths. See Receive without a supplier EPCIS file.
  • Scan Serials doesn't accept # or Alt029 as the GS separator, but the Barcode app does (PF-A02-06). The Scan DSCSA Serials dialog refuses # and Alt029 as the separator, although Odoo Enterprise's Barcode app accepts them. A scanner set up for the Barcode app with # must be changed to ASCII 29 or <GS> for this dialog. See Set up a handheld scanner for Scan Serials.
  • The inbound DSCSA document has no Supplier File or Discrepancies smart button: a duplicate view XML ID drops them (PF-W06-01). The inbound document shows no Supplier File and no Discrepancies smart button, although the software defines them. To go from the document to its supplier file, select the receipt in Transfer, then the receipt's EPCIS Files smart button. Its discrepancies are on the receipt's Discrepancies smart button. See Review supplier EPCIS files and the inbound DSCSA document.
  • A supplier file without expiry dates gives the new lot today's date as its expiry (PF-T03b-01). A file without expiry dates warns "N shipped package(s) have no expiry date: …", and a lot it creates gets today's date as its Expiration Date, not an empty one. A corrected file doesn't change it. Before you sell from that lot, correct the lot's expiry date: see Correct a lot's number or expiry. See Read the warnings of an imported supplier EPCIS file.
  • After a refused Record, an evidence file attached in the same Record Transaction Statement dialog is refused (PF-W06-02). After Record is refused once in the dialog (for example because the checkbox was not selected), a file you then attach is refused with "Upload the evidence files in the Record Transaction Statement window; files that belong to other records can't be used (FILE)." Select Cancel, open the dialog again, attach the file first, fill in the rest and select Record. See Record the supplier's Transaction Statement before validating.
  • "Mark Resolved" on a Transaction Statement Missing discrepancy closes it without recording the statement, and the recording is then refused (PF-A02-03). Mark Resolved sits next to Record Transaction Statement on the discrepancy. With a Resolution Note, it resolves the discrepancy without recording the statement: the lot stays quarantined, the red banner and every Record Transaction Statement button disappear, and the list's Actions ‣ Record Transaction Statement ends with "Choose the discrepancies or the supplier file to record the Transaction Statement for." Use Record Transaction Statement. If it happened, ask an Rx Tracking Manager to select Reopen on the discrepancy, then record the statement. See Record a missing Transaction Statement after validation and release the lots.
  • A Purchase user without an Inventory right can't cancel a confirmed purchase order (PF-W20-05). A Purchase User without an Inventory or Rx Tracking right can't cancel a confirmed purchase order, even one without DSCSA products: Cancel shows an Access Error, "You are not allowed to access 'DSCSA Package' (dscsa.package) records.", and the order stays a Purchase Order. Ask someone with Inventory User (or an Rx Tracking right) to select Cancel on the order. See Confirm a purchase of DSCSA product from an authorized supplier.
  • Import EPCIS stays on a purchase order whose receipts are all done (PF-F03-01). A user with both a Purchase right and an Rx Tracking right sees Import EPCIS on a purchase order even after all its receipts are Done; selecting it then only shows "… has no open receipt to import a supplier EPCIS file on.". Import the file on an open receipt instead. See Import the supplier's EPCIS file on the receipt.

Ship​

  • Order shipped to another company: the ordering customer can't see the DSCSA document in its portal (PF-A03-03). The Trading Partner is the company of the delivery address. For an order shipped to another company, the document names that company as the buyer, not the customer who ordered, and the ordering customer doesn't see the document in its customer portal. Send it the T3 report yourself if it needs it (OUT-09). See Open the DSCSA document a delivery posted, Confirm a sales order for DSCSA products.
  • Print ‣ T3 Report on an inbound document gives a misleading error (PF-A03-04). On a supplier's (Inbound (received)) document, ⚙ (Actions) ‣ T3 Report (DSCSA) shows "The T3 report of DSCSA document … was frozen when it was posted and is never generated again. Download the stored file from the document; if it is missing, run Verify Integrity." An inbound document has no T3 report of ours: the supplier's files are on its Files tab. See Error: "The T3 report of DSCSA document … was frozen when it was posted …". Noted on Find, view, download and print DSCSA documents.
  • Pre-shipment warning covers only GLNs; other EPCIS blockers are found only after posting (PF-A03-01). Only a missing GLN is announced before the delivery is Done (the yellow banner on the delivery and the GLN missing activity). A missing address field, NDC or GS1 prefix length shows up only on the posted document. Complete the customers' addresses and the products' codes before their first delivery. See Handle a document posted without an EPCIS file. Also noted on Set the company's address, GLN and GS1 prefix length.
  • No Share action on DSCSA documents (PF-A03-05). DSCSA documents have no Share action (sales orders have one). Sending a message from the document's chatter is the only way to create the link. Customers with a portal account find all their documents in the portal: see Your DSCSA documents in the customer portal. See Send one document's link to a customer.
  • A customer that isn't an authorized trading partner selects Accept & Sign in the portal: nothing is shown, the button spins for ever (PF-W07-01). When a customer that isn't an authorized trading partner selects Accept & Sign on a quotation without online payment, the page shows no message: the button keeps spinning (first reported from the code as PF-A03-08). The quotation stays Quotation Sent, unsigned. When a customer reports this, check the customer's authorization (MD-05); after the fix, ask the customer to sign again, or confirm the order yourself (OUT-01). Before you send a quotation of DSCSA products for online signature, check that the customer is authorized. See Let a customer accept or pay an order online.
  • A sealed case can't be shipped as a case (PF-F04-01). On a delivery, a sealed case can't be shipped from its case (SSCC, Serial Shipping Container Code) label: the scan is refused, and the outbound EPCIS file never groups units under a case. Open the case and scan each unit's DataMatrix; the file then lists the units one by one. See Scan the serials of a delivery and validate it, Error: "SSCC … is not a case the supplier's EPCIS file lists for this transfer" on a delivery.
  • On a dropship, Scan Serials accepts a unit from your own stock, and validating marks it Shipped to the vendor (PF-F04-02). The dropship shows Scan Serials, and it accepts a unit that is in your own stock. Validating then marks that unit Shipped to the vendor in the package ledger, although it is still on your shelf and in Odoo's stock. Don't use Scan Serials on a dropship. If it happened, ask an Rx Tracking Manager to check the unit in the package ledger. See Sell DSCSA product by dropship, Look up a unit in the package ledger.
  • After a scan, a delivery's Quantity still counts reserved or typed lines of other lots (PF-V02d-01). After a scan, the Quantity on the delivery's Operations tab still counts the lines of other lots that Odoo reserved, and a quantity typed by hand, so it can be higher than what ships. Check the DSCSA Packages tab instead: validating ships exactly the units it lists, and the DSCSA document lists the same units. See Ship part of a delivery, or ship in pick, pack and ship steps.

Returns​

  • A customer return's Destination Location says WH/Stock, but its DSCSA units go to WH/Returns to Verify (PF-W08-01). The return transfer's Destination Location field shows WH/Stock, but its DSCSA units go to WH/Returns to Verify. The Moves smart button and the To Verify smart button show where they are. Don't move them yourself: Verify returned units for resale, or reject and destroy them. See Receive a saleable customer return with its serials.
  • Reject and Destroy creates no Scrap order (PF-A03-07). Reject and Destroy creates no scrap order, so rejected units don't appear in Inventory ‣ Operations ‣ Scrap. They are recorded on the package (Destroyed, Return Decision, and the move "DSCSA return rejected" in its Movement History) and in the return transfer's chatter. See Verify returned units for resale, or reject and destroy them.
  • Units shipped at lot level stay "In Stock"; serial traces and the serial search miss the lot-level sale (PF-A03-02). Units shipped at lot level without a scan stay In Stock in the package ledger, so the ledger can't say which unit the customer holds. The return accepts any In Stock unit of the shipped lot, and records the unit you scanned. To keep the ledger in step, scan small dispensers' deliveries anyway. See Take back units shipped at lot level to a small dispenser, Ship at lot level to an exempt small dispenser. Also noted on Exceptions: quarantine, scrap and trace requests.
  • A non-saleable return of held units can't be started from the Return wizard with scans (PF-A02-04). The flag lives on the return transfer, so the order of the steps matters. If you scan held units in the Return dialog, the whole return is refused ("… can't be used here: it is Quarantined."). Create the return without serials, set the flag, then scan with Scan Serials. Units in Returns to Verify can only leave this way after you change the Source Location by hand. See Send a non-saleable return to the supplier.
  • The Return dialog's message for a scan of an unknown GTIN is garbled (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). See Error: "The return can't be created: …".
  • The chatter line of a non-saleable return gives the flag's date and time in UTC (PF-W08-03). When a return is flagged as non-saleable, its chatter line gives the date and time in UTC, for example "… marked by Morgan Lee on 2026-09-28 13:05:33." for a flag that Non-saleable Return Set On shows as 09/28/2026 06:05:33 in Los Angeles. The form field is in your time zone; use it. See Send a non-saleable return to the supplier.

Exceptions​

  • Lots can't be quarantined or released several at a time (PF-A04-07). Managers quarantine or release one lot at a time: the lot lists have no Quarantine or Release action for several selected lots. For a recall that covers several lots, open each lot and quarantine or release it. See Quarantine a lot so it can't be reserved or shipped. Also noted on Exceptions: quarantine, scrap and trace requests.
  • A lot quarantined again after a release still shows the old release on its Quarantine tab (PF-A04-06). When a released lot is quarantined again, its Quarantine tab still shows the Release Reason, Released On and Released By of the earlier release under the new quarantine. Read the status and the badge: they are right, and the chatter keeps the order of events. See Release a lot from quarantine.
  • The Quarantined Lots list doesn't show when or why a lot was quarantined (PF-W09-04). The list's Created on column is when the lot was created (at receipt), not when it was quarantined. To see the start of each hold in the list, open the optional columns menu at the right end of the list header and select Quarantined On. See Review the lots on hold, and why they are held.
  • Scrapping DSCSA units from a done transfer is refused with a misleading message (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. See Error: "… can't be added to …: it is done" when scrapping from a transfer. Noted on Scrap DSCSA units, naming each unit's serial.
  • The package-ledger CSV can't tell a scrap from a count loss, and shows today's package state (PF-A04-04). In packages.csv, a scrap and a unit counted as missing both show the movement removal, and the package_state column is the unit's state when the zip was built, not after each movement. To tell them apart, look the unit up in the package ledger (Look up a unit in the package ledger): its state there is Destroyed or Missing. See Respond to a trace request with the response zip, and send it, Get the monthly retention export, or export on demand.
  • A wrong GTIN check digit in a trace request's Serials is reported under two headings (PF-W09-02). A line with a wrong check digit is reported inside a second "Some lines could not be read:" heading, as in the example. Read the innermost line: it names the problem. See Error: "Some serial lines could not be read".
  • With the 3PL add-on, the Release Lot window can't release a lot that also holds owner units (PF-W15-01). With the 3PL add-on, the Release Lot dialog of a lot that also holds owner units can't be confirmed: it ends in a Validation Error ("… Owner Release Instruction (Release Window) … Field: Lot (lot_id)") and the lot stays Quarantined, your own units included. Lots that hold only your own units are not affected. See Release a lot from quarantine, Release a lot that holds owner units, with each owner's release instruction.

Records​

  • The Serials column of the DSCSA Serials dialog is so narrow that each scan wraps over six lines (PF-W10-01). The Serials column of the DSCSA Serials dialog is narrow, so each scan wraps over several lines and a long list is hard to check. The scans are read correctly. To check them, paste them from a text editor, where you can see one scan per line. See Count stock and record the units that are gone.
  • The S3 archive settings can't be checked before relying on them (PF-A01-10). Saving checks only the format of the values, not that the bucket and key work. A wrong bucket, region or key shows up later, as retrying or failed jobs in the queue. Prove the settings once: in test mode against a test bucket (ARC-02), then on the real bucket (ARC-03). See Set up the off-site S3 archive.
  • The S3 Archive Queue's Queue Unarchived Records button always fails with a server error (PF-W11-01). The Queue Unarchived Records button that switching to compliance mode needs ends with "Oops! Something went wrong…". Use the workaround in Queue records posted before the archive was switched on. See Try the archive in test mode, then switch to compliance mode, Queue records posted before the archive was switched on.
  • A connection failure's Last Error is a raw Python exception text with a memory address (PF-W11-04). When S3 can't be reached, Last Error holds a long technical text ("No reply from S3 (ConnectionError): HTTPConnectionPool(…) …") that makes each row several lines tall. Read its first words, or open the job to read it whole; to keep the list compact, hide the Last Error column with the column selector at the right end of the list heading. See Watch the archive queue and each record's archive state.
  • Retrying only the job that carries the S3 archive failed activity closes it for every manager while other jobs are still Failed (PF-W11-02). The S3 archive failed activity sits on the first job that failed. Retrying only that job marks the activity done for every manager, even when other jobs are still Failed; retrying other jobs leaves it open. Before you mark the work finished, check that the Failed filter shows no rows. See Fix and retry failed archive uploads.
  • Go-live stock that isn't in Odoo yet has no opening-balance path (PF-A04-02). The opening balance can't create stock. If a product was made a DSCSA product before its stock was entered in Odoo, Units Without Package stays 0 and every scan is refused. Record those units with a count instead, which registers them with Origin Found in Inventory Count, not Opening Balance: see Record units found in a count. See Register the opening balance for stock that predates the package ledger.
  • The Packages list has no "Destroyed" filter (PF-A04-05). The Filters menu has no Destroyed filter. To list scrapped or rejected units, group by Status and open the Destroyed group. See Look up a unit in the package ledger.
  • The Packages list says "No serialized packages yet" when its default In Stock filter hides the unit searched (PF-W10-02). With the In Stock filter on, a search for a unit that isn't in stock shows "No serialized packages yet", as if the ledger were empty. Remove the filter and search again. See Look up a unit in the package ledger.
  • A second legal hold on a document that is already on hold is silently dropped (PF-A04-01). A document that is already on hold is skipped without a message: a second hold for another matter doesn't store its reason or write a chatter note, and releasing the first matter releases the document for both. Before you place a hold, check the Legal Hold column (or the On Legal Hold filter). For a document already on hold, add the second matter as a note in its chatter (Log note), and don't release it until every matter is closed. See A second legal hold isn't recorded. Noted on Place a legal hold on DSCSA documents.
  • Two on-demand retention exports of the same day have the same name (PF-W10-04). Two on-demand exports made on the same day have the same name and file names; tell them apart by Created On, and rename the files when you save them. See Get the monthly retention export, or export on demand.
  • "Verify Integrity" from a document's Actions menu ignores the selection and the other selected companies (PF-A04-08). ⚙ (Actions) ‣ Verify Integrity in the Documents list or on a document checks the whole chain of the current company, not the selected documents, and the notification doesn't name the company. With several companies selected in the switcher, only the current one is checked. Check each company on its own. See Verify the integrity of the DSCSA documents.
  • A lot created while you enter go-live stock gets today's date as its expiry, so the opening balance refuses every scan (PF-W29-01). A lot created while its product tracks expiration dates gets the moment it was created as its Expiration Date. Every scan of the opening balance is then refused ("… the scan says expiry … but lot … expires …"). Before you scan, open the lot (Inventory ‣ Products ‣ Lots / Serial Numbers) and correct its date on the Dates tab. See Register the opening balance for stock that predates the package ledger.
  • The S3 archive failed activity is due on OdooBot's date (PF-V02e-02). The S3 archive failed activity made by the scheduled job is due on the date of OdooBot, which runs the job in another time zone. In the United States, a failure in the afternoon or evening shows as Future (due tomorrow) in the Activities menu, not Today. Check the archive queue's Failed filter each day instead of waiting for the activity to be due. See Fix and retry failed archive uploads.
  • The Documents list can't show or sort by Chain Position (PF-F05-01). Inventory ‣ Rx Tracking ‣ Documents has no Chain Position column, filter or grouping; the position is only on each document's form (Integrity group). To find the document one position lower in the hash chain, open the company's documents posted around the same time and read their Chain Position. See Get a record back from the off-site archive and check it.
  • The archive manifest and the frozen file checksums show only in developer mode (PF-F05-02). The archive job of a document shows the manifest's S3 Key and SHA-256 but not its text, and the document's Frozen Data tab is hidden, unless developer mode is on. To read the manifest in Odoo, add ?debug=1 after /odoo in the browser's address bar. See Get a record back from the off-site archive and check it.

Reference​

  • A T3 report rendered while Odoo can't load its report styles is frozen with a plain look (PF-W08-04). The T3 report is rendered when the delivery becomes Done, with the report styles that Odoo loads from its own web address. If Odoo can't reach that address at that moment (for example when deliveries are made Done by a script while the web server is stopped), the report is stored with a plain serif font and without bold text. Its content is complete, but it keeps that look, because the file is never generated again. If your stored T3 reports look plain, ask your Odoo administrator to check Odoo's report address setting (Odoo's report.url system parameter) before more deliveries become Done. See The T3 report, and why a validated delivery can't be edited.

3PL guide​

Start here​

Set up​

  • A license saved from Facility Licences without a Facility or an Activity silently doesn't count and disappears from that list (PF-A05-04). Facility and Activity are optional on the form. A license saved from Facility Licences without a Facility is kept as a license of your company, but it disappears from Facility Licences (find it in Inventory ‣ Rx Tracking ‣ Licenses); without an Activity it stays listed but never counts. Check both fields before you select Mark verified: once verified, they can't be added. See Record and verify our facility licenses.
  • A wrongly recorded owner instruction can't be corrected, voided or completed with its evidence, and stays selectable; The new owner-instruction form has no save or discard icon: leaving it saves a frozen instruction, and an incomplete one can only be abandoned by reloading the page; Duplicate on an owner instruction saves an unused copy at once, also of a used instruction, so one owner approval can authorize a second operation (PF-A05-05, PF-W13-03, PF-W13-04). The form has no save or discard icon, and leaving it with every required field filled saves the instruction for good. The ⚙ (Actions) menu of a saved instruction offers Duplicate, which at once saves an unused copy with the same reference and date but without the evidence, even of an instruction already used; don't use it. A wrong or duplicated instruction stays under Not used yet and stays selectable: take care to pick the right reference in the operation. See Record an owner's instruction.
  • A new owner's portal user sees no owner card on My Account, and the portal has no other entry point (PF-A09-01). A new owner's person who signs in sees no owner card on My Account until the owner has stock, documents, a receipt waiting for supplier data, a hold or an open discrepancy, and no menu leads to the owner pages. Send the person the owner portal's address, your Odoo address followed by /my/dscsa/owner (for example https://erp.example.com/my/dscsa/owner). See Give an owner's contacts the owner portal.
  • Changing an owner's Code after its first document doesn't change the owner's document numbers (PF-A05-03). You can change Code later, but once the owner has a document, its document numbers keep the old code, also in later years. Choose the code carefully before the owner's first shipment. See Create an owner profile.
  • Notice Contacts accept any partner, so one owner's lots and serials can be emailed to another owner; Changes of Notice Contacts, Document Contacts and Return Designees leave no trace in the profile's chatter (PF-A07-05, PF-W13-06). Notice Contacts accepts any partner, so a contact of another company would receive this owner's lots and serials. Choose only the owner's own people. Changes to Notice Contacts, Return Designees and Document Contacts are not recorded in the chatter: note them in your own records if you need their history. See Set the owner's policies.
  • A consignor's Transfer Price can't be seen or changed; A consignor that isn't ready for just-in-time buying is accepted silently; Just-in-Time Transfers is saved without Title Transfers Allowed, and the owner is then silently not a just-in-time owner (PF-A08-02, PF-A08-09, PF-W13-01). Just-in-Time Transfers without Title Transfers Allowed, and a consignor without Title Transfers Allowed or in mode A, are saved without a message, but the owner is then not bought from just in time: your sales simply never take its units. Always select Title Transfers Allowed with them, and check Issuing Mode. A consignor's Transfer Price is hidden and stays Vendor pricelist. See Allow title transfers or just-in-time transfers, or make the owner a consignor.
  • An owner profile can be archived while the owner's stock is still with us; afterwards that stock can't be moved until the profile is re-activated; A lot holding units of an owner whose profile is archived can't be released, and those units can't be scrapped, destroyed or returned; A former client (archived owner profile) still sees upload forms, but every upload ends on "404 Not Found" (PF-A05-02, PF-A07-01, PF-A09-02). Archiving is accepted while the owner's units are still with you. After that, every transfer, scrap or return of those units is refused, and a lot holding them can't be released, until you re-activate the profile. A former client's portal still offers Upload supplier data on its pending receipts, but every upload ends on an Error 404 page. Ship the owner's stock back and settle its pending receipts before you archive the profile. See Change, end or re-open an owner relationship.
  • Turning 3PL on from the settings page doesn't show the Held for Owner fields (PF-W12-03). The help text says that turning 3PL on shows the owner fields, but when you save the settings page with Consignment cleared, the page clears Odoo's owner setting again in the same save: 3PL is on, and no one sees Held for Owner. Select Consignment in the same save. If you already saved without it, select Consignment and select Save again. See Turn on third-party logistics for a company.
  • Clearing Odoo's "Consignment" setting while 3PL is on hides every Held for Owner field, with no warning and nothing to restore it (PF-A05-01). For the same reason, if an administrator later clears Consignment, every Held for Owner field (and the 3PL fields next to it) disappears for every user, with no warning, while 3PL stays on. Leave Consignment selected while 3PL is on. See Turn on third-party logistics for a company.
  • "Title Transfer in Place" shows on every draft RFQ (PF-A08-04). A request for quotation shows Title Transfer in Place next to Vendor Reference even while 3PL is off (and for vendors that are not owners). Selecting it only fails when the order is confirmed. Leave it cleared unless you buy an owner's units in place. See Turn third-party logistics off again.
  • The facility license check doesn't compare a license's Jurisdiction with the facility's state (PF-F06-01). The facility check doesn't compare a license's Jurisdiction with the state of the facility it names, so a license of another state recorded under the facility passes the check. Before you select Mark verified, check that Jurisdiction is the state of the warehouse's address. See Record and verify our facility licenses.

Receive​

  • A custody receipt's Owner Instruction lists instructions of every kind, and the receipt shows Attach Supplier Data, which can only be refused (PF-W14-04). The Owner Instruction field lists every unused instruction of the owner, whatever its kind (for example Quarantine or Title transfer), and the custody receipt also shows Attach Supplier Data, which is refused. A wrong instruction is refused only at Validate, under the heading "DSCSA owner isolation (3PL)". Check that the instruction's kind, in brackets, is Other or Return to the owner (custody). See Receive the owner's own goods as a custody receipt.
  • An internal transfer of an owner's units can't be made from the transfer form, and the user guide implies it can (PF-A06-06). A new transfer made with Inventory ‣ Operations ‣ Internal ‣ New has no Held for Owner field. It is always for your own stock: it reserves only your own units (for example lots BPDPZ2508K and BPDPZ2509B) and never an owner's. Put away owner units through the reception route or Relocate. See Put away and move an owner's units inside the warehouse.
  • For a late supplier file, "Find Receipt" says "Create the owner's receipt first" instead of pointing to the done receipt; Find Receipt proposes an unrelated open receipt for a late supplier file, and attaching it there is accepted (PF-A06-02, PF-W14-02). The menu Inventory ‣ Rx Tracking ‣ Attach Supplier Data (in the 3PL ‣ Operations section) and its Find Receipt button look for open receipts only. For a late file, Find Receipt either proposes an unrelated open receipt of the same owner (attaching it there is accepted, and the done receipt stays held) or says "No open receipt held for an owner matches this file. Create the owner's receipt first.". Don't create a second receipt. Start from the done receipt or its discrepancy, or choose the done receipt by hand in Receipt. See Find Receipt proposes the wrong receipt, or none. Noted on Release a data-pending hold with the supplier's late EPCIS file.
  • "Record Owner Confirmation" is shown for owners whose profile accepts only the supplier's data, where it can only fail (PF-A06-04). Record Owner Confirmation is shown even for an owner whose Goods Before Data is Supplier file only, where it can only end with a refusal. Check the owner's profile (Policies tab) before you fill in the window. See Release a data-pending hold with the owner's confirmation, Record the owner's confirmation or the supplier's statement before validating.
  • "Mark Resolved" on a Supplier Data Pending discrepancy closes it without data, keeps the lot held and hides the release buttons (PF-A06-05). The core Mark Resolved button is also on Supplier Data Pending discrepancies. With a Resolution Note, it closes the item without any data, the lot stays Quarantined, and Attach Supplier Data and Record Owner Confirmation disappear from the discrepancy and the receipt (Record Owner Confirmation is then refused with "WH/IN/NNNNN has no supplier data pending."). Release items only with the data or the confirmation. If it happened, an Rx Tracking Manager selects Reopen on the discrepancy, and the buttons come back. See Work the Supplier Data Pending list.
  • A former client (archived owner profile) still sees upload forms, but every upload ends on "404 Not Found"; An upload far over 10 MB, or sent after the session expired, ends on a bare error page instead of the Receipts message (PF-A09-02, PF-A09-06). An owner whose profile was archived still sees upload forms on its portal, but every upload ends on an "Error 404" page ("We couldn't find the page you're looking for!"); and a file far over 10 MB ends on a bare "413 Request Entity Too Large" page. Nothing reaches the receipt in either case. If an owner reports one of these pages, ask it to email you the file and attach it yourself (3PL-GBD-02 or 3PL-GBD-03). See Record supplier data the owner uploaded through its portal.
  • "Find Receipt" falls back to every owner's open receipt and pre-selects one that matches nothing in the file; Find Receipt proposes an unrelated open receipt for a late supplier file, and attaching it there is accepted (PF-A06-03, PF-W14-02). Find Receipt only ranks open owner receipts, and it pre-selects the best one even when the reasons are weak. When the file's buyer has no open receipt it may propose another owner's receipt (then Attach is refused by the buyer check), and a supplier's file for goods you already received (a late file) is proposed for an unrelated open receipt of the same owner: attaching it there is accepted, that receipt loses its yellow banner, and the done receipt stays held. Before you select Attach, check that the reasons include "the file's buyer is …" and a product, serial or PO number that fits. A late file goes on the done receipt: see Release a data-pending hold with the supplier's late EPCIS file. If a file was attached to the wrong open receipt, open the file and select Cancel Import (PF-A06-02 for the "Create the owner's receipt first" message). See Attach the supplier's EPCIS file to an owner's open receipt.
  • A Relocate of owner units to another warehouse leaves no row in the package ledger (PF-F07-01). When you move an owner's units to another of your warehouses with Relocate, a moved unit's Movement History and the ledger's CSV files show its receipt at the first warehouse and, later, its shipment from the second, but no row for the move. Keep the Moves History row (or export it) if you need to show when the units changed warehouse. See Move an owner's units to another of our warehouses.
  • The owner's PDF upload is not attached to its chatter note (PF-V02h-01). When an owner uploads the supplier's transaction statement as a PDF, the upload note in the receipt's chatter carries no attachment. The PDF is under the chatter's Files: select the paperclip icon (Attach files) at the top of the chatter, and download it from there. See Record supplier data the owner uploaded through its portal.

Ship​

  • A new delivery has no Held for Owner field; the only form path is selecting a receipt operation type first (PF-W16-02). A new delivery shows Held for Owner only after you select a receipt operation type, and a delivery made this way gets no GLN warning at all (PF-A06-07). Prefer an owner order (3PL-OUT-01), which warns about missing GLNs when it is confirmed. See Ship an owner's units without an owner order.
  • A chatter message to the buyer of a mode-A owner document gives the buyer a link that opens it, without "Publish to Buyer" (PF-A06-01). A message sent from the chatter of a mode-A owner document to its buyer gives the buyer a link that opens the document and its T3 and EPCIS files without Publish to Buyer (confirmed live). Until this is fixed, never send a chatter message to the buyer from a mode-A owner document; publish it first (3PL-DOC-05), or send the owner its copy (3PL-DOC-04). See Know who receives an owner's documents: issuing mode A or B.
  • "Send Documents to Owner" accepts an owner's inbound document and emails "Please find attached …" with no file (PF-W17-01). Send Documents to Owner also accepts an owner's inbound document. The owner then gets an email that says "Please find attached …" with no file attached, and the chatter says "(no stored file)". Send outbound documents only. The supplier's file of an inbound owner document is in the owner export (Export everything we keep about one owner as one zip). See Send an owner its documents.
  • The owner order's Owner field offers every company; a draft for a company that isn't an owner saves, and confirming asks for an instruction that can't be recorded (PF-W16-01). Owner offers every company, also one that isn't an owner, and the draft saves. The mistake shows only when you confirm: "… has no active owner profile in …". Check the owner before you save; if it is wrong, delete the draft (an Rx Tracking Manager, 3PL-OUT-04) or change Owner while the order is a draft. See Record an owner order.
  • The delivery's GLN banner checks our company and the buyer, not the owner, on an owner delivery (PF-A06-07). The yellow GLN banner of an owner's delivery checks your company and the customer, not the owner. When the owner has no GLN, no banner appears, although the owner's document gets no EPCIS file. Watch for the order's "DSCSA warning: …" note (3PL-OUT-02) and add the owner's GLN before you validate. See Pick, scan and ship an owner order, Warning: "DSCSA warning: the owner's document of this shipment will have no EPCIS file …".

Holds, notices and recalls​

  • The owner's Holds page shows the lot's internal quarantine reason, which can name another party's receipt (PF-A09-10). The owner's portal Holds page shows the lot's quarantine reason as you typed it, so every owner with units of the lot reads it. Keep the reason free of other owners' and customers' names. See Put a lot that holds owner units on hold.
  • A lot holding units of an owner whose profile is archived can't be released, and those units can't be scrapped, destroyed or returned (PF-A07-01). When the lot holds units of an owner whose profile is archived, that owner's line is Required and no instruction can be recorded for it, so the lot can't be released. Re-activate the owner's profile first (Change, end or re-open an owner relationship), release the lot, then archive the profile again. See Release a lot that holds owner units, with each owner's release instruction, Release a transaction-information mismatch owner hold.
  • The release refusal says to record the release instruction "for the lot", which the Owner Instructions form can't do (PF-A07-03). The refusal's advice to "Record the owner's release instruction for the lot (Rx Tracking > 3PL)" can't be followed: an instruction recorded under Owner Instructions names no lot. Pick it in the Release dialog instead. See Release a lot that holds owner units, with each owner's release instruction.
  • Notice kind "Exception" is offered but nothing ever sends it (PF-A07-04). The Notice kind Exception appears in the list's colours, the group-by and the profile's Notice Contacts help, but no operation sends it. Don't look for exception notices. See Find and read the notices sent to an owner.
  • Notice Contacts accept any partner, so one owner's lots and serials can be emailed to another owner (PF-A07-05). Notice Contacts accepts any contact, also one of another owner, who would then receive this owner's lots and serials. Before you add a contact to Notice Contacts, check that it belongs to the owner. See Send a notice that could not be emailed.
  • The consignee CSV gives shipped_on in UTC without saying so, while the window shows local time (PF-W18-03). The CSV's shipped_on is in Coordinated Universal Time (UTC), while the window shows your local time (for example 2026-09-27 17:59:42 in the file for 09/27/2026 10:59:42 in Los Angeles). Say so when you send the file. See List the customers an owner's units of a lot were shipped to.
  • The recall's proposed Hold Reason names the recalling owner and its instruction reference, and it is sent to every other owner of the lot (PF-W18-01). The proposed Hold Reason names the recalling owner and its instruction reference, and it is emailed to every other owner with units of the lots (and shown on their portal). Rewrite it before you select Recall, for example Recall of lot BPDPZ2508K on the manufacturer's notice., when the owners must not learn about each other. See Recall an owner's lots on its recall instruction.
  • Any Rx User can run Recall; with "Hold the Lots" on it fails only at the end, and with it cleared the confirmation still says "Hold the lots" (PF-A07-06). Recall is offered to every Rx Tracking User; with Hold the Lots selected it fails only after Ok, and with it cleared a User sends the recall notice without any hold. See Recall an owner's lots on its recall instruction.
  • Typing in the Recall window's instruction field offers "Create …", which records a frozen Recall instruction with no evidence at once (PF-W18-02). Typing in Owner's Recall Instruction offers Create "…", which records a new Recall instruction at once, with no evidence file, and it can't be deleted. Select an existing instruction instead. See Recall an owner's lots on its recall instruction.
  • A documentation owner hold's reason says "… to release the lot", though only the owner's units are held (PF-W18-04). With the hold scope Per owner, the Reason (and the owner's notice) says "… to release the lot", although only the owner's units are held and the lot stays Not Quarantined. See Follow an owner hold placed by an owner receipt.
  • Mark Resolved is offered where the Resolution Note can't be typed (PF-V02i-01). A discrepancy opened from an owner hold's Discrepancies tab opens in a read-only window that still offers Mark Resolved and Reopen: Resolution Note can't be typed there, so Mark Resolved answers "Write how the discrepancy was resolved first (…)". To resolve or reopen a discrepancy, open it from Inventory ‣ Rx Tracking ‣ Receiving Discrepancies instead. See Clear a documentation owner hold by recording the missing documentation.

Returns and adjustments​

Title transfers, just in time and consignment​

  • A reversion or an owner-to-owner sale without an order or invoice reference posts both in-place documents without EPCIS, with no warning at Check; In-place documents and the owner's transfer file don't link back to their title transfer (PF-A08-01, PF-A08-03). An in-place document and an owner's transfer file don't show which title transfer they belong to; go through the document's Transfer field or group the documents by Title Transfer. A reversion or a sale between owners validated without a business reference posts both documents without EPCIS and Check doesn't warn: always fill in Buyer's Order Reference or Invoice Reference first. See Find and read the in-place documents of a title transfer.
  • Customer Invoice is editable for users who can't read invoices, and offers every customer invoice (PF-W20-04). Customer Invoice is shown to every Rx Tracking user, but only a user with Rx Tracking Manager and an Invoicing right can choose an invoice; for others, typing in it opens "Oops!". It also offers every customer invoice of the company: choose the owner's. In the example database, the administrator links the invoice. See Account for a title transfer: valuation, vendor bill and reversion invoice.
  • "Title Transfer in Place" shows on every draft RFQ; A title transfer's line Quantity doesn't follow later changes of its title purchase order; A buyer without an Rx Tracking right sees nothing on a confirmed title order that says a title transfer is waiting (PF-A08-04, PF-A08-05, PF-W20-01). Title Transfer in Place shows on every draft request for quotation, even when 3PL is off or the vendor is not an owner; select it only for an owner. A buyer without an Rx Tracking right sees no Title Transfers smart button after confirming, and nothing else on the order says that a title transfer is waiting: tell the warehouse. The transfer's line Quantity doesn't follow later changes of the order line; the checks use the order, so select the units the order now asks for. See Create and approve a title purchase order.
  • The split-case warning lists at most 10 of the units that stay behind; The split-case warning stays after the selection changes, until the next Check; After its transfer, a title purchase order shows the receipt's Import EPCIS button (PF-W20-02, PF-W20-03, PF-W20-08). The split-case warning names at most 10 of the units that stay behind, without saying the list is cut short; the count is right. When you change the selection after Check, the old warning stays until you select Check again. After the transfer, the title purchase order shows the Import EPCIS button of an ordinary receipt: don't use it; the title order needs no supplier file. See Check and validate a title transfer.
  • A consignor's Transfer Price can't be seen or changed; A consignor that isn't ready for just-in-time buying is accepted silently (PF-A08-02, PF-A08-09). A consignor profile saves without Title Transfers Allowed, or in issuing mode A, with no message, and its units are then never offered to your sales. Check the consignor's profile after every change. The consignor's Transfer Price is hidden: its orders always use its vendor price, or the product's Cost without one; correct the price on the vendor bill. See Take in and sell consignment stock.
  • An owner profile can be archived while the owner's stock is still with us; afterwards that stock can't be moved until the profile is re-activated; A consignor that isn't ready for just-in-time buying is accepted silently (PF-A05-02, PF-A08-09). Archiving a consignor's profile is accepted while its units are still in your stock; those units then can't be shipped or confirmed until the profile is re-activated (Error: "… has no active owner profile, so DSCSA stock can't be held for it …"). Clear the stock first. Changing Issue documents as the owner's agent so that a consignor falls into mode A is accepted without a message, and silently ends its just-in-time sales. See Stop just-in-time buying or end a consignment.
  • Just-in-Time Transfers is saved without Title Transfers Allowed, and the owner is then silently not a just-in-time owner (PF-W13-01). Just-in-Time Transfers saves without Title Transfers Allowed, with no message, but the owner is then not a just-in-time owner and your sales never take its units. Always select both. See Set up an owner for just-in-time buying.
  • Just-in-time deliveries in the Barcode app are untested, and the bridge narrows the lot pre-fill to our own stock; A delivery's move details window hides whose units are reserved; Scan Serials accepts a just-in-time owner's units in place of your own, and buys them without a warning (PF-A08-08, PF-W21-04, PF-W21-05). The delivery reserves your own units first, but Scan Serials accepts the owner's units in their place and nothing warns you: scanning two owner units buys both even when your own unit of the same lot is reserved. Check the Moves list before you scan. The move's details window (the list icon on the Operations tab) shows the owner's line like your own; only the Moves list shows Held for Owner. In Odoo Enterprise's Barcode app, just-in-time deliveries are untested and the lot pre-fill offers your own stock only; scan the owner's units in the backend Scan Serials window. See Ship our own sale that takes a just-in-time owner's units.
  • A just-in-time pick's refusal prints the picked quantity as "1.0" (PF-W21-01). In the pick's refusal, the picked quantity is printed with a decimal ("1.0 of its unit(s) picked") while the scanned count is a whole number. Read "1.0" as one unit. See Pick, pack and ship when a just-in-time owner holds the product.
  • A consignor's Transfer Price can't be seen or changed; Owner pickers list every company; title transfers can't be filtered by Trigger (PF-A08-02, PF-A08-06). The title transfer list has no Trigger filter; group by Trigger instead. A consignor's profile doesn't show Transfer Price: its orders always use Vendor pricelist. See Review and bill the automatic just-in-time purchase orders.
  • In-place documents and the owner's transfer file don't link back to their title transfer; Receiving wording in title-transfer windows (PF-A08-03, PF-W20-07). The owner's file opens in the supplier-file form: its first group is titled Receipt with an empty Receipt, its status reads Awaiting Receipt, a Received / Expected smart button reads 0 / 0, Cancel Import asks about "the receipt", and the form doesn't name its title transfer. Nothing is received. To go back to the transfer, use the breadcrumb, or search Title Transfers by Serial. See Import the owner's transfer file on a title transfer.
  • A reversion or an owner-to-owner sale without an order or invoice reference posts both in-place documents without EPCIS, with no warning at Check; Customer Invoice is editable for users who can't read invoices, and offers every customer invoice (PF-A08-01, PF-W20-04). A reversion with neither Buyer's Order Reference nor Invoice Reference passes Check and Validate without a warning, but its documents have no EPCIS file (the seller-side document says "No EPCIS file was generated: the shipment has no business reference", and the owner's inbound record has no file at all), and it can't be added later. Always fill in at least one of them before Validate. Customer Invoice is shown to every Rx Tracking user, but typing in it without Invoicing rights opens "Access Error" and "Oops!"; and it offers every customer invoice of the company: choose the owner's. See Sell units back to an owner in place (reversion).
  • A reversion or an owner-to-owner sale without an order or invoice reference posts both in-place documents without EPCIS, with no warning at Check; Owner pickers list every company; title transfers can't be filtered by Trigger (PF-A08-01, PF-A08-06). From and To list every company and top-level contact, not only owners; a non-owner is refused only at Check. Without the seller's file and without a Buyer's Order Reference, both documents have no EPCIS file: fill in the buyer's order number before Validate. See Record a sale between two owners in place.
  • A Purchase user without Inventory or Rx Tracking rights can't cancel any confirmed purchase order; Duplicate on a done title transfer creates a draft copy (PF-W20-05, PF-W20-10). A buyer with Purchase User only (no Inventory or Rx Tracking right) can't cancel a confirmed purchase order: Cancel opens "Access Error" about "DSCSA Package", also on orders without DSCSA products; ask the administrator. The ⚙ (Actions) menu of a title transfer offers Duplicate, also on a Done transfer: the copy is saved at once as a new draft with the same kind, parties, order and serials, fails Check, and can only be cancelled. Create transfers from New or a title purchase order. See Cancel or correct a title transfer or a title purchase order.
  • Title-transfer messages show raw values (PF-W20-06). You may see a second period after a name that ends in "Inc.", a decimal count such as "1.0", and scan lines out of order. What the messages say is right. See Error: "Nothing was selected. Fix these scans and try again: …", Error: "… selected but only … left to receive …".
  • Title Not Held discrepancies of a superseded owner file can't be reached from the title transfer (PF-W20-09). When the owner's file is replaced, the first file's Title Not Held discrepancies stay open but can't be reached from the title transfer. Find them in Inventory ‣ Rx Tracking ‣ Receiving Discrepancies by the number in the transfer's chatter. See Resolve serials the owner's file lists that can't change owner (Title Not Held).
  • "Add a line" on the Serials tab offers the seller's units of other warehouses (PF-W20-11). The units of other warehouses are refused only at Check. Use Select Serials instead. See Select the serials that change owner.
  • A refused just-in-time validation names a title transfer that doesn't exist afterwards (PF-W21-02). The whole validation is undone, so the named transfer (TT/…) never exists, but the Gate Log keeps rows for that name. Look up the delivery instead. See Error: "TT/… can't be validated:" when you validate a delivery.
  • The in-place reason for a missing EPCIS file is never shown (PF-W21-03). The document shows the general reason "No EPCIS file was generated: the shipment has no business reference". Fill in Buyer's Order Reference or Invoice Reference before validating an in-place transfer. See The in-place documents have no EPCIS file.
  • Some 3PL messages end with a short code in brackets (PF-D01R-01). A code such as the one at the end of "The seller's transfer file does not affirm the Transaction Statement: record the seller's statement before validating (R-84)." is the developer's internal reference. It needs no action and changes nothing; the message before it says what to do. See Check and validate a title transfer, Record the seller's Transaction Statement that the owner's file does not affirm, Troubleshooting: title transfers.

Trace requests​

  • Owner pickers list every company; title transfers can't be filtered by Trigger (PF-A08-06). Owner Concerned offers every company, customers and suppliers included, not only owners. Choosing one that isn't an owner is refused when you save; choose the owner company named by the request. See Answer a trace request about an owner's records.

Facility compliance records​

  • Nobody can delete an FDA annual report or a facility event, not even a draft made by mistake; the model's own "never deleted" rules are unreachable (PF-W22-02). Nobody can delete an FDA annual report, not even a draft made by mistake; the ⚙ (Actions) menu offers only Archive and Duplicate. Archive the wrong draft. An archived draft has no effect, and the reminder job makes a new draft if the facility still has something to report. See Record a facility's FDA annual report and mark it submitted.
  • The FDA annual report reminder of a facility that becomes reportable after 31 March is created already overdue (PF-A05-08). The reminder is always due 31 March of the current year, and the job runs all year. A facility that becomes reportable after 31 March (its first license, or its first owner) gets a reminder that is already overdue, next to the Report to FDA within 30 days activity of its new license (3PL-FAC-04). Treat the overdue date as the job's default, not as an FDA deadline; your procedure decides when the facility reports. See Act on the FDA annual report reminders.
  • The gate-log detail of a warned check, also in the exported CSV, ends with an internal reference (PF-A05-06). A Warning row's detail ends with "Let through: the counterparty check for this owner is set to warn (Q3-02)." The code in brackets refers to the developer's internal list of design questions: it stands for the company's Owner counterparties policy. Explain it to the inspector if asked. See Review the gate log and export it for an inspector, Choose the company's 3PL policies.
  • Facilities Served has no history, so the facility client list "As Of" a past date follows today's facilities (PF-A05-07). Facilities Served keeps no history, and changing it isn't logged. A list "As Of" a past date follows today's Facilities Served: an owner moved to another warehouse disappears from the old warehouse's past lists. Before you change Facilities Served, print the lists you may need for past dates, or record the change in the owner profile's chatter. See Print or export the facility client list. Also noted on Move an owner's units to another of our warehouses.

Reports​

  • Ledger vs Stock per Owner is open to DSCSA users, while the core Ledger vs Stock is for managers only (PF-A09-09). This report is open to every Rx Tracking User, while the core Ledger vs Stock report is for Rx Tracking Managers only. With its Our Own Stock filter, a User sees here the own-stock differences that the core report hides from them. See Check every serial's recorded owner against the stock (Ledger vs Stock per Owner).
  • Owner Exports: the Owner field offers every company, and a draft made by mistake can't be deleted (PF-A09-08). The Owner field offers every company, customers and suppliers included; choosing one is refused only when you save. A draft saved by mistake can't be deleted (the ⚙ Actions menu offers Duplicate only) and stays in the list, named "/". Leave it as a draft, and use the Generated or Draft filter to hide it. See Export everything we keep about one owner as one zip.
  • An owner's stock is counted differently on the portal, in the reports and in the owner export (PF-A09-05). An owner's stock is counted in three slightly different ways. Owner Stock and the owner export's stock.csv count internal and transit locations; the owner's portal counts internal locations only. The portal also lists units counted as Missing "in our custody", which Owner Serials leaves out, and its home card counts lines, not units. When the numbers differ during a reconciliation, check for units in transit and for Missing units first. See See the stock we hold for each owner (Owner Stock).
  • (to confirm) The Forecasted report lists owners' receipts and deliveries while its totals leave owners' units out; The product's On Hand button shows our own stock but opens a list that includes owners' units, with no hint (PF-A09-03, PF-A09-04). The list that On Hand opens includes the owners' units, so its total is larger than the number you selected, with nothing on screen to say why; read the Held for Owner column. In the Forecasted Report, the lines list the owners' open receipts and deliveries (for example Northwind's WH/IN/00010 and WH/OUT/00014) although the totals above them leave them out. For an owner's quantities, use Owner Stock. See Read our own stock figures while we hold owners' stock.
  • Five owner reports open from a link for Inventory and Sales users who have no Rx Tracking right (PF-W23-01). Neither user has the Rx Tracking menu, but from a saved link Inventory users can open Owner Stock, Owner Serials, Owner Movements, Owner Returns and Owner Holds, and Sales users Owner Stock, Owner Movements and Owner Returns; their Export CSV is refused. See The owner reports aren't in the menu, or an Access Error opens.

Reference​

Owner portal handouts​

  • A former client (archived owner profile) still sees upload forms, but every upload ends on "404 Not Found"; An upload far over 10 MB, or sent after the session expired, ends on a bare error page instead of the Receipts message (PF-A09-02, PF-A09-06). A file far over 10 MB, or a page left open until the session expired, ends on a bare error page ("Request Entity Too Large", or "Oops! Something went wrong." with no message below it) instead of a red message on the Receipts page. After your service with your 3PL has ended, the Receipts page may still show upload fields, but each upload ends on "Error 404"; send the file to your 3PL instead. See Understand a refused upload and what to do next.
  • A new owner's portal user sees no owner card on My Account, and the portal has no other entry point (PF-A09-01). While your 3PL holds no stock, document, receipt, hold or discrepancy of yours, for example right after your access was set up, My account shows none of the five owner cards and no menu leads to the owner pages. Go to PORTAL-ADDRESS/my/dscsa/owner instead (or your bookmark): it opens the Stock We Hold for You page and its tabs, which say "We hold no stock for you at the moment." and similar lines until there is something to show. See Sign in to the owner portal for the first time.
  • An owner's stock is counted differently on the portal, in the reports and in the owner export (PF-A09-05). A unit counted as Missing stays in the Serialized units in our custody table, although your 3PL doesn't have it on its shelves, and the page leaves out stock on its way between your 3PL's sites. Your 3PL's own reports and the export it can make for you may therefore show other totals. If a figure doesn't match what you expect, ask your 3PL. See See the stock your 3PL holds for you.
  • The owner portal has no "Download all" zip of documents, unlike the customer portal; "Received for you" documents offer no file on the owner portal, though the supplier's EPCIS file is frozen with them (PF-A09-07, PF-A09-11). A document "Received for you" offers no file: its Files column is empty and its page says "No stored file.", although your 3PL keeps your supplier's EPCIS file with it. Ask your 3PL for the file. There is also no button to download all your documents at once: download each file, or ask your 3PL for an export of your records. See Find, open and download your DSCSA documents.
  • The owner's Holds page shows the lot's internal quarantine reason, which can name another party's receipt; The recall's proposed Hold Reason names the recalling owner and its instruction reference, and it is sent to every other owner of the lot; The owner portal's tables cut every long text at the column edge, so the owner can't read a hold's reason or a discrepancy's description; After a late file, the held lot's reason keeps "… Attach the supplier's data or record the owner's confirmation to release the lot." (PF-A09-10, PF-W18-01, PF-W24-01, PF-W24-02). The Reason column shows only the start of a long reason, with no way to read the rest on the page; ask your 3PL, or read its hold notice. The reason is the text your 3PL recorded for the whole lot: it may name a receipt that isn't yours, another company that recalled the lot, or ask for supplier data that has already arrived. See See which of your lots and units are on hold, and why.

Barcode app​

  • Counting DSCSA units one by one in the Barcode app over-counts (PF-W25-04). Counting unit by unit over-counts: the first scan of a lot sets the counted quantity to the whole lot on hand (for example 22), and each further unit scanned adds one (23, 24, …). Count the units by hand, then type the number with the pencil icon. See Count DSCSA stock in the Barcode app.
  • Barcode app inventory counts need the product's Barcode field, and counted serials must be scanned again in the DSCSA Serials dialog (PF-A10-06). Without the product's Barcode field, the count answers "This product doesn't exist." to its DataMatrix, although receipts and deliveries work without it. Set Barcode = GTIN on every DSCSA product you count in the app. See Count DSCSA stock in the Barcode app.
  • Scrapping a DSCSA product from the Barcode app is always refused: its Scrap page has no DSCSA Serials field (PF-A10-01). Scrapping a DSCSA product from the Barcode app is always refused, because its Scrap page has no DSCSA Serials field. Use the Inventory app ("Scrap the units in the Inventory app"). See Scrap DSCSA units when you work in the Barcode app.
  • The Barcode app's line counts don't follow DSCSA scans (PF-W25-01). After the first DSCSA scan, the line no longer shows the ordered quantity: it reads 2 instead of 2/12, and a receipt you leave and reopen can read 12/8. Count the units in hand against the purchase order or the Operations tab of the form. If you validate before every unit is scanned, the app doesn't ask about a backorder: Odoo puts the rest in a backorder itself, and the notification says "Following backorder was created: WH/IN/NNNNN". See Receive DSCSA units in the Barcode app, Pick and ship a delivery in the Barcode app.
  • Receipt warnings (missing Transaction Statement, GLN missing, owner data missing) don't show in the Barcode app (PF-A10-05). The Barcode app doesn't show the receipt's warnings: the missing Transaction Statement banner, "GLN missing", and the 3PL "No supplier data yet" banner. Validating in the app goes ahead: with a file that has no affirmed Transaction Statement, the lot is quarantined at validation. After importing a file, check the receipt's Inventory form for a banner before you validate in the app. See Receive DSCSA units in the Barcode app.
  • A non-DSCSA line left at 0 ships in full when DSCSA units were scanned (PF-W25-02). When you scan DSCSA units but leave a line of a non-DSCSA product at 0, validating ships that product in full, although the Incomplete Transfer dialog says it goes to a backorder. To keep a non-DSCSA product back, open the delivery in the Inventory form and set its Quantity on the Operations tab to 0 before you validate. See Pick and ship a delivery in the Barcode app.
  • A transfer created in the Barcode app refuses DSCSA serial scans (PF-W25-03). A transfer created in the Barcode app refuses DSCSA serial scans, with a message ("… only 0.0 ordered.") that doesn't say why. Use lot scans for internal moves, and create receipts and deliveries from their orders, not in the app. See Move DSCSA stock internally, or in pick and pack steps, in the Barcode app.
  • A serial scanned by mistake in the Barcode app can't be seen or removed there, and lowering the line doesn't unscan it (PF-A10-02). The Barcode app has no way to see or remove a DSCSA scan, and lowering the line doesn't remove it. Remove the scan in the transfer's Inventory form. In the form, don't type the Quantity of a scanned receipt line either: it can leave a line without a lot, which Validate refuses (PF-W05-02). Remove the scan with ✖ instead. See Undo or correct a serial scanned by mistake.
  • Nothing sets or checks the GS1 nomenclature, and without it every DataMatrix is simply "not recognised" (PF-A10-10). Nothing sets or checks the nomenclature for you. A company left on Default Nomenclature gets no warning: every DataMatrix is "not recognized". Check this setting first when scanning doesn't work. See Switch the company to the GS1 barcode nomenclature.
  • Installing the Barcode add-on changes Point of Sale for serial-only GS1 codes of non-DSCSA products (PF-A10-09). Installing the add-on also changes Point of Sale: a GS1 code with only a GTIN and a serial (no lot) no longer fills the serial number of a serial-tracked product there. It doesn't affect the Barcode app or Inventory. See Switch the company to the GS1 barcode nomenclature.
  • The Barcode app doesn't recognize a scan that starts with a ]d2 symbology prefix (PF-A10-08). The Barcode app doesn't recognize a scan that starts with a symbology prefix (]d2), although the Scan Serials dialog accepts it. With no line selected, the app answers "This product doesn't exist.". When a line of the product is selected, it adds a sub-line whose lot is the whole code instead, with the quantity 1, and records no unit. Turn the prefix off in the scanner's set-up, and select such a sub-line's trash icon to take it off the line again. The human-readable form (01)…(21)… typed by hand is recognized (corrected by PF-V02m-02: the first report said it wasn't). See Prepare scanners, products and operation types for DataMatrix scanning.
  • Counting a lot held for several owners in the Barcode app puts a scan on the selected line, whatever the unit's owner; In a Barcode app count, the first scan of a unit of a lot held by several owners counts one unit on every owner's line (PF-A10-07, PF-W28-01). In Inventory count, a lot held by you and by owners has one line per owner. The first unit you scan counts one unit on every owner's line of the lot (3/31 after one scan of lot BPDPZ2508K), and every later unit is counted on the line selected, whatever the unit's owner: a Summit unit and one of yours scanned after a Northwind unit both go on Northwind's line. Count each owner's units by hand and type each line's quantity with its pencil icon, or count in the Inventory app (Count stock and record the units that are gone). See Scan owner stock in the Barcode app.
  • The Barcode app labels the transfer owner "Assign Owner", not "Held for Owner"; The Barcode app lists the Title Transfer operation types, where nothing can be done; The Barcode app's transfer cards and search don't show or offer the owner, so an owner's delivery looks like your own (PF-A10-11, PF-W28-02, PF-W28-03). The app names the owner differently and hides it in places. The transfer's details (select the transfer's name at the top of the app) show the owner as Assign Owner, Odoo's own label, not Held for Owner; it is the same field. The transfer cards in Operations don't show the owner and the search offers no owner, so find an owner's transfer by its source document. The Title Transfer operation types are listed in Operations although nothing can be done there. See Scan owner stock in the Barcode app.
  • Batch transfers in the Barcode app drop the serial of DSCSA scans, so DSCSA receipts and deliveries can't be completed in a batch (PF-A10-04). Batch transfers drop the serial of DSCSA scans, so a DSCSA receipt or delivery, owner or own, can't be completed in a batch. Scan owner transfers one by one. See Scan owner stock in the Barcode app.
  • Just-in-time deliveries in the Barcode app are untested, and the bridge narrows the lot pre-fill to our own stock (PF-A08-08). On a just-in-time delivery the lot pre-fill looks only at your own stock, so the line shows no owner even when it takes a just-in-time owner's units. Nothing is lost: the serial scans decide which units ship, and Validate buys the owner's units. Scan every unit's serial on such deliveries. See Scan a lot on an owner transfer: the owner-aware lot pre-fill.
  • A delivery line switched to the scanned lot shows the reserved lot's expiry date (PF-V02m-01). When a delivery line switches to the scanned lot, it can show the reserved lot's expiry date next to the scanned lot's name, for example BPSMS2509C (08/31/2028) for a unit of lot BPSMS2509C, which expires 09/30/2028. The unit and its lot are recorded correctly. Read the expiry on the delivery's DSCSA Packages tab in the Inventory form, or on the lot. See Pick and ship a delivery in the Barcode app.
  • A scrap refused in the Barcode app leaves a draft scrap order named "New" (PF-F10-01). When the Barcode app refuses a scrap of DSCSA units, the refused attempt stays as a draft scrap order named New in Inventory ‣ Operations ‣ Scrap, and the app doesn't say so. Complete that draft with the serials in the Inventory app, so that no stray drafts pile up. See Scrap DSCSA units when you work in the Barcode app.

Suspect product​

  • A termination request has no reminder or due date (PF-A11-11). Nothing reminds anyone of a termination request FDA hasn't answered, and the list has no column or filter for it. The field's help says FDA responds in about 10 business days. Schedule an activity on the investigation yourself (Activities in the chatter) for the day you expect the answer. See File a follow-up, or request the termination of a notification.
  • Investigation records aren't retained: they can be deleted, no export includes them, legal hold doesn't cover them (PF-A11-02). A closed investigation isn't protected: an Rx Tracking Manager (and any Quality Administrator) can delete it from the ⚙ (Actions) menu, no retention export includes investigations, and legal hold doesn't cover them. The modules follow the reading that investigation and disposition records are kept at least six years after the investigation concludes (FD&C Act § 582, record-keeping provisions; see Compliance background). Your procedure decides how investigation records are kept; don't delete investigations, and attach the submitted data sheets and FDA's replies to the chatter. See Close an investigation, Give staff access to investigations.
  • The deadline activity keeps the first deadline (in UTC) after the determination changes; the quarantine reason shows a raw classification key (PF-A11-07). After Determined Illegitimate On changes, the activity's due date follows, but its note still names the first deadline, and the note gives it in UTC while the form shows your local time. Go by Notification Deadline on the form. See Record that the product is illegitimate and start the 24-hour clock, Quarantine the lot from its investigation.
  • With no trading partners listed, the FDA date alone closes the deadline; nothing prompts Find Trading Partners (PF-A11-06). When Trading Partners to Notify is empty, FDA Notified On alone removes the banner and marks the activity done with "FDA and trading partners notified.", even if the lot was received from a supplier and shipped to customers. Run Find Trading Partners first (ILL-02). See Record the notifications to FDA and to the trading partners.
  • The deadline banners of an illegitimate-product investigation break over three lines (PF-T03e-01). Both banners break over three lines: the deadline stands on a line of its own, followed by "." (yellow) or ")." (red). The text is complete; only the layout is broken. See Keep notifications within the 24-hour deadline.
  • Changing the lot of an investigation keeps the previous lot's Form 3911 items (PF-A11-04). Changing the Lot or Product of a saved investigation fills only the Form FDA 3911 items that are empty: the previous lot's number, expiry, quantity and serials stay. After changing the lot, correct Lot Number(s), Expiration Date(s), Quantity (Number and Unit) and Serial Number(s) by hand, or clear them, save, and select the lot again. See Open a suspect-product investigation for a lot.
  • Form 3911 item 15 is left empty, without a word, when the lot has more than 200 units in custody (PF-A11-10). When the lot has more than 200 units in your custody, Serial Number(s) stays empty without a message. List the serials from the lot's Packages smart button, and attach the list to the investigation. See Open a suspect-product investigation for a lot.
  • With the Quality add-on, every receiving-discrepancy quarantine opens a suspect-product investigation, even for a missing Transaction Statement (PF-A02-02). A receiving discrepancy or a missing Transaction Statement also opens a Suspect product investigation, for example Quarantine of lot BPDPZ2509M after 23 of 24 units arrived. When the supplier's statement is recorded later, the lot is released by itself, but the investigation stays open. Close it by hand when the documentation gap is the only issue (Close an investigation). See Follow the investigation a lot quarantine opens automatically.
  • Releasing the lot from an investigation leaves no trace on the investigation (PF-A11-08). The release leaves no line in the investigation's chatter; only Lot Quarantine shows the new state. Log a note on the investigation with the release reason and date. See Release the lot from its investigation.
  • The Release Lot window can't release a lot that holds owner units (PF-W15-01). When the lot holds units you keep for a 3PL owner, the Release Lot dialog asks for each owner's release instruction and then fails with "Validation Error … Owner Release Instruction (Release Window) … Field: Lot (lot_id)"; nothing is released. Lots of your own stock only are not affected. See Quarantine and release, from an investigation, a lot that holds owners' units. Noted on Release the lot from its investigation, Quarantine and release, from an investigation, a lot that holds owners' units.
  • Any quarantine fails when the lot's company can use no Quality team (PF-A11-09). When no team can be used by the lot's company, every quarantine in that company fails with "No quality team found for this company. Please go to configuration and create one first.", including the automatic holds when a receipt is validated. Clear the Company of a team, or create one for that company. See Error: "No quality team found for this company.". Noted on Set up investigations: D-U-N-S number, automatic investigations, Form 3911 data.
  • A user without Rx Tracking rights can empty an investigation's DSCSA fields (import or RPC), and change its lot or close it in the Quality app (PF-A11-01). Quality staff without an Rx Tracking right see investigations in the Quality app and can move them to Solved (which closes them) or change their lot; an import by them that empties a DSCSA field is accepted and turns the investigation into a plain quality alert. Give the Quality right only to people your procedure allows to work on suspect-product cases. See Give staff access to investigations.
  • Nothing tells an owner that its investigation was determined illegitimate, and its Form 3911 can't be sent as a recorded owner notice (PF-A11-03). Nothing in Odoo tells the owner that its investigation was determined illegitimate, and the data sheet can't be sent as an owner notice (no notice is created when you record the determination). Send it yourself or by your own channel, and keep the proof on the investigation. See Prepare an owner's trading partners and Form FDA 3911, and hand them to the owner.
  • On a new investigation, a lot number typed before the product is offered only as "Create", which makes a new empty lot (PF-W26-01). Selecting Create makes a new lot with no units. Select the Product first, then the lot, and never select Create. See Open a suspect-product investigation for a lot.
  • An Rx Tracking user can clear DSCSA Investigation on any investigation, even an illegitimate one whose FDA notification was recorded (PF-W26-02). The record then leaves Suspect Investigations and its date rules no longer apply; only the chatter records the change. Close an investigation instead of clearing the field. See Who may change an investigation, and every rule that refuses.
  • Form 3911's Contact Person (item 24) stays the investigation's first Responsible when the Responsible changes (PF-W27-01). The data sheet then prints the first person's name, phone and email. Before you print, select the person FDA may contact. See Complete and print the Form FDA 3911 data sheet.
  • The printed Form FDA 3911 isn't kept: nothing records what was submitted, and a later print shows today's values (PF-W27-02). Each print shows the investigation's current values, and no copy is attached. Attach the copy you submitted to the investigation's chatter. See Complete and print the Form FDA 3911 data sheet.
  • An illegitimate investigation can be closed with its notifications not recorded, without a warning; the default list then hides it although it is overdue (PF-W27-03). The investigation stays overdue, but the default In Progress filter hides it. Remove that facet when you check for overdue notifications. See Keep notifications within the 24-hour deadline, Close an investigation.
  • Type of Report stays empty when the DSCSA investigation is chosen after a quality alert's form opened (PF-A11-05). Type of Report is filled in only for an investigation started with New in Inventory ‣ Rx Tracking ‣ Suspect Investigations. On a quality alert whose DSCSA Investigation is chosen after the form opened, new or already saved (for example from a failed quality check), it stays empty while the other Form FDA 3911 items are filled in. Select Initial notification by hand. The printed data sheet ticks Initial notification even while the field is empty. See Use Quality Control checks alongside DSCSA operations, Open a suspect-product investigation for a lot, Form FDA 3911 items are empty, or show another lot.

Shared reference and access​

  • The Rx Tracking / Manager group description says managers answer trace requests; users do too (PF-A04-09). The Manager description says managers answer trace requests. Users do too: an Rx Tracking User creates, searches and responds to a trace request; only Cancel Request is for managers. See What each Rx Tracking role can see and do.
  • Every update of the core gives the administrator and OdooBot the Rx Tracking Manager right again (PF-W01-03). Every update of Rx Tracking (DSCSA) makes the administrator and OdooBot Rx Tracking Manager again. If your procedure keeps the administrator out of DSCSA work, clear the right again after each update. See What each Rx Tracking role can see and do.
  • The Rx Tracking ‣ Settings menu opens a settings page without the DSCSA block for a Rx Tracking Manager who is not Inventory Administrator (PF-W02-01). Inventory ‣ Rx Tracking ‣ Settings (in the Configuration section) is shown to a Manager with Administration: Settings, but opens a settings page without the DSCSA (Rx Tracking) block unless the person is also Inventory Administrator. See The DSCSA (Rx Tracking) block isn't in the settings. Noted on What each Rx Tracking role can see and do.
  • Ledger vs Stock per Owner is open to DSCSA users, while the core Ledger vs Stock is for managers only (PF-A09-09). Ledger vs Stock per Owner (in the 3PL ‣ Reports section) is open to every Rx Tracking User, and its Our Own Stock filter lists the same differences as Ledger vs Stock, which only managers see. See What each Rx Tracking role can see and do.
  • Investigation records aren't retained: they can be deleted, no export includes them, legal hold doesn't cover them (PF-A11-02). An Rx Tracking Manager (and any Quality Administrator) can delete an investigation, including one whose FDA notification is recorded. Your procedure decides who may delete them; the software doesn't prevent it. See What each Rx Tracking role can see and do.
  • Sales and purchasing staff can't see why a partner is not authorized before the gate refuses (PF-A01-09). Sales and purchasing staff can't open the partner's DSCSA tab or its licenses, so they learn why a partner is refused only when they confirm. Ask an Rx Tracking user to check the partner first (Check whether a partner is an authorized trading partner). See Working with DSCSA products without an Rx Tracking right.
  • A Purchase user without Inventory or Rx Tracking rights can't cancel any confirmed purchase order (PF-W20-05). A Purchase User without an Inventory or Rx Tracking right can't cancel a confirmed purchase order, even one without DSCSA products: Cancel shows "You are not allowed to access 'DSCSA Package' (dscsa.package) records. …". Ask a colleague with Inventory User (or an administrator) to cancel it. See Working with DSCSA products without an Rx Tracking right, Error: "You are not allowed to access ... records".
  • A chatter message to the buyer of a mode-A owner document gives the buyer a link that opens it, without "Publish to Buyer" (PF-A06-01). When someone posts a chatter message on an owner's document with the document's buyer as a recipient, the email's View button opens the document for the buyer, even if the owner's documents are issued to the owner only and nobody selected Publish to Buyer. Don't message the buyer from an owner document that is issued to the owner only. See What portal users and link recipients can read.
  • Uninstalling the 3PL add-on makes owners' mode-A documents visible to their buyers on the customer portal (PF-A12-02). Uninstalling the 3PL add-on removes the owner rules, so buyers then see owner documents that were issued to the owner only. See Update or uninstall the modules. Noted on What portal users and link recipients can read.
  • A user without contact rights who sets a partner's DSCSA Role is told only that DSCSA users can (PF-W04-02). A person without a right to edit contacts who sets a partner's DSCSA Role or Small Business Dispenser gets this message, but the Rx Tracking User right alone doesn't let them edit the contact: they also need Contact Creation (PF-W03-02). Give both, or hand the task to someone who has both. See Error: "Only DSCSA users can ...".