Logistics, Transportation, and Trade

Getting goods from A to B, legally and at known cost.

Shipment and transport documents

Delivery (what leaves your warehouse)
   └── Shipment (a truck/container carrying one or more deliveries)
        ├── Bill of Lading (BOL) / Air Waybill (AWB) — the carrier's contract
        ├── Packing list — what's in each package
        ├── Commercial invoice — for customs valuation
        ├── Certificate of Origin — for preferential duty
        ├── Packing declaration, fumigation, phytosanitary certs
        └── Dangerous goods declaration (IMDG / IATA DGR)

Delivery ≠ shipment. One shipment can consolidate many deliveries; one delivery can split across shipments. Model them separately or you will hit a wall the first time a customer’s order goes on two trucks.

Freight cost

Rate structures

Basis Used for
Per kg / per lb Air freight, parcel
Per m³ / cubic LCL sea, light bulky goods
Chargeable weight = max(actual, volumetric) Air and parcel — volumetric = L×W×H / divisor
Per container (FCL) Full container sea freight
Per pallet / per shipment LTL road
Per km / per zone Road
Percentage of value Insurance, some brokerage

Plus accessorials: fuel surcharge (a %, changes monthly), residential delivery, liftgate, waiting time, detention, demurrage, peak season surcharge, currency adjustment factor, security fee. Accessorials commonly add 20–40% to the base rate and are where freight bills go wrong.

Freight audit

Carrier invoices are frequently incorrect. A freight audit process re-rates every invoice against the contracted tariff and disputes differences. Recovery rates of 2–5% of freight spend are typical. This is a genuinely valuable thing to automate.

Landed cost allocation

The problem: one freight invoice covers 3 POs, 40 materials, arriving over two weeks.

Allocation bases:

Basis Best for
By value Insurance, duty (which is value-based anyway)
By weight Road and air freight
By volume Sea LCL
By quantity Homogeneous goods
Manual/specific When one item caused the cost
Container freight 3,200 allocated by weight:
  Material A  2,400 kg  (60%)  → 1,920
  Material B  1,200 kg  (30%)  →   960
  Material C    400 kg  (10%)  →   320

Timing problem: goods are received (and often sold) before the freight invoice arrives. Standard handling:

  1. Planned delivery cost on the PO — estimated freight, capitalised at goods receipt
  2. Actual invoice arrives → posted as a subsequent debit
  3. Difference revalues remaining stock; if the stock is gone, it posts to price difference / COGS

Design rule: always capture a planned landed cost at receipt. Waiting for actuals means your inventory value and margin are wrong for weeks, which makes month-end gross margin unreliable.

Customs and trade compliance

Classification

Every product needs an HS code (Harmonized System) — 6 digits internationally, extended to 8–10 nationally.

6109.10  T-shirts, singlets, of cotton, knitted
  ↳ 6109.10.00.10 (US HTS extension)

The code determines the duty rate, licensing requirements, quotas, and statistical reporting. Misclassification is a compliance offence with real penalties, and classification is genuinely hard — it needs a specialist or a classification service.

Origin

Where the goods were made, not where they were shipped from. Determines:

  • Preferential duty under trade agreements (EU-UK TCA, USMCA, RCEP, GSP, EBA)
  • Rules of origin — how much local transformation is needed to claim origin (change of tariff heading, regional value content %)
  • Anti-dumping duty — punitive rates on specific goods from specific countries

Claiming preferential origin without meeting the rules is fraud. Documentation (certificates of origin, supplier declarations) has to be retained and produced on audit.

Valuation

Customs value is usually transaction value (the price paid), adjusted for freight, insurance, royalties, and assists. Related-party transactions get extra scrutiny — customs and transfer pricing rules pull in opposite directions, which is a genuine tension for multinationals.

Duty and taxes at import

Customs value (CIF)                    59,000
× Duty rate (8%)                        4,720
= Duty-paid value                      63,720
× VAT/GST rate (15%)                    9,558     ← usually recoverable
+ Other levies (excise, AIT, regulatory duty)

In many countries import VAT is recoverable but duty is not — so duty is a cost that must be capitalised into inventory, while VAT flows through the tax accounts.

Special customs regimes

| Regime | Benefit | |—|—| | Bonded warehouse | Duty deferred until goods leave the warehouse | | Free trade zone / EPZ | No duty while inside; huge in Bangladesh, UAE, China | | Inward processing relief | Import materials duty-free if you re-export the finished goods | | Duty drawback | Reclaim duty paid on inputs that were re-exported | | Temporary import (ATA carnet) | Exhibitions, samples, tools |

Bangladesh’s RMG sector runs almost entirely on bonded warehouse and back-to-back LC structures — if you work in that industry, learn the bond register requirements, because the ERP has to produce them.

Denied party screening

Every party (customer, vendor, carrier, end user) must be screened against sanctions lists (OFAC SDN, EU consolidated, UN, UK). Also embargo checks by country and export control classification (ECCN/dual-use goods) for anything with military or high-tech potential.

In ERP terms: this is a blocking check on order creation and on delivery, with a re-screen when lists update (because a customer you cleared last month may be listed today).

Transportation management

A TMS (SAP TM, Oracle OTM, Blue Yonder, MercuryGate, or a lighter tool) handles:

  • Load building — combine orders into shipments respecting weight, volume, and stacking rules
  • Mode selection — parcel vs LTL vs FTL vs air vs sea, by cost and transit time
  • Carrier selection — rate shopping across contracted carriers
  • Route optimisation — multi-stop sequencing (the vehicle routing problem)
  • Appointment scheduling — dock slots at both ends
  • Track and trace — EDI 214 / API updates, GPS, port milestones
  • Freight settlement — self-billing carriers from confirmed shipments

Track and trace

Customers expect visibility. Sources:

  • Carrier APIs and webhooks (parcel carriers all have them)
  • EDI 214 (transportation status) / IFTSTA
  • Ocean container tracking (port/terminal events, vessel AIS)
  • Telematics/GPS on own fleet
  • Aggregators: project44, FourKites, Shippeo

Store events as an append-only stream keyed to the shipment, and compute the current status and ETA from it. Don’t overwrite a status field — customers ask “where was it on Tuesday?” and event history answers that.

Returns logistics

Return request → RMA authorisation → return label → receipt →
inspection → disposition (restock / repair / scrap / return to vendor) → credit

Disposition decides the accounting: restocking puts value back into inventory; scrapping writes it off. Reverse logistics costs 2–3× forward logistics per unit, which is why return policies are a finance question, not just a customer-service one.

Metrics

Metric Meaning
Freight cost as % of revenue The headline
Cost per shipment / per kg / per order Unit economics
On-time delivery Service
Transit time variability Predictability, drives safety stock
Load/container utilisation Are you shipping air?
Freight invoice accuracy Audit recovery opportunity
Perfect order rate On time + complete + damage-free + correct paperwork
Customs clearance time Border friction

Developer notes

  1. Model delivery and shipment separately, many-to-many.
  2. Store dimensions and weight on the material master, and gross/net/tare at HU level. Freight rating is impossible without them.
  3. Volumetric weight is a per-carrier formula; make the divisor configurable.
  4. HS code, country of origin, and net weight belong on the material master and must flow to every export document.
  5. Landed cost needs a planned and an actual path, with revaluation logic between them.
  6. Sanctions screening must be a service call with a cached result and a re-screen job, not a one-time check at customer creation.
  7. Track-and-trace is an event stream, not a status column.

Next