➡️ What are Cost Layers?
If you buy the same material at different prices over time, Cost Layers lets SureStock track each purchase as its own "layer" instead of overwriting the cost every time you buy more. This gives you a more accurate picture of what your inventory is actually worth.
Say you have 5 units of a material in stock: 2 of them cost $2 each, and 3 of them cost $1 each. Without cost layers, SureStock only ever keeps a single cost, so no matter what you paid for each batch, your stock shows one flat cost. Cost Layers keeps each purchase as its own layer instead, so tracking what your inventory is actually worth is more accurate.
➡️ Costing Modes
Last Purchase: uses the unit cost from your most recent purchase.
Average: a weighted average across your different purchase costs. SureStock calculates this based on the quantity you currently have in stock, not your full purchase history.
FIFO (First In, First Out): cost of the oldest layer still in stock. Units leave from the oldest layer first, so the displayed cost matches what you paid for the stock that's about to be consumed. Conservative during rising prices.
LIFO (Last In, First Out): cost of the newest layer still in stock. Units leave from the newest layer first, so the displayed cost stays close to your most recent acquisition price. Useful when you want the cost to track current replacement value.
➡️ Setting it up
Go to Settings → Procurement → Cost Layers.
Turn on Cost Layers.
Choose your default costing mode.
Optionally, set a lock date. Layers dated on or before this date can't be created, edited, or deleted, this protects closed accounting periods from retroactive changes.
📌 This setting is not retroactive, it only affects reconciliations made after it's turned on.
➡️ How Layers Get Created
Manually, directly from the material:
Go to Catalog → open the material → Cost Layers tab → Add Layer to add one yourself, without needing a PO.
When reconciling a PO:
Receiving and reconciling a PO for a material creates a new layer on its own, with the cost and quantity from that purchase. For example: you reconcile a PO for a material at a new price (5 units at $15 because your supplier raised their rate). SureStock creates a new layer for those 5 units at $15, on top of whatever layers already existed. Remember to select the correct location on that PO.
Once the last unit from that layer is used, its available quantity hits 0 and it moves out of the active view into History. The purchase record isn't lost, it just no longer represents stock you currently have.
When copying stock with a Stock Template:
Layers are also created automatically when you copy a material's stock to another location using a Stock Template, since that duplicates the stock, it creates a new layer carrying over the same cost.
➡️ Overriding a Single Material
Open the material and go to its Cost Layers tab.
Turn Cost Layers on or off just for this material, or set a different costing mode than your account default.
Useful when most of your catalog can use one mode, but a specific category (say, a commodity that swings in price a lot) needs to be tracked differently.
➡️ Reconciling POs to a Job Instead of Stock
When a PO is reconciled to a stock location, a new layer is created as expected. When it's reconciled directly to a job, the material never sits in your stock, so historically that purchase cost wasn't reflected in your catalog at all.
There's a setting that fixes this by updating the catalog cost even when a PO reconciles straight to a job: go to Settings → Procurement → Cost Layers and turn this toggle on.
➡️ How Average is Calculated
Average only looks at the quantity you currently have available, not everything you've ever received.
Example: you have 8 units available at $10 and add a new layer of 1 unit available at $25. The average weighs both: (8 × $10 + 1 × $25) ÷ 9 = $11.67. As you sell through the cheaper layers and only pricier ones remain available, the average shifts to reflect that.
➡️ Common Issues
"Inventory layer date must be after the business lock date"
You'll see this error if the Layer date you entered falls on or before the account's lock date. SureStock shows a reminder banner right in the form (for example, "Business lock date is set to Jul 23, 2026. Layers can't be back-dated to this date or earlier"), and blocks the submission if you try anyway. Fix it by picking a layer date after the lock date, layers dated after the lock date can still be managed normally.
"I reconciled a PO to a job, and the catalog cost didn't update."
That's expected by default, POs reconciled to a job don't touch stock, so no new layer is created. If you want catalog cost to update even in this case, turn on the "update cost on job reconciliation" toggle under Settings → Procurement → Cost Layers.
"My average cost doesn't match what I expected."
Remember Average only factors in the quantity currently in stock, not your full purchase history. If you've sold through older, cheaper layers, the average will shift toward your more recent, pricier purchases, that's expected.
➡️ FAQs
Does turning on cost layers affect past purchases?
No, it's not retroactive. It only affects reconciliations and layers created after you turn it on.
Can I use a different costing mode for one specific material?
Yes. Open the material's Cost Layers tab and override the account default just for that item.
What happens to a layer once all its stock is used up?
It moves from the active view into History. The purchase record is kept, it just no longer represents stock you currently have.
Does copying stock to a new location with a Stock Template create a layer?
Yes, since that duplicates the stock, it creates a new layer carrying over the same cost.












