Skip to main content

Troubleshooting: 3PL setup

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

What to do when the 3PL switch, the 3PL policies, a facility license or a jurisdiction record stops with an error or doesn't behave as expected. Entries are ordered from the most frequent. Refusals of owner transfers at a facility ("Facility … has no valid 3PL licence …") are on Troubleshooting: facility compliance records and the owner checks; rights in general are on Troubleshooting: access, companies and setup.

The 3PL settings block is missing​

What you see: in Inventory ‣ Configuration ‣ Settings there is no DSCSA: third-party logistics (3PL) block, or the menu item Inventory ‣ Configuration ‣ Settings isn't there at all.

When: you want to turn 3PL on or off, or change a 3PL policy (Turn on third-party logistics for a company, Choose the company's 3PL policies).

Cause: the block needs three rights at once. Without Administration: Settings the settings page doesn't open ("You are not allowed to access 'Config Settings' (res.config.settings) records."). Without Inventory Administrator the Inventory settings aren't shown. Without Rx Tracking Manager the two DSCSA blocks (DSCSA (Rx Tracking) and DSCSA: third-party logistics (3PL)) are hidden. A compliance manager with only Rx Tracking Manager can't open the settings.

Remedy: a resolution. Ask an administrator to give the user the missing right in Settings ‣ Users & Companies ‣ Users, Access Rights tab, or to change the setting for you.

Who can fix it: Administrator (Administration: Settings).

Error: "3PL can't be turned on for … DSCSA stock is already held for …"​

What you see:

3PL can't be turned on for COMPANY: DSCSA stock is already held for OWNER (product PRODUCT) through Odoo's consignment owner, without an
owner per serial. Move that stock to the company (or out of the warehouse) first; migrating legacy consignment is not supported.

When: saving the settings with Third-party logistics (3PL) selected (Turn on third-party logistics for a company).

Cause: before 3PL was on, a DSCSA product was received (or counted) with Odoo's owner field set to another partner, through Odoo's own Consignment setting. That stock has an owner per lot, not per serial, so the add-on can't take it over. Non-DSCSA stock held for a partner doesn't cause this.

Remedy: a resolution.

  1. Find the stock: go to Inventory ‣ Reporting ‣ Locations, search for the product named in the message and look at the Held for Owner column.
  2. Ship that stock out of the warehouse. For stock received from a supplier, the simplest way is to return it: open the receipt, select Return, scan the units in Serials (scan each package), select Return, then Validate the return.
  3. Select Save on the settings again with Third-party logistics (3PL) selected.

To keep holding those units for the partner, receive them again once 3PL is on, as an owner receipt (Create a receipt held for an owner), after setting the partner up as an owner.

Who can fix it: Rx Tracking User or Manager (the return); Administrator (Administration: Settings), Inventory Administrator and Rx Tracking Manager (the setting).

Error: "3PL can't be turned off for … while owner profiles are active …"​

What you see:

3PL can't be turned off for COMPANY while owner profiles are active ([CODE] OWNER): archive every owner profile first.

When: saving the settings with Third-party logistics (3PL) cleared (Turn third-party logistics off again).

Cause: at least one owner profile of the company is active. The message names one of them.

Remedy: a resolution, if the company really ends its 3PL activity.

  1. For each owner, ship its units back or buy them in place first (Send an owner's goods back to it).
  2. Archive each owner profile (Change, end or re-open an owner relationship).
  3. Clear Third-party logistics (3PL) and select Save again.

Who can fix it: Rx Tracking Manager (profiles); Administrator (Administration: Settings) with Inventory Administrator and Rx Tracking Manager (the setting).

Error: "3PL can't be turned off for …: DSCSA stock is still held for …"​

What you see:

3PL can't be turned off for COMPANY: DSCSA stock is still held for OWNER. Ship it back or transfer its title first.

When: saving the settings with Third-party logistics (3PL) cleared, after every owner profile was archived (Turn third-party logistics off again).

Cause: units of that owner are still in your custody: In Stock, Returned, Quarantined or Missing in Inventory ‣ Rx Tracking ‣ Packages (filter Held for an owner), or a stock quantity held for it.

Remedy: a resolution.

  1. Re-activate the owner's profile: its stock can't be moved while the profile is archived (known issue PF-A05-02, on Change, end or re-open an owner relationship).
  2. Ship the units back to the owner (Send an owner's goods back to it) or buy them in place (Buy an owner's units in place).
  3. Archive the profile again, then clear Third-party logistics (3PL) and select Save.

Who can fix it: Rx Tracking User or Manager (shipments); Rx Tracking Manager (profiles); an administrator with the rights above (the setting).

Error: "Consignor owners can't be turned off while …"​

What you see:

Consignor owners can't be turned off while [CODE] OWNER is an active consignor: archive its profile or change its type first.

When: saving the settings with Consignor owners cleared (Choose the company's 3PL policies).

Cause: an active owner profile has Owner Type Consignor.

Remedy: a resolution. Change that profile's Owner Type to Owner (3PL client), or archive the profile (Allow title transfers or just-in-time transfers, or make the owner a consignor); then clear Consignor owners and select Save again. Or keep Consignor owners selected.

Who can fix it: Rx Tracking Manager (the profile); an administrator with the rights above (the setting).

Error: "This document-issuance setting would put … in issuing mode A …"​

What you see:

This document-issuance setting would put [CODE] OWNER in issuing mode A, but just-in-time title transfers need mode B: turn JIT off on its
profile first.

When: saving the settings after changing Issue documents as the owner's agent, usually to Never (Choose the company's 3PL policies).

Cause: an owner has Just-in-Time Transfers on its profile. Just-in-time title transfers need documents issued in the owner's name to its customer (mode B), and the new setting would take mode B away from that owner.

Remedy: a resolution. Clear Just-in-Time Transfers on the owner's profile (Allow title transfers or just-in-time transfers, or make the owner a consignor), then change the setting again; or keep a setting under which the owner stays in mode B.

Who can fix it: Rx Tracking Manager (the profile); an administrator with the rights above (the setting).

Error: "Only DSCSA managers can change the third-party logistics (3PL) settings."​

What you see:

Only DSCSA managers can change the third-party logistics (3PL) settings.

When: importing or writing company records that change a 3PL setting (the switch, Owner counterparties, Warn only for owners with a recorded counterparty attestation, Issue documents as the owner's agent, Consignor owners, Hold scope, Owner isolation for non-DSCSA products), for example through Import records on the companies list or an integration.

Cause: the user isn't an Rx Tracking Manager. The settings page hides the 3PL block from such users; an import meets the same rule.

Remedy: a resolution. Have an Rx Tracking Manager make the change, or give the user that right.

Who can fix it: Administrator (Administration: Settings).

Error: "The 3PL owner-data flag and the title-transfer location are set by the system."​

What you see:

The 3PL owner-data flag and the title-transfer location are set by the system.

or, for code that runs with full rights:

The 3PL owner-data flag is never reset: the company's owner data stays segregated.

When: an import or an integration writes the company's 3PL Owner Data Exists flag or its DSCSA Title Transfer Location.

Cause: the add-on sets both itself: the location when 3PL is turned on, the flag when the company's first owner profile is created. The flag is never cleared, so the company's owner data stays apart even after 3PL is turned off.

Remedy: a resolution. Leave both fields out of the import.

Who can fix it: nobody needs to: the add-on manages them.

Held for Owner doesn't show although 3PL is on​

What you see: transfers don't show Held for Owner, Owner Receipt Kind, Custody Shipment or Owner Instruction, for any user, and an owner receipt can't be created from the form.

When: right after 3PL was turned on from the settings page with Odoo's Consignment setting (block Traceability) cleared, or later, after someone saved the Inventory settings with Consignment cleared.

Cause: these fields need Odoo's Consignment setting. Saving the settings page with Consignment cleared clears it, even in the same save that turns 3PL on (known issue PF-W12-03), and clearing it later hides the fields again (known issue PF-A05-01). Nothing warns.

Remedy: a resolution. In Inventory ‣ Configuration ‣ Settings, block Traceability, select Consignment, then select Save.

Who can fix it: Administrator (Administration: Settings) with Inventory Administrator.

3PL fields show on transfers while 3PL is off​

What you see: with 3PL off, receipts show Owner Receipt Kind and Owner Instruction under Held for Owner, and deliveries show Custody Shipment.

When: Odoo's Consignment setting is selected (for example after 3PL was turned off again: the setting stays on) and a transfer has Held for Owner set.

Cause: the fields follow Odoo's Consignment setting, not the 3PL switch (known issue PF-W12-01).

Remedy: a workaround. Leave the three fields empty while 3PL is off; they have no effect then.

Who can fix it: nobody needs to; see PF-W12-01.

Error: "Licence … names the facility …, which belongs to …"​

What you see:

Licence LICENSE names the facility FACILITY, which belongs to COMPANY: only that company's own licences are recorded per facility.

For example: "Licence CA State license DEMO-CA-NWG-3PL-1 names the facility Chico Distribution Center, which belongs to Demo Rx Distribution LLC: only that company's own licences are recorded per facility."

When: saving a license with a Facility (Record and verify our facility licenses).

Cause: Trading Partner is another partner (an owner, a supplier), not the company that owns the warehouse. Only our own licenses name a facility.

Remedy: a resolution. Either set Trading Partner to your company (for our own license), or clear Facility (for a partner's license). Then save.

Who can fix it: Rx Tracking Manager.

Error: "… is verified: the verification is evidence for its …"​

What you see: on the form, Activity and Facility of a verified license are read-only. An import that changes them is refused:

LICENSE is verified: the verification is evidence for its FIELDS, which can't change. To correct or renew it, archive it and record a new
license, then verify that one.

For example: "NY State license DEMO-NY-3PL-10277 is verified: the verification is evidence for its Activity, which can't change. …"

When: changing Activity or Facility on a verified license (Record and verify our facility licenses). The core license fields (number, partner, type, jurisdiction, dates) follow the same rule (Error: "… is verified: the verification is evidence …").

Cause: the verification vouches for what the license authorizes and for which facility, so those facts are frozen.

Remedy: a resolution. Record the corrected license and verify it, then archive the old one (Renew, correct or retire a verified license).

Who can fix it: Rx Tracking Manager.

A facility license is missing from Facility Licences, or doesn't count​

What you see: a license you recorded from Inventory ‣ Rx Tracking ‣ Facility Licences (in the 3PL ‣ Configuration section) isn't listed there after saving; or it is listed and verified, but owner transfers at the facility are still refused with "Facility … has no valid 3PL licence …".

When: after Record and verify our facility licenses.

Cause: the license was saved without Facility (it then shows only in Inventory ‣ Rx Tracking ‣ Licenses), or without Activity, or with an activity or type that doesn't count for the operation (known issue PF-A05-04). Only a State license (or Federal 3PL licence (future)) with Activity Third-party logistics counts for owner stock, and a State license with Wholesale distribution for title transfers and consignor stock.

Remedy: a resolution.

  1. Find the license in Inventory ‣ Rx Tracking ‣ Licenses.
  2. If it is still Unverified, fill in Facility and Activity, save it and select Mark verified.
  3. If it is already verified, record a new license with the right Facility and Activity, verify it, and archive the old one.

Who can fix it: Rx Tracking Manager.

Error: "Enter where the rule of … was verified …"​

What you see:

Enter where the rule of STATE was verified (Verification Source) before marking it verified.

When: selecting Mark verified on a jurisdiction record (Record that a state does not license 3PLs).

Cause: Verification Source is empty.

Remedy: a resolution. Enter where you checked the rule in Verification Source, save, and select Mark verified again.

Who can fix it: Rx Tracking Manager.

Error: "… already has a jurisdiction record in …"​

What you see:

STATE already has a jurisdiction record in COMPANY: archive it before recording a new one.

When: saving a new jurisdiction record, or unarchiving one (Record that a state does not license 3PLs).

Cause: a state has one active record per company.

Remedy: a resolution. Open the existing record (it may be unverified); to replace a verified one, archive it first, then record the new one.

Who can fix it: Rx Tracking Manager.

Error: "The jurisdiction record of … is verified …"​

What you see: on the form, State and Does Not License 3PLs of a verified record are read-only. An import or an integration gets one of:

The jurisdiction record of STATE is verified: the verification is evidence for its FIELDS, which can't change. Archive it and record a new
one, then verify that one.
A verified jurisdiction can't be set back to unverified: the verification is kept as evidence. Archive it and record a new one.

When: changing the state, the company or Does Not License 3PLs of a verified record, or clearing its verification.

Cause: the verification is kept as evidence of the rule as it was checked. Nobody can delete a jurisdiction record either: the ⚙ (Actions) menu has no Delete (PF-W12-02); code that tries gets "Verified jurisdiction records are evidence and are never deleted (STATES): archive them instead."

Remedy: a resolution. Archive the record (the ⚙ (Actions) menu, Archive), record a new one and verify it (Record that a state does not license 3PLs).

Who can fix it: Rx Tracking Manager.

Error: "A jurisdiction is verified with the "Mark verified" button …"​

What you see: an import or an integration gets one of:

A jurisdiction is verified with the "Mark verified" button, not by entering the verification date or verifier.
A jurisdiction is verified with the "Mark verified" button: its verification date and verifier can't be written directly.
Only DSCSA managers can mark a jurisdiction verified.

When: importing jurisdiction records with Verified On or Verified By, or an Rx Tracking User calling the verification.

Cause: only the Mark verified button records a verification, with the user and today's date, and only for an Rx Tracking Manager.

Remedy: a resolution. Import the records without Verified On and Verified By, then open each one and select Mark verified (Record that a state does not license 3PLs).

Who can fix it: Rx Tracking Manager.