Overview
When you attach extra costs — such as freight, import duties, customs charges, or handling fees — to a Purchase Order (PO) or Receiving Report (RR), Luminous folds those costs into the landed cost of every unit received. That landed cost then drives both your inventory valuation (what your stock is worth on hand) and your Cost of Goods Sold (COGS) when those items are eventually shipped to customers.
Step 1 — Where extra costs live
Extra costs can be attached at two points:
- On the Purchase Order Shipment — freight, duties, or other charges entered before goods arrive (estimates).
- On the Receiving Report (RR) — costs entered at the moment goods are actually received (e.g., a local handling fee specific to that receipt).
If an RR is automatically generated from an Inbound Shipment linked to a PO Shipment, the system carries the PO Shipment's extra costs forward and proportionally assigns them to that receipt.
Step 2 — How extra costs are spread across items
Luminous automatically distributes each extra cost across the line items on the RR using an allocation method you define per cost:
| Allocation method | How it works |
|---|---|
| Unit-based | Extra cost is divided in proportion to the number of units received per line |
| Value-based | Extra cost is divided in proportion to the purchase value of each line |
For partial receipts (one PO Shipment received across multiple RRs), each RR gets only its proportional share of the source PO Shipment's extra costs. For example, if a $500 duty is set to allocate by value and you receive 20 % of the shipment's value on the first RR, that RR absorbs $100 of the duty; the remaining $400 lands on subsequent receipts.
Step 3 — Landed cost per unit is recorded in inventory
Once allocation is complete, Luminous calculates each item's landed cost per unit:
Landed Cost per Unit = Purchase Price per Unit + Allocated RR Extra Costs per Unit + Allocated PO Shipment Extra Costs per Unit
This figure is what gets written into the inventory cost layer for those units. A cost layer is the record Luminous keeps for each batch of received stock, storing how many units arrived and at what per-unit cost.
Step 4 — Impact on inventory valuation
Your on-hand inventory value is the sum of all active cost layers. Because extra costs are baked into the landed cost at receipt time, your stock value on hand automatically reflects the true total acquisition cost — not just the supplier's invoice price. This means:
- Reports such as the Stock Snapshot will show a higher per-unit value when significant freight or duty charges were added.
- The effect appears immediately after the Receiving Report is saved.
Step 5 — Impact on COGS when items are sold
When an item is shipped to a customer, Luminous pulls from the relevant cost layer(s) using your account's costing method (FIFO or Weighted Average Cost). Because the landed cost — including all extra charges — is already stored in those layers, COGS automatically includes the freight, duties, and other costs that were allocated at receipt. No manual adjustment is needed at the time of sale.
Updating costs after receiving
If you edit an RR's extra costs after it has been processed:
- The cost layers for units still on hand are updated to reflect the corrected landed cost.
- The COGS for units that have already been sold or shipped is not updated automatically. The cost recorded at the time of sale remains unchanged by default.
Correcting COGS on past sales after a significant cost change (e.g., a large freight charge that was missed) requires a separate reconciliation process run by your Luminous administrator or support team.
Summary
| Action | Effect |
|---|---|
| Add extra cost to PO Shipment or RR | Automatically allocated across received items and baked into landed cost |
| Receive goods | Landed cost (including extras) written to inventory cost layers |
| Sell goods | COGS drawn from cost layers — includes all allocated extra costs |
| Edit RR costs after receiving | On-hand cost layers updated; past-sale COGS unchanged without manual reconciliation |