Validation & Shipping Standards
Container numbers, ports, dates, amounts, currencies and Incoterms, checked against the international standards as they are extracted
Why Validation Matters
Shipping documents flow between carriers, freight forwarders, customs brokers and port authorities worldwide. A single wrong digit in a container number or an unrecognised port code can delay clearance, trigger penalties, or hold up a whole vessel manifest. StarShipper checks these values at the point of extraction, before the data reaches your downstream systems.
The checks apply to the fields that have a standard to check against. A field name is matched to a validator by name, and more than 50 name patterns route to one of six validators: ports, dates, amounts, container numbers, currencies and Incoterms. A field with no matching standard, a description or an address for instance, is extracted and left alone.
Invalid data that will cause downstream failures. Shown with red borders.
Potentially incorrect data that should be checked. Shown with orange borders.
Data passes all checks. No border colour — clean and ready to send.
Important: Content validation does not reduce the overall document confidence score, and it does not change the document status either. Confidence measures how well the AI could read the document; content validation measures whether the data itself is correct. A document extracted at 98% confidence can carry a warning for an unrecognised port code and still be Ready.
A missing required field is the separate case that does hold a document back, sending it to Needs Review whatever it scored. How statuses are decided →
How Validation Works
Automatic checks at extraction time and on every field edit
Field Extraction
When a document is processed, StarShipper extracts all fields — either via direct parsing (XML, JSON, Excel, CSV, Word) or AI Vision (PDF and image files).
Field Routing
Each field name is matched to a validation type. For example, portOfLoading, pol, and loadingPort all route to the UN/LOCODE port validator. Over 50 field name patterns are recognised.
Standard-Specific Check
The value is checked against the relevant international standard — ISO 6346 for containers, UN/LOCODE for ports, ISO 4217 for currencies, and so on.
Inline Results
Errors and warnings appear directly on the field in the document review screen — red for errors, orange for warnings, with a clear message explaining the issue. Fix the value inline and it re-validates instantly.
Container Numbers — ISO 6346
Check-digit verification for every container number
An intermodal shipping container carries an 11-character identification code defined by ISO 6346. The last digit is a check digit calculated from the preceding 10 characters. StarShipper computes this check digit and flags containers where it doesn't match — catching transposition errors, OCR misreads, and typos before they reach your manifest or customs declaration.
Format: ABCU 123456 0
MSC, MAE, CMA)U=freight, J=detachable, Z=trailer) + 6 digitsPort Codes — UN/LOCODE
Checked against the UN/LOCODE table StarShipper maintains
The United Nations Code for Trade and Transport Locations (UN/LOCODE) is a 5-character code identifying ports and trade locations worldwide. StarShipper validates port codes in two stages: first checking the format (2-letter country code + 3 alphanumeric characters), then looking up the code against StarShipper's UN/LOCODE table, which is seeded from the published UN/LOCODE dataset and falls back to a built-in list of 166 major ports if the database is unreachable. A code the table doesn't hold is flagged as a warning rather than an error, since it may be a genuine location we haven't loaded.
Format: AUSYD
AU=Australia, CN=China, US=United States)SYD=Sydney, SHA=Shanghai)Name resolution: Documents carry port names more often than codes, so extraction resolves them against the same table before validation runs. Aliases are handled too, which is how "Port Botany" and "SYDNEY" both land on AUSYD. A name the table doesn't recognise is left as written rather than guessed at.
A sample of the table — 45 of the ports covered
The table is loaded from the published UN/LOCODE dataset and cached in memory, so lookups are instant. New ports are added by reseeding it, not by learning from your documents.
Currency Codes — ISO 4217
33 currencies validated against the ISO 4217 standard
Currency codes on commercial invoices and other trade documents are validated against the ISO 4217 standard. Invalid codes (e.g., "US" instead of "USD") are flagged as errors immediately.
Dates — ISO 8601
Format, range, and logic checks on all date fields
Dates are validated for correct ISO 8601 format (YYYY-MM-DD), calendar validity (no Feb 30 or Jun 31), and reasonable range (1990 to 10 years in the future). Invoice dates in the future also trigger a specific warning.
Financial Amounts
Numeric validation and range checks on all monetary values
Amount fields are checked to ensure they contain valid numbers, are non-negative, and fall within a reasonable range (up to $1 billion). This catches OCR errors that might introduce letters into numeric values or decimal point misplacements.
Incoterms 2020
All 11 ICC Incoterms recognised and validated
International Commercial Terms (Incoterms) define buyer and seller responsibilities for delivery, risk, and cost. StarShipper validates delivery terms against the ICC Incoterms 2020 standard. Non-standard terms trigger a warning.
| Code | Full Name | Transport |
|---|---|---|
| EXW | Ex Works | Any Mode |
| FCA | Free Carrier | Any Mode |
| CPT | Carriage Paid To | Any Mode |
| CIP | Carriage and Insurance Paid To | Any Mode |
| DAP | Delivered at Place | Any Mode |
| DPU | Delivered at Place Unloaded | Any Mode |
| DDP | Delivered Duty Paid | Any Mode |
| FAS | Free Alongside Ship | Sea/Waterway Only |
| FOB | Free on Board | Sea/Waterway Only |
| CFR | Cost and Freight | Sea/Waterway Only |
| CIF | Cost, Insurance and Freight | Sea/Waterway Only |
25 Shipping Document Types
Purpose-built schemas with required fields, auto-detection, and type-specific validation
StarShipper is built specifically for international shipping. Each of the 25 supported document types has its own extraction schema defining which fields are required, which are optional, and what validation rules apply.
Auto-detection: StarShipper identifies the document type automatically using field signatures — unique combinations of fields that distinguish one type from another. You can also pre-configure an inbox to expect a specific document type, in which case missing required fields for that type will be flagged.
Shipping-aware extraction
Generic document extraction tools can read text from a PDF. StarShipper goes further — it understands shipping documents. Here's what that means in practice: