Costing Management — User Guide

Costing Management lets you re-value your inventory on your own periods, side by side with standard Business Central. It never posts and never changes standard costing: it reads the quantities from the item ledger (which are trustworthy) and lets you take — or correct — the costs, then stores the result in its own tables.

Use it to:

  • compute inventory value on date ranges you decide, with a transparent weighted‑average formula;
  • establish a clean starting point ("point zero") when the historical cost data in the database is unreliable, and fix unit costs going forward — without re‑posting anything.

The field and button names below are those shown when the English language is active.

1. Set it up once

Page: Costing Setup

Open it once and review the defaults:

  • Default Costing Method / Default Inflow Cost Source — proposed on every new period.
  • Amount Rounding Precision (e.g. 0.01) — rounding used for values.
  • Unit‑Amount Rounding Precision (e.g. 0.00001) — rounding used for unit costs.
  • Item No. Filter — an optional global limit on which items are ever considered.
  • Zero‑Cost Inflow Policy — how the engine reacts to receipts that have a quantity but no value (see section 6). The default Exclude from Average is the recommended, safe behaviour.
  • Group Variants — when on, item variants are merged: quantities and costs are aggregated and a single average is computed per item, and the variant column is hidden.

The setup is a single record; it initialises itself the first time you open it.

2. Understand periods and the chain

Page: Inventory Periods (list) → Inventory Period Card

A period is a code, a date range and a costing method. Periods form a chain: the closing balances of one period become the opening balances of the next.

Key fields on the card:

  • Code / Description — identify the period.
  • Starting Date — the first date included. Leave it blank to mean "from the beginning of time" — this is how you build a baseline (see section 3).
  • Ending Date — the last date included (mandatory before you can compute).
  • Costing Method / Inflow Cost Source — the valuation options for this period.
  • Location Filter — optional; limits which locations' movements are aggregated. Results are always consolidated per item (locations are not shown as separate lines).
  • Inventory Posting Group Filter — optional; limits the computation to the items belonging to the selected posting group(s). Leave blank for all items.
  • Previous Period — the period whose closing seeds this period's opening. Leave it blank to chain automatically to the period with the latest earlier starting date.
  • StatusOpen, Computed or Closed (see section 8).

Branches. Because you can set Previous Period explicitly, you can model intermediate periods and alternative branches — two periods can even cover the same calendar dates on different branches. The only rule the system enforces on dates is that a period must start after its previous period ends and finish before any period chained after it starts.

3. Create a clean starting point ("point zero")

If the cost history in the database is unreliable, start with a baseline period and correct it once; every later period then inherits clean figures.

Action:

  1. Create a period with a blank Starting Date and an Ending Date set to the day before your first "real" period.
  2. Compute it (see section 4). Because the start is blank, the closing quantities equal BC's actual on‑hand at the cut‑off date.
  3. Import the correct unit costs (see section 5) and recompute, so the values are restated from the clean costs.
  4. Close it. The baseline is now frozen and ready to seed the next period.

4. Compute a period

Page: Inventory Period Card (or the Inventory Periods list)

Action: press Compute.

What happens:

  • quantities are read from the item ledger for the period's date range (a blank Starting Date means everything up to the Ending Date);
  • receipts (positive quantity) and issues (negative quantity) are classified by sign, so transfers are handled naturally;
  • the opening is carried from the previous period's closing;
  • a weighted‑average Unit Cost is computed and the closing value is calculated as closing quantity × unit cost;
  • the period becomes Computed and is stamped with who computed it and when.

You can recompute as often as you like while the period is Open/Computed — as long as no later period is already Computed or Closed. If it is, reopen the later period(s) first.

5. Import unit costs from Excel

Page: Inventory Periods list or Inventory Period CardImport Unit Costs

When you need to override the costs (typically on the baseline, but valid on any non‑closed period), import them from an Excel file.

Action: press Import Unit Costs, pick the .xlsx file, and choose the sheet.

File layout — three columns, matched by position, not by header name:

Column Content Notes
A Item No. Required. Rows with a blank A are ignored.
B Variant Code Optional. Blank = the no‑variant entry. * = apply to every variant of the item. Ignored when Group Variants is on.
C Unit Cost Accepts both , and . as decimal separator.
  • Row 1 is a header and is ignored; data starts at row 2.
  • Importing a cost onto an existing line restates its values immediately.
  • If the line does not exist yet, a placeholder is created and its quantity is filled at the next Compute. So the usual order is Compute → Import → recompute if needed.
  • Imported costs are preserved across every later recompute — only quantities and non‑imported values are refreshed.
  • To drop an override, use Clear Imported Cost on the entry line; the next compute reverts it to the calculated average.

The period must not be Closed to import (reopen it first).

6. When a receipt has no cost

A receipt with a quantity but no value (for example a purchase line left at cost 0, or a cost adjustment never run) would otherwise pull the average down and, through the chain, spread the error to later periods.

The engine detects it: such quantity is added to Uncosted Inflow Quantity and the line is flagged Missing Inflow Cost. What happens to the value is decided by the Zero‑Cost Inflow Policy in the setup:

  • Flag Only — the zero is kept (the average is diluted) and the line is flagged. Maximum transparency; use it when you intend to fix the cost with an import.
  • Exclude from Average (default, recommended) — the uncosted quantity is removed from the calculation, so the good stock sets the average and all on‑hand units are valued at it. Bad data does not distort the cost.
  • Item Unit Cost — the uncosted receipt is valued at the item card's Unit Cost.

Whichever policy applies, the flags stay on the line so you can find the offending entries (drill down from the line) and, if needed, import the right cost.

7. Review the results

Page: Inventory Period CardEntries subpage

Each line shows, per item (and per variant unless Group Variants is on):

  • Opening / Inflow / Outflow / Closing quantities and values;
  • Unit Cost — the weighted average, or your imported override;
  • Unit Cost Imported — ticked when the cost came from an import;
  • Revaluation Adjustment — how much value an override or an imputation injected versus the raw flow (your audit trail);
  • Missing Inflow Cost / Is Negative — data‑quality signals. Is Negative means the available quantity was zero or negative, so the cost could not be averaged (it is shown as 0 rather than guessed).

The card also totals the closing quantity and value for the whole period.

8. Close a period

Page: Inventory Period CardClose

Action: press Close and confirm. A period must be Computed first.

What happens:

  • the period is frozen — it can no longer be edited or recomputed;
  • the period Unit Cost is written back to the item card (Unit Cost on the item). When an item has several lines (different variants), the value written is the closing‑quantity weighted average of those lines; an item whose total closing quantity is zero or negative is left untouched.

This is the only place the app writes to standard master data.

9. Create the next period

Page: Inventory Periods list or Inventory Period CardCreate Next Period

Action: select a Computed or Closed period and press Create Next Period.

What happens:

  • a new period is created, chained to the selected one (its Previous Period points back to it), so its opening will be the selected period's closing;
  • the settings (method, inflow source, location filter, posting‑group filter, description) are copied;
  • the next Starting Date is proposed (the day after the source period's Ending Date), and the new card opens.

Set the new Ending Date, then Compute. From the list, the action works on the single highlighted period.

10. Reopen and recompute

Page: Inventory Period CardReopen

Action: press Reopen to bring a Computed or Closed period back to Open so it can be edited or recomputed.

To keep the chain consistent, you can only reopen a period when every later period is already Open. Reopen from the most recent backwards.

11. Reports

Both reports are available from the Inventory Periods list and the Inventory Period Card:

  • Inventory Evaluation (Excel) — a plain Excel export: one line per item (and variant) with closing quantity, unit cost and closing value, plus a grand total.
  • Inventory Valuation (Print) — a printed layout with opening / increases / decreases / closing, grouped by inventory posting group with subtotals and a total.

Both offer a Group Variants option on the request page that sums the figures per item and hides the variant detail (independently of the setup flag).

Good to know

  • Quantities are always taken from the item ledger, so a period's closing quantity always matches BC's on‑hand at its ending date — even after backdated postings, once you recompute.
  • A fully depleted line is worth exactly 0 — closing value is always closing quantity × unit cost, so there is never a leftover rounding cent stranded on a zero‑quantity line.
  • Imported costs are never lost to a recompute; only quantities and calculated values refresh.
  • Editing is only possible while Open. If a field is locked, the period is Computed or Closed — reopen it first.
  • Two branches may share the same dates. The date check only compares a period with its own previous and next in the chain, not with every other period.