Moving Average Cost After Purchase Update Calculator

Replay purchase/issue events under perpetual moving-average cost, with half-up integer minor-unit issue allocation and final full issue clearing all cost; no negative inventory or periodic-average/FIFO substitution.

Description

Perpetual moving-average inventory updates average cost after each purchase and allocates that pooled cost to issues.

Perpetual moving-average inventory updates average cost after each purchase and allocates that pooled cost to issues. Event order affects issue costs.1

The returned values include Ending units, Ending cost minor, Issue costs minor, Cost balance after each event minor. The How section below explains the calculation, input rules and interpretation.

When to use Moving Average Cost After Purchase Update Calculator

Use Moving Average Cost After Purchase Update Calculator when you need to evaluate the supplied records under the calculation and evidence rules below. No negative inventory, periodic-average or FIFO substitution is supplied.

Gather the source balances and explicit accounting policy. Monetary inputs use integer minor units in one currency; for a currency with 100 minor units per major unit, 12345 represents 123.45. One basis point is 0.01 percentage points; 10000 basis points is 100%. Dates and posting signs follow the individual rules below.

How to use Moving Average Cost After Purchase Update Calculator and understand its results

  1. Gather the source balances and explicit accounting policy. Monetary inputs use integer minor units in one currency; for a currency with 100 minor units per major unit, 12345 represents 123.45. One basis point is 0.01 percentage points; 10000 basis points is 100%. Dates and posting signs follow the individual rules below.
  2. Enter openingInventoryUnits, openingInventoryCostMinor, purchaseZeroIssueOneCodes, eventUnits, purchaseEventTotalCostsMinor using the field table and calculation rules, then run the tool.
  3. Read endingUnits, endingCostMinor, issueCostsMinor, costBalanceAfterEachEventMinor. The explanation below defines the units, signs, ordering and any flags or placeholder values.
  4. If the tool reports an input issue, correct the values and run it again. Apply the stated assumptions when interpreting a successfully returned result.
Input fieldMeaningValue type; see rules belowRequirement
openingInventoryUnitsOpening inventory unitsnumberRequired
openingInventoryCostMinorOpening inventory cost minornumberRequired
purchaseZeroIssueOneCodesPurchase zero issue one codeslist of numberRequired
eventUnitsEvent unitslist of numberRequired
purchaseEventTotalCostsMinorPurchase event total costs minorlist of numberRequired

Enter integer opening units 0–1000000, nonnegative safe-integer opening cost and aligned nonempty event codes 0 purchase/1 issue, integer units 1–1000000 and nonnegative safe-integer purchase totals. Zero opening units require zero cost. Purchases add units/cost with total units capped at 1000000; issues require available units and zero purchase total. Allocate issue cost with half ties away from zero; a full issue clears all cost. Return ending units/cost, per-event issue costs (zero on purchases) and cost after each event.

issueCost=roundMinor(currentCost×issuedUnits/currentUnits)

Units, indexing, boundary conditions and exceptional cases are defined in the calculation rules above.

Output fieldMeaningValue type
endingUnitsEnding unitsnumber
endingCostMinorEnding cost minornumber
issueCostsMinorIssue costs minorlist of number
costBalanceAfterEachEventMinorCost balance after each event minorlist of number
json
{
  "input": {
    "openingInventoryUnits": 2,
    "openingInventoryCostMinor": 20,
    "purchaseZeroIssueOneCodes": [
      0,
      1
    ],
    "eventUnits": [
      2,
      3
    ],
    "purchaseEventTotalCostsMinor": [
      40,
      0
    ]
  },
  "output": {
    "endingUnits": 1,
    "endingCostMinor": 15,
    "issueCostsMinor": [
      0,
      45
    ],
    "costBalanceAfterEachEventMinor": [
      60,
      15
    ]
  }
}

Limitations and assumptions

No negative inventory, periodic-average or FIFO substitution is supplied.

Numeric inputs, where present, must be finite. Follow the calculation-specific rules for overflow, underflow and exceptional cases. Numeric lists are limited to 10,000 entries and string lists to 128 entries of at most 128 characters. Follow any smaller limits above. Missing fields without a declared default, extra fields, wrong value types and violations of the calculation rules are input errors.

Alternative or Complementary methods

Use FIFO Ending Inventory And COGS Calculator: FIFO issue costing consumes oldest receipts first and preserves later-layer inventory. This tool applies one issue after the supplied layers. For a complementary task, use NRV Lower Of Cost NRV Inventory Test Tool: Net realizable value subtracts completion and selling costs from expected selling price. Inventory carrying value uses lower cost or NRV with a zero floor.

References

  1. Moving Average Cost After Purchase Update Calculator — tool.io

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies