In AccountingSuite, the costing method for an item can be defined in:
- Item Card – Each inventory item has a Costing Method field that determines how COGS and inventory value are calculated for that specific item.
- Inventory Settings – A Default Costing Method can be set globally in the Inventory Settings. This default is applied automatically to new items unless overridden on the item card.
Once set, the costing method controls how the system values inventory and calculates COGS for every transaction involving that item.

Cost of goods sold is calculated without a breakdown to Warehouse or to Lot (Serial Number). These options will be available in next AccountingSuite releases.
Weighted Average #
Under Weighted Average (it is Perpetual Weighted Average or Moving Average mode), the system maintains a moving average cost per unit that is recalculated after each receipt (purchase, production, or other inventory increase).
Formula:
Average cost per unit = (current on-hand units * current average cost + received units * receipt unit cost) /
(current on-hand units + received units)
Every subsequent issue (sale, write-off, consumption) uses the current average cost at the time of posting.
Timing and Document Posting #
Key characteristics in AccountingSuite:
- At the moment of posting, the system fixes the average cost for that document.
- If a receipt is posted later in the same month, it does not affect issues that were already posted earlier.
- However, if a receipt is posted with a backdated date and documents are reposted (or month-end closing reprocesses documents), the average cost is recalculated and prior issues may be revalued.
- Within a single month, the cost per unit on different issue documents can vary, because the average is updated after each receipt. This is different from periodic average, where all issues in the period use the same rate.
- Period closing ensures that all transactions are processed in the correct chronological order, correcting COGS and inventory values for any out-of-sequence postings.
- Backdated receipts followed by period closing can lead to revaluation of prior issues, which is important for accurate monthly COGS and margin analysis.
Example Weighted Average #
Different weighted average during the month
- 1 Aug, 10:00 – On hand: 10 units @ 100 $ (average = 100 $)
- 1 Aug, 14:16 – Issue 5 units
- COGS = 5 × 100 = 500 $
- Remaining: 5 units @ 100 $
- 1 Aug, 14:18 – Receipt 10 units @ 500 $
- New average = (5 × 100 + 10 × 500) / (5 + 10) = (500 + 5,000) / 15 = 366.67 $
- 1 Aug, 15:00 – Issue 3 units
- COGS = 3 × 366.67 = 1,100 $
- Remaining: 12 units @ 366.67 $
Notice that the two issues on the same day have different unit costs (100 $ vs 366.67 $) because the average was updated between them.
If on 2 Aug you post a backdated receipt dated 1 Aug, 12:00 and reprocess documents, the system will recalculate the average as of 12:00 and adjust COGS for issues posted after that time.
FIFO (First-In, First-Out) #
Under FIFO, the system assumes that the oldest inventory layers are sold first.
- Each receipt creates a cost layer with its own quantity and unit cost.
- When an issue is posted, the system consumes layers in chronological order, starting from the oldest.
- COGS is the sum of the costs of the consumed layers.
- Ending inventory consists of the most recent layers that have not yet been issued.
- In periods of rising prices, FIFO typically results in lower COGS and higher ending inventory value compared to weighted average.
- Period closing rebuilds the layer structure in chronological order, ensuring correct layer consumption and COGS calculation.
- More transparent for businesses that need to track batch costs or where physical flow matches FIFO logic.
Example FIFO #
FIFO with backdated receipt and sequence restoration
Original sequence:
- 1 Aug – Receipt 10 @ $100 → Layer 1
- 2 Aug – Receipt 10 @ $500 → Layer 2
- 3 Aug – Issue 12
- 10 from Layer 1 @ $100 = $1,000
- 2 from Layer 2 @ $500 = $1,000
- COGS = $2,000, remaining: 8 @ $500 (Layer 2)
Backdated receipt added:
- 5 Aug (posted) – Receipt dated 2 Aug: 10 @ $200 → Layer 3 (date: 2 Aug)
Before sequence restoration:
3 Aug issue still consumes 10 @ $100 + 2 @ $500 → COGS = $2,000. Layer 3 is ignored for that issue.
After sequence restoration (repost / period closing):
Chronological order becomes: 1 Aug (10 @ $100), 2 Aug (10 @ $200), 2 Aug (10 @ $500), then 3 Aug issue.
3 Aug issue now consumes:
- 10 @ $100 = $1,000
- 2 @ $200 = $400
- New COGS = $1,400
Remaining:
- 8 @ $200 (Layer 3)
- 10 @ $500 (Layer 2)
Result: COGS drops from $2,000 to $1,400, ending inventory increases accordingly.
Weighted Average vs FIFO in AccountingSuite #
| Aspect | Weighted Average | FIFO |
|---|---|---|
| Cost flow assumption | All units have the same blended cost at any point in time. | Oldest units are sold first; newest units remain in inventory. |
| COGS calculation | Units issued × current moving average cost at posting time. | Sum of costs of the oldest layers consumed to fulfill the issue quantity. |
| Effect of new receipts | Immediately changes the average cost for subsequent issues. | Creates a new layer; does not change cost of issues that consume older layers. |
| Unit cost on issue documents | Can vary within the same month as average is updated after each receipt. | Depends on which layers are consumed; different issues may have different effective unit costs if they consume different layer mixes. |
| Impact of backdated receipts + repost | Recalculates average and can change COGS of prior issues when documents are reposted. | Adjusts layer structure; COGS of prior issues may change if repost changes which layers are consumed. |
| Best suited for | Homogeneous items where individual batches are not tracked; prices fluctuate and you want smoothed COGS. | Items with shelf life, batch traceability, or where physical flow matches “first in, first out”. |
COGS and Sequence Restoration #
During a period (e.g., a month), users may post documents out of chronological order due to:
- Backdated purchases or receipts entered late.
- Corrections and adjustments posted after the fact.
- Manual re-posting of documents with changed dates.
In Perpetual Weighted Average, this can cause the moving average to be calculated on an incorrect sequence, leading to inaccurate COGS and inventory values for issues that were posted before late receipts.
In FIFO, this can cause the layer structure to be built in an incorrect sequence, leading to issues consuming the wrong layers and therefore inaccurate COGS and inventory values for transactions that were posted before late (backdated) receipts.
To ensure accurate costing, the Period Closing procedure includes a Sequence Restoration step that reprocesses all inventory transactions in the correct chronological order.
When you run Period Closing (month-end or period-end closing) for each item with Weighted Average costing method:
- The system rebuilds the layer structure in chronological order.
- Issues consume layers according to the restored sequence.
Practical Impact #
- Backdated receipts that were posted late will now correctly affect the average cost of issues that occurred after their date in the restored sequence.
- COGS for the period may change compared to what you saw during the month, because issues are revalued based on the proper sequence.
- Unit costs on issue documents remain as originally posted, but the underlying ledger entries are adjusted to reflect the correct COGS.