How to track inbound shipments and landed cost as DTC Brand Founders

Ops & SupplyFor DTC Brand Founders2 apps11 steps~22 min to set up

You ordered 500 units of your best-selling SKU three weeks ago. Your freight forwarder sent a PDF update on Tuesday. Your 3PL sent a different one on Wednesday. Your landed cost is somewhere in a QuickBooks bill plus a Flexport invoice plus a customs broker email you can't find. You have no single view of what's in transit, when it arrives, or what it actually costs per unit after freight, duties, and drayage. You're making reorder decisions off vibes and a Google Sheet that stopped being accurate two months ago. By the time you reconcile all of it, the shipment is already at the dock.

Ops & SupplyFor DTC Brand Founders2 apps11 steps~22 min to set up
Outcome

What you'll set up

A live shipment tracker that pulls inbound POs, expected arrival dates, and carrier status into one place — no more hunting through freight forwarder PDFs or 3PL portals
An automated landed cost calculator that combines supplier invoices, freight charges, duties, and customs fees per SKU so you know true cost before the goods hit your warehouse
Spending alerts that flag unexpected charges from new freight vendors or brokers the moment they hit your bank account, catching surprises before they wreck your margin math
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Data sources & config

Starch syncs your bank transaction data on a schedule via Plaid (scheduled-sync provider) and syncs your QuickBooks bills and vendor records on a schedule — covering supplier invoices, freight bills, and customs charges. Your 3PL and freight forwarder portals are reached through browser automation — no API needed — so Starch can pull shipment status and estimated arrival dates from whatever web portal your logistics partners use. Slack is connected from Starch's integration catalog so the agent queries it live to deliver alerts.

Prompts to copy
Build me a shipment tracker that shows every inbound PO — supplier name, SKU, units ordered, expected arrival date, current carrier status, and port of entry — with a landed cost column that adds freight, duties, and customs fees to the supplier unit cost
Set up an alert: any time a new vendor charges my bank account more than $500 and I haven't seen that vendor name in the last 90 days, send me a Slack message with the amount and merchant name
Create a landed cost breakdown for my last 10 inbound shipments — show me freight as a percentage of COGS by SKU and flag any SKU where landed cost is more than 25% above my standard assumption
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect Plaid so Starch syncs your bank transactions on a schedule — every freight payment, customs duty, and broker fee that hits your account is captured automatically.
2 Connect QuickBooks so Starch syncs your bills and vendor records on a schedule — supplier invoices and freight bills flow in without manual export.
3 Tell Starch which freight forwarder and 3PL portals you log into (Flexport, Freightos, your 3PL's WMS portal, etc.) and Starch automates those through your browser — no API needed — to pull shipment status and arrival estimates.
4 Describe the shipment tracker you want in plain language: Starch builds a dashboard showing every open inbound PO with supplier, SKU, quantity, expected arrival, and current carrier status in one table.
5 Add your landed cost formula — type it the way you'd explain it to a new ops hire ('landed cost = unit cost + freight per unit + duty rate × unit cost + customs broker fee allocated by shipment weight') and Starch applies it across every inbound line.
6 Set a reorder alert: tell Starch 'if any SKU's inbound shipment is delayed more than 7 days from expected arrival and current on-hand inventory is less than 30 days of average daily sales, Slack me immediately with the SKU name, delay duration, and days of stock remaining.'
7 Use the Transaction Insights app to monitor your Plaid-connected accounts — it flags any new freight vendor or customs broker that charges your account in the last 60 days so you catch unauthorized or duplicated charges fast.
8 Set up a monthly landed cost reconciliation automation: every first of the month, Starch pulls the prior month's QuickBooks bills for freight and customs, matches them against received shipments, and outputs a per-SKU landed cost variance vs. your standard assumption.
9 Connect Shopify from Starch's integration catalog so the agent can query your current on-hand and on-order quantities live — your shipment tracker can then show days-of-stock-remaining at arrival for each inbound PO.
10 Publish the shipment tracker as a shared app so your ops or logistics coordinator can check status without asking you — you get one source of truth, they stop pinging you on Slack for ETAs.
11 Review the landed cost dashboard before each supplier reorder to update your standard landed cost assumptions — margins you quoted six months ago may be off by 8-15% if freight rates have moved.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 inbound reconciliation — 3 active shipments, 2 SKUs

Sample numbers from a real run
Supplier invoice — SKU A (500 units @ $12.40)6,200
Supplier invoice — SKU B (300 units @ $18.00)5,400
Ocean freight — shared container, allocated by CBM2,100
Customs duty — SKU A (7.5% of FOB value)465
Customs duty — SKU B (4.5% of FOB value)243
Customs broker fee380
Drayage to 3PL620

In February 2026, you had three shipments moving simultaneously: 500 units of your hero candle SKU and 300 units of a new wax melt SKU, plus a restock of packaging from a different supplier. Before Starch, reconciling landed cost meant pulling the Flexport invoice, the supplier's commercial invoice, the customs entry summary PDF from your broker, and the drayage receipt — then manually dividing shared freight costs across two SKUs by volume. The math was right maybe 60% of the time. With Starch, QuickBooks bills sync automatically and the customs broker portal is reached through browser automation. Starch allocated the $2,100 ocean freight by cubic meter across SKU A ($1,312) and SKU B ($788), added duties and the broker fee, and surfaced true landed costs: SKU A came in at $16.71/unit versus your $15.50 standard — a 7.8% miss — and SKU B at $23.47 versus $22.00. The Transaction Insights app also flagged a $380 charge from a broker entity you'd never seen before (a subsidiary your usual broker used for the customs entry), so you confirmed it rather than letting it sit as an unresolved variance for three months. Total time to close the landed cost reconciliation: 20 minutes of review instead of a half-day of spreadsheet work.

Measurement

How you'll know it's working

Landed cost per unit by SKU (freight + duties + customs fees ÷ units received)
Landed cost variance vs. standard assumption (% over or under, by SKU and by shipment)
Days of stock remaining at inbound arrival date (on-hand + in-transit vs. average daily sales)
New freight vendor charges flagged in the last 60 days (catch duplicates and unauthorized bills)
Average shipment delay vs. expected arrival (days late, by freight forwarder and lane)
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Flexport + manual Google Sheet reconciliation
Flexport gives you shipment visibility but nothing that connects to your bank transactions, QuickBooks bills, or on-hand inventory — you still rebuild the landed cost math in a spreadsheet every cycle.
QuickBooks alone
QuickBooks captures the bills after the fact but doesn't show you inbound shipment status, can't pull from your 3PL portal, and won't alert you to new vendor charges or landed cost variances in real time.
Cin7 or Skubana (now Extensiv)
Purpose-built inventory platforms handle PO management well but cost $500-$1,500/month, require significant onboarding, and still don't give you a live bank transaction view or browser-based automation for portals without APIs.
Notion or Airtable tracker built by your ops lead
Works until your ops lead leaves or the schema breaks; requires manual updates from every logistics partner and has no live connection to your bank or accounting data.
On Starch RECOMMENDED

One platform — inventory planner, transaction insights all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

My freight forwarder doesn't have an API. Can Starch still pull shipment status from their portal?
Yes. Starch automates your freight forwarder's web portal through your browser — no API needed. If you can log in and click through to see shipment status, Starch can automate that same workflow. This works for Flexport, Freightos, or any niche freight portal your forwarder uses.
How does Starch know the duty rate for each SKU?
Starch doesn't have an HTS code database built in. You tell it your duty rates per SKU when you set up the landed cost formula — either as a fixed percentage or as an absolute dollar figure — and Starch applies them going forward. You can update them any time by describing the change in plain language.
Will this work if I'm using a 3PL whose portal is proprietary?
If your 3PL has a web portal you log into, Starch can automate it through browser automation. If they send you data via email or CSV exports, Starch can work with those too. The one case where it gets harder is a 3PL that only communicates by phone — but most have at least a basic portal or email export.
Is Starch SOC 2 Type II certified?
Not yet. Starch is not currently SOC 2 Type II certified. If that's a hard requirement for your business or a retailer you're onboarding with, that's worth knowing upfront.
My QuickBooks has P&L report views I normally export for landed cost — will those work?
QuickBooks P&L and Transaction List report views are temporarily unavailable due to an upstream connector issue. Entity-level data — individual bills, vendor records, invoices, payments, and journal entries — syncs normally, which covers most landed cost reconciliation use cases. Report views are on the roadmap to restore.
I use Shopify for DTC but also sell wholesale. Can I see inbound inventory against demand from both channels?
Yes. Connect Shopify from Starch's integration catalog so the agent queries your orders and on-hand inventory live. For wholesale channel data, if you're managing it through a marketplace portal, Starch can reach that through browser automation. You can then build a single view that shows days-of-stock at arrival date against blended demand from both channels.
What about the Inventory Planner and Marketplace Sync apps shown here — when are those available?
Both are currently in development. You can request beta access now to get notified when they launch. In the meantime, you can describe the same outcomes to Starch — inbound shipment tracking, multi-location inventory view, reorder point automation — and Starch will build a custom version for your specific setup using your connected data sources.

Ready to run track inbound shipments and landed cost on Starch?

Request closed-beta access. Everything is free during beta.

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