Skip to main content

Owner exports and the owner column

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

What an owner export's zip file contains and how to check that a copy is complete and unchanged; and the owner column that 3PL adds to the package-ledger files. To make an export, see Export everything we keep about one owner as one zip.

What the owner export zip contains, and how to verify it​

An owner export's zip holds the records of one owner in one company: the export's company, never another. The examples below are from an export of Summit Specialty Pharma Inc. without a period.

The files​

FileWhat it holdsLimited by the export's period
documents.csvone row per DSCSA document whose Owner is the owner, in any state: outbound documents issued in its name, inbound documents received for it, its side of a title transfer in placeyes, by document date
documents/NUMBER/…the files frozen when each document was posted, byte for byte: T3-NUMBER.pdf and EPCIS-NUMBER.xml for an outbound document, the supplier's EPCIS file under its own name for an inbound one. The folder is the document number with - for /, for example documents/DSCSA-SSP-OUT-2026-00001/yes
ledger.csvthe package-ledger rows of the owner's movements: the columns of the monthly retention export, with the owner column (below)yes, by movement date
packages.csvevery package held for the owner, and every package shipped with the owner as seller of record, with its state nowno: always the complete, current list
stock.csvthe owner's quantities on hand now, in internal and transit locationsno: always current
instructions.csv, instructions/ID/…the owner's instructions, and their files when they have someyes, by date received
gate_log.csvthe trading-partner and facility checks made for the owner: the columns of the Gate Log CSVyes, by date
discrepancies.csvthe discrepancies of the owner's receipts, with every stored fieldyes, by date detected
notices.csv, holds.csv, owner_orders.csv, title_transfers.csvthe owner's notices, owner holds, owner orders, and the title transfers it sold or bought in, with every stored field and the files attached to them. A file with no record has its header row onlyyes, by creation date
index.csvevery file above with its size and SHA-256: file, bytes, sha256
export.txtwho exported what and when (below)

In the CSV files, linked records are written by name, and dates and times are UTC.

Columns of the main files:

  • documents.csv: document, direction, state, date, transaction_date, ship_date, partner, partner_gln, transfer, order_ref, invoice_ref, issue_mode, in_place, buyer_visible, posted_on, document_hash, files, sha256. files names the document's files in the zip and sha256 their hashes; document_hash is the document's own hash in the company's document chain, not a file hash.
  • packages.csv: product, ndc, gtin14, serial, sgtin, lot, expiry_date, sscc, state, held_for_owner (true when the package is held for the owner), seller_of_record, received_date, shipped_date, shipped_to.
  • stock.csv: product, ndc, gtin14, lot, expiry_date, location, odoo_package, quantity, reserved_quantity, uom.
  • gate_log.csv: date_utc, user, company, record_model, record_id, reference, owner, owner_gln, party, party_gln, party_role, facility, result, detail.

export.txt reads, for example:

DSCSA owner records export
Company: Demo Rx Distribution LLC
Owner: Summit Specialty Pharma Inc. (GLN 0614141000067)
Period: first record to the export (UTC days, both included)
Generated by Morgan Lee on 2026-09-27 22:16:58 UTC
Reason: Summit asked for a copy of its records (email of 2026-09-27).
Documents: 5; ledger rows: 26; packages: 20

Files (SHA-256):
documents/DSCSA-SSP-IN-2026-00003/3pl_ssp_jit-albany_DEMO-PTM-25_2ea.xml 8681 bytes SHA-256
…

With a period, the Period line gives its first and last day. The counts are those of the export form.

What is not in it​

  • Other owners' records and your own records.
  • The in-place documents that another seller addressed to the owner as buyer: only documents whose Owner is this owner are exported.
  • Chatter messages and activities.
Known issue

Known issue (PF-W23-02): a unit the owner sold to you in a title transfer is not in packages.csv (it is now your package, and the owner isn't its seller of record). Its title_out row in ledger.csv, the title transfer in title_transfers.csv and the owner's seller-side document show the sale.

Verify a copy​

  1. Compute the SHA-256 of the zip and compare it with the export's SHA-256 field in Odoo. For example, on Linux sha256sum owner_export_SSP_20000101_20260927.zip, on macOS shasum -a 256 …, in Windows PowerShell Get-FileHash … -Algorithm SHA256.

    Result: the two hashes are equal: the zip is the one that was generated.

  2. Unzip it and compute the SHA-256 of any file, for example documents/DSCSA-SSP-OUT-2026-00001/T3-DSCSA-SSP-OUT-2026-00001.pdf.

    Result: it equals the file's sha256 in index.csv, its line in export.txt and in the export's Contents list; for a document file, also the sha256 column of documents.csv.

The export and its zip are kept for good in Odoo and can't be changed or deleted, so the hash stored with the export stays the reference. See 3PL records that are kept.

The owner column of the retention export and of packages.csv​

Once your company has its first owner profile, the package-ledger CSV files get a last column, owner. It says, for each row, whose units moved: the owner's name for units held (or shipped) for an owner, empty for your own stock.

Background: the monthly retention export has an owner column so that the package ledger also works as a possession ledger: which facility received or shipped which owner's units, and when (FD&C Act § 582, record-keeping provisions; see Compliance background). This is how the modules read the law; it has not been reviewed by counsel. See the disclaimer.

Where it appears:

What it holds:

  • the owner of the movement (the owner the units moved for), so after a title transfer the earlier rows of a unit keep the earlier owner; a package that never moved shows its package's owner;
  • for a title transfer in place, two rows with the movement values title_out (the units leave the seller owner, into the company's "DSCSA Title Transfer" location) and title_in (they enter the buyer's stock).

For example, rows of the examples' on-demand retention export (other columns left out):

date_utcmovementreferenceserialowner
2026-09-07 17:00:00receiptWH2/IN/00001600000024001Summit Specialty Pharma Inc.
2026-09-27 17:59:50title_outWH/TT/00001600000023001Summit Specialty Pharma Inc.
2026-09-27 17:59:50title_inWH/TT/00002600000023001
Known issue

Known issue (PF-A04-04): these files share the core package ledger's labels: a scrap and a count loss both show movement removal, a count gain inventory_to_internal, and package_state is the package's state when the file was made, not after that move. See Get the monthly retention export, or export on demand.

The column comes with the company's first owner profile, archived profiles included. A company that never had an owner profile gets files without it, exactly as without 3PL. Once there, the column stays, also after 3PL is switched off.