Five allocation methods. One costing engine.
<code>LandedCostVoucher</code> collects freight, duty, insurance, brokerage and other, and allocates them to receipt lines with the right method. Correct inventory valuation from the first sale — not after close.
LandedCostVoucher on one page
The voucher is a first-class document with lifecycle Draft → PendingApproval → Released → Posted,
like any other. It references one or more goods receipts (GRN) and groups additional costs that actually
increase inventory unit cost — not ones that are period expense.
- Additive cost categories. Inbound freight, duty, import insurance, brokerage, other. Each category maps to a temporary GL account that reverses on posting.
- Multi-receipt. One container can hold three different POs. The voucher distributes additional costs across lines from all three receipts simultaneously.
- Preview before posting. The system shows the new unit cost per SKU before you confirm. If the calculation looks off, adjust the method and re-simulate.
- Integrates with the costing engine. On posting,
StockedProductDetailreceives the new unit cost —Average,FIFOorSpecificID, per the product's configuration.
The right method for each cost
- By value (proportional to line amount). Cost splits proportionally to each line's value. It is the default and correct for most financial costs (insurance, brokerage) — whoever has more expensive goods absorbs more of the indirect cost.
- By quantity. Cost splits proportionally to units received. Appropriate for charges that scale with pieces — per-unit handling, labeling.
- By weight. Proportional to total line weight (quantity × unit weight). Correct for ocean freight billed by ton or pound.
- By volume. Proportional to total volume (quantity × unit volume). Correct for freight billed by cubic meter or cubic foot — shared partial container.
- Manual. The user assigns cost line by line. The escape hatch when the shipment is atypical — one damaged box absorbs its insurance, the rest does not.
One voucher can use different methods per category: by weight for freight, by value for insurance, manual for a specific adjustment. Consistency isn't required — each charge allocates on the method that actually represents it.
When actual cost arrives later
- Estimation at receipt (v1.5). Automatic landed cost estimation at receipt time — with reconciliation against actuals when the freight forwarder's invoice arrives — is deferred to v1.5. In v1 the voucher requires manual entry.
- Multi-voucher per receipt. A receipt can absorb multiple vouchers over time — freight arrives today, insurance arrives three weeks later. Each one adds to the SKU's unit cost.
- Nothing posts without approval.
Releasedpasses through threshold approval like any bill. The voucher is material — it does not post silently. - Permanent traceability. Historical unit cost for a SKU on any past date is reconstructable — the costing engine stores the movement history, not just the running total.
Without landed cost, inventory lies
Real margin on the first sale
If freight is not landed, the first sale reports artificially high margin. Finance sees profit that is not there. The voucher closes that lie.
Reliable close
Closing inventory is worth what it is worth. Without landed cost, you report under-valued inventory — direct impact on financial statements.
Pricing grounded in reality
Sale price is decided against real cost, including duty and freight. Without this, margin strategy is a wish.
What this looks like outside cifraHQ
| cifraHQ Enterprise | Manual allocation | |
|---|---|---|
| Document | First-class LandedCostVoucher | Ad-hoc manual journal |
| Methods | Five, mixable per category | One, chosen by habit |
| Multi-receipt | One voucher, many GRNs | One JE per receipt |
| Preview | New unit cost before posting | Post, then fix later |
| Impact on COGS | Immediate on posting | Late, if at all |
Landed cost demo with your real import
Bring your last freight-forwarder invoice; we walk through the voucher with your real lines in one session.