Sistem complet de stocuri în Excel: intrări, ieșiri, alerte automate și rapoarte
Dacă gestionezi stocuri cu un tabel simplu în care adaugi și scazi manual, riști în permanență erori, date inconsistente și lipsuri nedetectate la timp.
Un sistem de stocuri corect construit în Excel e altceva — are logică separată pentru intrări/ieșiri, stoc calculat automat, alerte pentru reaprovizionare și rapoarte gata pentru contabilitate.
Iată cum îl construiești de la zero.
Arhitectura sistemului: 4 foi cu roluri clare
Foaia „Produse” — nomenclatorul:
| Cod | Denumire | UM | Stoc_Minim | Pret_Achizitie | Pret_Vanzare | Furnizor |
|---|
Foaia „Intrari” — fiecare recepție:
| Data | Nr_Document | Cod_Produs | Cantitate | Pret_Unitar | Valoare | Furnizor |
|---|
Foaia „Iesiri” — fiecare livrare/consum:
| Data | Nr_Document | Cod_Produs | Cantitate | Pret_Unitar | Valoare | Client/Destinatie |
|---|
Foaia „Stoc_Curent” — calculat automat, nu se editează manual.
Fiecare foaie e Tabel Excel (Ctrl+T) — formulele se extind automat, referințele sunt stabile.
Calculul stocului curent
În foaia „Stoc_Curent”, pentru fiecare produs din nomenclator:
// Stoc curent pentru codul din A2
Intrari_Total: =SUMIF(Intrari[Cod_Produs]; [@Cod]; Intrari[Cantitate])
Iesiri_Total: =SUMIF(Iesiri[Cod_Produs]; [@Cod]; Iesiri[Cantitate])
Stoc_Curent: =[@Intrari_Total] - [@Iesiri_Total]
Valoare_Stoc: =[@Stoc_Curent] * XLOOKUP([@Cod]; Produse[Cod]; Produse[Pret_Achizitie])
Stocul se actualizează automat la fiecare intrare sau ieșire înregistrată. Nu mai calculezi manual.
Stoc la o dată specifică (inventar istoric)
Uneori vrei să știi stocul la o dată anterioară — pentru inventar lunar sau audit:
// Stoc la data din celula H1
Intrari_La_Data: =SUMIFS(Intrari[Cantitate]; Intrari[Cod_Produs]; [@Cod]; Intrari[Data];"<="&$H$1)
Iesiri_La_Data: =SUMIFS(Iesiri[Cantitate]; Iesiri[Cod_Produs]; [@Cod]; Iesiri[Data];"<="&$H$1)
Stoc_La_Data: =[@Intrari_La_Data] - [@Iesiri_La_Data]
Schimbi data din H1 → stocul se recalculează pentru acea dată. Perfect pentru reconciliere cu inventarul fizic.
Alerte automate pentru reaprovizionare
Formatare condiționată pe Stoc_Curent:
Selectezi coloana Stoc_Curent → Formatare condiționată → Regulă nouă → formulă:
// Stoc sub minimum → fundal roșu
=[@Stoc_Curent] < XLOOKUP([@Cod]; Produse[Cod]; Produse[Stoc_Minim])
// Stoc între minim și dublu minim → fundal galben
=ȘI([@Stoc_Curent]>=XLOOKUP([@Cod];Produse[Cod];Produse[Stoc_Minim]);
[@Stoc_Curent]<XLOOKUP([@Cod];Produse[Cod];Produse[Stoc_Minim])*2)
Coloana de alertă text:
=DACĂ([@Stoc_Curent]<XLOOKUP([@Cod];Produse[Cod];Produse[Stoc_Minim]);
"⚠ REAPROVIZIONARE URGENTĂ";
DACĂ([@Stoc_Curent]<XLOOKUP([@Cod];Produse[Cod];Produse[Stoc_Minim])*2;
"Stoc redus";"OK"))
Filtru rapid pentru lista de reaprovizionat:
// Pe o foaie separată „Comenzi_Necesare":
=FILTER(Stoc_Curent[[Cod]:[Denumire]:[Stoc_Curent]:[Furnizor]];
Stoc_Curent[Stoc_Curent]<Stoc_Curent[Stoc_Minim];
"Toate stocurile sunt OK")
Metoda FIFO pentru evaluarea stocurilor
FIFO (First In, First Out) înseamnă că primele produse intrate sunt și primele care ies — important fiscal pentru că afectează valoarea stocului și costul mărfii vândute.
Implementarea FIFO în Excel e complexă dar posibilă cu o tabelă auxiliară:
Logica simplificată:
- Sortezi intrările cronologic (data + nr. document)
- Pentru fiecare ieșire, „consumi” în ordine intrările disponibile
- Stocul rămas e evaluat la prețul celor mai recente intrări
Soluție practică pentru firme mici: dacă prețul de achiziție nu variază mult, folosești prețul mediu ponderat (mai ușor de implementat):
// Preț mediu ponderat
=SUMPRODUCT((Intrari[Cod_Produs]=[@Cod])*Intrari[Cantitate]*Intrari[Pret_Unitar]) /
SUMIF(Intrari[Cod_Produs]; [@Cod]; Intrari[Cantitate])
Rapoarte automate
Mișcare stoc pe perioadă (pentru contabilitate)
Pe o foaie „Raport_Luna”, cu luna selectabilă din celula B1:
Stoc initial luna: =stocul calculat la data de 1 ale lunii (formula cu SUMIFS + data)
Intrari luna: =SUMPRODUCT((MONTH(Intrari[Data])=MONTH($B$1))*(YEAR(Intrari[Data])=YEAR($B$1))*Intrari[Valoare])
Iesiri luna: =similar pentru ieșiri
Stoc final: =Stoc initial + Intrari - Iesiri
Top 10 produse după rotație
=TAKE(SORTBY(Stoc_Curent[[Cod]:[Denumire]:[Iesiri_Total]];
Stoc_Curent[Iesiri_Total]; -1); 10)
Produsele cu cea mai mare rotație → candidații pentru stoc de siguranță mai mare.
Produse fără mișcare (slow-moving)
=FILTER(Stoc_Curent[[Cod]:[Denumire]:[Stoc_Curent]];
(Stoc_Curent[Iesiri_Total]=0)*(Stoc_Curent[Stoc_Curent]>0))
Lista produselor cu stoc dar fără ieșiri — candidați pentru promoții sau returnare la furnizor.
Integrare cu facturare
Dacă ai și un sistem de facturare în Excel, legătura e simplă:
- Fiecare rând de factură completat → un rând automat în foaia „Iesiri” (via macro sau manual)
- Stocul scade automat când factura e înregistrată
Cu Power Automate, poți declanșa actualizarea stocului automat când un document e salvat în SharePoint.
Când Excel nu mai face față
Sistemul Excel funcționează bine pentru:
- Firme cu până la 1.000-2.000 de SKU-uri
- 1-3 utilizatori care actualizează stocul
- Tranzacții: până la 10.000/lună
Când depășești aceste limite sau ai nevoie de tracking per lot, serie sau locație, treci la un WMS (Warehouse Management System) dedicat. Dar tranziția e mai ușoară dacă ai datele curate din Excel de la început.
Concluzie
Un sistem de stocuri în Excel, construit corect, elimină erorile de numărare manuală, îți spune automat când trebuie să reaprovizionezi și generează rapoartele de care contabilitatea are nevoie. Investiția: 4-8 ore de setup. Beneficiul: zeci de ore economisit lunar și zero surprize de stoc.
La Excel Group construim sisteme complete de gestiune stocuri în Excel pentru firme din România și Moldova — adaptate la specificul fiecărei afaceri. Contactează-ne.
Întrebări frecvente
Pot gestiona mai multe depozite/locații în același sistem?
Da — adaugi coloana „Locatie” în tabelele de Intrări și Ieșiri, și calculezi stocul pe locație cu SUMIFS. Dashboard-ul poate afișa stocul per locație cu Slicer.
Cum fac inventarul fizic și îl reconciliez cu Excel?
Exporți foaia Stoc_Curent → echipa numără fizic → completezi coloana „Stoc_Fizic” → o formulă de diferență arată discrepanțele. Diferențele mari = locuri unde apar erori de înregistrare.
Sistemul poate trimite alertele de reaprovizionare automat pe email?
Da — cu Power Automate. Un flow zilnic verifică dacă există produse sub stocul minim și trimite email cu lista respectivă.

