---
id: topic/business-central/business-functionality/design-details/design-details-inventory-costing
type: topic
title: "Design details: Inventory costing"
summary: "Inventory costing design details in Business Central: costing methods, cost components, item application, cost adjustment, expected cost posting, valuation, revaluation, variance, rounding, and reconciliation with the general ledger. It answers how costs are calculated, forwarded, adjusted and posted to G/L, including assembly and production orders."
tier: official
language: en
system: inventory
review:
  state: reviewed
  by: opus
  at: "2026-10-07T02:16:53.515Z"
  flags: []
generated:
  at: "2026-10-08T06:31:25.130Z"
  pipeline: 0.2.0
  prompts:
    hub-topic: 1
  input_hash: 46dd8b71570be3d46255c514d96f5de99aa666c0d6dff95ef25c67ee2cf3a362
evidence:
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-assembly-order-posting
    title: Design details - Assembly order posting
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-average-cost
    title: Design details - Average cost
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-changing-costing-methods
    title: Design details - Changing costing methods for items
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-cost-adjustment
    title: Design details - Cost adjustment
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-cost-components
    title: Design details - Cost components
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-costing-methods
    title: Design details - Costing methods
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-expected-cost-posting
    title: Design details - Expected cost posting
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-costing
    title: Design details - Inventory costing
    date: "2024-07-29"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-periods
    title: Design details - Inventory periods
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-posting
    title: Design details - Inventory posting
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-valuation
    title: Design details - Inventory valuation
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-item-application
    title: Design details - Item application
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-production-order-posting
    title: Design details - Production order posting
    date: "2025-07-01"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-reconciliation-with-the-general-ledger
    title: Design details - Reconciliation with the general ledger
    date: "2025-08-13"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-revaluation
    title: Design details - Revaluation
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-rounding
    title: Design Details - Rounding
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-accounts-in-the-general-ledger
    title: Design details accounts in the general ledger
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-variance
    title: Design details variance
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-adjustment-value-entry-allowed-posting-dates
    title: Error message "Posting Date is not within your range of allowed posting dates"
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-zero-level-open-item-ledger-entries
    title: Inventory zero open item ledger entries
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-adjustment-value-entry-source-entry
    title: Posting date on adjustment value entry compared to the source entry
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-adjustment-value-entry-posting-date
    title: Posting date on value entries
    date: "2026-03-17"
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/design-details-assembly-order-posting
    - https://learn.microsoft.com/dynamics365/business-central/design-details-average-cost
    - https://learn.microsoft.com/dynamics365/business-central/design-details-changing-costing-methods
    - https://learn.microsoft.com/dynamics365/business-central/design-details-cost-adjustment
    - https://learn.microsoft.com/dynamics365/business-central/design-details-cost-components
    - https://learn.microsoft.com/dynamics365/business-central/design-details-costing-methods
    - https://learn.microsoft.com/dynamics365/business-central/design-details-expected-cost-posting
    - https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-costing
    - https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-periods
    - https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-posting
    - https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-valuation
    - https://learn.microsoft.com/dynamics365/business-central/design-details-item-application
    - https://learn.microsoft.com/dynamics365/business-central/design-details-production-order-posting
    - https://learn.microsoft.com/dynamics365/business-central/design-details-reconciliation-with-the-general-ledger
    - https://learn.microsoft.com/dynamics365/business-central/design-details-revaluation
    - https://learn.microsoft.com/dynamics365/business-central/design-details-rounding
    - https://learn.microsoft.com/dynamics365/business-central/design-details-accounts-in-the-general-ledger
    - https://learn.microsoft.com/dynamics365/business-central/design-details-variance
    - https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-zero-level-open-item-ledger-entries
  objects:
    - object/page/8645
  features: []
  topics:
    - topic/business-central/business-functionality/design-details
    - topic/business-central/business-functionality/design-details/design-details-inventory-costing/design-details-posting-date-on-adjustmen
  localizations: []
  videos:
    - video/8IOEXgk7q5I
  posts:
    - post/thedynamicsexplorer-com/37371
  guidelines: []
  changes:
    - change/bcapps/10094
    - change/bcapps/10430
    - change/bcapps/10663
    - change/bcapps/9062
    - change/bcapps/9212
    - change/bcapps/9398
    - change/bcapps/9467
learn_toc_path:
  - Business functionality
  - Design details
  - "Design details: Inventory costing"
toc_file: business-central/TOC.md
parent: topic/business-central/business-functionality/design-details
children:
  - topic/business-central/business-functionality/design-details/design-details-inventory-costing/design-details-posting-date-on-adjustmen
coverage:
  learn: 22
  code: 1
  video: 1
  blog: 1
  guideline: 0
bc_forms:
  - 8645
member_hash: 63e11844c0c3fba771b2e865f0385029f86b83467be990c792747c692e668f43
narrative: generated
---

# Design details: Inventory costing

> Inventory costing design details in Business Central: costing methods, cost components, item application, cost adjustment, expected cost posting, valuation, revaluation, variance, rounding, and reconciliation with the general ledger. It answers how costs are calculated, forwarded, adjusted and posted to G/L, including assembly and production orders.

Path: [Business functionality](../../business-functionality.md) > [Design details](../design-details.md) > Design details: Inventory costing · tier official · system inventory · narrative reviewed (checked by Opus)

## Overview

This section explains how Business Central records and reports inventory cost. It starts from the basics: the five costing methods, the cost components that make up inventory value, and the two kinds of entries (quantity entries in the item ledger and value entries) that inventory posting creates. Item application links cost recipients to cost sources so cost can be forwarded.

Other pages cover what happens after posting. Cost adjustment moves cost from sources to recipients, average cost works in periods, and expected cost posting uses interim accounts until invoicing. Revaluation, variance and rounding are covered separately. Further pages describe production and assembly order posting, inventory periods, valuation reports, and reconciliation with the general ledger. A subtopic covers the posting date on adjustment value entries.

Start with "Design details - Inventory costing" for the overview, then "Costing methods" and "Inventory posting". Go to the topic pages for cost adjustment, average cost, or G/L reconciliation as your question requires. Two practical pages cover changing an item's costing method and the known issue of zero inventory with open item ledger entries.

## Key points

- Five costing methods are covered: FIFO, LIFO, Average, Standard and Specific.
- Inventory posting creates quantity entries (item ledger) and value entries, linked by item application entries that forward cost.
- Item application supports automatic quantity application and fixed cost application for returns and corrections.
- Cost adjustment runs through the Adjust Cost - Item Entries batch job, either automatic or manual, and Post Inventory Cost to G/L posts values to the general ledger.
- Expected cost posting for received but not invoiced items uses interim accounts until full invoicing.
- Average cost is a weighted average within a configurable period and calculation type, applied to decreases by the Adjust Cost batch job.
- Assembly output posts at actual cost with no WIP concept; production order posting tracks cost through raw materials, WIP and finished goods.
- To change an item's costing method after transactions, use assembly orders to transfer inventory while preserving cost.

## Subtopics

- [Design details: Posting date on adjustment value entry](design-details-inventory-costing/design-details-posting-date-on-adjustmen.md) (3 pages)

## More Learn pages

- [Design details - Assembly order posting](https://learn.microsoft.com/dynamics365/business-central/design-details-assembly-order-posting): Assembly order posting is based on the same principles as when posting the similar activities of sales orders and production consumption/output.
- [Design details - Average cost](https://learn.microsoft.com/dynamics365/business-central/design-details-average-cost): The average cost of an item is calculated with a periodic weighted average.
- [Design details - Changing costing methods for items](https://learn.microsoft.com/dynamics365/business-central/design-details-changing-costing-methods): Learn how to assign a different costing method to an item although you have already used the item in transactions.
- [Design details - Cost adjustment](https://learn.microsoft.com/dynamics365/business-central/design-details-cost-adjustment): Cost adjustment forwards cost changes from cost sources to cost recipients according to an item’s costing method, to provide correct inventory valuation.
- [Design details - Cost components](https://learn.microsoft.com/dynamics365/business-central/design-details-cost-components): Cost components are different types of costs that make up the value of an inventory increase or decrease.
- [Design details - Costing methods](https://learn.microsoft.com/dynamics365/business-central/design-details-costing-methods): This topic describes how the costing method affects how actual and budgeted values are capitalized and used in the cost calculation.
- [Design details - Expected cost posting](https://learn.microsoft.com/dynamics365/business-central/design-details-expected-cost-posting): Expected costs represent the estimation of, for example, a purchased item’s cost that you record before you receive the invoice for the item.
- [Design details - Inventory costing](https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-costing): This documentation provides detailed technical insight to the concepts and principles that are used within the Inventory Costing features in Business Central.
- [Design details - Inventory periods](https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-periods): Inventory Periods helps avoid problems with balances and stock valuations by opening or closing inventory periods to limit posting in a set period of time.
- [Design details - Inventory posting](https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-posting): Each inventory transaction, such as a purchase receipt or a sales shipment, posts two entries of different types.
- [Design details - Inventory valuation](https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-valuation): Inventory valuation is the determination of the cost of an inventory item.
- [Design details - Item application](https://learn.microsoft.com/dynamics365/business-central/design-details-item-application): This article describes where inventory quantity and value are recorded when you post an inventory transaction.
- [Design details - Production order posting](https://learn.microsoft.com/dynamics365/business-central/design-details-production-order-posting): Similar to assembly order posting, the consumed components and the used machine time convert and output as the produced item when you finish the production order.
- [Design details - Reconciliation with the general ledger](https://learn.microsoft.com/dynamics365/business-central/design-details-reconciliation-with-the-general-ledger): This article describes reconciliation with the general ledger when you post inventory transactions, such as sales shipments, production output, or negative adjustments.
- [Design details - Revaluation](https://learn.microsoft.com/dynamics365/business-central/design-details-revaluation): You can revalue the inventory based on the valuation base that most accurately reflects the inventory value.
- [Design Details - Rounding](https://learn.microsoft.com/dynamics365/business-central/design-details-rounding): Rounding residuals can occur when you value the cost of an inventory decrease measured in a different quantity than the corresponding inventory increase.
- [Design details accounts in the general ledger](https://learn.microsoft.com/dynamics365/business-central/design-details-accounts-in-the-general-ledger): To reconcile inventory and capacity ledger entries with the general ledger, the related value entries post to different accounts in the general ledger.
- [Design details variance](https://learn.microsoft.com/dynamics365/business-central/design-details-variance): Variance is the difference between the actual cost and the standard cost.
- [Inventory zero open item ledger entries](https://learn.microsoft.com/dynamics365/business-central/design-details-inventory-zero-level-open-item-ledger-entries): This article addresses an issue where the inventory level is zero although open item ledger entries exist.

## Videos, posts and code changes

Linked by a Haiku matcher with a grounding quote from the item's summary (link/topics.ts); machine-generated.

- [#10094 [Main]- Standard-cost purchase receipts use Direct Unit Cost instead of Standard Cost when cumulative expected-cost rounding is enabled](../../../../changes/bcapps/10094.md) (code change): "Standard-cost items now correctly use Standard Cost instead of Direct Unit Cost"
- [#10430 [Master]-ACY amount on Value Entries is recalculated from LCY when the document currency equals the Additional Reporting Currency, causing a mismatch with G/L Entries]](../../../../changes/bcapps/10430.md) (code change): "ACY amounts on value entries are no longer recalculated from LCY"
- [#10663 [Main]-Stock card report shows incorrect received quantity](../../../../changes/bcapps/10663.md) (code change): "Stock Card report shows incorrect received quantity"
- [#9062 [Master]-Production Order - WIP shows incorrect consumption amount.](../../../../changes/bcapps/9062.md) (code change): "incorrect consumption amount shown for production orders in the Inventory Valuation - WIP report"
- [#9212 Bug 629779: [Inventory] Show a single Export/Import item data action pair on Cost Adjustment and Item Card](../../../../changes/bcapps/9212.md) (code change): "Manufacturing-enabled installations route to production data XMLPorts"
- [#9398 [Main]Incorrect Cost Amount (Actual) in Value Entries after posting Assembly Process and calulating the assembly standard costsInitial commit](../../../../changes/bcapps/9398.md) (code change): "Fixes wrong Cost Amount (Actual) in value entries for assembly orders after Calc. Assembly Std. Cost"
- [#9467 [Extensibility Request] issue 30346: make InsertPostValueEntryToGL public in Item Jnl.-Post Line](../../../../changes/bcapps/9467.md) (code change): "InsertPostValueEntryToGL changed from local to public"
- [Dynamics 365 Business Central – Some Considerations when Changing Standard Cost on an Item Card](../../../../posts/thedynamicsexplorer-com/37371.md) (community post): "Existing on-hand inventory retains its original cost and is not revalued when you change"
- [What's New: Cost Adjustment (2025 release wave 1)](../../../../videos/8IOEXgk7q5I.md) (video): "iterative adjustment for high-volume items; specific order adjustment"

## Business Central pages and reports

The pages, reports and queries this hub's Learn pages name (ms.search.form, API reference), joined to the code by exact object id (data/index/docs-objects.json); a page shows the table it runs on.

- [Page 8645 "Costing Method Configuration"](../../../../objects/page/8645.md) · on [Table 313 "Inventory Setup"](../../../../objects/table/313.md)

Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn's own.
