De la D100 la situatiile financiare anuale: ce iese singur si ce cere un raspuns.
Matricea cabinetului: ce inseamna fiecare culoare
Rosu NU inseamna „nefacut inca”. Inseamna „nefacut SI cu termen aproape sau depasit” — altfel matricea ar fi jumatate rosie la mijlocul lunii.
Consola cabinetului: firmele pe verticala, obligatiile pe orizontala, cu prescurtarile in cap si legenda in bara de deasupra matricei.
Fiecare celula are o regula care spune doar „indeplinit / neindeplinit”. Culoarea vine PESTE verdict, dupa scadenta. Asta e si diferenta dintre o matrice care se citeste si una pe care nimeni n-o mai deschide dupa o saptamana.
Culoarea
Ce inseamna
verde
obligatia e indeplinita
galben
neindeplinita, dar termenul e departe — sau regula n-a putut fi evaluata, si motivul se vede
visiniu
declaratia nu e inca generata: o etapa, nu o alarma
rosu
neindeplinita, cu termenul aproape ori depasit — sau luna s-a incheiat si in categoria aceea nu s-a inregistrat nimic
albastru
blocata de contabil, cu motivul scris in jurnal
gri
nu se aplica firmei, dupa vectorul ei fiscal
Semnul ∅ din celula inseamna „nimic in luna”: nicio factura primita, nicio linie de extras, nicio nota — dupa coloana. O coada goala fiindca n-a intrat nimic in ea NU e o coada epuizata, iar un sold neatins de o luna e doar cel adus din luna dinainte; de aceea golul nu iese niciodata verde. Cat timp luna e in curs e galben (inca nimic, dar mai e timp); dupa ce luna s-a incheiat e rosu, oricare ar fi termenul, fiindca luna s-a terminat si lucrul n-a inceput. Cardul de sus numara separat celulele fara date, ca sa se vada cat din matrice e de fapt neinceput.
Capul matricei e scurt: grupele sus, prescurtarile dedesubt — INTR, IES, BON, F.EXT, BANCA, CASA, 473, 581, BAL, ACTIVE, GEST, 4551, 446, J.CUMP, J.VANZ, TVA, STATE, PLATA, REGES, 112, 300, 394, 390, 100, 406, COMUN, DOSAR — iar „Legenda coloanelor”, celula aurie din bara de deasupra matricei, le spune pe nume, pe grupe. Tot acolo stau cele sase culori si semnul KONTAH cu explicatiile. Cifra din celula e cate elemente stau in spatele starii; rombul e o stare pusa de mana, cu utilizator si motiv.
Fiecare celula se deschide: numele firmei, grupa, starea cu regula si termenul socotit in zile, conturile din spatele ei cu soldul lor, si motivul blocarii — obligatoriu daca blochezi. Blocarea ramane in jurnal, cu utilizator, data si motiv.
Atenție
O REGULA CARE CRAPA N-ARE VOIE SA DARAME MATRICEA. La 23 de firme si vreo 20 de coloane, un singur decont care nu se poate calcula — configurare incompleta, o cota nemapata — ar lasa tot ecranul de triaj gol. Celula iese galbena, cu motivul scris, si restul matricei traieste.
Catalogul de obligatii e DATE, nu program: o coloana noua se adauga in lista, nu prin cod nou — cu prescurtarea si legenda ei cu tot.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „De ce e celula asta galbena si nu rosie?"
Tabloul firmei: treapta dintre consola si ecranele de lucru
Click pe cardul unei firme, in consola, deschide randul ei din matrice desfacut: ce e de lucrat, pe grupe, cu motivul in cuvinte si cu drumul spre ecranul fiecarei celule.
Tabloul firmei: patru carduri sus, apoi grupele matricei, cu fiecare celula pe numele ei intreg.
Fata cabinetului are trei trepte. Consola arata tot portofoliul si nu are niciun client ales: selectorul sta gol, iar meniul arata doar hexagoanele cabinetului. Tabloul firmei e randul unei firme din matrice, desfacut. Ecranele de lucru sunt meniurile firmei, care apar abia dupa ce ai ales-o.
In tablou intri cu un click pe cardul firmei, in consola, sau alegand-o din selector. Semnul KONTAH din dreapta cardului nu intra in firma: desface fisa firmei — regimul de impozit si de TVA, adresa, declarantul, contactul — iar de acolo se poate si intra.
Sus stau patru carduri: cat e de lucru in luna, pe grupe; declaratiile lunii, una cate una, cu starea si termenul; soldurile din balanta, clienti si furnizori; urmatoarele termene. Dedesubt, cele sapte grupe ale matricei: fiecare celula cu numele ei intreg, cu motivul in cuvinte si cu culoarea din matrice, cele rosii primele. Click pe o celula duce in ecranul in care se lucreaza chiar lucrul acela. Luna e aceeasi cu a consolei: o schimbi intr-un loc, se schimba in amandoua.
De unde alegi alt client
Unde ajungi
Consola sau tabloul firmei
tabloul noului client
Un ecran de lucru (Banca, Vanzari, Achizitii…)
acelasi ecran, pe noul client — ca sa lucrezi in serie, firma dupa firma
Atenție
„Vezi ca acest client” deschide firma asa cum o vede omul din firma, DIRECT in tabloul lui de bord — ecranul de pornire cu „Incarca document” si „Emite factura” e al clientului, nu al contabilului. Sageata de inapoi din antet (sau a browserului) te aduce inapoi AICI, in tabloul firmei de la care ai plecat, nu pe consola. „Inapoi la consola” goleste alegerea: pe consola nu lucrezi pe nicio firma, deci nu poti gresi firma.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Unde vad, pentru o singura firma, ce am de facut luna asta?"
Recipisa isi gaseste singura locul
Nu se corealeaza de mana. Recipisa poarta in ea CIF-ul, tipul declaratiei, perioada si indexul de incarcare — omul incarca fisierul, randul isi gaseste locul.
Culoarea
Starea depunerii
rosu
lipseste randul — netrimisa
galben
descarcata din KONTAH, fara recipisa
verde
recipisa incarcata si corelata
Atenție
FAIL-CLOSED: o recipisa a ALTEI firme nu se inregistreaza niciodata, oricat de convenabil ar fi. Se refuza, cu CIF-ul gasit scris pe ecran, ca sa se vada ce s-a incarcat de fapt.
Cititorul e construit pe 906 de recipise reale din arhiva cabinetului, nu pe documentatie. De acolo se stiu lucrurile pe care nu le scrie nimeni: ca spatierea nu e stabila si textul se rupe peste randuri, ca prefixul tipului nu e mereu „D” (mai sunt S100, A420, F410), ca recipisa de CERERE nu e recipisa de declaratie si se refuza explicit, si ca ATENTIONARILE exista si cand nu exista erori — exact asa afla contabilul ca ceva nu e in regula.
Iar 293 din cele 906 n-aveau text deloc: erau desenate vectorial. Si alea se citesc.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Cum fac verde celula dupa ce am depus declaratia?"
Perioada TVA: luna e regula, trimestrul e exceptia
Art. 322 alin. (1): perioada fiscala ESTE luna calendaristica. Trimestrul se cuvine celui de sub plafon si fara achizitii intracomunitare — deci se verifica dreptul la trimestru.
Trimestrul se cuvine firmei care, in anul precedent, a avut cifra de afaceri sub 100.000 euro SI n-a facut nicio achizitie intracomunitara de bunuri.
Atenție
Masurat inainte de a exista modulul: facturi de 1.000 in aprilie, 2.000 in mai si 3.000 in iunie, la o firma TRIMESTRIALA. Decontul lui iunie trebuia sa arate 1.260 lei TVA colectata si arata 630 — doar iunie. Doua treimi din trimestru lipseau, si lipseau TACUT.
Schimbarea in cursul anului e cea mai fina bucata din articol (alin. (7)): firma pe trimestru care face o achizitie intracomunitara de bunuri taxabila in Romania trece pe luna din prima luna a trimestrului daca exigibilitatea cade in prima, si din a treia luna daca ea cade in a doua.
Si D394 urmeaza aceeasi perioada — nu se intreaba separat.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Firma mea e pe lunar sau pe trimestrial?"
D300: decontul care se valideaza inainte sa iasa pe usa
XML-ul se scrie din jurnalele de TVA si se valideaza local, pe schema oficiala. Daca nu trece, nu iese fisier.
Decontul de TVA (D300) in piata declaratiilor; D112 sta pe hexagonul de alaturi.
Jurnalele din care iese decontul stau in Contabilitate, iar fiecare cifra de acolo se poate deschide pana la documentul care a produs-o. Formulele de corelatie sunt transcrise din structura oficiala, nu din memorie.
Atenție
O cota neasteptata sau un import fara TVA-ul din declaratia vamala OPRESTE generarea. Mai bine niciun decont decat unul gresit.
Cotele vechi (19%, 20%, 24%, 5%) n-au rand al lor in decontul din 2026 si nu se pun langa cota de 21%: o nota de credit ori o factura la 19% merge pe regularizari — randul 16 la livrari, randul 33 la achizitii, cu taxa dedusa in luna. Asa cer instructiunile formularului (OPANAF 174/2026).
Achizitiile externe au randurile lor, si nu se amesteca cu cele interne: intracomunitare de bunuri, taxare inversa pe servicii, si importul cu declaratie vamala — ultimul cu baza din factura si taxa din vama.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „De unde vine fiecare rand din decont?"
D394: ce declara, si ce refuza sa aproximeze
Un zero pus unde n-ai de unde sa stii nu e prudenta, e o afirmatie. Campurile pe care KONTAH nu le poate sustine nu se scriu deloc — schema le lasa optionale tocmai ca sa se poata tacea.
Declaratia se face pe aceeasi perioada ca decontul, si se valideaza local, pe schema care cunoaste cotele in vigoare.
Atenție
Incasarile prin casa de marcat cer numarul de aparate si numarul de bonuri. Cele doua se scriu DOAR cand se stiu: vin din arhiva casei, iar un raport Z batut de mana n-are nici numar de identificare, nici numar de bonuri. Un „0” acolo, intr-o luna cu vanzari, ar fi o minciuna cu semnatura.
Acelasi principiu la campurile regimului marjei: cele patru ale bunurilor second-hand se scriu, fiindca KONTAH le are; cele patru ale agentiilor de turism NU se scriu deloc, fiindca un zero acolo ar insemna „n-am avut asemenea operatiuni” — o afirmatie pe care n-avem cum s-o sustinem.
Ce nu e inca acoperit se REFUZA, nu se aproximeaza: un partener nestabilit in Romania in luna raportata opreste generarea si spune de ce.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „De ce imi cere D394 numarul de bonuri fiscale?"
D112: patru institutii si fiecare om pe nume
Cea mai mare declaratie din sistem. Se reconciliaza cu statul la LEU — daca o cifra din declaratie nu e suma liniilor statului, calculul se opreste.
Declaratia raporteaza catre patru institutii deodata si numeste fiecare om, cu CNP-ul si cu cifrele lui. Totul vine din statul BLOCAT al lunii — acelasi fapt din care se dau si adeverintele.
Atenție
Ce NU se poate deduce nu se ghiceste. Codurile bugetare sunt publicate MASCAT in anexa oficiala, iar zece caractere gresite trec de validarea de schema — care verifica doar lungimea — si duc banii pe alt cont. Se completeaza o singura data, de contabil.
La fel codul CAEN al firmei, tariful de risc si casa de sanatate: sunt date ale firmei, puse o data la intrarea ei in KONTAH. Cand lipsesc, declaratia spune exact ce trebuie completat si nu se genereaza pe presupuneri.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „De unde ia D112 cifrele?"
D100 si retinerile la sursa
Codul obligatiei nu depinde numai de felul venitului, ci si de CINE il primeste. Aceleasi dividende au trei coduri diferite.
D100, obligatiile de plata ale lunii.
Cine primeste dividendele
Codul
persoana fizica rezidenta
604
o firma
150
un nerezident
631
Atenție
Cine ar tine un singur cod pe „dividende” ar declara gresit doua treimi din cazuri.
Retinerile la sursa, cu codul obligatiei fiecareia.O retinere noua: felul venitului, beneficiarul si codul.
RETINERILE SUNT LUNARE. Impozitul pe profit e trimestrial, dar dividendele si chiriile se declara pana pe 25 a lunii urmatoare. De aceea D100 se face pe LUNA, iar obligatia trimestriala intra doar in luna care inchide trimestrul. Un singur fisier le poarta pe toate.
Codul obligatiei se SCRIE pe retinere, nu se recalculeaza la fiecare generare: daca ANAF schimba maine incadrarea, retinerile de anul trecut raman declarate cum au fost declarate.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Ce cod de obligatie pun la dividende?"
Numarul de evidenta a platii
Douazeci si trei de caractere in care sta tot: codul obligatiei, perioada, scadenta, si doua cifre de control pe care ordinul NU le publica.
Structura vine din OPANAF 3.607/2016: codul documentului fiscal, codul obligatiei bugetare, categoria, perioada de raportare, scadenta, tipul documentului, secventa, si la coada doua cifre de control.
Atenție
Ordinul spune despre cifrele de control doar ca „se genereaza de catre aplicatia informatica conform algoritmului propriu” — si nu-l publica. Algoritmul e citit din bytecode-ul validatorului ANAF si probat pe validatorul real: ultimele doua caractere sunt suma primelor 21.
Si anexele oficiale dau un exemplu GRESIT, care a stat in cod pana a fost probat pe validator. De-aia se verifica pe programul lor, nu pe hartia lor.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Ce e numarul ala lung de pe declaratie?"
D710: suma initiala e a ta, nu a noastra
Fiecare suma vine in pereche: cat s-a declarat initial si cat trebuia. ANAF nu vrea diferenta, vrea amandoua cifrele.
Rectificativa, cu perechile ei de sume.
Suma corectata se recalculeaza acum, din registrul de evidenta fiscala, pe aceeasi poarta ca D100. Cea initiala se ia din ce spui tu ca ai depus.
Atenție
KONTAH nu tine arhiva declaratiilor depuse la ANAF si nu se preface ca o tine. Daca cele doua cifre ies egale, declaratia se REFUZA: o rectificativa care nu rectifica nimic nu se depune.
Exceptia e anularea: cazul in care rectificativa sterge o obligatie declarata din greseala. Atunci suma corectata e zero, iar egalitatea nu mai e o eroare — e chiar rostul declaratiei.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Cum rectific o declaratie depusa gresit?"
Registrul de evidenta fiscala: cele cinci sectiuni
Profitul fiscal nu e profitul contabil. Nu se aplica o cota pe rezultatul din balanta — se parcurge un traseu, si el ramane scris.
Registrul de evidenta fiscala, cu sectiunile lui.
A. Rezultatul contabil
din rulajele claselor 6 si 7.
B. Ajustari obligatorii (+)
cheltuielile nedeductibile.
C. Venituri neimpozabile si ajustari facultative (−)
D. Profit fiscal si impozit
cu cota din parametri.
E. Reconcilierea D100 → D101
ce s-a declarat trimestrial fata de anual.
Ce se poate CITI din conturi se deriva la fiecare cerere — regimul fiscal sta pe cont, nu se hotaraste in decembrie. Ce cere judecata profesionala se scrie ca DECIZIE, cu autor si moment, si nu se rescrie automat.
Atenție
Registrul nu produce note contabile: fiscalitatea profitului nu e contabilitatea lui.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Cum se ajunge de la rezultatul contabil la impozit?"
D101 nu recalculeaza nimic, asaza
Randul 11 si randul 28 sunt randuri diferite, si asa trebuie. Puse in acelasi loc, cele doua amortizari si-ar anula efectul.
D101, impozitul pe profit anual, rand cu rand.
Aici aterizeaza tot ce s-a construit inainte: rezultatul contabil din note, ajustarile din registrul fiscal si amortizarea fiscala calculata bun cu bun in Active.
Amortizarea FISCALA se scade la rd. 11; cea CONTABILA se adauga inapoi la rd. 28 ca nedeductibila. Cine le-ar pune pe amandoua in acelasi loc ar dubla sau ar anula efectul lor.
Atenție
rd. 48 e impozitul anual INTREG; rd. 52 e ce se plateste ACUM. Din impozitul anului se scade, la rd. 50, ce s-a declarat deja prin D100 in cursul anului. Masurat pe o declaratie reala depusa: fara randul asta ar fi iesit 402.625 lei ceruti la plata in loc de 122.366.
Pierderea fiscala se reporteaza intre ani si se ia din registru: cand firma a venit cu un registru de evidenta fiscala la preluare, pierderile anilor precedenti intra singure. Ce nu se stie de nicaieri iese pe zero SI se spune pe nume — o declaratie cu un rand tacut e o declaratie gresita.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „De ce imi cere D101 amortizarea de doua ori?"
Situatiile financiare anuale
Fiecare rand ia o LATURA a contului, nu soldul lui. Iar verificarea nu e egalitatea totalurilor, ci corelatia dubla.
Situatiile financiare anuale, cu formularele lor.
Activele iau debitul, datoriile si capitalurile creditul. Iar cateva randuri de capitaluri iau DEBITUL desi stau in pasiv — actiunile proprii, pierderea reportata, repartizarea profitului — fiindca ele se SCAD din total, si anexa cere sa fie scrise pozitiv. Fara harta asta, un cont bifunctional ar cadea pe partea gresita: totalurile ar iesi egale si false.
Atenție
Zece conturi apar in DOUA randuri, si nu se dubleaza: fiecare rand ia partea lui. Sunt conturile de decontare cu statul sau cu grupul — 431, 437, 441, 444, 446, 447, 451, 453, 456, 473 — adica exact cele care pot avea si de luat, si de dat.
Ce NU se poate afla se SPUNE. Bilantul cere impartirea cheltuielilor si veniturilor in avans pe „pana la un an” si „peste un an”; din sintetic nu se poate afla, e o judecata pe analitic, si o face omul care stie contractele. KONTAH pune tot pe „pana la un an” — situatia obisnuita la o microintreprindere — si scrie ipoteza in raport, cu randul si suma ei. O impartire ghicita si tacuta ar fi trecut de validator si ar fi mintit.
Anexa activelor imobilizate isi are si ea regula: valorile de la inceputul exercitiului se iau din ce s-a RAPORTAT anul trecut, nu se re-deriva din balanta.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „De ce apare acelasi cont in doua randuri din bilant?"
D406 lunar: declaratia care refuza sa iasa pe jumatate
Frecventa nu se intreaba, se deduce din perioada TVA. Iar generarea REFUZA cat timp mai sunt sectiuni nescrise, si spune care.
SAF-T lunar, cu sectiunile lui.
Declaratia poarta nomenclatoarele firmei, jurnalul contabil intreg si documentele sursa ale perioadei. Frecventa urmeaza perioada fiscala de TVA a firmei: cine e pe decont lunar depune lunar, restul trimestrial — inclusiv firmele neinregistrate in scopuri de TVA.
Atenție
FAIL-CLOSED, SI NU E O FORMALITATE. Declaratia se depune sub sanctiune, iar ANAF verifica si completitudinea, nu doar schema. Un fisier care trece de validator si are o sectiune goala pe care ar fi trebuit s-o umple e mai rau decat niciun fisier: arata ca o declaratie facuta.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Cand depun SAF-T lunar si cand trimestrial?"
Ce a plecat la ANAF ramane, cu verdictul si versiunea lui
Un fisier depus nu se poate regenera peste un an: regulile si datele de azi nu sunt cele de atunci. De aceea octetii care au plecat se PASTREAZA.
Toate generatoarele sunt functii curate: produc fisierul si il trimit la descarcare. Deci s-ar putea doar REGENERA, cu regulile si datele de azi — care nu sunt cele de atunci. Probat: dupa o schimbare de perioada fiscala facuta azi, decontul pe o luna trecuta nu mai poate fi nici macar recalculat.
Ce se pastreaza aici e un FAPT, nu o proiectie: octetii astia au plecat, in ziua asta, si validatorul ANAF a spus despre ei atat.
Atenție
VERDICTUL VINE CU VERSIUNEA LUI. „Acceptat” nu inseamna nimic peste un an — validatorul decontului s-a schimbat de patru ori intr-un singur an. „Acceptat de D300Validator 11.02.2026” e o afirmatie verificabila.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Ce am declarat pe luna iulie?"
OPME si notificarea e-TVA
OPME nu e un format bancar, e o declaratie: se depune prin SPV si primeste doua recipise. Notificarea de conformare se raspunde in 20 de zile de la primire.
Ordinul de plata multiplu electronic.
OPME se depune prin SPV, ca orice declaratie, si primeste doua recipise: una de la ANAF si una de la Trezorerie. Se plateste cu banii din contul de TREZORERIE al firmei — contributiile, impozitele retinute, TVA, amenzile. Plata din contul bancar obisnuit e altceva.
Atenție
F1129 N-ARE VALIDATOR DUKINTEGRATOR, si asta nu e o lipsa a noastra: nu exista arhiva de validare pe pagina ANAF, si nici jar in DUKIntegrator, care are in schimb pentru D101, D112, D300, D390, D394, D406 si D700. Formularul oficial se valideaza SINGUR. De aceea KONTAH scoate XML-ul, omul il importa in formularul oficial, si proba finala ramane recipisa Trezoreriei.
Notificarea de conformare e-TVA (OUG 70/2024) se pastreaza cu fisierul ei si cu amprenta lui, langa perioada la care se refera, si i se tine drumul prin cabinet. Raspunsul se transmite in 20 de zile de la DATA PRIMIRII — pe care o stie SPV-ul, nu ziua in care a incarcat cineva fisierul in KONTAH, de aceea termenul se scrie, nu se calculeaza.
Atenție
Ce NU face modulul, dinadins: nu confrunta nimic cu decontul precompletat. Confruntarea cere un decont precompletat REAL, iar o confruntare ghicita e mai rea decat lipsa ei: contabilul ar crede ca e verificat ce nu e.
Dacă nici asta n-a fost de ajuns, asistentul din aplicație se deschide cu întrebarea: „Cum platesc obligatiile din contul de trezorerie?"