# Business Central Average Cost Inventory Calculator

> Source: https://netray.co/tools/business-central-average-cost-inventory-calculator
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

See how a new receipt changes the weighted average unit cost, COGS on a sale and remaining inventory value, with a cost sensitivity chart.

## Category

supply-chain

## Erp

Dynamics 365 Business Central

## Audience

- Cost accountant
- Inventory controller
- BC consultant

## Tool

**Kind:** calculator

**Currency:** $

**Inputs:**

#### On-hand quantity before receipt

**Key:** onhand_qty

**Type:** number

**Default:** 500

**Min:** 0

**Step:** 10

**Unit:** units

#### Current average unit cost

**Key:** onhand_cost

**Type:** number

**Default:** 12.4

**Min:** 0

**Step:** 0.1

**Unit:** $/unit

#### Receipt quantity

**Key:** receipt_qty

**Type:** number

**Default:** 300

**Min:** 0

**Step:** 10

**Unit:** units

#### Receipt unit cost

**Key:** receipt_cost

**Type:** number

**Default:** 13.1

**Min:** 0

**Step:** 0.1

**Unit:** $/unit

**Help:** Direct unit cost plus any item charges allocated to the line.

#### Quantity sold after receipt

**Key:** sale_qty

**Type:** number

**Default:** 200

**Min:** 0

**Step:** 10

**Unit:** units

**Outputs:**

#### Quantity after receipt

**Key:** total_qty

**Expr:** onhand_qty + receipt_qty

**Format:** integer

#### New average unit cost

**Key:** new_avg

**Expr:** (onhand_qty * onhand_cost + receipt_qty * receipt_cost) / max(total_qty, 0.0001)

**Format:** currency

**Primary:** true

#### Change versus old average

**Key:** shift

**Expr:** new_avg - onhand_cost

**Format:** currency

#### COGS on the sale

**Key:** cogs

**Expr:** sale_qty * new_avg

**Format:** currency

**Primary:** true

#### Remaining quantity

**Key:** remaining_qty

**Expr:** max(total_qty - sale_qty, 0)

**Format:** integer

#### Remaining inventory value

**Key:** remaining_value

**Expr:** remaining_qty * new_avg

**Format:** currency

**Chart:**

#### New average cost vs receipt unit cost

**Type:** line

**X:** receipt_cost

**From:** 8

**To:** 18

**Steps:** 20

**Series:**

- new_avg

**Disclaimer:** Simplified single-period model. Business Central calculates average cost per item for the Average Cost Period set in Inventory Setup (day, week, month, quarter or accounting period) and corrects entries through the Adjust Cost - Item Entries batch job.

## Content

**Intro:** With the Average costing method, Business Central values each item at the weighted average of its cost entries. This tool reproduces the core arithmetic so you can predict the effect of a receipt before posting it and explain a cost movement to a buyer or auditor.

**Sections:**

#### How to use it

**Body:** Enter the quantity and average cost you hold today, then the quantity and unit cost of the incoming receipt. Include item charges and landed cost in the receipt unit cost, since BC adds them to the value of the receipt. Add a sales quantity to see the COGS that would be posted at the new average, and the stock value that remains.

#### The formula

**Body:** New average equals the sum of existing value plus receipt value, divided by total quantity. COGS is quantity sold times that average, and remaining value is remaining quantity times the same average. In BC the average is evaluated for an Average Cost Period and a posting inside that period can change the cost of earlier outbound entries, which the Adjust Cost - Item Entries job then corrects.

**Bullets:**

- Set the Average Cost Calc. Type to Item, or Item and Location and Variant, in Inventory Setup
- Run Adjust Cost - Item Entries before reading the valuation report
- Post inventory to G/L with Post Inventory Cost to G/L
- Compare the Inventory Valuation report with the G/L inventory account

#### Reading the chart

**Body:** The chart sweeps the receipt unit cost. The slope equals the receipt share of total quantity, so a receipt that is small relative to stock moves the average only slightly. If you hold little stock and receive a lot, the average follows the latest price closely, which is why zero or near-zero stock periods can make average cost behave like FIFO.

#### Common mistakes

**Body:** Forgetting item charges, posting purchase invoices late so the receipt is valued at an expected cost first, and negative inventory that makes the average unstable. Allowing negative inventory then adjusting later leads to cost corrections that surprise users. Keep Prevent Negative Inventory on unless there is a clear reason.

**Cta:** If your BC valuation does not tie to the G/L, we can run a read-only reconciliation across value entries and item ledger entries and show where the gap starts.

**Faq:**

#### Does BC always use this simple formula?

**Answer:** The core is a weighted average, but BC works per average cost period and per the calc type you choose, and adjustment routines revalue earlier outbound entries. Use this for estimates, and the BC reports for postings.

#### What is the Average Cost Period?

**Answer:** A setting in Inventory Setup that decides how often average cost is recalculated: day, week, month, quarter or accounting period. A shorter period gives more responsive costs but more adjustments.

#### Are item charges included?

**Answer:** Yes, you should include them in the receipt unit cost here. In BC, item charges assigned to receipt lines change the cost of those lines and therefore the average.

#### Can I use this for standard cost items?

**Answer:** No. Standard costing keeps a fixed unit cost and posts differences to variance accounts. This tool applies only to the Average costing method.

## Search terms

business central average costing, business central item costing method average, weighted average cost calculator, business central cost of goods sold calculation, business central inventory valuation, dynamics 365 average cost adjust cost item entries

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
