Fill a booking or shipment from a document with AI

Guide information

Audience: Documentation, Booking Officer
Time required: about 10-15 minutes per document
Outcome: A shipment filled with Shipper, Consignee, Notify Party, POL, POD, MBL No., HBL No. and Incoterm, plus 2 container lines and 1 cargo line, all cross-checked against the original Shipping Instruction (SI) before you apply them

Requirements

This tutorial requires the installation of the following applications/modules:

  • Document Parsing - a paid add-on you install separately. It installs Freight Document Parsing automatically alongside Freight Forwarder Management, which adds the Import from Document action and the 5 freight document templates.

A Shipping Instruction or Booking Confirmation repeats data that is already sitting in a PDF, a scanned image or an Excel file. Retyping it into Viindoo costs time and risks a slipped digit on a container number or an MBL No. that later blocks printing the HBL. AI Document Parsing reads the uploaded file and proposes the values - it never writes to the record until you review and click Apply to Record. If a term here is new, see the Freight forwarding glossary.

Running scenario: Hoa (Documentation) at Hai Long Logistics fills the confirmed export shipment for Nhat Long Footwear (SHP/26xx/000nn, 2 x Container 40FT HC, Hai Phong Port to Port of Los Angeles, carrier ONE Line, Incoterm CFR (Port of Los Angeles), Freight Prepaid) directly from the customer’s Shipping Instruction file SI_NhatLongFootwear_HLLHPHLAX2611-001.pdf.

Before you start

  • The Shipment or Booking already exists. Import from Document only fills a record that is already open - it cannot create a new Shipment or Booking from a document. This shipment was created earlier from a confirmed quotation: see Quote a full container load for sea export.

  • You are in the User: All Shipments group if you are analyzing a document for a shipment you did not create yourself - User: Own Shipments can only view shipments, it cannot run this wizard.

  • An administrator has configured and tested an approved AI Provider with a model that can read the uploaded file type - see Set up AI providers and freight document templates. Use the provider preselected in this wizard or choose another approved provider explicitly.

  • You already have the customer’s document in hand (PDF, a photo, or an Excel file exported to PDF).

Step 1: Open the Import from Document wizard

This wizard is the only entry point for AI to read a document - there is no dedicated menu item, only an action on a record that is already open.

Go to Freight Forwarding ‣ Operations ‣ Direction ‣ Export and open the shipment for Nhat Long Footwear (SHP/26xx/000nn). Click the gear icon Action at the top of the form, then choose Import from Document.

Confirmed shipment SHP/2610/00001 with the Actions menu open and Import from Document highlighted.

After you click it: the Import from Document wizard opens on this shipment, with the status bar on Pending and nothing extracted yet.

Tip

Step 1 is done when: the wizard’s Record: line shows SHP/26xx/000nn - the Nhat Long Footwear shipment, not another one.

Step 2: Choose the document type, AI provider and upload the file

Choosing the wrong document type sends the AI looking for the wrong set of fields - each document type has its own list of fields to extract.

  • Document Type: Shipping Instruction (FCL). Only 4 choices appear here because the field’s domain filters by the Shipment: SI FCL, SI LCL, Bill of Lading (Ocean) and Arrival Notice.

  • AI Provider: OpenAI - preselected because the administrator made it the default in Set up AI providers and freight document templates.

  • Upload File: choose SI_NhatLongFootwear_HLLHPHLAX2611-001.pdf.

Import from Document wizard before analysis: Shipping Instruction (FCL), OpenAI and the uploaded SI_NhatLongFootwear_HLLHPHLAX2611-001.pdf.

Tip

Step 2 is done when: Document Type reads Shipping Instruction (FCL) and the file name is visible in the Upload File box.

Step 3: Analyze the document

This is the step that actually calls the AI - it can take a few seconds to tens of seconds, depending on how long the file is.

Click Analyze Document.

After you click it: the status bar at the top moves to Done, and three tabs appear:

  • Extracted Fields - 12 rows: Shipper, Consignee, Notify Party, POL, POD, MBL No., HBL No., Vessel, Voyage, ETD, ETA, Incoterm.

  • Containers - 2 rows.

  • Cargo - 1 row.

The same Import from Document wizard after a real OpenAI analysis, with Extracted Fields and confidence values available for review; nothing has been applied to the shipment.

Note

The number of container and cargo rows is exactly what the AI returned from the file - the system does not count or cross-check this number against a second source in the document (for example a “total packages” line). If the AI misreads and merges 2 containers into 1, the Containers tab will just show 1 row with no warning at all.

Warning

If the file is longer than 40 pages, the system rejects it outright with a message such as: “The document has <N> pages, over the 40-page limit for AI extraction. Please split it into smaller files.” This does not apply to a 1-2 page SI like this one.

Tip

Step 3 is done when: the status is Done and the extracted rows are available for review. A High rating does not replace checking the original document. Review every Low - review carefully or Not found row in Step 4 before applying any data.

Step 4: Cross-check the extracted fields, containers and cargo

This step is mandatory by process, even though the software does not force it: the AI can misread a name or split/merge containers incorrectly.

Open the original PDF side by side and read every row of Extracted Fields against it: Shipper = Nhat Long Footwear, Consignee = Pacific Coast Forwarding Agency, Inc., Notify Party = Pacific Coast Forwarding Agency, Inc., POL = Hai Phong Port, POD = Port of Los Angeles, MBL No. = ONEY204512367, HBL No. = HLLHPHLAX2611-001, Incoterm = CFR.

Note

The SI itself reads “SAME AS CONSIGNEE” for Notify Party - a common shorthand. The system auto-replaces that exact phrase with the Consignee’s name, so the row already shows Pacific Coast Forwarding Agency, Inc., not the literal PDF text.

In this example, POL and POD can show Low - review carefully because the SI uses port names while the existing shipment uses the coded locations Vietnam - HPH (VN) and United States - USLAX (US). Check that they refer to the same ports. If those locations are already correct on the shipment, untick Apply for POL and POD to keep them; do not assume that a readable port name has been matched to the right location record.

Then check the other two tabs:

  • Containers: ONEU4567895 / seal OL2604187 and ONEU4568124 / seal OL2604188, both represent 40-foot high-cube containers. Type shows the text returned by AI (for example 40FTHC), which may differ from the Container 40FT HC name in your container-type records. Compare the equipment against the SI.

  • Cargo: 1 row, Sneakers, HS 6404.19.90, 1,200 CTNS, gross weight about 21,600 kg.

Containers extracted in the same real AI analysis: ONEU4567895 and ONEU4568124 with their seal numbers, before applying anything to the shipment. Cargo extracted in the same real AI analysis: Sneakers, HS code 6404.19.90, quantity 1,200 cartons, gross weight 21,600 kg and volume 100.8 cubic metres, before applying anything.

If a row is wrong or missing: untick Apply on that row. The Extracted Value column is read-only - you cannot type a correction into it - so the right value has to be typed on the Shipment form after Step 5 instead. The Containers (Container No., Seal No., Match to) and Cargo (Description, HS Code, Quantity, Gross Weight…) tabs are different: you can correct those values directly inside the wizard.

Tip

Step 4 is done when: all 12 header rows, both container rows and the cargo row have been read back against the original SI - none of them left at its default without being looked at.

Decide what to do with a Low-confidence or Not-found field

Option

Use when

What changes

Untick Apply, type the correct value on the Shipment form after Step 5

You can read the correct value on the file and the AI got it wrong

The field is not written wrong; you fill in the right value yourself

Untick Apply, leave the field blank

You are not sure of the value yet and need to check with the customer

The field keeps its current Shipment value (if any), or stays blank

Leave Apply ticked on a Low-confidence port/partner field

You know the missing port or partner record will be created afterwards

Apply skips that field and shows “Applied with warnings” - no wrong value is written

If you are not sure, untick Apply and type the correct value on the Shipment form afterwards.

Step 5: Apply the data to the shipment

This is the only step that writes anything official - before this, everything sits on the temporary wizard only.

Click Apply to Record.

After you click it: the 2 container lines are written first (the shipment had none yet), the 1 cargo line is written second, then the header fields (Shipper, Consignee, Notify Party, POL, POD, MBL No., HBL No., Incoterm, Vessel, Voyage). The wizard closes and you land back on the shipment form.

Open each created container and check Container Type against the SI. The raw AI Type text in Step 4 does not guarantee that a container-type record was matched. If the field is empty, set Container 40FT HC manually before continuing with booking or cargo loading.

Note

Vessel = ONE COMMITMENT and Voyage = 026W are written to the Shipment, but they do not show on the main form: the “Import Operations” field group they belong to only appears when Direction = Import, and this is an export shipment. Check these two values through the Chatter’s Log tab instead (both fields track changes there).

Warning

If a value - for example a port name - does not match any existing partner record in the system, Apply to Record still runs, but shows a notification “Applied with warnings” together with a line such as “No port found matching ‘…’ for field ‘…’. Skipped.” That field is skipped, not written with a wrong value.

Tip

Step 5 is done when: the shipment shows 2 x Container 40FT HC (ONEU4567895, ONEU4568124), 1 cargo line of 1,200 cartons at about 21,600 kg, and Shipper/Consignee/POL/POD/Incoterm all matching the SI - with no red error banner left.

Step 6: Save the original file to the shipment’s record

The wizard does not keep the file you uploaded - skip this step and you lose the original evidence for any dispute later.

On the shipment form, drag the file SI_NhatLongFootwear_HLLHPHLAX2611-001.pdf back into the Chatter. This is a separate, manual step - Apply to Record in Step 5 does not keep the file.

Tip

Step 6 is done when: SI_NhatLongFootwear_HLLHPHLAX2611-001.pdf appears in the shipment’s attachments, next to the data you filled in during Step 5.

See also

Request documents and prepare the SI and draft B/L - where an SI checked here goes next: approval and sending to the carrier.

Known limitations

Step

What Viindoo does today

What you do instead

Any step

Cannot create a new Shipment or Booking from a document, only fills one already open

Create the Shipment first (manually or from a quotation), then run this wizard on it

Step 4

Extracted Value is read-only - no inline correction

Untick Apply, then type the correct value on the Shipment form after Step 5

Step 3-4

Container/cargo row count is not cross-checked against a second source

Count the rows yourself against the original file before Apply

Step 4

“Required fields not found” only warns - it does not block Apply

Treat the banner as your own stop signal

Step 5

Vessel/Voyage are written but hidden on an export shipment’s form

Check them through the Chatter’s Log tab instead

Step 6

The uploaded file is discarded when the wizard closes

Drag the file into the Chatter yourself right after Apply

Troubleshooting

Analyze Document does nothing, or reports a missing file

Symptom: “Please upload a document file first.”

Cause: You clicked Analyze Document while the Upload File field was still empty.

Fix: Choose a PDF, image or Excel-exported-to-PDF file first, then click Analyze Document again.

No AI provider or document type selected

Symptom: “Please select an AI provider.” or “Please select a document type.”

Cause: Analyze Document checks both fields before calling the AI - this happens when no Default Provider is configured yet (see Set up AI providers and freight document templates).

Fix: Pick a Provider from the list by hand, or ask your Administrator to set a Default Provider on the configuration page.

File rejected for having too many pages

Symptom: “The document has <N> pages, over the 40-page limit for AI extraction. Please split it into smaller files.”

Cause: The uploaded PDF has more than 40 pages - rare for a 1-2 page SI, but possible if a customer sends a whole contract bundle in the same file.

Fix: Split out just the SI pages (usually the first 1-2 pages) into a new PDF file and upload that one instead.

Apply finished but a port or partner field was not written, with a warning

Symptom: “Applied with warnings” together with “No port found matching ‘…’ for field ‘…’. Skipped.”

Cause: The port name the AI read does not match (even loosely) any partner record in the system whose location type is a sea port or airport.

Fix: Create or correct that port’s name in the carrier and location records in Freight Forwarding configuration (add missing records first), then run Import from Document again, or type the value directly on the Shipment form’s POL/POD field.

Container or cargo line does not match, the wizard creates a new line instead

Symptom: After Apply, the Shipment has more container lines than you expected.

Cause: The matching logic pairs container lines by container type, then by order - if the Shipment already had a different-type or different-order container line before you ran the AI, the old line and the new AI line can end up side by side instead of merged.

Fix: Before clicking Apply to Record, check the Match to column on the Containers tab - if a row that should pair with an existing container was left blank, pick that container by hand, then Apply.