SOGESTIO

Weighted average cost (CMUP) and stock counts: calculation, worked example and procedure

The weighted average cost (CMUP in French) values every stock issue at the average cost of the units on hand; it is recalculated after each receipt or once per period. Together with FIFO, it is one of the two methods the Moroccan CGNC accepts for interchangeable goods, and the annual physical count checks the figures. SOGESTIO recalculates the CMUP on every stock entry.

Updated

Which stock valuation methods are accepted in Morocco?

The CGNC distinguishes two cases. Items identifiable one by one are valued at their own cost. Interchangeable items (identical bags, cartons or reels) are valued at weighted average cost, after each receipt or per period, or on a first in, first out basis (FIFO, PEPS in French). Other methods, such as LIFO or standard costs, may serve internal management but are not accepted for the financial statements.

The starting point is the entry cost: the invoiced purchase price, net of recoverable VAT and of trade discounts and rebates, plus customs duties, non-recoverable taxes and incidental purchase costs (freight, transit, handling). The chosen method must then be kept from year to year under the consistency principle; a change is exceptional and must be justified in the ETIC (notes to the accounts).

How do you calculate the weighted average cost after each receipt? A worked example

Take an electrical supplies distributor tracking 100-metre reels of cable in March, costs excluding VAT. On each receipt, divide the total value (stock on hand plus receipt) by the total quantity; later issues are valued at that cost until the next receipt. An issue therefore never changes the CMUP. The table below sums up each movement.

  • 1 March, opening stock: 240 reels at 170.00 DH, i.e. 40,800.00 DH.
  • 6 March, receipt of 360 reels at 173.75 DH, i.e. 62,550.00 DH. CMUP: (40,800.00 + 62,550.00) ÷ 600 = 172.25 DH.
  • 14 March, delivery of 420 reels at 172.25 DH, i.e. 72,345.00 DH. 180 reels remain, worth 31,005.00 DH.
  • 21 March, receipt of 320 reels at 183.75 DH, i.e. 58,800.00 DH. CMUP: (31,005.00 + 58,800.00) ÷ 500 = 179.61 DH.
  • 28 March, delivery of 350 reels at 179.61 DH, i.e. 62,863.50 DH. 150 reels remain, worth 26,941.50 DH.
  • Check: issues (72,345.00 + 62,863.50 = 135,208.50 DH) plus closing stock (26,941.50 DH) = 162,150.00 DH, exactly the opening stock plus the two receipts; otherwise a movement was valued incorrectly.
Worked example: weighted average after each receipt, compared with the periodic average (cable reels, costs excluding VAT)
Date and operationQuantityUnit costMovement valueStock after the operation
1 March: opening stock240170.00 DH40,800.00 DH240 reels, 40,800.00 DH, CMUP 170.00 DH
6 March: receipt+360173.75 DH62,550.00 DH600 reels, 103,350.00 DH, CMUP 172.25 DH
14 March: delivery−420172.25 DH72,345.00 DH180 reels, 31,005.00 DH, CMUP 172.25 DH
21 March: receipt+320183.75 DH58,800.00 DH500 reels, 89,805.00 DH, CMUP 179.61 DH
28 March: delivery−350179.61 DH62,863.50 DH150 reels, 26,941.50 DH, CMUP 179.61 DH
Variant: periodic average770 issued176.25 DH135,712.50 DH of issues150 reels, 26,437.50 DH
Difference (periodic minus after each receipt)—−3.36 DH+504.00 DH cost of issues−504.00 DH closing stock

Periodic average, FIFO and rounding: what changes?

The periodic average is calculated once, on the opening stock and all receipts: 162,150.00 ÷ (240 + 360 + 320) = 176.25 DH. The 770 reels issued are then worth 135,712.50 DH and the 150 remaining 26,437.50 DH, i.e. 504.00 DH less (150 × 3.36 DH) than with the average after each receipt, which follows the latest, higher prices more closely. Simpler to compute, it only values issues once the period is closed.

Under FIFO, issues consume the oldest batches first: the 150 remaining reels all come from the 21 March receipt, i.e. 150 × 183.75 = 27,562.50 DH, and the cost of issues drops to 134,587.50 DH.

On rounding, this guide's convention is simple: every amount is rounded to the nearest centime, and all the averages in the example land exactly. That is not always the case: with 300 reels received on 21 March instead of 320, the CMUP would be 86,130.00 ÷ 480 = 179.4375 DH. Rounded to 179.44 DH, it values an issue of 350 reels at 62,804.00 DH, against 62,803.13 DH with the unrounded cost, a 0.87 DH gap. Whether you round the CMUP to the centime or keep more decimals, apply the same rule to every movement and clear the few centimes of rounding difference at year-end.

Why, when and how should you run a physical stock count?

The stock shown by your software is a book figure built from recorded movements. Only a physical count of what is really in the shop, warehouse or workshop reveals breakage, losses, keying errors and forgotten deliveries.

In Morocco, the law on merchants' accounting obligations (law 9-88) and the CGNC require a business to check, by inventory and at least once per financial year, the existence and value of its assets and liabilities. For stock, this means a count at year-end, whose value feeds straight into profit: overstated stock inflates profit.

Between year-ends, cycle counting means counting part of the range each month, the most valuable or fastest-moving items first; it assumes a perpetual inventory, which tracks quantities and values on every movement. In every case, the aim is to count a frozen position at a precise date, then compare each quantity with the book figure.

  • Set the cut-off date and time and stop receipts and deliveries during the count.
  • Enter all pending delivery notes and goods receipts before counting starts.
  • Tidy each warehouse and set aside damaged or expired goods and goods belonging to third parties.
  • Count in pairs on numbered sheets, in the stock unit, recording batch and serial numbers.
  • Have another team recount significant variances, then sign and file the sheets.

Count variances and write-downs: how do you handle them?

A count variance is the difference between counted and book quantities, valued at stock cost. With 146 reels counted instead of 150, it is 4 × 179.61 = 718.44 DH and the corrected stock is worth 26,223.06 DH. Find the cause first: an unrecorded delivery, a unit error, a forgotten transfer, breakage or theft. The CGNC requires stock accounts to be aligned with the quantities found, the difference being a gain or loss for the year; agree the exact account with your accountant.

Finally, each category is compared with its current value, usually the probable selling price less the costs to sell. If it is below the entry cost (outdated, damaged or expired items), the CGNC calls for a write-down provision, reviewed at each year-end.

Which stock valuation mistakes should you avoid?

Most valuation errors come from a few habits that are easy to fix.

  • Valuing stock at the last purchase price, which is neither the weighted average nor FIFO.
  • Including recoverable VAT in the cost, or leaving out freight and customs duties.
  • Valuing an issue with a CMUP that includes a later receipt: the chronological order of movements matters.
  • Letting stock go negative, which distorts the CMUP at the next receipt.
  • Switching methods without justification, or adjusting a variance without finding its cause.

How does SOGESTIO value and count your stock?

In SOGESTIO, stock is valued at the weighted average cost (CMUP) and tracked across several warehouses, with receipt, issue and transfer movements; it is updated on every delivery and receipt. With the Pro and Groupe packs, supplier receipts come in at net purchase cost, and production orders enter the finished product at the actual cost consumed.

Counts are done warehouse by warehouse: the count sheet shows the book quantities, you enter what was counted, and variances become adjustment movements. Batch and serial numbers, minimum stock alerts and the negative stock rule complete the set-up. The Stock module is included from the Starter pack at 199 DH excl. VAT per month, with a 14-day free trial and no card required.

This guide is for information only and does not replace advice from your accountant or the relevant authority.

Frequently asked questions

Is the weighted average cost (CMUP) mandatory in Morocco?

No. For interchangeable goods, the CGNC accepts the weighted average cost, after each receipt or per period, and FIFO; LIFO is not accepted for the financial statements. Keep the same method from year to year and validate the choice with your accountant.

What is the difference between the average after each receipt and the periodic average?

The first is recalculated on every receipt and values each issue immediately; the second is calculated once for the whole period. In our example, the periodic average gives a closing stock 504.00 DH lower. The first is better suited to tracking margins continuously.

Do VAT and freight go into the weighted average cost?

Recoverable VAT does not: you work excluding VAT. However, under the CGNC the acquisition cost includes customs duties, non-recoverable taxes and incidental purchase costs such as freight, after deducting trade discounts and rebates.

How often should a physical stock count be done?

At least once per financial year, at year-end, to support the stock on the balance sheet. Between year-ends, monthly cycle counts on high-value or fast-moving items detect variances earlier.

How does SOGESTIO calculate the weighted average cost?

SOGESTIO values stock at the CMUP, recalculated on every stock entry. With the Pro and Groupe packs, supplier receipts come in at net purchase cost and production at the actual cost consumed. You can test the Stock module free for 14 days.

What happens if stock goes negative?

Negative stock signals an issue recorded before the matching receipt, or a forgotten receipt; the CMUP calculated afterwards becomes unreliable. In SOGESTIO, the negative stock rule lets you block such issues, or allow them if your organisation requires it.

Read next

Try SOGESTIO for free

14 days with every module of your plan, no credit card, no commitment.