Troubleshooting: owner profiles and instructions
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 an operation on an owner's stock is refused for its owner instruction, or when owner profiles, instructions or owner portal access stop with an error. The instruction refusals come first: every shipment, return, scrap, release, recall, title transfer and Publish to Buyer of owner stock can show them.
In the entries, OWNER is the owner company, INSTRUCTION an instruction as the software names it ("REFERENCE (KIND, OWNER)"), and COMPANY your company.
Error: "OWNER's instruction (KIND) is required for …"
What you see: the operation is refused, for example:
3PL/OUT/2026/00005 can't be confirmed:
- Northwind Generics LLC's instruction (Ship to a customer) is required for 3PL/OUT/2026/00005: record the owner's order or approval first.
The general form is "OWNER's instruction (KIND) is required for TARGET: record the owner's order or approval first.", where KIND lists the accepted kinds (for a scrap, "Scrap / Destroy") and TARGET is the record, or "this operation" when it isn't saved yet.
When: you confirm an owner order, validate an owner delivery, custody receipt or return, scrap owner units, release a lot or an owner hold, recall, validate a title transfer or publish a document, with no instruction given, while the owner's policy is Required. See Which owner instruction each operation needs.
Cause: the owner's profile requires its instruction for this operation, and the operation's instruction field is empty. An owner whose profile is archived always counts as Required.
Remedy: resolution.
- If the owner's instruction isn't recorded yet, record it with its evidence: Record an owner's instruction.
- On the refused record, choose it in the instruction field (for an owner order, Owner Instruction).
- Repeat the action that failed.
If the owner and you agreed that this owner's operations don't need an instruction, an Rx Tracking Manager can set Owner Instructions to Optional on its profile (Set the owner's policies). Your procedure decides whether that is acceptable.
Who can fix it: Rx Tracking User or Manager (recording and choosing the instruction); Rx Tracking Manager (the policy).
Error: "Instruction … is not a … instruction."
What you see:
3PL/OUT/2026/00005 can't be confirmed:
- Instruction NWG-RTN-3104 (Return to the owner (custody), Northwind Generics LLC) is not a Ship to a customer instruction.
When: the instruction chosen on the operation is of another kind, for example a custody-return instruction on an owner's sale.
Cause: each operation accepts only some kinds; see Which owner instruction each operation needs.
Remedy: resolution. Choose an instruction of the right kind in the operation's instruction field, or record one (Record an owner's instruction); then repeat the action. For an owner order, check also its Kind (Owner's sale or Custody return to the owner).
Who can fix it: Rx Tracking User or Manager.
Error: "Instruction … is from …, not from …"
What you see:
[DEMO-DPZ-20] Demoprazole 20 mg Delayed-Release Capsules, 30 count can't be scrapped:
- Instruction SSP-SCRAP-3109 (Scrap, Summit Specialty Pharma Inc.) is from Summit Specialty Pharma Inc., not from Northwind Generics LLC.
When: the instruction chosen belongs to another owner than the units. The scrap's Owner Instruction list offers every owner's scrap and destroy instructions (known issue PF-A07-08), so this happens most often on a scrap.
Cause: only the owner of the units can instruct you about them.
Remedy: resolution. Choose the instruction of the units' owner (check Held for Owner), or record one, and repeat the action.
Who can fix it: Rx Tracking User or Manager.
Error: "Instruction … was already used on …"
What you see: one of these:
- Instruction NWG-SHIP-3101 (Ship to a customer, Northwind Generics LLC) was already used on 2026-09-27 13:48:01.
- Instruction INSTRUCTION was given for another record.
- Instruction INSTRUCTION was already used for, or given for, another record: record a new instruction from the owner.
When: two operations were given the same instruction before either was done (for example two draft owner orders), and you now finish the second one; or an instruction recorded for one lot's release is used on another record.
Cause: an instruction is used by one operation only. The date in the first message is in Coordinated Universal Time (UTC), not your local time (known issue PF-W13-07): compare it with the instruction's Used On.
Remedy: resolution.
- Open the instruction (Find an owner's instructions and see which are used): For Record names the operation that used it.
- Get the owner's instruction for this second operation and record it (Record an owner's instruction).
- Choose the new instruction on the refused record and repeat the action.
Who can fix it: Rx Tracking User or Manager.
Error: "Instruction … belongs to another company."
What you see: "Instruction INSTRUCTION belongs to another company."
When: in a database with several companies, an instruction of one company is given to an operation of another, usually by an import.
Cause: an instruction counts only in the company it was recorded in.
Remedy: resolution. Record the instruction in the operation's company (switch company in the top bar first) and give that one.
Who can fix it: Rx Tracking User or Manager of that company.
Error: "… has no active owner profile in …: instructions are recorded for owners only."
What you see:
OWNER has no active owner profile in COMPANY: instructions are recorded for owners only.
When: you save a new instruction (Record an owner's instruction), or a release window records the reference you typed for an owner.
Cause: the partner in Owner has no owner profile in your company, or its profile is archived.
Remedy: resolution. Choose the owner company itself in Owner. If its profile is archived, an Rx Tracking Manager re-activates it first (Change, end or re-open an owner relationship); see also the known issue there about archived owners' stock.
Who can fix it: Rx Tracking User or Manager (the owner); Rx Tracking Manager (the profile).
Error: "Owner instructions are frozen once recorded …"
What you see: one of these, usually from an import:
Owner instructions are frozen once recorded: record a new instruction instead. Refused change of: FIELDS.
Owner instructions are 3PL records: they are kept for good and never deleted.
An instruction is marked used by the operation that uses it, not by hand.
An instruction's target needs both its model and its record.
Unknown model MODEL.
When: someone changes, deletes or imports an instruction with Used On, For Model or For Record filled in. On screen, a saved instruction is read-only and has no Delete.
Cause: an instruction is evidence of the owner's order: it is kept for good as recorded, and only the operation that uses it fills in its use.
Remedy: workaround. Record a new, correct instruction and say in its Notes which one it replaces. The wrong one stays, and stays selectable (known issue PF-A05-05); don't choose it.
Who can fix it: Rx Tracking User or Manager.
Error: "Owner code … use 2 to 12 capitals …"
What you see:
Owner code CODE: use 2 to 12 capitals, digits or hyphens, without four digits in a row (document numbers put the year after it).
When: you save an owner profile (Create an owner profile).
Cause: the code is too short or too long, has another character (a space, an underscore), or has four digits in a row, which would be read as a year in the document numbers.
Remedy: resolution. Enter a code such as BLUE, NWG or NW-2, then save.
Who can fix it: Rx Tracking Manager.
Error: "Another owner of this company already uses this document code."
What you see: "The operation cannot be completed: Another owner of this company already uses this document code."
When: you save an owner profile whose Code another profile of the company has, archived ones included.
Cause: the code starts the owner's document numbers, so it is unique in the company.
Remedy: resolution. Choose another code and save.
Who can fix it: Rx Tracking Manager.
Error: "This partner already has an owner profile in this company (it may be archived)."
What you see: "The operation cannot be completed: This partner already has an owner profile in this company (it may be archived)."
When: you save a new profile for an owner that has one, or select Duplicate in a profile's ⚙ (Actions) menu (known issue PF-W13-02).
Cause: a partner has one owner profile per company. An archived profile counts.
Remedy: resolution. Select Discard changes. In Inventory ‣ Rx Tracking ‣ Owners (in the 3PL ‣ Configuration section), select the Archived filter, open the owner's old profile and re-activate it (Change, end or re-open an owner relationship).
Who can fix it: Rx Tracking Manager.
Error: "The company's own stock needs no owner profile."
What you see: one of these:
The company's own stock needs no owner profile.
PARTNER is a contact of COMPANY: the owner profile belongs to the commercial entity.
When: you save a profile whose Owner is your own company, or (by an import) a person or address under a company.
Cause: an owner is always another company. Your own stock is held without an owner.
Remedy: resolution. Choose the owner company in Owner, or discard the profile.
Who can fix it: Rx Tracking Manager.
Error: "The service end date is before its start date."
What you see: "The service end date is before its start date."
When: you save a profile whose Service End is earlier than its Service Start.
Cause: the dates are the other way round, or one of them is mistyped.
Remedy: resolution. Correct the dates and save.
Who can fix it: Rx Tracking Manager.
Error: "The TI business address of … must be the owner or one of its addresses."
What you see: "The TI business address of OWNER must be the owner or one of its addresses."
When: an import sets TI Business Address to a partner that doesn't belong to the owner. On screen, only the owner's addresses are offered.
Cause: the owner's transaction information shows the owner's own business address.
Remedy: resolution. Choose the owner or one of its addresses.
Who can fix it: Rx Tracking Manager.
Error: "Turn on third-party logistics …"
What you see: one of these:
Turn on third-party logistics (Inventory settings, DSCSA 3PL) for COMPANY before creating owner profiles.
Turn on third-party logistics for COMPANY before re-activating [CODE] OWNER.
When: you save a new owner profile, or unarchive one, while 3PL is off for the company.
Cause: owner profiles exist only while the company holds stock for owners.
Remedy: resolution. An administrator turns 3PL on (Turn on third-party logistics for a company); then create or re-activate the profile.
Who can fix it: Administrator with Administration: Settings, who is also Inventory Administrator and Rx Tracking Manager.
Error: "Record the reference of … written authorization …"
What you see: on screen, Authorization Reference turns red and the profile isn't saved. By an import:
Record the reference of OWNER's written authorization to issue its documents.
When: Authorized Us to Issue Its Documents is selected without an Authorization Reference (Set how the owner's documents are issued).
Cause: issuing mode B rests on the owner's written authorization, so its reference is required.
Remedy: resolution. Enter the reference (and the date and evidence), or clear Authorized Us to Issue Its Documents, then save.
Who can fix it: Rx Tracking Manager.
Error: "Only DSCSA managers record an owner's authorization …"
What you see: "Only DSCSA managers record an owner's authorization to issue its documents."
When: a user with the Rx Tracking User right imports or sends the authorization fields. On screen those fields are hidden from such users.
Cause: the written authorization is recorded by Rx Tracking managers only.
Remedy: resolution. Ask an Rx Tracking Manager to record it.
Who can fix it: Rx Tracking Manager.
Error: "Just-in-time transfers for … need issuing mode B …"
What you see:
Just-in-time transfers for OWNER need issuing mode B: we generate the owner's transaction information and statement at the transfer, so we must be authorized to issue them.
When: you select Just-in-Time Transfers for an owner in mode A, or clear the written authorization of a just-in-time owner (Allow title transfers or just-in-time transfers, or make the owner a consignor).
Cause: at a just-in-time transfer the software issues the owner's transaction information and statement, which needs mode B.
Remedy: resolution. Select Discard changes. Then either record the owner's written authorization first (Set how the owner's documents are issued), or clear Just-in-Time Transfers before you clear the authorization.
Who can fix it: Rx Tracking Manager.
Error: "Consignor owners are turned off …"
What you see: "Consignor owners are turned off for COMPANY (Inventory settings, 3PL)."
When: you save a profile with Owner Type Consignor, or re-activate a consignor's profile, while the company setting Consignor owners is cleared.
Cause: the company decided not to hold consignment stock.
Remedy: resolution. Set Owner Type to Owner (3PL client), or have an administrator select Consignor owners (Choose the company's 3PL policies).
Who can fix it: Rx Tracking Manager (the profile); the administrator of the 3PL settings (the setting).
Error: "An owner profile's owner and company can't change …"
What you see: "An owner profile's owner and company can't change: archive it and create a new profile."
When: an import changes Owner or Company of a saved profile. On screen both are read-only once saved.
Cause: documents, numbering and stock refer to the profile's owner and company.
Remedy: resolution. Archive the profile and create a new one (Change, end or re-open an owner relationship, Create an owner profile).
Who can fix it: Rx Tracking Manager.
Error: "Owner profiles are never deleted …"
What you see: "Owner profiles are never deleted: archive the profile when the relationship ends." On screen, the profile's ⚙ (Actions) menu has no Delete.
When: someone tries to delete an owner profile, for example by an import or through the API.
Cause: owner profiles are kept for good with the owner's records.
Remedy: resolution. Archive the profile (Change, end or re-open an owner relationship).
Who can fix it: Rx Tracking Manager.
Error: "… has no active owner profile, so DSCSA stock can't be held for it …"
What you see: one of these:
DSCSA owner isolation (3PL):
- [DEMO-DPZ-20] Demoprazole 20 mg Delayed-Release Capsules, 30 count (WH/OUT/00014): Northwind Generics LLC has no active owner profile, so DSCSA stock can't be held for it (Rx Tracking > 3PL).
3PL/OUT/2026/00005 can't be confirmed:
- Northwind Generics LLC has no active owner profile in Demo Rx Distribution LLC.
When: you validate a transfer of an owner's units, or confirm its owner order, after its profile was archived.
Cause: the profile was archived while the owner's stock was still in your custody (known issue PF-A05-02). Stock is held only for owners with an active profile.
Remedy: resolution.
- Re-activate the profile (Change, end or re-open an owner relationship).
- Repeat the action and ship the remaining units back or buy them.
- Archive the profile again once the owner's stock is gone.
Other owner isolation messages ("DSCSA owner isolation (3PL): …") are explained in Error: "DSCSA owner isolation (3PL): ...".
Who can fix it: Rx Tracking Manager.
The owner is not an authorized trading partner
What you see: on the owner's profile, Authorized Trading Partner is cleared and Authorization Issue shows a reason in red, for example "OWNER (manufacturer) has no valid FDA establishment registration: license NUMBER expired on DATE." The owner's receipts, shipments, returns and title transfers are refused with a reason that starts "Owner:".
When: a license of the owner expired, was never verified, or is missing for its DSCSA role.
Cause: the owner is checked with the same rule as any trading partner.
Remedy: resolution. Follow Check whether an owner is an authorized trading partner, and fix it. The reasons are explained one by one in Troubleshooting: products, partners and licenses.
Who can fix it: Rx Tracking Manager.
Error: "The contact … does not have a valid email."
What you see: an Invalid Operation dialog with one of these messages from Odoo's portal:
The contact "NAME" does not have a valid email.
The contact "NAME" has the same email as an existing user
When: you select Grant for a person without a portal login (Give an owner's contacts the owner portal).
Cause: the new login is the person's email address, so it must be valid and not already another user's login.
Remedy: resolution. Select Close, then Close on the Owner Portal Access window. Correct the email on the person's contact (or, for a shared address, give the person its own address), then open the window again and select Grant.
Who can fix it: a user who can edit contacts (for example with Contact Creation), then an Rx Tracking Manager.
Error: "The owner profile of … is archived …"
What you see: the Owner Portal Access window says "This owner profile is archived: its contacts' access can be revoked, not granted." and shows no Grant. Through the API: "The owner profile of OWNER is archived: its portal access can be revoked, not granted."
When: you open the window from an archived profile.
Cause: a former client's people may keep their access until you revoke it, but nobody new gets it.
Remedy: resolution. If the owner is coming back, re-activate its profile first (Change, end or re-open an owner relationship).
Who can fix it: Rx Tracking Manager.
Error: "… is not a contact of …"
What you see: the person isn't listed in the Owner Portal Access window, or the window says "The owner has no contacts yet: add its people as contacts of the owner company first." Through the API: "PARTNER is not a contact of OWNER: the owner portal is granted to the owner's own contacts only."
When: the person is a contact of another company (a company under the owner counts as another company), or has no company.
Cause: the owner portal shows one owner's records, so only that owner's own people get it.
Remedy: resolution. On the person's contact, set Company to the owner company (or create the person under it), then open the window again. See Onboard a trading partner: DSCSA role, GLN and address.
Who can fix it: a user who can edit contacts, then an Rx Tracking Manager.
Error: "… is an internal user …"
What you see: the person's line shows Internal user and has no Grant. Through the API: "PARTNER is an internal user: the owner portal is for the owner's portal users only."
When: the person has an internal (employee) login in your database, archived ones included.
Cause: the owner portal is for portal logins only.
Remedy: resolution. Give the person a separate contact with its own email address under the owner company, and grant that one.
Who can fix it: Rx Tracking Manager.
Error: "… already has the owner portal of …"
What you see: through the API, or from a window left open while someone else changed the access, one of these:
PARTNER already has the owner portal of OWNER.
PARTNER has no owner portal access.
PARTNER has no portal user.
When: you grant a person who has the owner portal already, revoke a person who doesn't have it, or Odoo's portal window created no login for the person.
Cause: the window's line was out of date, or the person's login was archived.
Remedy: resolution. Close the window and open it again from the profile: Access shows the current state. For "has no portal user", check the person's login in Odoo's own portal window (the contact's ⚙ (Actions) menu, Grant portal access).
Who can fix it: Rx Tracking Manager.
Error: "Only DSCSA managers grant or revoke the owner portal."
What you see: "Only DSCSA managers grant or revoke the owner portal." (through the API), or Odoo's access error when you select Grant for a person without a portal login, for example:
You are not allowed to create 'Grant Portal Access' (portal.wizard) records.
This operation is allowed for the following groups:
- Extra Rights/Contact Creation
When: a user without the Rx Tracking Manager right opens the window or grants; or a manager without Odoo's Contact Creation right grants a person who has no login yet. Users with the Rx Tracking User right don't see Grant Owner Portal Access at all.
Cause: granting the owner portal is for Rx Tracking managers, and creating a portal login is Odoo's own Contact Creation right.
Remedy: resolution. Ask an Rx Tracking Manager who has Contact Creation, or ask an administrator to add Contact Creation to your user (in developer mode, Settings ‣ Users & Companies ‣ Users, the user's Access Rights tab, Extra Rights). A manager without Contact Creation can still grant the owner portal to a person who already has a portal login.
Who can fix it: an administrator (the rights); an Rx Tracking Manager with Contact Creation (the grant).