CIFFA 2026 - VaughanSee the offer

Expected Documents

The checklist of documents, filings, identifiers and markings a shipment's destination, goods and mode call for - what each status means, the facts its conditions read, and how to declare a fact, mark a row or confirm which invoice lines a certificate covers.

Every shipment page carries an Expected Documents checklist: what the file should hold for its destination, its goods and its mode, and whether it does. Each row names what is expected, why, when it applies, and the source behind it.

The checklist is advice. A missing document is never a finding, never graded as an error, and never counted in the shipment’s status: a shipment can read Consistent with rows still missing. Filings, identifiers and markings are noted, not checked: CargoLint does not file anything or verify that a filing was made.

Where the rows come from

  • The destination’s profile - the documents, filings, identifiers and markings the destination asks for. See Destination Profiles.
  • The baseline - a transport document, a commercial invoice and a packing list, for every shipment. A destination’s own row for the same kind or family replaces the baseline row.
  • Transit profiles - the rows of each country the goods cross that has a transit profile.
  • The export profile - the rows of the export country, when it has one.
  • Regulated-goods lists - a row for each certificate, filing or marking a list names for the goods’ declared HS codes, unless the destination’s profile already has its own row for that agency.

Each row is judged on the shipment’s export date, else its invoice date, else the date of the evaluation, and a row not in force on that date is left out. The checklist header names the profile and the date.

Row kinds

  • Document - a document the file should hold: one kind (an air waybill, a phytosanitary certificate) or any kind of a family (any transport document). A document row is the only kind that can be missing.
  • Filing - something the importer, broker or carrier files with an authority: the Importer Security Filing, FDA prior notice, an EU entry summary declaration. A filing is not a document in the file, so it is noted rather than found or missing. Some filings list their elements (see below).
  • Identifier - a number or registration the importer or carrier holds: an EORI number, the status of authorised CBAM declarant, registration in Mexico’s Padrón de Importadores, a carrier bonded with the CBSA.
  • Marking - a marking on the goods or the conveyance: CE marking, seals intact to the port of exportation.

Statuses

Status What it means
Present A document of the kind or family is in the shipment, and CargoLint reads it.
Present · not read A document of the kind is in the shipment, but of a kind CargoLint recognizes without reading (a CITES permit, an in-transit manifest). The file holds it; nothing in it was checked.
Missing The row applies and no document of its kind or family is in the shipment. Graded Info or Warning, never Error: Warning only where the source asks for the document unconditionally and the fact behind it is certain. Some rows are graded by the shipment’s value, and the row says why under “Why this grade”.
Note A filing, identifier or marking that applies. Listed under “Filings and markings” so it is not forgotten.
Not needed The row’s condition does not hold for this shipment (“Applies when the goods move by sea”). These rows sit behind a “Show not needed” toggle: they say what else the destination can ask for, not what the file lacks.
Cannot tell The row’s condition reads a fact the documents do not give, such as the transport mode of a shipment with no transport document. The row is also listed among the checks not run. Declaring the fact settles it.

The page groups the rows as Missing (worst grade first), Cannot tell, Present, Handled (rows your team has marked) and Filings and markings. The header counts what is missing, what cannot be told and what is handled, or says Nothing missing.

Conditions and the facts they read

A row applies always, or under a condition over the shipment’s facts: the transport mode, whether the goods are on a regulated-goods list, whether the documents mention dangerous goods, where the goods originate, the preference claimed, the countries the goods transit, the country of the first port of arrival, whether the invoice carries a statement on origin, and the destination. Conditions combine (“by rail and through the United States”). A condition over a fact nobody knows is not guessed: the row reads Cannot tell.

The checklist lists each fact with its value and where it came from, so a Not needed or Cannot tell row can be traced to the document behind it:

Fact Read from Unknown when
Transport mode The kinds of the transport documents: a bill of lading is sea, an air waybill air, a consignment note road or rail No transport document is in the shipment
Regulated goods The HS codes declared on the documents, matched against the regulated-goods lists for the route: the destination’s lists, and the export country’s for export controls No document declares an HS code
Dangerous goods A UN number or dangerous-goods wording on any document; wording that says the opposite (“non-hazardous”) does not count No document’s text has been read
Origin of the goods The country of origin on any document, on the header or on the lines No document states the goods’ origin
Preference claimed The agreement the certificate of origin names, or its form where the form serves one agreement, or a statement on origin on the invoice where the export country and destination share an agreement that accepts one Never: with no certificate of origin, no preference is claimed
Transit countries The bill of lading’s routing, less the export country and the destination No transport document is in the shipment

Three more conditions read the route and the invoice directly: the destination (unknown when no document names it), the first port of arrival (unknown when no transport document names one; see Transport Documents), and the statement on origin (unknown when there is no invoice).

Dangerous-goods wording and UN numbers are evidence of what the documents say, not a declaration: CargoLint does not classify goods as dangerous.

Declaring a fact

The documents do not always say what a row needs, and sometimes they say it wrong. On your own shipment, you can declare five facts: the transport mode (one or more of sea, air, road and rail), whether the goods are dangerous, their origin countries, the agreement a preference is claimed under (USMCA, CPTPP, CETA, the EU-UK Trade and Cooperation Agreement, or EUR.1 and Pan-Euro-Med), and the transit countries. Use Declare, or Change for a fact already declared.

  • The declaration is read instead of the documents, and the fact names who declared it and when.
  • What the documents said is kept beside it (“the documents say sea (Bill of Lading bl.pdf)”), so the two can be compared.
  • Use the documents clears the declaration.
  • Saving checks the shipment again.

The regulated-goods fact cannot be declared: it comes from the declared HS codes, so a missing or wrong code is corrected on the invoice.

Through the API, a fact is declared with PUT /api/v1/shipments/{id}/facts/{factId} and cleared with DELETE on the same path. factId is mode, dangerous-goods, origin, preference or transit; the body’s values are modes, yes or no, ISO country codes, or an agreement. Every declaration is recorded in the audit log.

Marking a row

A row that is missing, cannot be told or is a note can be marked by your team:

  • Acknowledged - seen, and it will be handled.
  • Provided outside CargoLint - the document exists but is held by the broker, the carrier or the customer.
  • Not applicable - the row does not apply to this shipment, with the reason (required, up to 500 characters).

A mark never changes the row’s status: the row moves to Handled, still showing what the documents say, with who marked it and when. A mark on a row the documents have since satisfied is no longer shown. Clear removes it. Marking a row does not re-evaluate the shipment.

Through the API: PUT /api/v1/shipments/{id}/checklist/{requirementId}/disposition with disposition (acknowledged, provided or not_applicable) and note, and DELETE on the same path to clear it. Marks are recorded in the audit log.

Regulated-goods list rows

When a declared HS code matches a row of a regulated-goods list for the route, the checklist adds a row of its own for what the list names: a health certificate, a phytosanitary certificate, an export licence or a declaration of conformity, a filing such as FDA prior notice, or a marking such as CE. The lists cover the US FDA, USDA FSIS and USDA APHIS, Canada’s CFIA, EU CE marking, the EU’s CBAM goods, animal and plant health controls and dual-use export list, Great Britain’s border controls on animals and animal products, and Japan’s food import notification. See Compliance & Screening Checks.

These rows are always Info, since an HS code alone does not settle whether the requirement applies; the row’s note names the codes and the documents they were read from. A list row asking for a document can be Missing; one asking for a filing or a marking is noted (a CE marking row reads Present · not read when a declaration of conformity is in the file). Where the destination’s profile has its own row for an agency (the US profile’s FDA prior notice, the EU profile’s CHED rows), the list adds no second row.

The checklist records which lists it read and the review date each was loaded under (“Lists read”), so what a row says can be traced after a list is updated.

A certificate or declaration for particular goods often covers only part of the invoice. For a row about goods (one that applies because the goods are on a list, such as an FSIS meat inspection certificate), CargoLint reads the invoice line by line: the row applies to the invoice lines whose HS codes matched the list.

  • Proposed - for each certificate or declaration of the row’s kind, CargoLint proposes the invoice lines it covers, from the words their lines share: the product, a botanical name or species, a UN number.
  • Confirmed - on your own shipment, you confirm or correct the proposal per document: Confirm lines saves which lines it covers and which it does not. Once confirmed, CargoLint stops proposing for that document. Back to CargoLint’s proposal clears your word.

Expanded, the row lists each invoice line it applies to and the documents covering it, each marked confirmed or proposed. A line no document covers is:

  • Missing, once every matched document’s lines are confirmed: “No phytosanitary certificate covers line 3 (Okra).”
  • Cannot tell, while any matched document’s lines rest on CargoLint’s proposal, so a match the words missed never reads as a gap.

When CargoLint can propose no line for any of the documents and nobody has confirmed them, the row is read as a whole: the document’s presence is what counts. Its invoice lines are still listed, as not linked yet, so a user can confirm which ones each document covers and have the row read line by line.

Through the API: PUT /api/v1/shipments/{id}/documents/{documentId}/lines with the line numbers (counted from 0) in covered and notCovered, and DELETE on the same path to return to the proposal. Both are audited and check the shipment again.

Filing rows and their elements

Some filing rows list the elements the filing asks for, and say how many of them the shipment’s documents already give: the US Importer Security Filing and ISF-5, Air Cargo Advance Screening, FDA prior notice, Canada’s eManifest house bill and the EU’s ICS2 entry summary declaration. Each element is:

  • Found - on the document it is read from, with the value read (the ISF seller from the invoice, the ACAS air waybill number from the air waybill, the pieces and weight from whichever transport document the shipment has).
  • Missing - the document it is read from does not carry it, or that document is not in the file.
  • Not read - CargoLint does not read it from the documents, with the reason: the filer supplies it (an importer of record number, where release will be sought), or CargoLint does not read it from the documents (a container stuffing location, a CBSA carrier code).

An element can have its own condition: the container number applies by sea, the UN numbers when the documents mention dangerous goods. It is left out where the condition does not hold, and not read where the facts cannot tell. Where a house bill is in the file, the elements are read from it rather than the master, since filings read the lowest bill level.

The row stays a Note whatever its elements say: a filing is noted, never graded. The summary (“4 of 10 elements found on the documents, 1 missing, 5 not read from them”) says how much of the filing the file supports, not whether it was filed.

Who sees the checklist

Everyone in your organization sees the checklist on the shipment page, and can declare facts, mark rows and confirm lines. A partner organization you share the shipment with sees the same checklist, read-only. A shipment with no evaluation yet shows a checklist built live from its documents.

What’s next