ATENTIE !!!

2025:
(Anexa validari D112 din 2025.09.12)

iulie 2024:
- se verifica la {Salarii}, {Configurare}: salariu minim=3700; 
	{Salarii}, {Conf.incadrari}: Pr_ch_forf=300
2024:
- se verifica la {Salarii}, {Configurare} daca totul e ok:
	(zile lucratoare, salariu minim=3300, salariu mediu=7567, Fd_cam=2.25, Fd_han=4; 
	Ded_lim, Cass, Cas3, Lim_cas, Somaj, Fd_inv, Fd_cm =0)
- se verifica la {Salarii}, {Conf.incadrari} daca: (Pr_imp1=100, As_sanat=10, Lim_as_san=12, Cas3=25, CAS con.=20.25, CAM con.=2.25;
	bifa la FF1(daca e functia de baza), Deduceri, Fd_cam, Fd_han, Cass, Cas_unit;
	Aj_somaj, Lim_somaj, Lim_cas, Asigscu =0)
   -- constructii: {Personal}, {Angajati 2}: Tip_contr1=25, Asigscu=7
	{Salarii}, {Culegere}: Asigscu=7
	{Export}, {Antet}: Cod Caen=un cod de constructii (vezi Anexa Validare)
	{Salarii}, {Configurare}: Schema=1, Cifra_af_t=x, Cifra_af_c=y
	{Salarii}, {Conf.incadrari}: Sal.min.2=4000, Sal.max.2=10000
   -- agricultura: {Personal}, {Angajati 2}: Tip_contr1=48, Asigscu=9
	{Salarii}, {Culegere}: Asigscu=9
	{Export}, {Antet}: Cod Caen=un cod de agricultura (vezi Anexa Validare)
	{Salarii}, {Configurare}: Schema=2, Cifra_af_t=x, Cifra_af_c=y
	{Salarii}, {Conf.incadrari}: Sal.min.2=4000, Sal.max.2=10000
   -- IT: {Personal}, {Angajati 2}: Tip_contr1=54, Asigscu=2
	{Salarii}, {Culegere}: Asigscu=2
	{Salarii}, {Configurare}: Schema=3
	{Salarii}, {Conf.incadrari}: Sal.min.2=3000, Sal.max.2=10000
   -- optiune Pilon2 (constr., agric.): {Personal}, {Angajati 2}: pilon2=1 si apoi CTR+S (actualizare date in salarii)
   -- scutire taxe 200ron la salariu minim: {Personal}, {Angajati 2}: Tip_contr1=51
	{Salarii}, {Culegere}: Tip_contr1=51
	{Salarii}, {Conf.incadrari}: Pr_ch_forf=200
   -- deducere 450ron pt.varsta<26ani: {Personal}, {Angajati}: Cod numeric=sAAllZZ...
	{Salarii}, {Conf.incadrari}: Ded2_ani=26, Ded2_prsu=15
   -- copii in intretinere: {Salarii}, {Conf.incadrari}: Ded3_copil=100
	{Salarii}, {Culegere}: Pr_ded_sup=x.y
	(x=total persoane in intretinere; din care y sunt copii; ex: 2copii in intretinere=2.2; 1adult si 1copil=2.1)
   -- pensii facultative, diurne si alte venituri neimpozabile (non-salariale):
	{Salarii}, {Venit.neimpozabile}: Camp_d112 se completeaza conform cu Anexa Validari D112, sectiunea < asiguratE3 > (paginile 68..71)
	vezi http://static.anaf.ro/static/10/Anaf/Declaratii_R/112.html
	sau (Anexa validari D112 din 2024.02.15)
	exemplu: E3_62
	pentru 8.4.3 Indemnizatii de delegare neimpozabile, cf.art.76 alin.(4) lit.h) din CF

2023:
- se verifica la {Salarii}, {Configurare} daca totul e ok:
	(zile lucratoare, salariu minim=3000, salariu mediu=6789, Fd_cam=2.25, Fd_han=4; 
	Ded_lim, Cass, Cas3, Lim_cas, Somaj, Fd_inv, Fd_cm =0)
- se verifica la {Salarii}, {Conf.incadrari} daca: (Pr_imp1=100, As_sanat=10, Lim_as_san=12, Cas3=25, CAS con.=21.25, CAM con.=2.25;
	bifa la FF1(daca e functia de baza), Fd_cam, Fd_han, Cas_unit, Cass si la Deduceri; 
	Aj_somaj, Lim_somaj, Lim_cas, Asigscu =0)
   -- constructii: {Personal}, {Angajati 2}: Tip_contr1=25, Asigscu=7
	{Salarii}, {Culegere}: Asigscu=7
	{Export}, {Antet}: Cod Caen=un cod de constructii (vezi Anexa Validare)
	{Salarii}, {Configurare}: Schema=1, Cifra_af_t=x, Cifra_af_c=y
	{Salarii}, {Conf.incadrari}: Sal.min.2=4000, Sal.max.2=10000
   -- agricultura: {Personal}, {Angajati 2}: Tip_contr1=48, Asigscu=9
	{Salarii}, {Culegere}: Asigscu=9
	{Export}, {Antet}: Cod Caen=un cod de agricultura (vezi Anexa Validare)
	{Salarii}, {Configurare}: Schema=2, Cifra_af_t=x, Cifra_af_c=y
	{Salarii}, {Conf.incadrari}: Sal.min.2=3000, Sal.max.2=10000
   -- IT: {Personal}, {Angajati 2}: Tip_contr1=54, Asigscu=2
	{Salarii}, {Culegere}: Asigscu=2
	{Salarii}, {Configurare}: Schema=3
	{Salarii}, {Conf.incadrari}: Sal.min.2=3000, Sal.max.2=10000
   -- optiune Pilon2 (constr., agric.): {Personal}, {Angajati 2}: pilon2=1 si apoi CTR+S (actualizare date in salarii)
   -- scutire taxe 200ron la salariu minim: {Personal}, {Angajati 2}: Tip_contr1=51
	{Salarii}, {Culegere}: Tip_contr1=51
	{Salarii}, {Conf.incadrari}: Pr_ch_forf=200
   -- deducere 450ron pt.varsta<26ani: {Personal}, {Angajati}: Cod numeric=sAAllZZ...
	{Salarii}, {Conf.incadrari}: Ded2_ani=26, Ded2_prsu=15
   -- copii in intretinere: {Salarii}, {Conf.incadrari}: Ded3_copil=100
	{Salarii}, {Culegere}: Pr_ded_sup=x.y
	(x=total persoane in intretinere; din care y sunt copii; ex: 2copii in intretinere=2.2; 1adult si 1copil=2.1)
   -- pensii facultative, diurne si alte venituri neimpozabile (non-salariale):
	{Salarii}, {Venit.neimpozabile}: Camp_d112 se completeaza conform cu Anexa Validari D112, sectiunea < asiguratE3 > (paginile 58..61)
	vezi http://static.anaf.ro/static/10/Anaf/Declaratii_R/112.html
	sau (Anexa validari D112 din 2023.12.15)
	exemplu: E3_62
	pentru 8.4.1 Indemniza?ii de delegare neimpozabile, cf.art.76 alin.(4) lit.h) din CF
   -- calcul deduceri personale (formula noua):
	(necesita si Impozitar actualizat; vezi http://ascosystems.ro/ncpw/DIVERSE/salarii 2023/)
	(cote_imp.dbf se copiaza obligatoriu in D:\ncpw ; sau unde este instalat NCPw)
	Atentie ! Daca doriti sa lucrati salarii din anii precedenti (si ati instalat deja noul impozitar) - trebuie sa copiati in D:\ncpw cote_imp.dbf din anii precedenti
	http://ascosystems.ro/ncpw/DIVERSE/salarii 2018/

2022:
- {Salarii}, {Configurare}:
	Total_zile lucratoare=x, Sal_minim=2550, Sal_mediu=6095, Fd_cam=2.25, Fd_han=4
	Ded_lim, Cass, Cas3, Lim_cas, Somaj, Fd_inv, Fd_cm =0
- {Salarii}, {Conf.incadrari}:
	Pr_imp1=100, As_sanat=10, Cas3=25, CAS con.=21.25, Sal.min.2=3000, Sal.max.2=30000
	bifa la FF1(daca e functia de baza), Fd_cam, Fd_han, Cas_unit, Cass si la Deduceri
	Min_cassan trebuie FARA bifa la toate felurile de incadrari
	Aj_somaj, Lim_somaj, Lim_cas =0

- Constructii: {Personal}, {Angajati 2}: Tip_contr1=25, Asigscu=7
	{Salarii}, {Culegere}: Asigscu=7
	{Export}, {Antet}: Cod Caen=un cod de constructii (vezi Anexa Validare)
	{Salarii}, {Configurare}: Schema=1 + Cifra_af_t=y, Cifra_af_c=z [luna curenta si an anterior(-1 ANT)]
	{Salarii}, {Conf.incadrari}: CAM con.=2.25
- Agricultura: {Personal}, {Angajati 2}: Tip_contr1=48 sau 50, Asigscu=9
	{Salarii}, {Culegere}: Asigscu=9
	{Export}, {Antet}: Cod Caen=un cod de agricultura (vezi Anexa Validare)
	{Salarii}, {Configurare}: Schema=2 + Cifra_af_t=y, Cifra_af_c=z (luna curenta)
	{Salarii}, {Conf.incadrari}: CAM con.=0.27
- plus 200 RON la salar minim: {Personal}, {Angajati 2}: Tip_contr1=49
	{Salarii}, {Culegere}: Salarr= +200, Ch_forf=200
- Timp partial si suma < salar minim: {Personal}, {Angajati 2}: Tip_contr2=P1..P7,
		motivexc=0 se taxeaza la minim
		motivexc=1..5 se taxeaza "normal" doar suma respectiva
	{Salarii}, {Culegere}: Norma=1..7,
		motivexc=0 se taxeaza la minim
		motivexc=1..5 se taxeaza "normal" doar suma respectiva
 	(incepand cu 01 august 2022)


Cifra_af_t=cifra afaceri totala in luna (daca luna=1..12) sau in an anterior (daca luna=-1 ANT)
Cifra_af_c=cifra afaceri din constructie/agricultura in luna (daca luna=1..12) sau in an anterior (daca luna=-1 ANT)
Daca Cifra_af_c nu este minim 80% din Cifra_af_t, NU SE VOR CALCULA scutiri conform LEGII !!


2021:
- {Salarii}, {Configurare}: salariu minim=2300, salariu mediu=5429.


2020: COVID-19
---culegere zile/sume/avans: somaj tehnic buget (perioada anterioara)(32), zile/suma supraveghere copil (31),
zile/suma somaj tehnic suplimentar (33) (tipurile 31,32,33 se completeaza automat)
---Deducerile de impozit se pot acorda si la supr.copil sau somaj tehnic (dar nu automat): CTRL+Enter in campul respectiv
---stat de plata, avans, fluturasi: somaj tehnic buget (perioada anterioara) si stat 
plata 1 ("normal" + supraveghere copil + somaj tehnic suplimentar)
---D112, centralizatoare, N.C.: DA
(N.C. somaj tehnic buget: INDEMNIZATIE SOMAJ TEHNIC: 438.2 .3 = 421 )
(N.C. lichidare:	C.A.S.       : 421.00 = 431.5 .1
			C.A.S.CM     : 423    = 431.5 .1
			C.A.S.Constr.: 421.00 = 431.5 .2
			C.A.S.Cns.CM : 423    = 431.5 .2 )
---D112 detasati


Posibile erori si solutii:

E: asigurat (1) [idAsig = 1]
 eroare regula: S9bbb: asigScu=7 daca per>=07.2019 si A_1 sau B1_1 = 25 si bifa_CAM = 1  si salbr >=3000
===> treceti la Culegere Salarii Asigscu=7 (motiv scutire) chiar daca nu are nicio zi lucrata efectiv (pentru cei care au Asigscu=7 la Personal)

A: asigurat (109) [idAsig = 109]
 atentionare regula: S113: E1_3(2)=max(E3_11)(0) pentru E3_3=1
===> nu ati acordat deducerea personala in cazul fara zile lucrate in luna (doar supraveghere copil si/sau somaj suplimentar)

F: asigurat (3) [idAsig = 3] sectiune coAsigurati (1)
 eroare structura: sectiunea 'asiguratB2' este gresit pozitionata sau lipsesc sectiuni anterioare obligatorii
===> nu ati trecut zile suspendate (ele se calculeaza automat doar din luna 05.2020; daca ati preluat datele din luna 4 si nu ati actualizat,
e foarte probabil ca Z.suspendate sa nu fie completate)

Mesaje de eroare DUKIntegrator care nu (mai) au nicio legatura cu realitatea:

E: asigurat (9) [idAsig = 9] sectiune asiguratA (1)
 eroare regula: S22.1: A_9>0 si A_6>0 daca baza_AJS=true)
===> de fapt, vrea sa spuna ca: pensionarii nu pot fi asigurati pentru somaj (Personal->Angajati 2->AsigSO)


2020:
- {Salarii}, {Configurare Incadrari}: Min_cassan trebuie fara bifa la toate felurile de incadrari.

2019 noiembrie:
- cifra de afaceri totala (si cea din constructii) pe anul precedent se trece la {Salarii}, {Configurare}, linia "-1" "ANT"
- in luna iulie 2019, NCPw calculeaza deduceri cu regula de pana la iunie 2019 si nu fragmentat 1-21 si 22-31

2019:
- se verifica la {Salarii}, {Configurare} daca totul e ok:
	(zile lucratoare, salariu minim=2080, salariu mediu=4162, Fd_cam=2.25, Fd_han=4, Cifra_af_t=x, Cifra_af_c=y; 
	Ded_lim, Cass, Cas3, Lim_cas, Somaj, Fd_inv, Fd_cm =0)
- se verifica la {Salarii}, {Conf.incadrari} daca: (Pr_imp1=100, As_sanat=10, Cas3=25, CAS con.=21.25, CAM con.=0.3375, Sal.min.2=3000, Sal.max.2=30000; 
	bifa la FF1(daca e functia de baza), Fd_cam, Fd_han, Cas_unit, Cass si la Deduceri; 
	Aj_somaj, Lim_somaj, Lim_cas, Asigscu =0)
   -- studii superioare si vechime>1an: {Personal}, {Angajati 2}: Tip_contr1=26		

Concedii Medicale D112 2019:
Daca aveti CM "in continuare", trebuie sa existe si concediul medical initial in baza de date a NCPw. Altfel, veti primi un mesaj de eroare la validare, de genul:
E: asigurat (18) [idAsig = 18] sectiune asiguratD (1)
 eroare regula: S90a: Data_CMI # null daca (D_3 # null si D_4 # null)

Constructii 2019:
{Export}{Antet}: se culege (F5) CAEN domeniu constructii
Daca o persoana lucreaza in constructii dar nu indeplineste conditiile de scutire (salar brut realizat prea mic sau prea mare) veti primi Atentionare de genul:
A: asigurat (1) [idAsig = 1] sectiune asiguratA (1)
 Contributie Individuala SANATATE diferita de suma calculata
 atentionare regula: S25: A_12 (250) = round(Max(A_11,salmin*A_8/NZL) * CIsan) (300)
A: asigurat (1) [idAsig = 1] sectiune asiguratA (1)
 Contributie Individuala ASIGURARI SOCIALE diferita de suma calculata
 atentionare regula: S27: A_14 (625) = round(Max(A_13,salmin*A_8/NZL) * CIpens)(750) 
(declaratia se poate depune)

Pentru zilieri in agricultura (arende):
- {Personal}, {Angajati 2}: Tip_contr1=3, Casa sanatate="NEASIGURAT (ZILIER)"
- {Salarii}, {Conf.Incadrari}, se creaza o incadrare noua unde se trece doar Pr_imp1=100, bifa la Min_cassan si Alte_entit=26 (sau dati F5 si alegeti o varianta din categoria C care se aplica la dvs.)
(daca sunt si alte retineri, in afara de impozit, se trec procentele si bifele aferente)

- pentru a valida si semna o declaratie rectificativa din perioada ianuarie-martie 2018 trebuie sa instalati versiunea kncpw983.exe (o gasiti pe site, in folderul VECHI);
dupa ce terminati depunerea rectificativei, reinstalati ultima versiune kncpw.
- daca aveti scutiri conform OUG 6/2011 (SRL-D): folositi o "Incadrare" care sa aibe coloana alte_entit=-1 la {Conf.incadrari} +
	+ {Scutiri/Subventii}{Angajat}: Motiv=4
- daca o persoana are 2 sau mai multe contracte de munca: {Conf.incadrari}: [Alte_entit=-1]
- la {Salarii}, {Antet}: se introduce codul CAEN cu F5 + se merge la campul "cod judet" si cu F5 se selecteaza judetul chiar daca el apare ca fiind completat
- se verifica la {Personal}, {Angajati 2} daca totul e ok
- se introduc concediile medicale la {Salarii}, {Concedii medicale}
- se lanseaza programul de export D112 de la {Salarii}, {Export}, {D112}
- apare o fereastra cu datele de antet, apoi una cu impozite/sedii, apoi (eventual) una cu erori si (eventual) una cu avertismente
- apare fereastra programului de validare produs de Ministerul de Finante (contine butoanele: {Validare}, {Validare cu creare PDF}, {Validare cu semnare})
	(daca NU apare aceasta fereastra, atunci -probabil- nu aveti instalat java;	link de descarcare: http://www.java.com/getjava)
- daca in casuta "alege tipul declaratiei" nu apare si nu puteti selecta "D112": inchideti toate ferestrele; stergeti folderul "d112" aflat in x:\ncpw\_extern_;
	reinstalati ultima versiune kextXYZ.exe
- se inchide fereastra programului produs de Ministerul de Finate
- daca apar erori, acestea pot fi studiate la {Erori} si la {Fisier XML}

Pentru o validare corecta aveti nevoie si de o varianta actualizata de validator a Ministerului de Finante (DUKIntegrator).
O varianta actualizata gasiti si pe site-ul nostru. Se numeste "kextXYZ.exe" (unde XYZ este un numar).
Deasemeni, in folderul x:\ncpw\_extern_\d112 gasiti fisierul update.bat care actualizeaza DUKIntegrator direct de pe site-ul mfinante.ro.
Daca la validare intalniti mesajul "Eroare fatala de parsare" trebuie sa verificati numele clientilor/furnizorilor/angajatilor/angajatorului.
Acestea nu trebuie sa contina diacritice sau caractere "ciudate" (& < > " ')

Detalii despre erorile raportate de D112 si/sau denumirile folosite de aceasta, le gasiti pe pagina:
http://static.anaf.ro/static/10/Anaf/Declaratii_R/112.html
in fisierul "Anexa validari" (Link 2024.02.15)

EXEMPLU de rezolvare eroare validare:
E: asigurat (1) [idAsig = 3] sectiune asiguratB3 (1)
 eroare regula: S60.1: B3_7 (834) = B3_7 calculat conform regulii (845)

Primul motiv ar fi ca validatorul (DUKIntegrator) nu este actualizat (vezi mai sus). Daca nu este cazul, atunci:
Descarcam fisierul "Anexa validari" mentionat mai sus si cautam in el ce inseamna acel "B3_7".
Aflam astfel, ca:
B3_7 este "Baza calcul cas aferenta indemnizatiilor (OUG 158/2005) – asigurat"
si are formula:
B3_7=ROUND ( B3_6 * PcastigMed % * castigMed / NZL)
B3_6 il gasim mai sus si este "Total zile lucratoare concediu medical (cf OUG 158/2005)".
PcastigMed % este un procent fix, B3_6 nu poate fi gresit, rezulta ca nu am configurat corect in NCPw salariul mediu (castigMed) sau numarul de zile lucratoare (NZL).

OBS.: idAsig = 3 NU inseamna ca angajatul la care a aparut eroarea are marca = 3 in NCPw !
Pentru a vedea despre ce angajat este vorba, trebuie sa deschidem fisierul xml rezultat prin validare si sa cautam randul unde apare idAsig="     3".
Fisierul xml se gaseste in folderul C:\EXP_112\xyzt, unde xyzt este codul fiscal al angajatorului.

Diverse mesaje de eroare si posibile cauze:

E: asigurat (?) [idAsig = ?] sectiune asiguratA (1)
 eroare regula: S22.1: A_9>0 si A_6>0 daca baza_AJS=true)
--> de obicei apare cand aveti un pensionar la care nu ati scos bifa de la Personal 2->AsigSO