Skip to content

Who We Help · Importers & Distributors · Bookkeeping

Importer bookkeeping: landed cost per SKU is the only real cost

An importer’s margin is set at the container, not the sale — so the books have to carry landed cost per SKU: supplier invoice plus freight, duty, and brokerage, allocated to the units that caused them. Add USD supplier terms that create FX gains and losses between invoice and payment, and border GST that is recoverable rather than a cost, and invoice-price bookkeeping quietly misstates every margin you look at. We build the stack that gets it right.

By the AnalytIQ Accounting team · Last reviewed: August 12, 2026

Shipping containers stacked at a port terminal

Landed cost per SKU is the number everything depends on

Pricing floors, reorder decisions, which lines to drop, what a slow mover really costs to hold — all of it rests on landed cost, and books that carry inventory at supplier invoice price overstate margin by exactly what your freight, duty, and brokerage really are. We allocate each shipment's freight and border charges across its SKUs — by value, weight, or units, whichever mirrors how the cost was actually driven — so the item cost in the system is the cost that hits COGS when the unit sells.

QuickBooks Online's built-in inventory will not do this allocation for you. For distributors past the spreadsheet stage we run an inventory layer such as Cin7 Core that handles landed-cost apportionment natively and posts summarized entries into QuickBooks Online as the general ledger, with Dext capturing the supplier and broker paper behind each shipment.

Duty and brokerage are inventory; import GST is not

The broker's invoice mixes three different things, and each goes somewhere different. Duty and any surtaxes are part of bringing goods to saleable condition — they capitalize into inventory, as does the brokerage fee. The 5% GST paid at importation is neither: for a registrant it is an input tax credit, recovered on your GST34 return. We see the error in both directions — border GST buried in COGS and never recovered, and duty expensed in the month paid so heavy-import months look like bad months.

Charge on the shipment fileTreatment
Supplier goods value, converted to CADInventory — the base of landed cost
Ocean or air freight and insuranceInventory — allocated across the shipment's SKUs
Customs duty and surtaxesInventory — landed cost, never a period expense
Customs brokerage feeInventory — part of getting goods to saleable condition
GST paid at the borderInput tax credit on the GST34 — never COGS
Local cartage to your warehouseInventory or period cost — one policy, applied consistently

Since CBSA's CARM system took over commercial accounting, importers see their duties and taxes on a monthly statement of account in the CARM Client Portal. We reconcile that statement to the broker invoices and the ledger, which is also where tariff changes show up first — before they have made it into your selling prices.

USD supplier terms: FX at three moments

Buy on 30, 60, or 90-day USD terms and every purchase touches exchange rates three times: the payable is booked at the invoice-date rate, settled at the payment-date rate — the difference is a realized FX gain or loss — and any payable still open at month end is revalued at the closing rate. On distributor volumes those differences are not noise; they are a real cost line that belongs in the books, not a plug in a suspense account. We use Bank of Canada rates consistently, keep USD bank accounts in a USD ledger translated at each close, and if you hedge with forward contracts, the books track them so the hedge and the exposure land in the same month.

Inventory cycles: count small, count always

A perpetual system is only as honest as its counting discipline. We set up cycle counts — fast movers monthly, the long tail on rotation — so receiving errors, mis-picks, and shrink surface within weeks instead of at a chaotic year-end count. Aged stock gets an obsolescence review each quarter, because a warehouse of dead SKUs carried at full landed cost is the most flattering lie a distributor's balance sheet can tell. When the year-end count happens, it reconciles to the ledger and the differences get investigated, not just booked.

Two timing accounts keep the balance sheet honest in between. Supplier deposits paid against future production runs sit as prepayments, not inventory, until the goods exist and ship. And goods in transit that you already own — containers on the water where terms passed title at origin — get their own account, so month-end inventory reflects what you own, not just what the warehouse can see.

The border side of this business goes deeper than the books: customs valuation, HS classification, USMCA origin, and duty drawback are covered in our cross-border guide for importers. The monthly close that keeps the whole machine reconciled runs as described on our bookkeeping services page — fixed fee, quoted after a discovery call.

Common questions.

We expense freight and duty when paid. Does it really matter?

Yes. Inventory is understated, margins by SKU are overstated, and months with heavy container arrivals look artificially bad. Capitalizing to landed cost fixes pricing decisions and the balance sheet at once.

How does landed cost actually get into QuickBooks?

An inventory layer like Cin7 Core allocates freight, duty, and brokerage across the SKUs on each shipment and posts summary journals to QuickBooks Online. Smaller importers can start with a disciplined allocation workpaper per container.

Which exchange rate should our books use for USD purchases?

Bank of Canada rates, applied consistently — transaction-date rates for payables and payments, closing rate to revalue what is still open at month end. Consistency is what CRA and your accountant both need.

Related reading

Know your true cost per SKU.

Book a consultation and get a plain answer on exactly what applies to you.

Client Reviews

Get a free quote

Request a free quote.

Tell us a little about your business and our team will respond within one business day.

Contact details

How can we help?

Type of enquiry select all that apply

Project information