Florentin Ganea · 22.10.2026 · 16 minute de citit
Răspunsul scurt: gestiunea stocurilor într-o firmă de distribuție înseamnă să ții destulă marfă cât să nu pierzi vânzări și nimic peste atât. În practică: urmărești lunar cinci cifre (zilele de stoc, rotația, stocul mort, rupturile și acuratețea stocului), comanzi după consumul real, cu un stoc de siguranță calculat, tratezi produsele importante altfel decât restul și numeri des, puțin câte puțin, în loc de un singur inventar mare pe an.
Unde un subiect are deja un articol separat pe site, găsești aici esențialul și linkul spre detalii. Restul e tratat complet aici.
Pentru contabil, gestiunea stocurilor e evidența: intrări, ieșiri, sold, inventar la sfârșit de an. Pentru tine e altceva: o decizie zilnică despre unde stau banii firmei. Fiecare leu din raft e un leu plătit furnizorului care nu s-a întors încă.
Ai două riscuri, în direcții opuse. Cu prea mult stoc ai bani blocați, credit mai mare și marfă care expiră sau nu se mai cere. Cu prea puțin ai rupturi, comenzi livrate parțial și clienți care sună la concurență. Gestiunea stocurilor e echilibrul dintre cele două, produs cu produs: o cifră bună la nivel de firmă poate ascunde 200 de zile de stoc pe o categorie și rupturi zilnice pe alta.
Cu mii de articole, zeci de furnizori și clienți care comandă neregulat, nimeni nu poate ține totul în cap, așa că deciziile ajung să se ia din obișnuință: „comandăm cât comandăm de obicei”. Din obișnuința asta vine cea mai mare parte a stocului în plus pe care îl găsim în audituri. De aceea gestiunea stocurilor e treaba operațiunilor și a aprovizionării, nu a contabilității.
Cinci cifre, calculate lunar, pe categorii și pe furnizori, nu doar la total. Toate se scot din exporturile ERP, fără software nou.
| Indicator | Formula pe scurt | Ce înseamnă când e prost | Detalii |
|---|---|---|---|
| Zile de stoc | valoarea stocului la cost ÷ costul mărfii vândute pe zi | Prea multe: bani blocați. Prea puține: rupturi. | Zile de stoc |
| Rotația stocurilor | costul mărfii vândute pe an ÷ stocul mediu | Marfa stă mult, ai nevoie de mai mult capital de lucru. | Rotația stocurilor |
| Stoc mort și lent | valoarea articolelor fără ieșire în 90 de zile ÷ valoarea stocului | Bani care nu se mai întorc, loc ocupat, marfă care se depreciază. | Stoc mort |
| Rupturi (rata de servire) | linii de comandă livrate integral ÷ linii comandate | Pierzi vânzări, clienții comandă și de la alții. | mai jos |
| Acuratețea stocului | articole numărate fără diferență ÷ articole numărate | Pragurile comandă greșit, apar rupturi „fantomă”. | mai jos |
Primele trei îți spun dacă ai prea mult, ultimele două dacă ai prea puțin sau dacă te poți baza pe cifre. Le citești împreună: o rotație care crește odată cu rupturile nu e o îmbunătățire.
Zilele de stoc spun câte zile ai putea vinde din stocul de acum fără să cumperi nimic; rotația, de câte ori pe an se golește și se umple stocul. Sunt aceeași informație, numărată invers: rotația = 365 ÷ zile de stoc. Le calculezi la prețul de achiziție și pe categorii. Ținta nu vine dintr-un raport de industrie, ci din ritmul tău de comandă: aproximativ jumătate din intervalul dintre comenzi plus stocul de siguranță, explicat mai jos.
Detalii în: Zile de stoc: cum le calculezi și cât e normal și Rotația stocurilor: formula, un exemplu de calcul și cât e normal.
Majoritatea distribuitorilor știu cât stoc au și aproape niciunul nu știe câte vânzări pierde. Cifra simplă e rata de servire pe linii: câte linii de comandă ai livrat integral din câte ți s-au cerut. Dacă un client comandă 20 de produse și primești 19, ai o linie ratată din 20, adică 95%.
O măsori pe linii, nu pe valoare, pentru că așa o simte clientul: lipsa unui produs ieftin îl trimite la concurență la fel ca lipsa unuia scump. Datele sunt în ERP, în liniile comenzilor de client, cu cantitatea comandată și cea facturată.
Capcana sunt rupturile ascunse. Agentul știe că un produs lipsește și nici nu-l mai trece pe comandă. Cifra arată bine, dar vânzarea s-a pierdut oricum. De aceea pune lângă rata de servire și zilele în care produsele importante au avut stoc zero. Orientativ, mulți distribuitori lucrează cu o țintă de 95–98% pe linii. Mai important e să o urmărești lunar, pe furnizori: de obicei câțiva furnizori fac cele mai multe rupturi.
Pentru fiecare produs ai două întrebări: când comanzi și cât comanzi. Răspunsurile vin din trei cifre: consumul zilnic, termenul de livrare al furnizorului și cât de sigur e acel termen. Nimic din ele nu e „cât am comandat luna trecută”.
Pornești de la ieșirile din ultimele 90 de zile, împărțite la 90. Trei corecții fac diferența între un consum bun și unul care te minte:
Transferurile între depozite nu sunt consum: dacă le numeri ca ieșiri, depozitul care trimite marfa pare că vinde mai mult decât vinde.
Stocul de siguranță acoperă două lucruri: furnizorul care întârzie și zilele în care vinzi peste medie. Varianta simplă, care ajunge pentru început:
Stoc de siguranță = consum zilnic × zilele de marjă
Zilele de marjă le stabilești din istoric: cu cât a întârziat de obicei furnizorul în ultimele luni, plus câteva zile pentru vârfurile de vânzări. Pentru produsele importante cu vânzări neregulate există și o formulă statistică, care ține cont de cât variază vânzările de la o zi la alta. O aplici după ce ai pus în ordine varianta simplă, nu înainte.
Punct de reaprovizionare = consum zilnic × termenul de livrare + stocul de siguranță
Când stocul disponibil coboară sub acest punct, comanzi. Stocul disponibil e stocul fizic, plus ce ai comandat și n-a sosit, minus ce ai promis clienților și n-ai livrat. Dacă uiți comenzile deja trimise, comanzi de două ori.
Cei mai mulți distribuitori comandă în zile fixe pe furnizor. Atunci întrebarea devine „cât comand azi?”, iar răspunsul e un nivel maxim: consumul pe intervalul până la următoarea comandă plus termenul de livrare, plus stocul de siguranță. Comanzi diferența dintre nivelul maxim și stocul disponibil.
Un exemplu, cu cifre alese pentru ilustrare, nu de la un client: un produs care se vinde cu 40 de bucăți pe zi, comandat o dată pe săptămână de la un furnizor care livrează în 5 zile și întârzie uneori cu până la 3 zile.
| Ce calculezi | Calcul | Rezultat |
|---|---|---|
| Consum zilnic | din ieșirile pe 90 de zile, fără zilele cu stoc zero | 40 buc |
| Stoc de siguranță | 40 × 3 zile de marjă | 120 buc |
| Punct de reaprovizionare | 40 × 5 zile + 120 | 320 buc |
| Nivel maxim, comandă săptămânală | 40 × (7 + 5) + 120 | 600 buc |
| Comanda de azi, la un stoc disponibil de 310 buc | 600 − 310 | 290 buc |
| Stoc mediu de așteptat | 120 + jumătate din consumul pe o săptămână (280 ÷ 2) | ≈ 260 buc, adică 6–7 zile |
Compară cu ce se întâmplă des în practică: cumpărătorul comandă „două săptămâni, ca să fim siguri”, adică 560 de bucăți, de fiecare dată. Stocul mediu se dublează, iar rupturile nu scad, pentru că stocul de siguranță le acoperea deja.
În medie ții jumătate din cantitatea unei comenzi peste stocul de siguranță, deci comenzile mai dese înseamnă stoc mai mic. Limitele vin de la furnizor: comanda minimă, transportul, discountul de volum. O livrare în plus trebuie să coste mai puțin decât banii eliberați din stoc. La fel la discount: un discount de 2% pentru marfă de trei luni în loc de una rareori se plătește la un produs care se vinde încet.
Același produs cere stoc foarte diferit după furnizor. Tabelul de mai jos e tot un exemplu ilustrativ, pentru produsul de 40 de bucăți pe zi:
| Furnizor local | Importator | |
|---|---|---|
| Frecvența comenzilor | săptămânal | lunar |
| Termen de livrare | 2 zile | 30 de zile |
| Zile de marjă | 2 | 10 |
| Stoc de siguranță | 80 buc | 400 buc |
| Punct de reaprovizionare | 40 × 2 + 80 = 160 buc | 40 × 30 + 400 = 1.600 buc |
| Stoc mediu de așteptat | 80 + 140 = 220 buc, ≈ 5–6 zile | 400 + 600 = 1.000 buc, 25 de zile |
De aici trei reguli. Calculezi ținta de zile de stoc pe furnizor, nu una pe firmă. La importatori urmărești și marfa în tranzit, care face parte din stocul disponibil. Iar dacă un produs se poate lua și local, la un preț puțin mai mare, fă calculul: diferența de preț poate fi mai mică decât costul a 20 de zile de stoc în plus.
Nu toate produsele merită aceeași atenție. Un cumpărător care verifică săptămânal 3.000 de articole nu verifică de fapt niciunul. Două clasificări simple îți spun unde să te uiți des și ce poți lăsa pe praguri automate.
Iei consumul pe ultimele 12 luni, la cost, pe fiecare articol. Sortezi descrescător și calculezi procentul cumulat din valoarea totală.
De obicei o mică parte din articole, adesea în jur de o cincime, face 80% din valoare, iar clasa C are jumătate sau mai mult din articole. Pragurile 80/95 sunt o convenție, nu o lege. Pentru așezarea mărfii în depozit merită și un ABC după numărul de linii de comandă: produsele culese cel mai des stau cel mai aproape de expediție.
Pentru fiecare articol iei vânzările pe ultimele 12 luni, lună cu lună, și calculezi coeficientul de variație: abaterea standard a vânzărilor lunare împărțită la media lor. În Excel e o formulă pe rând: STDEV.P pe cele 12 coloane, împărțit la AVERAGE pe aceleași coloane.
Pragurile sunt orientative; important e să le păstrezi la fel de la o lună la alta.
| Clasa | Ce înseamnă | Ce faci |
|---|---|---|
| AX | Valoare mare, vânzări regulate | Comenzi dese, praguri recalculate lunar, stoc de siguranță mic, dar fără rupturi. Aici se eliberează cei mai mulți bani. |
| AY, AZ | Valoare mare, vânzări care variază | Stoc de siguranță mai mare, verificat săptămânal. La AZ afli dinainte comenzile mari și promoțiile, nu le ghicești din medie. |
| BX, BY | Valoare medie | Praguri automate din formulă, revizuite trimestrial. |
| CX, CY | Valoare mică, vânzări relativ regulate | Comenzi mai rare, în cantități mai mari. Stocul lor costă puțin; contează mai mult timpul pierdut cu comenzi mici. |
| BZ, CZ | Valoare mică sau medie, vânzări neregulate | Stoc minim sau comandă doar la cererea clientului. Aici se naște stocul mort: aceste articole sunt primele candidate la scoaterea din sortiment. |
Refaci clasificarea trimestrial. Produsele noi le ții separat în primele trei luni: fără istoric, ar ajunge greșit în C sau în Z.
Stocul mort e marfa fără nicio ieșire în ultimele 90 de zile; stocul lent are ieșiri, dar atât de rare încât acoperă luni de vânzări. Îl găsești din două exporturi ERP, stocul pe articole și ieșirile din ultimele 12 luni, și îl lichidezi în ordinea care recuperează cei mai mulți bani: retur la furnizor, mutare acolo unde se vinde, promoții calculate din marjă, abia apoi lichidatori și casare.
Ca să nu reapară: comenzi din consumul real, atenție la clasele BZ și CZ și o alertă la 60 de zile fără ieșire. Detalii în: Stoc mort: cum îl găsești și cum scapi de el.
Toate cifrele de până acum pornesc de la stocul din ERP. Dacă el nu bate cu raftul, pragurile greșesc în ambele sensuri: sistemul crede că ai 50 de bucăți și ai zero, deci nu comandă nimic, sau crede că ai zero și ai 50, deci comanzi marfă pe care o ai deja.
Numeri un eșantion de articole și compari cu sistemul. Acuratețea = articole fără diferență ÷ articole numărate. Fără diferență înseamnă exact la bucată pentru produsele scumpe și în limita unei toleranțe mici pentru cele mărunte, vândute la bucată din baxuri mari.
Uită-te și la diferențele în valoare absolută. Un plus de 2.000 de lei pe un articol și un minus de 2.000 pe altul dau zero la total, dar sunt două greșeli, de obicei produsul greșit dat clientului.
Orientativ, sub 95% la nivel de articol comenzile automate nu mai funcționează, iar oamenii verifică raftul înainte de fiecare comandă. Depozitele cu procese bune, de obicei cu scanare la recepție și la culegere, ajung la 98–99%.
Când găsești o diferență, nu te opri la corectarea ei. Notează de unde crezi că vine: după două-trei luni vezi care dintre cauzele de mai sus e a ta.
Inventarul anual oprește depozitul una sau mai multe zile, iar diferențele le găsești după luni, când nimeni nu mai știe ce s-a întâmplat.
Inventarul ciclic înseamnă să numeri câteva articole în fiecare zi sau săptămână, după clasa ABC: articolele A o dată pe lună, cele B o dată pe trimestru, cele C o dată pe an. Un exemplu de calcul, cu cifre ilustrative, pentru un sortiment de 2.000 de articole:
| Clasa | Articole | Numărători pe an | Total pe an |
|---|---|---|---|
| A | 300 | 12 | 3.600 |
| B | 500 | 4 | 2.000 |
| C | 1.200 | 1 | 1.200 |
| Total | 2.000 | 6.800, adică ≈ 27 de articole pe zi lucrătoare |
Plus două numărători care nu costă aproape nimic: verifici locația când ajunge la zero și numeri a doua zi orice articol la care culegătorul n-a găsit cantitatea din sistem.
Inventarul anual e o obligație contabilă și rămâne; dacă și cum îl pot acoperi numărătorile ciclice documentate discuți cu contabilul. Pentru deciziile de stoc însă contează numărătorile ciclice, pentru că îți dau cifre corecte tot anul.
Tot ce ai nevoie pentru cifrele din ghid e deja în ERP: stocul pe articole la cost, ieșirile cu dată, comenzile deschise la furnizori, liniile comenzilor de client, termenele de livrare. Excelul ajunge pentru calcul, atâta timp cât exporturile vin la fel în fiecare lună și nimeni nu lipește manual date din cinci fișiere. Când raportul lunar durează două zile de muncă, e momentul să-l automatizezi.
Un WMS rezolvă altceva: ce se întâmplă în depozit. Dacă acuratețea e slabă din cauza recepției și a culegerii, dacă marfa se caută în loc să se găsească sau dacă lucrezi cu loturi și termene de expirare, Excelul nu te mai ajută. Cum îți dai seama că ai ajuns aici găsești în WMS sau Excel: când merită să treci la un WMS, iar cât costă în Cât costă un WMS în România: ce plătești de fapt. Dacă pornești de la zero, citește întâi Ce este un WMS și când are nevoie depozitul tău de unul.
O lună, cu câteva ore pe săptămână, ajunge să treci de la „nu știm” la cifre urmărite lunar.
În prima lună nu cumpăra software și nu recalcula toate articolele deodată: clasa A și stocul mort aduc cei mai mulți bani.
Dacă vrei toate cifrele de mai sus calculate pe sortimentul tău, cu stocul mort, pragurile recalculate și ținta pe fiecare categorie, auditul de stoc le livrează în 5 zile.
Stocul e prea mare când depășește ce îți cere ritmul de aprovizionare: aproximativ jumătate din intervalul dintre comenzi plus stocul de siguranță, calculat pe fiecare furnizor sau categorie. Dacă la comenzi săptămânale ai stoc pentru 40 de zile, diferența e bani blocați. Un al doilea semnal e stocul fără nicio ieșire în 90 de zile: orice leu de acolo e în plus.
Inventarul anual rămâne, pentru că îl cere contabilitatea. Pentru decizii însă ai nevoie de numărători ciclice: puține articole, numărate des. Produsele din clasa A, cele care fac cea mai mare parte din valoare, le numeri o dată pe lună, pe cele din clasa B o dată pe trimestru, iar restul o dată sau de două ori pe an. Așa găsești diferențele cât încă le poți afla cauza.
Cu trei exporturi din ERP: stocul pe articole la preț de achiziție, ieșirile pe articole din ultimele 12 luni, cu dată, și liniile comenzilor de client cu cantitatea comandată și cea livrată. Din ele calculezi zilele de stoc, stocul fără mișcare și rupturile, pe categorii. Nu cumpăra software înainte să ai aceste cifre: abia ele îți spun unde e problema.
E stocul pe care îl ții în plus față de consumul obișnuit, ca să acoperi întârzierile furnizorului și zilele cu vânzări peste medie. Varianta simplă: consumul zilnic înmulțit cu zilele de marjă pe care vrei să le acoperi. La un produs care se vinde cu 40 de bucăți pe zi, de la un furnizor care întârzie uneori cu 3 zile, stocul de siguranță e 120 de bucăți.
Evidența e a contabilului: valoarea stocului, inventarul anual, ajustările și casările. Deciziile sunt ale operațiunilor și ale aprovizionării: cât comanzi, când, de la cine și ce scoți din sortiment. Contabilul îți spune cât valorează stocul. Cât ar trebui să fie e o întrebare pentru cine comandă marfa.
În 5 zile îți calculăm zilele de stoc, stocul mort și pragurile de comandă pe fiecare categorie, cu lista de lichidare inclusă.
Florentin Ganea · 22.10.2026 · 16 min read
The short answer: inventory management in a distribution business means holding enough goods not to lose sales, and nothing beyond that. In practice: you track five numbers every month (days of stock, turnover, dead stock, stockouts and stock accuracy), you order from real consumption with a calculated safety stock, you treat important products differently from the rest, and you count often, a little at a time, instead of one big stocktake a year.
Where a topic already has its own article on the site, you'll find the essentials here and a link to the details. The rest is covered in full here.
For the accountant, inventory management is the records: receipts, issues, balance, stocktake at year end. For you it's something else: a daily decision about where the company's money sits. Every leu on the shelf is a leu paid to the supplier that hasn't come back yet.
You face two risks, pulling in opposite directions. With too much stock you have cash tied up, more borrowing and goods that expire or nobody asks for anymore. With too little you have stockouts, partial deliveries and customers calling your competitors. Inventory management is the balance between the two, product by product: a good number at company level can hide 200 days of stock in one category and daily stockouts in another.
With thousands of items, dozens of suppliers and customers who order irregularly, nobody can keep it all in their head, so decisions end up being made from habit: "we order what we usually order". That habit is where most of the surplus stock we find in audits comes from. That's why inventory management belongs to operations and purchasing, not accounting.
Five numbers, calculated monthly, by category and by supplier, not just in total. All of them come from ERP exports, with no new software.
| Indicator | Short formula | What it means when it's bad | Details |
|---|---|---|---|
| Days of stock | stock value at cost ÷ cost of goods sold per day | Too many: cash tied up. Too few: stockouts. | Days of stock |
| Inventory turnover | annual cost of goods sold ÷ average stock | Goods sit for a long time, you need more working capital. | Inventory turnover |
| Dead and slow stock | value of items with no outbound movement in 90 days ÷ stock value | Money that doesn't come back, space taken up, goods losing value. | Dead stock |
| Stockouts (service level) | order lines delivered in full ÷ order lines | You lose sales, customers also order from others. | below |
| Stock accuracy | items counted with no difference ÷ items counted | Reorder points order the wrong amounts, "phantom" stockouts appear. | below |
The first three tell you whether you have too much, the last two whether you have too little or can rely on the numbers. Read them together: turnover that rises along with stockouts is not an improvement.
Days of stock tell you how many days you could sell from current stock without buying anything; turnover, how many times a year stock empties and fills again. They're the same information, counted the other way round: turnover = 365 ÷ days of stock. You calculate them at purchase price and by category. The target doesn't come from an industry report but from your ordering rhythm: roughly half the interval between orders plus safety stock, explained below.
Details in: Days of stock: how to calculate them and what's normal and Inventory turnover: the formula, a worked example and what's normal.
Most distributors know how much stock they have, and almost none know how many sales they lose. The simple number is the line fill rate: how many order lines you delivered in full out of how many were ordered. If a customer orders 20 products and gets 19, you missed one line in 20, so 95%.
You measure it by lines, not by value, because that's how the customer feels it: a missing cheap product sends them to a competitor just as much as a missing expensive one. The data is in the ERP, in customer order lines with quantity ordered and quantity invoiced.
The trap is hidden stockouts. The sales rep knows a product is missing and doesn't even put it on the order. The number looks fine, but the sale is lost anyway. That's why, next to the fill rate, you also track the days your important products had zero stock. As a rough guide, many distributors work with a target of 95 to 98% by line. What matters more is tracking it monthly, by supplier: usually a handful of suppliers cause most of the stockouts.
For each product you have two questions: when to order and how much to order. The answers come from three numbers: daily consumption, the supplier's lead time, and how reliable that lead time is. None of them is "what we ordered last month".
You start from outbound movements over the last 90 days, divided by 90. Three corrections make the difference between a good consumption figure and one that lies to you:
Transfers between warehouses are not consumption: if you count them as outbound movements, the warehouse sending the goods looks like it sells more than it does.
Safety stock covers two things: the supplier who is late and the days when you sell above average. The simple version, which is enough to start with:
Safety stock = daily consumption × days of margin
You set the days of margin from history: how late the supplier usually was in recent months, plus a few days for sales peaks. For important products with irregular sales there is also a statistical formula, which takes into account how much sales vary from day to day. You apply it after you've got the simple version in order, not before.
Reorder point = daily consumption × lead time + safety stock
When available stock falls below this point, you order. Available stock is physical stock, plus what you've ordered and hasn't arrived, minus what you've promised customers and haven't delivered. If you forget the orders already sent, you order twice.
Most distributors order on fixed days per supplier. Then the question becomes "how much do I order today?", and the answer is a maximum level: consumption over the interval until the next order plus the lead time, plus safety stock. You order the difference between the maximum level and available stock.
An example, with numbers chosen for illustration, not from a client: a product that sells 40 units a day, ordered once a week from a supplier who delivers in 5 days and is sometimes up to 3 days late.
| What you calculate | Calculation | Result |
|---|---|---|
| Daily consumption | from 90 days of outbound movements, excluding zero-stock days | 40 units |
| Safety stock | 40 × 3 days of margin | 120 units |
| Reorder point | 40 × 5 days + 120 | 320 units |
| Maximum level, weekly order | 40 × (7 + 5) + 120 | 600 units |
| Today's order, with available stock of 310 units | 600 − 310 | 290 units |
| Expected average stock | 120 + half a week's consumption (280 ÷ 2) | ≈ 260 units, or 6 to 7 days |
Compare that with what often happens in practice: the buyer orders "two weeks, to be safe", meaning 560 units, every time. Average stock doubles, and stockouts don't fall, because safety stock was already covering them.
On average you hold half of one order's quantity on top of safety stock, so more frequent orders mean less stock. The limits come from the supplier: minimum order, freight, volume discount. An extra delivery must cost less than the cash freed from stock. Same with discounts: a 2% discount for three months' worth of goods instead of one rarely pays off on a product that sells slowly.
The same product needs very different stock depending on the supplier. The table below is also an illustrative example, for the 40-units-a-day product:
| Local supplier | Importer | |
|---|---|---|
| Order frequency | weekly | monthly |
| Lead time | 2 days | 30 days |
| Days of margin | 2 | 10 |
| Safety stock | 80 units | 400 units |
| Reorder point | 40 × 2 + 80 = 160 units | 40 × 30 + 400 = 1,600 units |
| Expected average stock | 80 + 140 = 220 units, ≈ 5 to 6 days | 400 + 600 = 1,000 units, 25 days |
Three rules follow. You calculate the days-of-stock target per supplier, not one for the whole company. With importers you also track goods in transit, which are part of available stock. And if a product can also be bought locally at a slightly higher price, do the maths: the price difference may be smaller than the cost of 20 extra days of stock.
Not every product deserves the same attention. A buyer who checks 3,000 items every week isn't really checking any of them. Two simple classifications tell you where to look often and what you can leave on automatic reorder points.
Take consumption over the last 12 months, at cost, for each item. Sort in descending order and calculate the cumulative percentage of total value.
Usually a small share of items, often around a fifth, makes up 80% of value, while class C holds half the items or more. The 80/95 thresholds are a convention, not a law. For deciding where goods go in the warehouse, an ABC by number of order lines is also worth doing: the most frequently picked products sit closest to dispatch.
For each item, take sales over the last 12 months, month by month, and calculate the coefficient of variation: the standard deviation of monthly sales divided by their average. In Excel it's one formula per row: STDEV.P over the 12 columns, divided by AVERAGE over the same columns.
The thresholds are indicative; what matters is keeping them the same from one month to the next.
| Class | What it means | What you do |
|---|---|---|
| AX | High value, regular sales | Frequent orders, reorder points recalculated monthly, low safety stock but no stockouts. This is where most cash gets freed. |
| AY, AZ | High value, variable sales | Higher safety stock, checked weekly. For AZ, find out about large orders and promotions in advance instead of guessing them from the average. |
| BX, BY | Medium value | Automatic reorder points from the formula, reviewed quarterly. |
| CX, CY | Low value, fairly regular sales | Less frequent orders, in larger quantities. Their stock costs little; the time lost on small orders matters more. |
| BZ, CZ | Low or medium value, irregular sales | Minimum stock, or order only when a customer asks. This is where dead stock is born: these items are the first candidates for dropping from the range. |
Redo the classification quarterly. Keep new products separate for their first three months: with no history, they would wrongly end up in C or Z.
Dead stock is goods with no outbound movement in the last 90 days; slow stock does move, but so rarely that it covers months of sales. You find it from two ERP exports, stock by item and outbound movements for the last 12 months, and you clear it in the order that recovers the most money: return to the supplier, moving it to where it sells, promotions calculated from margin, only then liquidators and write-off.
To stop it coming back: orders from real consumption, attention to classes BZ and CZ, and an alert at 60 days with no movement. Details in: Dead stock: how to find it and get rid of it.
Every number so far starts from the stock in the ERP. If it doesn't match the shelf, reorder points go wrong in both directions: the system thinks you have 50 units and you have zero, so it orders nothing, or it thinks you have zero and you have 50, so you order goods you already have.
Count a sample of items and compare with the system. Accuracy = items with no difference ÷ items counted. No difference means exact to the unit for expensive products, and within a small tolerance for low-value items sold by the unit from large cases.
Look at the differences in absolute value too. A surplus of 2,000 lei on one item and a shortage of 2,000 on another add up to zero, but they are two mistakes, usually the wrong product handed to a customer.
As a rough guide, below 95% at item level automatic ordering stops working and people check the shelf before every order. Warehouses with good processes, usually with scanning at receiving and picking, reach 98 to 99%.
When you find a difference, don't stop at correcting it. Note where you think it comes from: after two or three months you'll see which of the causes above is yours.
The annual stocktake stops the warehouse for one or more days, and you find the differences months later, when nobody remembers what happened.
Cycle counting means counting a few items every day or every week, by ABC class: A items once a month, B items once a quarter, C items once a year. An example calculation, with illustrative numbers, for a range of 2,000 items:
| Class | Items | Counts per year | Total per year |
|---|---|---|---|
| A | 300 | 12 | 3,600 |
| B | 500 | 4 | 2,000 |
| C | 1,200 | 1 | 1,200 |
| Total | 2,000 | 6,800, or ≈ 27 items per working day |
Plus two counts that cost almost nothing: you check a location when it reaches zero, and the next day you count any item where the picker couldn't find the quantity the system shows.
The annual stocktake is an accounting obligation and it stays; whether and how documented cycle counts can cover it is something to discuss with your accountant. For stock decisions, though, cycle counts are what matter, because they give you correct numbers all year.
Everything you need for the numbers in this guide is already in the ERP: stock by item at cost, outbound movements with dates, open purchase orders, customer order lines, supplier lead times. Excel is enough for the calculation, as long as the exports come out the same way every month and nobody pastes data by hand from five files. When the monthly report takes two days of work, it's time to automate it.
A WMS solves something else: what happens in the warehouse. If accuracy is poor because of receiving and picking, if goods are searched for instead of found, or if you work with batches and expiry dates, Excel can't help you anymore. How to tell you've reached that point is covered in WMS or Excel: when it is worth switching to a WMS, and what it costs in How much a WMS costs in Romania: what you actually pay. If you're starting from zero, read What a WMS is and when your warehouse needs one first.
One month, with a few hours a week, is enough to go from "we don't know" to numbers tracked every month.
In the first month, don't buy software and don't recalculate every item at once: class A and dead stock bring in the most money.
If you want all the numbers above calculated on your range, with dead stock, recalculated reorder points and a target for each category, the stock audit delivers them in 5 days.
Stock is too high when it goes beyond what your replenishment rhythm requires: roughly half the interval between orders plus safety stock, calculated for each supplier or category. If you order weekly and hold 40 days of stock, the difference is cash tied up. A second signal is stock with no outbound movement in 90 days: every leu sitting there is surplus.
The annual stocktake stays, because accounting requires it. For decisions, though, you need cycle counts: a few items, counted often. Class A products, the ones that make up most of the value, you count once a month, class B once a quarter, and the rest once or twice a year. That way you find differences while you can still trace their cause.
With three exports from the ERP: stock by item at purchase price, outbound movements by item for the last 12 months, with dates, and customer order lines with quantity ordered and quantity delivered. From these you calculate days of stock, non-moving stock and stockouts, by category. Don't buy software before you have these numbers: they are what tell you where the problem is.
It's the stock you keep on top of normal consumption to cover supplier delays and days when sales run above average. The simple version: daily consumption multiplied by the days of margin you want to cover. For a product that sells 40 units a day, from a supplier that is sometimes 3 days late, safety stock is 120 units.
The records belong to the accountant: stock value, the annual stocktake, write-downs and write-offs. The decisions belong to operations and purchasing: how much you order, when, from whom, and what you drop from the range. The accountant tells you what your stock is worth. What it should be is a question for whoever orders the goods.
In 5 days we calculate your days of stock, dead stock and reorder points for each category, with the clearance list included.