---
id: change/bcapps/10094
type: change
title: "#10094 [Main]- Standard-cost purchase receipts use Direct Unit Cost instead of Standard Cost when cumulative expected-cost rounding is enabled"
summary: Standard-cost items now correctly use Standard Cost instead of Direct Unit Cost when calculating expected cost on purchase receipts with cumulative rounding enabled, preventing inventory overstatement and ensuring purchase variance is properly recognized on invoicing.
tier: official
language: en
tags:
  - fix
  - main
  - bc30
  - codeunit item jnl.-post line
system: inventory
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:09:33.228Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: 84d12edd6c57ef2e401c2004e9643fbef38c43de
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/pull/10094
    title: "microsoft/BCApps#10094: [Main]- Standard-cost purchase receipts use Direct Unit Cost instead of Standard Cost when cumulative expected-cost rounding is enabled"
    date: "2026-08-11"
    commit: 84d12edd6c57ef2e401c2004e9643fbef38c43de
    t: null
    quote: Standard-cost items fall back to the Unit Cost * Quantity basis and post expected cost at Standard Cost
links:
  learn: []
  objects:
    - object/codeunit/22
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 10094
repo: microsoft/BCApps
source_id: bcapps-prs
url: https://github.com/microsoft/BCApps/pull/10094
kind: pr
base_branch: main
major: "30"
merged_at: "2026-08-11T15:48:07Z"
author: DhavalMore88
author_type: User
community_contribution: true
labels:
  - "ADO: Sync"
  - From Fork
  - "Team: SCM"
change_class: code
change_kind: fix
behavior_change: true
breaking: false
files:
  count: 7
  additions: 98
  deletions: 0
  al: 6
apps:
  - Base Application
objects_touched:
  - key: codeunit/22
    page: codeunit/22
    type: codeunit
    id: 22
    name: Item Jnl.-Post Line
    app: Base Application
    status: modified
objects_unjoined:
  - path: src/Layers/APAC/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/CH/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/ES/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
  - path: src/Layers/IT/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports: []
fixes_issues: []
work_items:
  - 646424
systems:
  - inventory
quote: Standard-cost items fall back to the Unit Cost * Quantity basis and post expected cost at Standard Cost
joined_against:
  major: "30"
  commit: f18567dc08e2bd162bf192e1da4d714b57eb099f
---

# #10094 [Main]- Standard-cost purchase receipts use Direct Unit Cost instead of Standard Cost when cumulative expected-cost rounding is enabled

> Standard-cost items now correctly use Standard Cost instead of Direct Unit Cost when calculating expected cost on purchase receipts with cumulative rounding enabled, preventing inventory overstatement and ensuring purchase variance is properly recognized on invoicing.

[Pull request](https://github.com/microsoft/BCApps/pull/10094) · merged into `main` (BC30) on 2026-08-11 by DhavalMore88 (community contribution) · 7 files (+98 -0), 6 AL · fix · tier official · reviewed (checked by Opus)

## What changed

- Added early exit in ShouldUseCumulativeRoundingForExpectedCost for Standard costing method items
- Prevents Direct Unit Cost from being incorrectly capitalized into inventory for standard-cost purchases
- Preserves cumulative rounding behavior for FIFO, Average, LIFO, and Specific costing methods
- Purchase price differences now correctly post to Purchase Variance on invoicing
- Regression test added to verify standard-cost expected cost calculation
- Behaviour changes for users or extensions.

## AL objects touched

- [Codeunit 22 "Item Jnl.-Post Line"](../../objects/codeunit/22.md), Base Application: modified
- `src/Layers/APAC/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC30 snapshot
- `src/Layers/CH/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC30 snapshot
- `src/Layers/ES/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC30 snapshot
- `src/Layers/IT/BaseApp/Inventory/Posting/ItemJnlPostLine.Codeunit.al`: modified, not in the BC30 snapshot

## Context

- Work items: AB#646424
- Labels: ADO: Sync, From Fork, Team: SCM
- Systems: inventory
- From the description: "Standard-cost items fall back to the Unit Cost * Quantity basis and post expected cost at Standard Cost"

Source: metadata of a merged pull request in microsoft/BCApps (bcapps): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).
