Proiect e-Factura Anaf,sistem obligatoriu de facturare electronica

La mine pe una dintre aplicații este chiar 97% (wtf?).

Nu vad care e mirarea sincer. Telefonul si tableta sunte bune in metrou. Si pe buda :toilet:. In special pe buda.
Cine prefera sa apese pe un ecran de 5 ori mic, unde e un challenge imens sa afisezi informatie si sa fie si discoverable si browse-able?

Probabil sunt biased pentru că nu am smartphone :slight_smile: Sunt tipul din bancul ăsta:

45665204_1935177993232017_8491875244477251584_n

2 Likes

Apropo, ati vazut stirea cu formularul care trebuie completat pentru ajutorul de stat pentru energie? Are 14 pagini. Ia si digitizeaza-l.

1 Like

Factura electronica nu cred ca este o idee rea,dar nu in felul in care este impusa/implementata de Anaf,au facut fel de fel de prezentari,au dat termene(e-Factura urmează să fie operațională în 30 de zile),dar lipsesc informatii de baza:structura xml nu este documentata,am luat un camp din exemplele lor ‘InvoiceTypeCode’,unde este explicat ce trebuie completat acolo? cum sa te pregatesti in condiitile astea?nu stiu daca am inteles eu bine,dar pe langa transmiterea catre Anaf se pare ca se vor si valida+semna electronic,cata munca si pierdere de timp,cine se uita pe ele?si casele de marcat au fost legate la serverele lor dar bon fiscal multi dau optional,multe restaurante iti aduc doar nota de plata in loc de fiscal,asta nu se vede?Nu este singura implementare care va baga bete in roate agentilor economic,vor si implenetarea SAF-T,le dai tot ce misca in contabilitate intr-un xml cu vreo 800 de campuri,dar si alea nedocumentate si pt marii contribuabili cu termen de 01.01.2022.Legat de facturare au copiat si ei de la altii exemplele,au tradus ici colo si gata,dau termene si obligatii …

1 Like

ANAF a publicat in 06.01.2021 proiectul de ordin prin care se stabileste lista produselor cu risc fiscal ridicat, comercializate în relaţia B2B, pentru care se transmit facturile emise în sistemul naţional privind factura electronică RO e-Factura și justificarea încadrării în această categorie.
Potrivit prevederilor art. XXXVII din O.U.G. nr. 130/2021 s-a reglementat faptul că prin ordin al preşedintelui Agenţiei Naţionale de Administrare Fiscală sunt stabilite produsele cu risc fiscal ridicat, comercializate în relația B2B, pentru care furnizorii urmează să transmită facturile emise în sistemul naţional privind factura electronică RO e-Factura, indiferent dacă destinatarii sunt sau nu înregistraţi în Registrul RO e-Factura.
Transmiterea facturilor emise în sistemul naţional privind factura electronică RO e-Factura se instituie în două etape, respectiv:
a) în perioada 1 aprilie – 30 iunie 2022, furnizorii pot să transmită facturile emise în sistemul naţional privind factura electronică RO e-Factura;
b) începând cu data de 1 iulie 2022, furnizorii sunt obligaţi, să transmită facturile emise în sistemul naţional privind factura electronică RO e-Factura.

În acest sens, prin proiectul de ordin au fost stabilite cinci categorii de produse considerate cu risc fiscal ridicat, fiind totodată precizate, pentru fiecare produs în parte, motivațiile încadrării în categoria de risc fiscal ridicat.

Acestea sunt:

1 .Legume, fructe, rădăcini și tuberculi alimentari, alte plante comestibile:

COD NC de la 0701 – 0714 inclusiv Legume comestibile și anumite rădăcini și tuberculi.

COD NC de la 0801 – 0814 inclusiv Fructe comestibile și fructe cu coajă lemnoasă; coajă de citrice sau de pepeni.

2. Băuturi alcoolice

COD NC de la 2203 – 2208 inclusiv Băuturi, băuturi spirtoase.

3. Construcții noi
Construcțiile noi sunt cele menționate la art. 292 alin. (2) lit. f) din Legea nr. 227/ 2015 privind Codul fiscal, cu modificările și completările ulterioare.

4.Produse minerale (apă minerală naturală, nisip și pietriș).

COD NC de la 2201 – 2202 inclusiv Ape, inclusiv ape minerale naturale sau artificiale și ape gazeificate care nu conțin zahăr sau alți îndulcitori și nici aromatizanți.

COD NC 2505 – Nisipuri naturale de orice fel, chiar colorate.

COD NC 2517 – Prundiș, pietriș, pietre concasate, din cele folosite în general ca agregate pentru betoane sau pietruirea drumurilor, pentru căile ferate sau alt balast, pietriș și silex, chiar tratate termic; macadam de zgură, de zgură metalurgică, de
deșeuri industriale similare, care conține chiar materiale cuprinse în prima parte a poziției; macadam gudronat pentru șosele; granule, spărturi și praf din pietre de la pozițiile 2515 sau 2516, chiar tratate termic .

5.Îmbrăcăminte și încălțăminte

COD NC 6401 – Încălțăminte etanșă cu tălpi exterioare și fețe din cauciuc sau din material plastic, a cărei față nu a fost nici fixată de talpa exterioară prin coasere sau prin nituri, cuie, șuruburi, știfturi sau dispozitive similare, nici formată din diferite părți asamblate prin procedee similare.

COD NC 6402 – Altă încălțăminte cu tălpi exterioare și fețe din cauciuc sau din material plastic.

COD NC 6403 – Încălțăminte cu tălpi exterioare din cauciuc, material plastic, piele naturală sau reconstituită și cu fețe din piele
naturală.

COD NC 6404 – Încălțăminte cu tălpi exterioare din cauciuc, material plastic, piele naturală sau reconstituită și cu fețe din materiale textile.

COD NC 6405 – Altă încălțăminte.

COD NC 6101 – Paltoane, scurte, pelerine, hanorace, bluzoane și articole similare, tricotate sau croșetate, pentru bărbați sau pentru băieți, cu excepția articolelor de la poziția 6103.

COD NC 6102 Paltoane, scurte, pelerine, hanorace, bluzoane și articole similare, tricotate sau croșetate, pentru femei sau fete, cu
excepția articolelor de la pozitia 6104.

COD NC 6103 – Costume sau compleuri, ansambluri, jachete, sacouri, pantaloni, salopete cu bretele, pantaloni scurți și șorturi
(altele decât cele pentru baie), tricotate sau croșetate, pentru bărbați sau băieți.

COD NC 6104 – Taioare, ansambluri, jachete, sacouri, rochii, fuste, fuste-pantalon, pantaloni, salopete cu bretele, pantaloni scurți
și șorturi (altele decât cele de baie), tricotate sau croșetate, pentru femei sau fete.

COD NC 6105 – Cămăși și bluze, tricotate sau croșetate, pentru bărbați sau băieți.

COD NC 6106 – Cămăși, bluze, bluze-cămașă, tricotate sau croșetate, pentru femei sau fete.

COD NC 6107 – Chiloți, indispensabili, cămăși de noapte, pijamale, halate de baie, halate de casă și articole similare, tricotate sau
croșetate, pentru bărbați sau băieți.

COD NC 6108 – Combinezoane sau furouri, jupoane, chiloți, cămăși de noapte, pijamale, dezabieuri, halate de baie, halate de casă și articole similare, tricotate sau croșetate, pentru femei și fete.

COD NC 6109 – Tricouri (Tshirts), bluze și maiouri de corp, tricotate sau croșetate.

COD NC 6110 – Jerseuri, pulovere, cardigane și articole similare, veste și articole similare, inclusiv tricotajele subțiri care se
poartă sub pulovere, tricotate sau croșetate.

COD NC 6111 – Îmbrăcăminte și accesorii de îmbrăcăminte, tricotate sau croșetate, pentru sugari.

COD NC 6112 – Treninguri, combinezoane și costume de schi și costume, chiloți și slipuri de baie, tricotate sau croșetate.

COD NC 6113 – Îmbrăcăminte confecționată din materiale tricotate sau croșetate de la pozițiile 5903, 5906 sau 5907.

COD NC 6114 – Alte articole de îmbrăcăminte din materiale tricotate sau croșetate.

COD NC 6115 – Ciorapi-chilot, dresuri, ciorapi, șosete și alte articole similare, inclusiv ciorapii cu compresie progresivă (spre exemplu, pentru varice) și încălțăminte fără talpă aplicată, tricotate sau croșetate.

COD NC 6116 – Mănuși, mitene și mănuși cu un deget, tricotate sau croșetate.

COD NC 6117 – Alte accesorii confecționate de îmbrăcăminte, tricotate sau croșetate; părți de îmbrăcăminte sau accesorii de
îmbrăcăminte, tricotate sau croșetate.

COD NC 6201 – Paltoane, scurte, pelerine, hanorace (inclusiv geci de ski), geci de vânt și alte articole similare, pentru bărbați sau
băieți, cu excepția articolelor de la poziția 6203.

COD NC 6202 – Paltoane, scurte, pelerine, hanorace (inclusiv geci de ski), geci de vânt și articole similare, pentru femei sau fete, cu excepția articolelor de la poziția 6204.

COD NC 6203 – Costume sau compleuri, ansambluri, jachete, sacouri, pantaloni, salopete cu bretele, pantaloni scurți și șorturi
(altele decât cele pentru baie), pentru bărbați sau băieți.

COD NC 6204 – Taioare, ansambluri, jachete, sacouri, rochii, fuste, fuste-pantalon, pantaloni, salopete cu bretele, pantaloni scurți
și șorturi (altele decât pentru baie), pentru femei și fete.

COD NC 6205 – Cămăși și cămăși cu mânecă scurtă pentru bărbați sau băieți.

COD NC 6206 – Cămăși, bluze, bluze-cămăși și cămăși cu mânecă scurtă pentru femei sau fete.

COD NC 6207 – Bluze şi maiouri de corp, chiloți, indispensabili, cămăși de noapte, pijamale, halate de baie, halate de casă și articole similare, pentru bărbați sau pentru băieți.

COD NC 6208 – Bluze de corp și cămăși de zi, combinezoane sau furouri, jupoane, chiloți, cămăși de noapte, pijamale, neglijeuri, halate de baie, halate de casă și articole similare, pentru femei sau fete.

COD NC 6209 – Îmbrăcăminte și accesorii de îmbrăcăminte pentru sugari.

COD NC 6211 – Îmbrăcăminte de sport (treninguri), combinezoane și costume de schi, costume, chiloți și slipuri, de baie; alte articole de îmbrăcăminte.

COD NC 6212 – Sutiene, brâuri, corsete, bretele, suspensoare, jartiere și articole similare și părțile lor, chiar tricotate sau croșetate.

COD NC 6214 – Șaluri, eșarfe, fulare, mantile, voaluri, voalete și articole similare.

COD NC 6215 – Cravate, papioane și fulare cravată.

COD NC 6216 – Mănuși, mitene și mănuși cu un deget.

COD NC 6217 – Alte accesorii de îmbrăcăminte confecționate; părți de îmbrăcăminte sau de accesorii de îmbrăcăminte, altele decât cele de la poziția 6212.
sursa

Aplicatie web (marca Anaf) de completare factura electronica si obtinere XML

1 Like

Responsive Anaf

Java Server Pages cu JSF, măcar de încercau un Vaadin sau JHipster cu Angular/React.

jsf
nu ai ce sa ii faci :slight_smile:

Aia este cea mai mica problema. Alte meciuri sunt mai dure.


Doar ANAF putea construi ceva cu bootstrap3 în anno domini 2022 :))

What’s wrong with that?!

Păi…

Screenshot from 2022-02-09 20-50-59

haha, un wordpress?

Security Updates la CSS. Ain’t that something.

Nu neaparat security updates dar dacă browserele încep să nu mai ofere suport pentru cine știe ce instrucțiuni css și nu mai merge?

Lansezi un serviciu public de scară largă pe ceva închis?

E ca și cum ți-ai deschide azi firmă de transport, și ai folosi camioane care nu se mai fabrică de 10-15 ani. Nu respectă standardele de poluare, nu găsești piese, nu găsești mecanici, infrastructură, poate nu respectă poate standardele de dimensiuni, poate adaptoarele la cabluri s-au mai schimbat, pot fi multe variabile.

La nivelul ăla nu îți permiți așa ceva. O să ne descoperim parcă văd că folosesc php 5.6 sau dacă e Java based, ceva versiune de Java cu EOL din 2015.

A reusit cineva transmitere xml catre Anaf? incerc din c#(.net 4.7),am semnatura digitala/certificatul in unitate dar imi da eroarea:

The underlying connection was closed: An unexpected error occurred on a receive

Acesta e codul:

HttpWebResponse res = null;
            var fXmlPath = Application.StartupPath+ "\\f.xml";
            var test = true ;

            var destinationUrl = @"https://webserviceapl.anaf.ro/" + (test ? "test": "prod") + "/FCTEL/rest/upload?standard=UBL";

          
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

            ServicePointManager.ServerCertificateValidationCallback = (sder, cert, chain, sslPolicyErrors) =>
            {
                return sslPolicyErrors == SslPolicyErrors.None; 
            };


            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(destinationUrl);

                req.ContentType = "application/x-www-forum-urlencoded";

                req.Method = "POST";
                req.KeepAlive = false;
                req.ClientCertificates.Add(GetClientCertificate());

                var stringXml = File.ReadAllText(fXmlPath);
                var data = Encoding.UTF8.GetBytes(stringXml);
                req.ContentLength = data.Length;
                using (var stream = req.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                }


                res = (HttpWebResponse)req.GetResponse();
                using (Stream receiveStream = res.GetResponseStream())
                {
                    using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
                    {
                      //  respBody = readStream.ReadToEnd();
                    }
                }


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
               
            }


private static X509Certificate2 GetClientCertificate()
        {
            X509Store userCaStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
            try
            {
                userCaStore.Open(OpenFlags.ReadOnly);
                X509Certificate2Collection certificatesInStore = userCaStore.Certificates;


                X509Certificate2Collection findResult = certificatesInStore.Find(X509FindType.FindBySerialNumber  , "XXXXXXXX", true);
                X509Certificate2 clientCertificate = null;
                if (findResult.Count == 1)
                {
                    clientCertificate = findResult[0];
                }
                else
                {
                    throw new Exception("Unable to locate the correct client certificate.");
                }
                return clientCertificate;
            }
            catch
            {
                throw;
            }
            finally
            {
                userCaStore.Close();
            }
        }

ms

M-am apucat și eu să generez eFactura în format UBL. Groaznic, așa-zisa documentație este aruncată pe site-ul Ministerul Finanțelor în bătaie de joc. De fapt nu explică nimic, trebuie să stai să ghicești care câmp unde trebuie să meargă. Noroc cu site-ul ăsta, care este o documentație interactivă și relativ bine comentată a formatului UBL.

Iar așa-zisele aplicații de test… wow. Niște copii de grădiniță le făceau mai bine.

Nu poți să rulezi teste batch automate, la fiecare test pornește un soi de mizerie cu GUI, unde trebuie să selectezi manual fișierul XML dorit, după ce scotocești după el prin tot filesystemul, pentru că mizeria nu ține minte de unde l-ai încărcat ultima oară și nici nu ține cont de directorul curent de start, te aruncă la fiecare pornire în $HOME (nu știu dacă face la fel și pe Windows).

Și, bineînțeles, deși în headerul fișierului XML este specificat encoding=“UTF-8”, diacriticile sunt ignorate cu desăvârsire.

Digitalizarea curu…lui. Câți bani zic ăștia că a costat “digitalizarea”? :slight_smile:

1 Like

pentru Saf-T au dat vreo 600 000 euro e-licitatie.ro valoarea totala estimata:3 020 000 Moneda: RON.pt banii astia au doar un validator pt xml,atat,nici macar liste nu face la sectiunile cerute.o documentatie de 2 lei,au dat XML exemplu care nici nu se valideaza,contine date aiurea.bataie de joc.dar au stabilit termene si amenzi

probabil pt eFactura tot pe acolo au cheltuit,exempele lor sunt copiate din proiectul open source github

E destul de clar că amenzile vor fi random, că mă îndoiesc că au ei habar care elemente trebuie completate și care nu. Chiar dacă xml-ul e validat, există o serie de elemente obligatorii pe factură pentru care nu este prevăzut tag xml (de exemplu J-ul și capitalul social, nu ai unde să-l bagi, probabil trebuie aruncate de-a valma în “CompanyLegalForm”). Sau poate vreau să pun IBAN și bancă pe factură, unde le mai strecor și pe alea?

După aia, văd că este obligatoriu câmp separat pentru localitate (cui naiba îi pasă de localitate?), dar “CountrySubentity” unde probabil trebuie să fie județul, e opțional. Păi din câte știu, județul este absolut necesar pentru contabilitate, am impresia că pentru declarațiile de TVA.

După aia, e un cârnat întreg de opțiuni pentru unități de măsură (incredibil, există și “parsec”, mă întreb ce ai putea factura în parseci), dracu știe ce trebuie trecut acolo. Probabil cel mai simplu e “C62” (unitate) sau poate “H87” (bucată).

După aia, la regim scutit de TVA, te doare capul, te trimite peste toate directivele europene posibile și imposibile.

După aia, există tot felul de chestii speciale la articole, care pot fi prestări de servicii, transport, discount, penalizări etc.

Decât să facă validatoarele alea jalnice (oricum pentru fișierele UBL există validatoare făcute deja la nivel de UE (https://www.itb.ec.europa.eu/invoice/upload), mai bine se concentrau de ăia 600k€ să explice și să clarifice chestiile de mai sus…