AI for Freight Forwarding: What It Does Well and What It Doesn't

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Freight Forwarding: What It Does Well and What It Doesn't.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for AI for Freight Forwarding: What It Does Well and What It Doesn't.

For a small forwarder, AI does well at reading and writing: extracting data from invoices, packing lists and bills of lading, drafting quote emails and status updates, and sorting the inbox. It does badly at judgement: deciding whether a rate is fair, choosing a customs classification, or interpreting a ruling. Use it for paperwork, keep people on decisions.

The reason is mechanical. A language model is strong when the answer is in the text in front of it and weak when the answer depends on facts that change daily or on a rule it must apply exactly. Freight forwarding has plenty of both. The skill is knowing which half of each shipment you are handing over.

Follow me on Instagram@sagnikteaches

The test behind every verdict below

Each verdict on this page comes from one question: if the output is wrong, does a person see it before money moves or a box crosses a border? Documents and emails pass because a person reads them before sending. Rate and classification advice fails because a plausible wrong answer slides straight into a quote or an entry.

Connect on LinkedInSagnik Bhattacharya

That gives a three-way split you can apply to any new task you consider. Green tasks are where the AI works from text you supply and a person checks the result in minutes. Amber tasks are where the AI does the legwork but needs facts you must supply fresh each time. Red tasks are where the right answer depends on current market data or on a legal rule and the cost of an error is high.

Subscribe on YouTube@sagnikteaches
TaskVerdictWhat decides it
Extract fields from invoices, packing lists, bills of ladingGreenAnswer is on the page; compare IDs and weights
Draft quote and status emailsGreenYou supply the figures; a person sends
Triage the shared inboxGreenWrong label costs seconds
Translate customer and agent emailsAmberFine for gist; check trade terms
Compare carrier quotesAmberNeeds every surcharge pasted in
Check a document set against a shipmentAmberGood at mismatches; misses what you did not give it
Judge whether a rate is competitiveRedNeeds live market and space data
Choose a customs classificationRedExact product facts and current rulings matter
Interpret a customs ruling or sanctions questionRedLegal consequence; adviser territory
The Complete Excel Course with AI Integration thumbnail

The Complete Excel Course with AI Integration

From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.

By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner

Buy now

Strength one: pulling data out of documents

Take a shipment of palletised ceramic tiles. The forwarder receives a commercial invoice, a packing list and a draft bill of lading from the shipper, each as PDFs with slightly different layouts. Re-keying shipper, consignee, descriptions, gross weight, volume, container number and seal number into the booking system takes ten to fifteen minutes per shipment. An AI model reads all three and returns one table in under a minute.

I will paste three documents for one shipment. Extract into one table: shipper, consignee, notify party, description of goods, number of packages, gross weight (kg), volume (cbm), container number, seal number, invoice value and currency. Then add a second table listing every field where the three documents disagree, quoting each document's value. If a field is missing, write NOT STATED. Never infer a value.

The second table is the valuable part. Illustrative output: "Gross weight: invoice 18,240 kg, packing list 18,420 kg, draft B/L 18,240 kg. Packing list differs." A transposed pair of digits, easy to miss when you are keying, is surfaced in seconds. Check by comparing container numbers and weights against the originals on the first twenty shipments; after that, sample one in five.

Where it fails: low-resolution scans, stamps over figures, handwritten amendments, and documents in a layout it has never seen. Treat any field it flags as NOT STATED as a prompt to look, not a defect. For how document extraction works under the bonnet and what it costs at volume, see AI document processing.

Strength two: first drafts of quotes, updates and chasers

Forwarders write the same few emails hundreds of times: quote reply, booking confirmation, "cargo is delayed", "documents missing", "invoice attached". The AI writes these well because the facts are supplied and the tone is routine.

A before and after. Before: a sales coordinator types a quote reply from a carrier's rate sheet, forgetting to mention that the rate excludes destination charges. After: the coordinator pastes the carrier rate lines and the company's standard terms, and asks for a reply that lists included and excluded charges in two separate bullet lists.

Draft a reply to this customer enquiry (pasted below). Use only these rates and terms: [paste carrier lines and our margin rule]. Show the total in USD and list charges included and excluded as two separate lists. State the validity period I give: 7 days. Do not promise transit times or space. Greeting "Hi [first name]", sign off "[your name]".

The line "do not promise transit times or space" matters. Without it the AI, trying to be helpful, writes something warm and committal. A deeper walkthrough of this workflow, from inbound enquiry to a draft quote, is in AI freight quoting: turn customer emails into draft quotes.

Delay messages are another good fit. Give the AI the new estimate, the reason in plain words, and your next update time. It will produce a version that is honest and short. Your check: the reason is true and the new date matches the carrier's latest notice. Your limit: it should never invent a reason or soften a known cause.

Strength three: sorting the inbox and finding what is stuck

A small forwarder's inbox mixes quote requests, booking amendments, document chasers, invoices and carrier notices. AI is good at labelling each message and at pulling out the reference number, which saves the "who handles this" step. A reasonable setup labels each message with one of six types, extracts the shipment reference if present, and flags any message that mentions a deadline within 48 hours.

The check is easy: for a week, review the labels and note each one that was wrong. If more than about one in twenty is wrong, tighten the label definitions in your prompt (give two example emails per label). Keep a short list of the senders whose messages always go to a person, such as your largest customer and any carrier's claims desk.

Another green task is a "what is stuck" list. Paste a shipment spreadsheet with status and date columns, and ask for every shipment where the last status is more than 3 days old. This is filtering text and dates, and the AI is dependable at it, as long as you ask it to list the rows it used so you can verify the cut-off.

Weakness one: judging whether a rate is good

Ask a chatbot "is $2,850 a good rate for a 40-foot container on this lane?" and it will give a fluent answer. It has no live view of spot rates, blank sailings, equipment shortages or this week's surcharges, so the fluency is empty. Even when a model can search the web, published indices lag the quotes you receive and rarely match your lane, commodity or carrier relationship.

What it can do is compare rates you give it. Paste three carrier quotes with their surcharge lines and ask for a normalised table: base, bunker surcharge, terminal handling, documentation, total, and currency. That is arithmetic and layout, and you can check it.

Line (one 40-foot container, illustrative)Carrier ACarrier BCarrier C
Base freight$2,300$2,450$2,150
Bunker surcharge$310Included$390
Origin terminal handling$265$265$265
Documentation$60$45$75
Destination chargesIncludedIncludedNOT STATED
Total as quoted$2,935$2,760$2,880

Check one column with a calculator: $2,150 + $390 + $265 + $75 = $2,880 for carrier C. The table makes two questions visible that only a person can settle. Carrier B's "bunker included" needs confirming in writing before you rely on it, and carrier C looks cheaper than A only until someone asks what its destination charges are. The judgement stays with you: your own history of what you paid on the lane, your sense of whether space is tight, and what the customer will bear.

Picture the risk in practice. A coordinator asks the AI for a "typical" rate to quote a customer quickly, gets a figure from its general knowledge, and adds the margin. The carrier's actual rate that week is higher, and the forwarder is committed. The remedy is a rule written into your process: no quote leaves without a carrier rate in hand and a date on it. Margin analysis by lane, done from your own sales history, is where AI helps on the commercial side; margin by lane from a spreadsheet shows how.

Weakness two: customs classification and rulings

Classification looks like a text task, which is why people try it. A tariff heading depends on exact facts about the goods: material, composition, function, how it is presented, sometimes a measurement. A description such as "ceramic floor tiles" can fall under different headings depending on glazing and water absorption. The AI will name a code confidently and may even cite an explanatory note, and it may be wrong in a way only a specialist would see.

Use it the safe way round. Ask for the questions a classifier would need answered about the goods, then answer them from the product data sheet and give those answers to a licensed broker. Or ask it to draft a request for a binding ruling from the product details, to be reviewed by a person. Never let a suggested code flow into a customs entry without a qualified person's sign-off, because duty, import restrictions and penalties follow from that code.

Rulings, sanctions screening and import restrictions are the same story with higher stakes. Rules differ by destination and change; a model's training has a cut-off, and its summary of a measure may be out of date or may mix two regimes together. Where the AI helps is the drafting that surrounds a decision: summarising a long notice into plain language for a customer, once a qualified person has confirmed what the notice means. Client updates in that vein are covered in AI for customs brokers: draft client updates and entry checks.

Strength four: spotting that two documents disagree

Cross-checking is dull for people and easy for a model, which does not get tired on page nine. Beyond the invoice, packing list and bill of lading, the same idea works for a letter of credit against the documents presented, a booking confirmation against the final shipping instructions, or a customer's purchase order against your quote.

Take a letter of credit calling for "1,200 cartons, ceramic mugs, packed in 20-foot container, latest shipment date 30 June". The AI is given that text and the draft documents and asked to list every clause and whether each document meets it. Illustrative output: "Quantity: invoice 1,200 cartons, B/L 1,180 cartons. Does not match. Shipment date: B/L on-board date 2 July. After the latest date." The reviewer opens the originals and confirms. A discrepancy found before presentation is a phone call; found after, it can mean a delayed payment for your customer and an awkward conversation for you.

Limits: the AI sees only what you paste. It will not notice a missing document, an unsigned page or a stamp that is absent, so the checklist of required documents stays a human list. Ask it to produce that checklist from the credit text first, then tick it yourself.

Weakness three: shipping terms and who pays for what

Trade terms such as the Incoterms rules (the current edition is Incoterms 2020) set out the tasks, costs and risks between seller and buyer: who arranges and pays for carriage, insurance and clearance, and where risk passes. The AI can explain them well in plain language, which makes it a decent training aid for a new coordinator. It is less reliable when a customer's wording is loose. "FOB our warehouse" or "CIF, duties paid" mixes terms in ways the rules do not recognise, and a model may smooth the confusion over by picking an interpretation instead of asking.

Tell it to ask. Add a line to your prompt: "If the terms are ambiguous or contradictory, list the questions I must put to the customer and do not choose an interpretation." That turns a silent guess into a clarifying email. Check the answer against the current published rules text, because the model may blend editions. Charges, risk transfer and insurance obligations are contract matters, so anything that changes who bears cost goes through a person who owns the contract.

An illustration of how this slips through: a sales coordinator asks the AI to draft a quote on "delivered, duties paid" terms for a lane where the company only arranges ocean freight and origin handling. The draft reads smoothly and quotes a single all-in figure. Nothing in the text looks wrong; the problem appears only when the operations manager asks who is clearing the goods at destination. The fix is a standing instruction listing the services the company does and does not sell, so any quote request outside that list gets flagged for a person. Filled in, it can be as short as this:

Services we sell: ocean freight FCL and LCL, origin pickup, export customs clearance, origin documentation.
Services we do not sell: import clearance, duty payment, destination delivery, cargo insurance.
If a request includes any service we do not sell, or a trade term that needs one, write NEEDS OWNER at the top of the draft and list the services involved. Do not quote a figure for them.

A simple test day for your own business

Do not take any verdict on trust, including these. Spend one afternoon testing against your real, past shipments.

  1. Pick ten closed shipments with their documents. Remove customer names if you use a personal plan.
  2. Run the extraction prompt on each. Count fields wrong, and note whether each error came from the scan or the AI.
  3. Give the AI five past enquiry emails and the rate sheets you had at the time. Compare its drafts with what you sent.
  4. Ask the AI to suggest classifications for five products whose codes you know. Count how many it gets right at four, six and eight digits; expect accuracy to fall as the code gets longer, because the detail that separates subheadings is exactly what a short description leaves out.
  5. Ask it for a market rate on three lanes you know well and compare with what you paid.

Score each line as you go. An illustrative score sheet from one afternoon might read: extraction, 96 of 100 fields right, all four misses on scanned pages; quote drafts, light edits on four of five; classification, right at four digits on all five products but wrong at the full code on two; market rates, unusable on all three lanes. Your own sheet is the one that counts, so trust it over this page.

The order to hand these jobs over

Start with document extraction and mismatch reports, because the time saved is immediate and every error is visible. Add quote-email drafting next, with the figures always supplied by you. Then add inbox triage. Leave rates and classification as human jobs, using AI only for the arithmetic around them.

The tool matters less than the process. A Project in ChatGPT or Claude holding your standard terms, your email tone and your checking rules is enough for the first three jobs; OpenAI has scheduled custom GPTs to retire on 11 December 2026, so build in Projects. Check your carrier and customer contracts for limits on where shipment data is processed, and keep prices out of test material until you are sure.

Later, once the green tasks run smoothly, the next candidates are the amber ones: free-day tracking for containers (demurrage and detention) and invoice checking (carrier bill audits). Both are text-and-dates work with clear right answers, which is exactly what AI handles best.

Three small examples of the line between help and harm

Example one, harm avoided: a coordinator asks the AI to summarise a carrier's long surcharge notice. The summary says the surcharge applies "from the first of next month". The coordinator checks the notice and finds it applies to bookings made after that date, not shipments sailing after it. The check cost thirty seconds and prevented a mispriced quote. Lesson: summaries of dated conditions get a second read of the original sentence.

Example two, help delivered: a forwarder handling groupage receives forty packing lists a week. The AI turns them into a standard table and flags weight discrepancies against booking data. In this illustration the weekly time falls from about six hours to two, and two overweight pallets are caught before loading.

Example three, a line drawn: the owner is tempted to let the AI reply directly to customer status questions overnight. The test is the cost of one wrong answer. A reply that says "your container has been released" when it has not leads to a truck booked and a wasted day. So overnight replies are drafts queued for the morning, not messages sent. If you later want automated status answers, the data must come from your tracking system, not from the model's guess.

Practical questions from small forwarders

Can AI read a bill of lading or commercial invoice?

Yes, usually well when the document is a clean PDF, and less well on skewed scans or handwriting. It extracts shipper, consignee, weights, container numbers and descriptions. Always compare extracted container numbers and weights against the original, because one wrong digit causes a costly problem downstream.

Can AI pick the right customs code?

It can suggest candidates and explain the reasoning, but it should not be your final answer. Classification depends on exact product details and on rulings that change. Treat the suggestion as a starting point for a licensed broker or a binding ruling request.

Will AI quote rates for me?

It can draft the quote email and apply your margin rules to carrier rates you supply. It cannot know today's spot market, space availability or surcharges unless you give them, so a person still sets the price.

Is a customer's shipment data safe in a chatbot?

Only on a plan whose terms you have read. Business plans do not train on your content by default. Strip customer names and prices from test material, and check your customer contracts for limits on sharing shipment data.

Further reads

Sources: OpenAI ChatGPT Business pricing page, Claude pricing page and OpenAI's custom GPT retirement FAQ (checked 5 November 2026); ICC Incoterms rules page; general freight-forwarding and customs-tariff practice.

Which forwarding task should AI take first?

On a 1:1 call we'll walk through a normal week of enquiries, bookings and documents, and choose the first task worth automating, with a human check built in.

Book a 1:1 call with me