Book a Demo
Book a Demo
Login

China Marketplace Warehousing & Fulfillment Cost Accounting: 仓储费, Pick-Pack, and 3PL Allocation

Every brand selling in China knows what it pays the courier. Far fewer can tell you what it pays to hold the box before the courier ever touches it. Warehouse storage fees (仓储费), inbound receiving and put-away charges, pick-and-pack fees, value-added labour for gift-wrapping and 赠品 inserts, long-term storage surcharges on slow SKUs, and the monthly 3PL service invoice are scattered across Cainiao statements, JD Logistics bills, TP invoices, and a bonded-warehouse operator’s spreadsheet. Most of them land in a single “logistics” GL account with no SKU, no channel, and no link to the inventory that caused them. That is how a brand ends up with a gross margin it cannot defend and a warehouse bill nobody owns.

China marketplace warehousing and fulfillment cost accounting is the practice of separating inventory-holding and order-handling costs — storage fees (仓储费), inbound receiving and put-away, pick-pack and handling charges, value-added services, and long-term storage surcharges — and deciding which ones capitalize into inventory versus which are expensed as period costs. Under IAS 2 only costs incurred to bring inventory to its present location and condition are inventoriable; storage of finished goods ready for sale is explicitly excluded and must be expensed as incurred. Pick-pack and fulfillment handling are selling/distribution costs, not landed cost. The dividing line is not the vendor you paid — it is the moment the goods became sellable.


The short answer

  • Storage is expensed, not capitalized. IAS 2.16(b) excludes storage costs from inventory cost unless they are necessary before a further production stage. Finished goods sitting in a Cainiao or JD warehouse waiting for an order fail that test — the 仓储费 hits P&L in the month it is incurred.
  • Inbound receiving and put-away usually do capitalize. Costs to receive, inspect, and shelve goods bring them to their present location and condition, so they belong in landed cost alongside freight-in and duty — not in the same bucket as monthly storage.
  • Pick-pack and handling are selling costs. They are incurred to fulfil an order after control-transfer economics are already set, which puts them next to outbound freight, not inside COGS.
  • A 3PL contract may contain a lease. If you have the right to control an identified area of a warehouse, IFRS 16 may require a right-of-use asset and lease liability rather than a simple service expense.
  • Unallocated warehouse cost destroys channel truth. A lump-sum monthly 3PL invoice smeared evenly across Tmall, JD, and Douyin will systematically over-reward whichever channel holds the fastest-turning inventory — and hide the SKUs quietly paying long-term storage surcharges. See channel profitability.

Why warehousing cost accounting is harder on Chinese marketplaces

1. The storage bill and the handling bill arrive as one number

Cainiao, JD Logistics (京东物流), and most domestic 3PLs issue a consolidated monthly statement. A single line labelled 仓配服务费 (warehousing-and-distribution service fee) can contain storage by cubic metre, per-order pick fees, per-item pack fees, inbound unloading, and a returns-processing charge. Because the components have different accounting answers — some capitalize, most do not — booking the invoice as one journal entry guarantees a wrong inventory balance. The statement has to be decomposed before it is posted, the same discipline required for settlement reconciliation.

2. Bonded and general-trade inventory sit in different warehouses under different rules

A cross-border brand often runs bonded stock in a China Customs-supervised bonded zone warehouse and general-trade stock in a domestic warehouse, sometimes for the same SKU. Bonded storage is billed differently, duty and VAT crystallize at a different moment, and the goods are not legally imported until they are pulled. Blending both into one “China warehouse cost” line makes the bonded warehouse accounting untraceable and puts the inventory valuation at risk.

3. TP-operated warehouses add a layer of opacity

When a TP or 代运营 partner holds your stock, the warehouse bill is often embedded in their service fee rather than passed through at cost. You receive a management number, not a logistics invoice. Without a pass-through schedule you cannot tell how much of that fee is storage (expense), how much is inbound handling (capitalizable), and how much is margin — which also complicates intercompany transfer pricing.

4. Long-term storage surcharges punish exactly the SKUs you are not watching

Platform-affiliated warehouses escalate rates on inventory aged past 60, 90, or 180 days. The surcharge is small per unit and enormous in aggregate, and it lands on dead stock — the same stock that is a candidate for a net-realizable-value write-down under IAS 2. Brands routinely discover the surcharge and the obsolescence problem in the same week, after months of paying for both.

The six warehousing and fulfillment cost buckets to separate

Before any policy question can be answered, the monthly logistics spend has to be split. These six buckets map cleanly onto distinct accounting treatments and should each have their own GL account in your chart of accounts mapping:

  1. Inbound receiving, inspection, and put-away — unloading, QC, barcode/label application, shelving. Incurred to make goods sellable. Capitalize into inventory.
  2. Storage / 仓储费 — rent-equivalent charge by cubic metre, pallet, or bin per day or month for finished goods awaiting sale. Expense as incurred.
  3. Long-term storage surcharge — escalated rate on aged inventory. Expense as incurred, and treat it as a leading indicator for a write-down assessment.
  4. Pick, pack, and order handling — per-order and per-item charges to assemble and box a shipment. Expense as a selling/distribution cost.
  5. Value-added services — gift wrapping, 赠品 (free-gift) insertion, bundling/kitting, re-labelling for a promotion. Usually expense, but kitting that creates a new sellable SKU can be capitalizable conversion cost.
  6. Returns processing and restocking — inspecting, refurbishing, and re-shelving returned units. Expense, and keep it visible next to returns and refunds so the true cost of a return is one number.

The capitalize-or-expense line under IAS 2 and ASC 330

IAS 2 says inventory cost comprises purchase cost, conversion cost, and other costs incurred in bringing the inventories to their present location and condition. It then names storage costs among the exclusions, permitting capitalization only where storage is necessary in the production process before a further production stage. Deloitte’s IAS 2 summary states the same exclusion plainly.

US GAAP under ASC 330 reaches a similar destination by a slightly different route: warehousing is generally a period cost, though the guidance is less prescriptive and some entities adopt an accounting policy of capitalizing warehousing that is genuinely part of getting goods ready for sale. If you report under both frameworks, write the policy down and apply it consistently — an unexplained difference between your local China books and the group submission is the fastest way to a questioned audit trail.

The practical test is a single question asked per cost line: was this cost incurred before or after the unit became sellable in that warehouse? Before → inventory. After → P&L. Receiving and put-away come before. Storage, picking, packing, and returns handling come after. The vendor is the same; the answer is not.

When a 3PL or warehouse contract is actually a lease

A brand that leases its own China warehouse clearly applies IFRS 16. The harder case is the 3PL agreement that reserves a dedicated zone, a fixed number of pallet positions, or a named floor for your stock. If the space is an identified asset and you have the right to direct its use and obtain substantially all the economic benefits, the arrangement contains a lease — and the monthly fee is not simply a service expense but a right-of-use asset with a matching liability.

Three signals that a China 3PL contract needs an IFRS 16 assessment: the contract names a specific area or pallet count rather than a service level; you pay a fixed minimum regardless of volume stored; and the operator cannot substitute the space without your consent. Getting this wrong understates both assets and liabilities on the balance sheet that rolls up into your group consolidation.

Allocating warehouse cost to channel, SKU, and order

Classification decides where the cost sits. Allocation decides whether the number is useful. A monthly 3PL invoice allocated by revenue share is worse than no allocation at all, because it is confidently wrong: revenue share rewards high-price/low-volume SKUs and penalizes nothing. Use drivers that match the cost behaviour:

  • Storage → volume × days. Cubic metres (or pallet positions) multiplied by days held, per SKU. This is the only driver that correctly charges slow movers for the space they occupy.
  • Inbound handling → units or cartons received. Attach to the receipt, which means it flows into unit cost automatically.
  • Pick-pack → orders and lines. Split the per-order component from the per-item component; a 1-line order and a 12-line order are not the same cost.
  • Value-added services → the campaign that requested them. Gift-with-purchase labour belongs to the promotion, not to the SKU — keep it traceable to the promotion it funded.
  • Returns processing → the return. Never to the channel average.
  • Then roll all five up by channel so unified P&L reporting shows warehouse cost per order for Tmall, JD, Douyin, and 小红书 side by side.

Where brands get warehousing cost accounting wrong

  • Capitalizing the whole 3PL invoice into inventory. Overstates the balance sheet, defers real cost, and inflates gross margin until the auditor unwinds it.
  • Expensing the whole 3PL invoice. The mirror error — inbound receiving and put-away genuinely belong in unit cost, and dropping them understates inventory and distorts COGS in the period of a large receipt.
  • Booking storage to COGS instead of opex. It keeps gross margin looking like the deck, and quietly makes gross margin incomparable across periods and channels. See fees and net margin.
  • Ignoring long-term storage surcharges as a write-down signal. Paying an escalated rate on 180-day-old stock is evidence that net realizable value may be below cost.
  • No reconciliation between the 3PL’s stock report and the ERP. If warehouse quantities do not tie, cost per unit cannot tie either — this is the same control as inventory reconciliation.
  • Accruing nothing at period end. Chinese 3PL invoices frequently arrive weeks late; without an accrual the month is understated and the next month absorbs two months of cost. Build it into the month-end close checklist.

A month-end warehousing-cost checklist

  1. Pull every warehouse and 3PL statement for the period — Cainiao, JD Logistics, domestic 3PL, bonded operator, TP pass-through.
  2. Decompose each statement into the six buckets above. Reject any invoice you cannot decompose and request a detail file.
  3. Post inbound receiving and put-away to inventory; post storage, surcharges, pick-pack, VAS, and returns handling to their dedicated expense accounts.
  4. Accrue for statements not yet received, using last period’s rate card applied to this period’s volume.
  5. Reconcile 3PL closing quantities to ERP on-hand by SKU and location; investigate every variance before valuing inventory.
  6. Run the aged-inventory report; flag any SKU incurring a long-term storage surcharge for an NRV assessment under IAS 2 and a possible provision under IAS 37.
  7. Allocate the period’s warehouse cost by driver (volume-days, receipts, orders/lines) and publish warehouse cost per order by channel.
  8. Confirm no 3PL contract signed or renewed this period triggers an IFRS 16 lease assessment.

How Digate fits

Digate connects directly to Tmall, JD, Douyin, 小红书, and your logistics and ERP systems, then normalizes the fee detail behind each statement into a single model. Warehouse and fulfillment charges are decomposed into their buckets, tagged capitalizable or period cost, and allocated by the right driver — volume-days for storage, orders and lines for pick-pack — so warehouse cost per order becomes a number you can compare across channels rather than a lump sum in a logistics account.

That feeds the same unified P&L that carries your landed cost, outbound freight, and platform fees, with the underlying statement lines retained as evidence. Combined with real-time multichannel inventory visibility, it means the aged-stock surcharge and the write-down conversation surface in the same report — in time to act on either.

Frequently asked questions

Is warehouse storage cost part of COGS or operating expense?

Under IAS 2 storage of finished goods awaiting sale is excluded from inventory cost and expensed as incurred, so it is an operating (distribution) expense, not inventoriable COGS. The narrow exception is storage necessary between production stages, which rarely applies to a marketplace seller holding sellable stock.

Can inbound receiving and put-away fees be capitalized into inventory?

Yes. Receiving, inspection, labelling, and put-away are costs incurred to bring inventory to its present location and condition, which is precisely the IAS 2 capitalization test. Treat them like freight-in and duty and roll them into landed cost per unit.

How should pick-and-pack fees be recorded?

As a selling and distribution expense in the period the order ships. Picking and packing are fulfilment activities performed to deliver an order, not costs of getting inventory ready for sale, so they sit alongside outbound freight rather than inside COGS.

Does a 3PL warehouse agreement create a lease under IFRS 16?

It can. If the contract identifies a specific area or a fixed number of pallet positions, the supplier has no practical substitution right, and you direct how the space is used, IFRS 16 likely requires a right-of-use asset and lease liability. A pure per-cubic-metre, volume-variable service with no identified space generally does not.

How should long-term storage surcharges be treated?

Expense them as incurred, and treat them as an impairment trigger. A surcharge means the stock has aged past the platform’s threshold, which is direct evidence to test whether net realizable value has fallen below cost under IAS 2 and whether a provision is needed under IAS 37.

Why allocate warehouse cost by volume-days instead of revenue?

Because storage is consumed by space and time, not by price. Revenue-based allocation charges an expensive fast-moving SKU for space a cheap slow-moving SKU actually occupied, inverting the signal. Volume-days makes slow inventory visibly expensive, which is the whole point of measuring it — and it is what makes channel profitability defensible.

Get China-commerce data insights for your ERP

Monthly playbooks on unifying Tmall, JD, Douyin & Pinduoduo data into NetSuite/SAP. No spam.

Digate Lead Capture (v1)

Prefer to talk? Book a demo.