My phone hasn’t stopped ringing since the new tariff schedules hit in April. I manage books for 22 small businesses and at least 8 of them import goods—either directly from China/EU or indirectly through domestic distributors who are now passing tariff surcharges through.
Here’s the problem in plain English: tariffs must be capitalized into inventory, not expensed immediately. Under GAAP (ASC 330-10-30-1), inventory cost is “the sum of applicable expenditures and charges directly or indirectly incurred in bringing an article to its existing condition and location.” That means the 25% tariff on a $10,000 shipment of electronics components isn’t a $2,500 expense—it’s $2,500 added to inventory value that hits COGS only when those units sell.
Most of my clients on QuickBooks are doing it wrong. They’re expensing tariff payments immediately (because that’s when the cash leaves), which overstates COGS in the import month and understates it when inventory actually sells. For a business with thin margins, this distortion can make a profitable month look like a loss and vice versa.
The Landed Cost Nightmare
Getting the “true cost” of imported goods requires tracking what’s called landed cost—the total of:
- Purchase price from supplier
- Freight/shipping charges
- Insurance during transit
- Customs duties and tariffs (10% to 145% depending on country/product in 2026)
- Broker fees and handling charges
QuickBooks has a “landed cost” feature but it’s clunky—you have to manually allocate costs across line items, and when tariff rates change mid-shipment (which has happened THREE TIMES this year), recalculating is a nightmare.
Where I Think Beancount Has an Edge
I’ve been moving my own practice’s books to Beancount over the past year, and I’m now seriously considering it for my import-heavy clients. Here’s why:
1. Metadata tagging for tariff components
2026-04-02 * "Acme Electronics" "Q2 component shipment"
tariff-rate: "25%"
hs-code: "8542.31"
origin-country: "CN"
shipment-id: "ACM-2026-0402"
Assets:Inventory:Electronics:Components 12,500.00 USD
{ {10000.00 USD, "base-cost"} }
Expenses:Shipping:Freight 800.00 USD
Expenses:Import:Tariff 2,500.00 USD
Expenses:Import:BrokerFees 200.00 USD
Liabilities:AccountsPayable:AcmeElec -12,500.00 USD
Liabilities:AccountsPayable:CustomsBroker -3,000.00 USD
Wait—actually, if I’m capitalizing properly, those tariff and freight costs should be part of inventory, not separate expenses. Let me rethink this…
2. Python scripts for tariff rate changes
When the tariff rate on HS code 8542.31 changed from 25% to 34% mid-March, I could theoretically write a script that:
- Scans all open purchase orders with that HS code
- Recalculates landed cost at new rate
- Generates adjustment entries
- Flags inventory that was valued at old rate
Try doing THAT in QuickBooks.
3. Git history as audit trail
Every tariff rate change, every recalculation, every adjustment—all tracked in Git commits with timestamps. When the IRS asks “why did your client’s inventory valuation change on March 15?” I can show the exact commit.
My Questions for the Community
-
Has anyone built a Beancount account structure specifically for import businesses? I’m struggling with whether tariffs should be a sub-account under inventory (Assets:Inventory:TariffComponent) or tracked via metadata on the inventory lot.
-
Lower of cost or net realizable value (LCNRV): The Fed data shows businesses are only passing about half their tariff increases to customers. That means some inventory may need to be written down. Has anyone automated LCNRV testing in Beancount?
-
LIFO vs FIFO considerations: In an inflationary tariff environment, LIFO could reduce taxable income by matching current high-cost inventory against revenue first. But Beancount’s lot tracking is FIFO by default. Has anyone implemented LIFO cost flow in Beancount?
-
For fellow bookkeepers: How are you explaining tariff accounting to clients who just want to expense everything? I’ve had two clients push back saying “my old bookkeeper just put it in Expenses:Tariffs and called it a day.”
This feels like the biggest accounting challenge since COVID PPP loan forgiveness tracking. Would love to hear how others are handling it.
Disclosure: I’m not a CPA—always consult your tax professional for specific tariff treatment advice.