How to track inbound shipments and landed cost with AI

Ops & Supply3 AI tools7 steps6 friction points

Tracking inbound shipments and calculating landed cost means knowing exactly where your purchase orders are in transit, when they'll arrive, and what each unit actually costs once you factor in freight, duties, tariffs, customs fees, and any last-mile charges. For most operators, this data lives in five places at once — a freight forwarder's email, a carrier portal, a QuickBooks bill, a customs broker invoice, and a spreadsheet someone built two years ago. Keeping all of it reconciled is a recurring, manual job.

The workflow feels like a natural fit for AI because the heavy lifting is mostly data assembly and arithmetic. You're not making judgment calls so much as collecting numbers from different sources, applying a formula, and surfacing the result. LLMs can draft those formulas, help you structure a landed cost model, and parse the text out of forwarding emails or PDF invoices — all things that would otherwise take time and attention every time a new PO lands.

ChatGPT, Claude, and Gemini can genuinely help here in specific, bounded ways. They'll build a landed cost calculator, extract line items from pasted invoice text, help you write a shipment status tracking template, and flag when your duty rate assumptions look off. What they can't do is reach into your freight forwarder's portal, pull live carrier updates, or connect to your accounting data without you doing the data-gathering first.

Ops & Supply3 AI tools7 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Open ChatGPT or Claude and paste in your landed cost variables: FOB unit cost, freight quote, insurance rate, customs duty percentage, brokerage fee, and any port handling charges. Ask it to build a per-unit landed cost formula and a reusable table structure you can copy into a spreadsheet.
2 When a new commercial invoice or freight invoice arrives as a PDF, copy the text out of it and paste it into Claude. Prompt it to extract vendor name, line items, quantities, unit values, and total charges into a structured table you can paste into your tracker.
3 Log into your freight forwarder's portal or carrier tracking page, copy the current shipment status and ETA, and paste it into your ChatGPT session. Ask it to summarize expected arrival dates by PO number and flag any shipments that are delayed beyond the original ETA.
4 Use Claude to build a landed cost model that accounts for your specific duty rates by HS code. Paste in your HS codes and the duty schedule for your target market and ask it to calculate the total duty burden per SKU across your current open POs.
5 When a shipment clears customs and final charges come in, paste the actual broker invoice into your LLM session alongside your original estimated landed cost. Ask it to calculate the variance per unit and flag which line items drove the difference.
6 Use ChatGPT to draft a weekly shipment status email template that pulls from whatever tracking data you paste in — organized by carrier, PO number, expected arrival, and any open issues. Fill it in manually each week and send to your ops team or 3PL.
7 Ask Gemini to help you build a Google Sheets formula structure that auto-calculates landed cost when you enter the raw cost inputs — so future POs just need the inputs filled in and the math runs automatically.
Prompts you can copy
Here are my landed cost inputs for this PO: FOB unit cost $4.20, ocean freight $1,800 for 2,000 units, insurance 0.5% of cargo value, import duty 7.5%, customs brokerage flat fee $350. Calculate per-unit landed cost and show your work.
Here is the text from my freight forwarder invoice. Extract vendor, invoice number, each line item charge, and total. Format it as a table with columns: charge type, amount, currency.
I have 8 open POs in transit. Here are their original ETAs and current carrier statuses [paste status text]. Which are delayed, by how many days, and what's the new expected arrival date for each?
My HS code for this product is 2009.89. US import duty rate is 6.4%, plus Section 301 tariff of 25%. My unit FOB cost is $3.80 and freight allocated per unit is $0.60. What is my total landed cost including all duties and a 2% buffer for miscellaneous fees?
Here is my estimated landed cost from 60 days ago and the actual final invoice from my customs broker. Calculate the per-unit variance, the total variance across the shipment, and tell me which cost category had the biggest miss.
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

No live connection to your freight forwarder, carrier portal, or QuickBooks — every session starts with you copying data in manually, which is the same bottleneck the LLM was supposed to remove.
Invoice PDFs don't always copy cleanly — garbled text, merged cells, and formatting artifacts mean you're cleaning data before you can even paste it, which adds friction to every shipment.
Nothing persists between sessions — the landed cost model you built last month isn't there next time. You're re-prompting the structure from scratch or hoping you saved the conversation.
Outputs vary between runs — the table format, column names, and formula structure you got last time may not match what you get this time, making it hard to maintain a consistent tracker across POs.
Duty rates and tariff schedules change; the LLM's training data may be months or years out of date, and it won't flag when its duty rate assumptions are stale unless you explicitly ask.
There's no alert system — if a shipment goes on hold at customs or a carrier updates an ETA, you won't know until you manually check, copy, and paste again.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system — you describe the inbound shipment tracker and landed cost dashboard you need in plain English, and an agent builds it as a persistent app connected to your live financial and transaction data, not a one-off prompt you re-run by hand.

Connect your bank accounts through Plaid once — Starch syncs transactions on a schedule, so freight invoices, customs broker charges, and duty payments show up in your landed cost view automatically, pulled from real account activity.
The Transaction Insights starter app gives you a live spending dashboard across your connected accounts — use it to track freight vendor charges month over month, flag anomalies like a freight invoice that's 3x the usual amount, and see every new vendor that's billed you in the last 60 days.
Describe your landed cost model in plain English — 'build me an app that calculates per-unit landed cost from FOB cost, freight, duty rate by HS code, and brokerage fee, and tracks it by PO number' — and the agent builds that as a persistent app, not a spreadsheet formula you have to maintain.
Browser automation lets Starch log into your freight forwarder's portal or carrier tracking site — no API needed — and pull current shipment status, ETA, and exception flags into your dashboard on a schedule, so you see live tracking without copying anything manually.
Inventory Planner (coming soon — request beta access) will connect your inbound shipment data to your inventory levels across your 3PL, co-packer, and warehouses, so you can see what's in transit alongside what's on hand and plan reorders against actual lead times.
Set up an automation that runs every Monday — pulls open PO statuses from your freight portal through browser automation, calculates landed cost variance against your estimates using the latest transaction data from Plaid, and posts a summary to Slack — no manual assembly required.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run track inbound shipments and landed cost on Starch

You're on the list! We'll be in touch soon.