Arrival Notice OCR and Data Extraction
Turn carrier arrival notices into reviewed shipment records. Extract B/L references, vessel and voyage, ETA, port, container numbers, consignee details, printed charges and free-time dates before planning pickup.
Arrival notices land in your inbox days before demurrage clocks start, and the details buried in them — container numbers, last free day, charges — are exactly the details you cannot afford to mistype. GainingDocx pulls them out as structured data.
Container numbers on the notice are verified with the ISO 6346 check-digit algorithm, and port and vessel details can be cross-checked against the original Bill of Lading in the same shipment.
No sign-up for your first document · 15–30 seconds per page
Short answer
What an arrival notice parser extracts
Extraction turns a carrier or agent arrival notice into a structured record: B/L and booking references, vessel and voyage, ETA and actual arrival, port and terminal, every container, the consignee and notify party, each charge line, and any printed free-time or last-free-day date. The free-time date is the field that matters most, because it converts a PDF attachment into a tracked deadline.
- Free time and last free day as structured dates
- Every charge line separately, not a total
- Containers validated and matched to the B/L
- Terminal captured, not just the port
Arrival Notice Fields Extracted
- B/L reference and carrier
- Vessel, voyage and ports
- Container numbers and sizes
- Consignee and notify details
- Key dates printed on the notice
Arrival Notice Validation and B/L Matching
Computed in code — the AI never does the math.
- Container check digits (ISO 6346)
- Port names vs UN/LOCODE
- Cross-document consistency with the B/L
How to Extract Arrival Notice Data
- 01
Upload or photograph the document — pages are compressed on your device.
- 02
Review the extracted fields; deterministic checks flag anything suspicious.
- 03
Export to Excel, CSV or JSON, or generate the counterpart document.
The document that costs money when it is not read
Arrival notices are the highest-consequence routine document in import operations, and they are the one most likely to sit unread in a shared mailbox. By the time the notice arrives, free time is typically already running. Every day between delivery and action is a day removed from the collection window, and the cost of losing that window is demurrage measured in hundreds per container per day.
The value of extracting an arrival notice is not saving keystrokes. It is converting a date buried in a PDF into a tracked field on a shipment record, so the deadline is visible to whoever is looking at the shipment rather than to whoever happened to open the email.
Extract the printed date, do not compute it
Free time counting depends on the tariff's start event, its inclusive or exclusive convention, and its treatment of weekends and holidays. A parser that derived a last free day from an ETA and a free-day count would be guessing. What is extracted is what the notice actually printed; use the demurrage calculator against the governing contract to check it.
Fields extracted
| Group | Fields |
|---|---|
| Notice | Notice number, issue date, issuing carrier, NVOCC or destination agent, agent contact |
| Shipment references | B/L number, house B/L number, booking or manifest reference, customer reference |
| Parties | Consignee, notify party, and the broker where named |
| Arrival | Vessel, voyage, ETA, actual arrival or discharge date, port of discharge, terminal, place of delivery |
| Equipment | Container numbers, sizes and types, seal numbers where shown |
| Cargo | Packages, gross weight, measurement, goods description |
| Charges | Each charge line with its description, basis, amount and currency |
| Free time | Free days allowed, free-time start, last free day, empty return location and deadline where printed |
| Release | Release requirement — original, telex or express — and any outstanding condition stated |
Checks applied
- Container check digits recomputed under ISO 6346
- Container numbers compared against those on the Bill of Lading for the same shipment
- B/L reference matched to an existing shipment record where one exists
- Port of discharge matched against the bundled UN/LOCODE dataset
- Charge lines totalled and compared against any printed total
- Date ordering checked between ETA, arrival and last free day
- A last free day already in the past flagged prominently rather than recorded silently
Turning a notice into action
- 1Extract the notice and match it to the shipment by B/L number, confirming the containers agree.
- 2Read the last free day into the shipment record and set a working deadline at least two days earlier.
- 3Check the release requirement and start whatever it needs — original documents and bank releases have the longest lead times.
- 4Compare each charge line against the quotation and raise any undisclosed charge immediately.
- 5Confirm the customs entry is filed and that no hold — customs, carrier, terminal or other agency — is outstanding.
- 6Book haulage and a terminal appointment against the terminal named on the notice, not the port generally.
- 7Note the empty return location and deadline at the same time, because detention starts at collection.
What makes arrival notices hard to read
Arrival notices are among the most heterogeneous documents in freight. They are generated by carriers, NVOCCs and destination agents, each with its own template, and many are essentially formatted emails rather than structured documents.
- Charges are frequently a free-text block rather than a table, with abbreviations that vary by agent
- Free time may be stated as a date, as a number of days, as both, or not at all
- The same document may carry both a house and a master B/L reference without labelling which is which
- Terminal names are local shorthand that does not appear in any standard dataset
- Notices are often sent as an email body rather than an attachment, or as a screenshot of a portal
- Some notices cover several containers with different last free days, stated in a footnote
Try it on your own document — free, no sign-up
Start parsingArrival Notice OCR FAQ
What teams ask most often before putting arrival notice parser output into a customs filing, a payment run or a downstream system.
What data is extracted from an arrival notice?
The notice number and issuer, B/L and booking references, consignee and notify party, vessel and voyage, ETA and arrival date, port of discharge and terminal, every container with size and seal, packages and weights, each charge line separately, and any printed free-time allowance, free-time start or last free day, plus the release requirement stated.
Does it calculate the last free day for me?
It extracts the last free day the notice prints. It does not compute one from an ETA and a free-day count, because free-time counting depends on the tariff's start event, its inclusive or exclusive convention and its treatment of weekends and holidays — all of which live in the contract rather than the notice. Use the demurrage calculator to check the printed date against the governing terms.
Can it warn me before free time expires?
Once the last free day is a structured field on the shipment record, it becomes a tracked date visible against the shipment rather than a line in a PDF. That is what makes an alert possible at all — the extraction is the prerequisite, and the deadline stops depending on whoever happened to open the email.
Are the charges extracted as separate lines?
Yes. Each charge is captured with its description, basis, amount and currency rather than as a single total, because a total cannot be audited. Charge blocks on arrival notices are frequently free text with agent-specific abbreviations, and lines that cannot be parsed confidently are surfaced for review rather than dropped.
Does it match the arrival notice to my Bill of Lading?
Yes, by B/L number and by container numbers. Where the notice references a shipment already in the workspace, it is linked automatically. A container appearing on the notice that is not on the B/L — or the reverse — is reported as a discrepancy, because it may mean the notice relates to a different shipment or that equipment was substituted.
What if the arrival notice arrives as an email rather than a PDF?
Many do, and they are handled the same way. Email intake accepts the message body as well as attachments, so a notice sent as formatted text is extracted rather than requiring somebody to save it as a file first. Forwarded chains and inline images are common and are processed as they arrive.
Does the parser capture the terminal, not just the port?
Yes, where the notice states it. The terminal is what haulage is booked against and what determines the appointment system you need, and a port-level record is not actionable. Terminal names are local shorthand with no standard dataset behind them, so they are captured as printed rather than normalised.
Can it handle a notice covering several containers with different free time?
Yes. Free-time information is captured per container where the notice differentiates, which happens more often than people expect — containers discharged from different vessels or held for examination frequently carry different last free days on the same notice, sometimes stated only in a footnote.
Does an arrival notice tell me the cargo has been released?
No, and the distinction matters. An arrival notice informs you of arrival, charges and free time. Release requires the transport document surrendered or released, charges settled and customs cleared, and collection requires a delivery order. Holding a notice confers no entitlement to the cargo.
What if the charges on the notice were never quoted?
Raise it in writing immediately rather than at payment. Extracting the charge lines makes the comparison against your quotation fast, and the practical reality is that the carrier will generally not release cargo while charges are outstanding — so an unresolved dispute accrues demurrage. Speed matters more than the merits.
Can I export arrival notice data to my TMS?
Yes. Reviewed data exports to Excel, CSV or structured JSON, and the JSON structure keeps container rows and charge lines as arrays rather than flattening them, so a downstream system receives the detail rather than a summary.
Does it work with NVOCC and forwarder notices as well as carrier notices?
Yes. NVOCC and destination-agent notices are the more variable of the two — frequently free-text, frequently carrying both house and master references — and are handled with the same field model. Where the document does not label which reference is house and which is master, that ambiguity is surfaced for review rather than guessed.
Arrival notices vary wildly by carrier. Does that matter?
The parser is layout-agnostic — it reads the document like a human would, then structures what it finds. Unrecognized extras are preserved rather than dropped.
Can it remind me before the last free day?
Parsed dates are stored with the document. Automated LFD reminders are on the roadmap; today the Next Action engine surfaces the document for review.
Can I match the notice to my B/L automatically?
Documents sharing a B/L number are grouped into the same shipment automatically, ready for cross-checking.
Do I need an account?
Not for your first document — parse one free, then sign up to keep it.
Related tools, templates and guides
- Demurrage and detention calculatorCheck the free time and charges the notice announces against your contract.
- Arrival notice data sheetPrepare or verify an arrival notice field by field.
- Demurrage and detention guideHow free time is counted and how to audit a charge.
- Bill of Lading parserThe transport document the arrival notice references.