[{"data":1,"prerenderedAt":1449},["ShallowReactive",2],{"industry-it-industries_ro":3,"industry-terms-it-glossary_ro":88,"industry-guides-it-guides_ro":348},{"id":4,"title":5,"body":6,"description":63,"extension":64,"features":65,"icon":71,"industry":72,"meta":73,"navigation":74,"path":75,"relatedGuides":76,"relatedTerms":80,"seo":85,"stem":86,"__hash__":87},"industries_ro/ro/facturare-pentru/it.md","Facturare electronica pentru firme IT si software",{"type":7,"value":8,"toc":53},"minimark",[9,14,18,22,25,29,32,36,39,43,46,50],[10,11,13],"h2",{"id":12},"specificul-facturarii-in-industria-it-romaneasca","Specificul facturarii in industria IT romaneasca",[15,16,17],"p",{},"Companiile de software si IT din Romania opereaza intr-un mediu cu particularitati fiscale distincte: contracte de licenta, abonamente SaaS recurente, proiecte forfetare, consultanta facturata la ora si, nu in ultimul rand, clienti internationali din spatiul UE si din afara lui. La acestea se adauga obligatia de conformare cu sistemul RO e-Factura al ANAF, care impune un flux tehnic specific pentru fiecare factura emisa catre un client roman cu CUI. Storno.ro este construit pentru a gestiona toate aceste scenarii fara frictiuni.",[10,19,21],{"id":20},"facturi-recurente-automate-pentru-produse-saas-si-abonamente","Facturi recurente automate pentru produse SaaS si abonamente",[15,23,24],{},"Modelul de business bazat pe abonamente este dominant in industria IT, dar gestionarea manuala a sute sau mii de facturi lunare este nesustenabila. Storno.ro automatizeaza complet ciclul de facturare recurenta: configurezi o data planul de abonament, perioada de facturare si datele clientului, iar platforma emite, transmite prin e-Factura si trimite prin email fiecare factura la scadenta. Orice modificare de pret sau de plan se propaga automat in facturile urmatoare, fara interventia manuala a echipei.",[10,26,28],{"id":27},"api-rest-si-webhooks-pentru-integrare-in-fluxurile-existente","API REST si webhooks pentru integrare in fluxurile existente",[15,30,31],{},"O companie IT nu va accepta sa introduca manual date intr-un alt sistem daca poate automatiza procesul. Storno.ro pune la dispozitie un API REST complet documentat care permite crearea de facturi, gestionarea clientilor si consultarea statusului e-Factura direct din aplicatia ta, CRM sau platforma de billing interna. Webhook-urile notifica sistemele tale in timp real atunci cand o factura a fost acceptata de ANAF, platita de client sau a generat o eroare, permitand fluxuri de automatizare end-to-end fara polling manual.",[10,33,35],{"id":34},"facturare-internationala-cu-reguli-tva-corecte","Facturare internationala cu reguli TVA corecte",[15,37,38],{},"Vanzarea de servicii software catre clienti din UE sau din tari terte ridica intrebari concrete despre TVA: scutire cu drept de deducere, regula locului prestarii, mentionarea articolului din Directiva TVA, autofacturare sau taxare inversa. Storno.ro aplica automat regulile corecte in functie de tipul clientului (persoana juridica sau fizica, din UE sau extra-UE) si genereaza facturile cu toate mentiunile legale obligatorii. Echipa ta de vanzari poate emite facturi internationale corecte fara sa fie nevoie sa consulte contabilul pentru fiecare caz nou.",[10,40,42],{"id":41},"gestionarea-unui-portofoliu-complex-de-produse-si-preturi","Gestionarea unui portofoliu complex de produse si preturi",[15,44,45],{},"Firmele IT au adesea cataloage de produse si servicii cu preturi diferentiate: licente anuale, pachete de suport, ore de dezvoltare, servicii de hosting. Catalogul de produse din Storno.ro iti permite sa definesti o data fiecare serviciu cu pretul, unitatea de masura si cota TVA corecta, si sa le refolosesti rapid la orice factura noua. Structura multi-companie a platformei este utila in cazul grupurilor de firme IT, unde mai multe entitati juridice pot fi gestionate dintr-un singur cont, cu separare completa a datelor.",[10,47,49],{"id":48},"conformitate-e-factura-fara-efort-suplimentar","Conformitate e-Factura fara efort suplimentar",[15,51,52],{},"Sistemul RO e-Factura impune transmiterea facturilor in format XML UBL catre ANAF intr-un interval de timp precis si gestionarea raspunsurilor (acceptat, respins, erori de validare). Storno.ro automatizeaza complet acest flux: genereaza XML-ul conform standardului national, il transmite catre ANAF, monitorizeaza statusul si te notifica in cazul unei erori. Echipa ta nu trebuie sa cunoasca specificatiile tehnice ale sistemului fiscal — platforma se ocupa de tot, astfel incat sa va puteti concentra pe livrarea de produse software.",{"title":54,"searchDepth":55,"depth":55,"links":56},"",2,[57,58,59,60,61,62],{"id":12,"depth":55,"text":13},{"id":20,"depth":55,"text":21},{"id":27,"depth":55,"text":28},{"id":34,"depth":55,"text":35},{"id":41,"depth":55,"text":42},{"id":48,"depth":55,"text":49},"E-facturare adaptata pentru companiile IT: facturi recurente pentru abonamente SaaS, facturare internationala si API REST.","md",[66,67,68,69,70],"Facturi recurente pentru abonamente","API REST pentru integrare","Facturare internationala","Webhooks pentru automatizare","Multi-companie dintr-un singur cont","i-lucide-code","IT & Software",{},true,"/ro/facturare-pentru/it",[77,78,79],"facturare-in-valuta","facturare-recurenta","integrare-anaf-spv",[81,82,83,84],"factura-in-valuta","intracomunitar","factura-recurenta","reverse-charge",{"title":5,"description":63},"ro/facturare-pentru/it","x5cvFMFsHHUO6QlpvzkIFslw8sijlO1MTEaJPsEQOKc",[89,162,220,277],{"id":90,"title":91,"body":92,"category":151,"description":152,"extension":64,"meta":153,"navigation":74,"path":154,"relatedGuide":77,"relatedTerms":155,"seo":158,"stem":159,"term":160,"__hash__":161},"glossary_ro/ro/glosar/factura-in-valuta.md","Factura in valuta — Cum se emite corect",{"type":7,"value":93,"toc":144},[94,98,101,104,108,111,114,118,121,124,128,131,134,138,141],[10,95,97],{"id":96},"cand-se-emite-o-factura-in-valuta","Cand se emite o factura in valuta",[15,99,100],{},"Facturile in valuta straina sunt frecvente in relatiile comerciale internationale — cu clienti din Uniunea Europeana sau din terte state — dar pot aparea si in tranzactii interne, atunci cand partile convin sa exprime pretul intr-o valuta de referinta, de obicei EUR. Firmele romanesti exportatoare, agentiile de software care lucreaza cu clienti straini sau freelancerii care presteaza servicii pentru companii din afara Romaniei se confrunta regulat cu necesitatea de a emite facturi in valuta.",[15,102,103],{},"Din punct de vedere legal, o firma cu sediul in Romania poate emite facturi in orice valuta, cu conditia sa respecte regulile privind conversia la lei pentru scopuri fiscale si contabile. Facturile in valuta nu sunt exceptate de la obligatia de transmitere prin sistemul e-Factura in cazul tranzactiilor B2B pe teritoriul Romaniei. Pentru exporturi si servicii intracomunitare, regulile de transmitere prin e-Factura nu se aplica in acelasi mod — este important sa verificati situatia specifica cu un consultant fiscal.",[10,105,107],{"id":106},"cursul-valutar-utilizat-pe-factura","Cursul valutar utilizat pe factura",[15,109,110],{},"Codul fiscal roman stabileste ca, pentru determinarea bazei impozabile a TVA, valoarea in valuta se converteste in lei la cursul de schimb comunicat de Banca Nationala a Romaniei (BNR) valabil la data la care intervine exigibilitatea taxei. In practica, aceasta este, de regula, data emiterii facturii. Cursul BNR se publica zilnic pe site-ul bancii centrale si trebuie documentat si arhivat impreuna cu factura.",[15,112,113],{},"Pe factura propriu-zisa, suma poate fi exprimata in valuta (de exemplu, 1.000 EUR), iar echivalentul in lei trebuie calculat si mentionat pentru scopuri fiscale. TVA-ul se calculeaza la valoarea in lei si se declara in lei in decontul de TVA. Unele aplicatii de facturare preiau automat cursul BNR al zilei si efectueaza conversia, eliminand erorile manuale si asigurand documentarea corecta a cursului utilizat.",[10,115,117],{"id":116},"tva-pe-facturile-in-valuta","TVA pe facturile in valuta",[15,119,120],{},"Regimul TVA pe facturile in valuta depinde de natura tranzactiei si de localizarea partilor. Pentru livrarile intracomunitare de bunuri (catre firme din alte state membre UE, inregistrate in scopuri de TVA), operatiunea este scutita de TVA in Romania, aplicandu-se mecanismul de taxare inversa in tara cumparatorului. Factura trebuie sa mentioneze explicit scutirea si temeiul legal, precum si codul de TVA intracomunitar (RO + CUI) al ambelor parti.",[15,122,123],{},"Pentru exporturi in afara UE, livrarea este de asemenea scutita de TVA cu drept de deducere. In schimb, pentru prestarile de servicii catre firme straine, regula generala este ca locul prestarii este la beneficiar — asadar, serviciul nu este impozabil in Romania, dar trebuie declarat in declaratia recapitulativa (D390 VIES) daca beneficiarul este din UE. Complexitatea regulilor privind locul impozitarii face recomandabila consultarea unui expert fiscal pentru situatii noi sau mai putin obisnuite.",[10,125,127],{"id":126},"diferentele-de-curs-valutar-in-contabilitate","Diferentele de curs valutar in contabilitate",[15,129,130],{},"Atunci cand o factura in valuta este platita la o data ulterioara emiterii, cursul valutar se poate modifica, generand diferente de curs favorabile sau nefavorabile. Aceste diferente trebuie inregistrate contabil si fiscal. In contabilitatea romaneasca, diferentele de curs se inregistreaza la inchiderea exercitiului financiar sau la data incasarii, in functie de politica contabila a firmei si de prevederile OMFP.",[15,132,133],{},"O diferenta de curs favorabila (cursul a crescut fata de momentul facturarii, in avantajul exportatorului roman) constituie un venit impozabil. O diferenta nefavorabila este o cheltuiala deductibila. Evidenta riguroasa a cursurilor utilizate la facturare si la incasare este esentiala pentru calculul corect al acestor diferente si pentru reconcilierea contabila. Aplicatiile de facturare care integreaza cursul BNR faciliteaza aceasta evidenta.",[10,135,137],{"id":136},"emiterea-facturii-in-valuta-prin-e-factura","Emiterea facturii in valuta prin e-Factura",[15,139,140],{},"Sistemul e-Factura al ANAF accepta facturi cu sume exprimate in valuta, cu conditia ca fisierul XML sa includa atat valoarea in valuta, cat si echivalentul in RON si cursul de schimb utilizat. Este esential ca aplicatia de facturare sa genereze corect toate aceste campuri in XML, deoarece ANAF valideaza structura fisierului si poate respinge documentele incomplete sau cu conversii lipsa.",[15,142,143],{},"Storno.ro gestioneaza automat emiterea facturilor in valuta: permite selectarea monedei dorite, preia cursul BNR al zilei, calculeaza echivalentul in RON si genereaza un fisier XML complet si conform, gata de transmis catre ANAF. Totodata, factura PDF generata pentru client afiseaza clar atat valoarea in valuta, cat si echivalentul in lei si cursul utilizat, asigurand transparenta si conformitatea documentului.",{"title":54,"searchDepth":55,"depth":55,"links":145},[146,147,148,149,150],{"id":96,"depth":55,"text":97},{"id":106,"depth":55,"text":107},{"id":116,"depth":55,"text":117},{"id":126,"depth":55,"text":127},{"id":136,"depth":55,"text":137},"documente","Cum se emite o factura in valuta straina (EUR, USD), ce curs valutar se foloseste si ce reguli fiscale se aplica.",{},"/ro/glosar/factura-in-valuta",[156,157,82],"curs-valutar","tva",{"title":91,"description":152},"ro/glosar/factura-in-valuta","Factura in valuta","6lXsKrbHqsToR2zE-brCs2--E0YkkvV4_Do2SgLiPL0",{"id":163,"title":164,"body":165,"category":151,"description":209,"extension":64,"meta":210,"navigation":74,"path":211,"relatedGuide":78,"relatedTerms":212,"seo":216,"stem":217,"term":218,"__hash__":219},"glossary_ro/ro/glosar/factura-recurenta.md","Factura recurenta — Automatizarea facturarii periodice",{"type":7,"value":166,"toc":202},[167,171,174,178,181,185,188,192,195,199],[10,168,170],{"id":169},"ce-este-factura-recurenta","Ce este factura recurenta?",[15,172,173],{},"Factura recurenta este o factura generata automat la intervale regulate de timp — lunar, trimestrial, anual sau la orice alta frecventa stabilita — pe baza unui sablon predefinit. Acest tip de facturare este utilizat frecvent de companiile care ofera servicii cu abonament, chirii, servicii de consultanta cu retainer sau orice alta prestatie cu valoare fixa si periodicitate constanta. In loc sa creezi manual o factura noua de fiecare data, configurezi o singura data parametrii, iar aplicatia se ocupa de tot.",[10,175,177],{"id":176},"cum-se-configureaza-facturarea-recurenta","Cum se configureaza facturarea recurenta?",[15,179,180],{},"Configurarea unei facturi recurente presupune stabilirea catorva elemente esentiale: clientul beneficiar, produsele sau serviciile facturate (cu cantitate si pret), frecventa de generare (zilnica, saptamanala, lunara, etc.), data primei emisii si, optional, data la care seria se incheie. In Storno, poti seta si variabile dinamice — cum ar fi luna si anul perioadei facturate — astfel incat descrierea din factura sa fie intotdeauna actualizata automat. Odata configurata, seria de facturi recurente ruleaza fara interventie manuala.",[10,182,184],{"id":183},"avantajele-facturarii-automate-pentru-afaceri","Avantajele facturarii automate pentru afaceri",[15,186,187],{},"Automatizarea facturarii periodice aduce beneficii concrete: elimina riscul de a uita sa facturezi un client, asigura consecventa in aspectul si continutul documentelor, si elibereaza timp pretios pe care il poti folosi pentru activitatile core ale afacerii tale. Pentru freelanceri si agentii care au zeci de clienti cu abonamente lunare, diferenta dintre facturarea manuala si cea automata poate insemna ore de munca economisita in fiecare luna.",[10,189,191],{"id":190},"factura-recurenta-si-e-factura-in-romania","Factura recurenta si e-Factura in Romania",[15,193,194],{},"Daca esti obligat sa transmiti facturile prin sistemul RO e-Factura (SPV — Spatiul Privat Virtual), facturile recurente nu fac exceptie. Ele trebuie transmise electronic in formatul XML UBL 2.1 impus de ANAF, la fel ca orice alta factura fiscala. O aplicatie de facturare completa genereaza automat atat factura, cat si transmiterea ei catre ANAF, asigurand conformitatea fara efort suplimentar. Verifica intotdeauna ca aplicatia pe care o folosesti suporta integrarea cu e-Factura si pentru facturile generate automat.",[10,196,198],{"id":197},"ce-trebuie-sa-verifici-periodic","Ce trebuie sa verifici periodic",[15,200,201],{},"Desi facturarea recurenta este automata, nu inseamna ca poate fi ignorata complet. Este recomandat sa verifici periodic daca preturile si conditiile din sabloane sunt inca in vigoare, daca datele clientilor (adresa, CUI, cod IBAN) sunt actualizate si daca facturile generate au fost platite la termenul scadent. Setarea unor alerte automate pentru facturi neplatite completeaza ciclul de facturare recurenta si te ajuta sa mentii o evidenta clara a incasarilor.",{"title":54,"searchDepth":55,"depth":55,"links":203},[204,205,206,207,208],{"id":169,"depth":55,"text":170},{"id":176,"depth":55,"text":177},{"id":183,"depth":55,"text":184},{"id":190,"depth":55,"text":191},{"id":197,"depth":55,"text":198},"Ce este factura recurenta, cum se configureaza si cum te ajuta sa economisesti timp cu facturarea automata.",{},"/ro/glosar/factura-recurenta",[213,214,215],"factura-fiscala","scadenta","factura-electronica",{"title":164,"description":209},"ro/glosar/factura-recurenta","Factura recurenta","x4pElgP19-3DSuXltp_vuA5RmXuavUHOu38gdx8_SrA",{"id":221,"title":222,"body":223,"category":267,"description":268,"extension":64,"meta":269,"navigation":74,"path":270,"relatedGuide":77,"relatedTerms":271,"seo":273,"stem":274,"term":275,"__hash__":276},"glossary_ro/ro/glosar/intracomunitar.md","Tranzactii intracomunitare — Facturare in UE",{"type":7,"value":224,"toc":260},[225,229,232,236,239,243,246,250,253,257],[10,226,228],{"id":227},"ce-sunt-tranzactiile-intracomunitare","Ce sunt tranzactiile intracomunitare?",[15,230,231],{},"Tranzactiile intracomunitare sunt schimburile comerciale de bunuri sau servicii intre companii sau persoane din diferite state membre ale Uniunii Europene. Din perspectiva TVA, Uniunea Europeana functioneaza ca o piata unica, iar vanzarile intre state membre sunt tratate diferit fata de vanzarile interne sau exporturile catre tari terte. Cadrul legal european stabileste un set comun de reguli pentru a evita dubla impozitare sau neplata TVA la tranzactiile transfrontaliere in interiorul UE.",[10,233,235],{"id":234},"regimul-tva-pentru-tranzactiile-b2b-intracomunitare","Regimul TVA pentru tranzactiile B2B intracomunitare",[15,237,238],{},"Cea mai importanta regula TVA in tranzactiile intracomunitare B2B (intre doua companii platitoare de TVA) este taxarea inversa (reverse charge). In esenta, furnizorul roman emite factura fara TVA catre cumparatorul din alt stat membru UE, iar cumparatorul este cel care declara si achita TVA-ul in tara sa, conform cotei locale. Pentru a aplica corect acest regim, furnizorul trebuie sa verifice ca partenerul sau este inregistrat in scopuri de TVA intracomunitar (cod de TVA valid in sistemul VIES) si sa mentioneze pe factura temeiul legal al neaplicarii TVA (de exemplu „Taxare inversa — art. 196 Directiva TVA\").",[10,240,242],{"id":241},"cum-se-emite-o-factura-intracomunitara","Cum se emite o factura intracomunitara?",[15,244,245],{},"O factura intracomunitara trebuie sa contina toate elementele obligatorii ale unei facturi fiscale, plus cateva elemente specifice: codul de TVA intracomunitar al furnizorului (format din prefixul RO urmat de CUI, pentru companiile romanesti), codul de TVA intracomunitar al cumparatorului, mentiunea „Taxare inversa\" sau echivalentul in engleza „Reverse charge\", si, daca este cazul, valuta in care este exprimata (cu echivalentul in RON pentru calculul TVA). Factura nu va contine TVA, iar caseta de TVA va fi completata cu 0. Este obligatoriu ca ambele coduri de TVA intracomunitar sa fie valide in VIES la data tranzactiei.",[10,247,249],{"id":248},"declaratia-390-raportarea-tranzactiilor-intracomunitare","Declaratia 390 — raportarea tranzactiilor intracomunitare",[15,251,252],{},"Companiile romanesti care efectueaza tranzactii intracomunitare (livrari sau achizitii de bunuri, prestari sau receptii de servicii) au obligatia de a le raporta lunar prin Declaratia 390 (Declaratia recapitulativa privind livrarile/achizitiile/prestarile intracomunitare). Aceasta declaratie se depune la ANAF pana pe data de 25 a lunii urmatoare celei in care au avut loc tranzactiile. Informatiile din Declaratia 390 sunt schimbate automat intre administratiile fiscale ale statelor membre prin sistemul VIES, permitand verificarea incrucisata a tranzactiilor declarate de ambele parti.",[10,254,256],{"id":255},"tranzactii-intracomunitare-si-e-factura","Tranzactii intracomunitare si e-Factura",[15,258,259],{},"Facturile emise catre parteneri din alte state membre UE nu intra in sistemul RO e-Factura (SPV) in acelasi mod ca facturile B2B interne. La momentul actual, e-Factura romanesca vizeaza in primul rand tranzactiile intre companii cu sediul in Romania. Cu toate acestea, daca partenerul tau din UE utilizeaza un sistem national de e-invoicing (cum ar fi sistemul italian SDI sau cel francez Chorus Pro), este posibil sa existe cerinte specifice si din partea sa. In viitor, standardul european de facturare electronica (EN 16931) urmareste interoperabilitatea intre sistemele nationale de e-invoicing din UE, simplificand si mai mult facturarea transfrontaliera.",{"title":54,"searchDepth":55,"depth":55,"links":261},[262,263,264,265,266],{"id":227,"depth":55,"text":228},{"id":234,"depth":55,"text":235},{"id":241,"depth":55,"text":242},{"id":248,"depth":55,"text":249},{"id":255,"depth":55,"text":256},"taxe","Ce sunt tranzactiile intracomunitare, cum se factureaza si ce reguli TVA se aplica pentru livrari in UE.",{},"/ro/glosar/intracomunitar",[272,157,84,81],"vies",{"title":222,"description":268},"ro/glosar/intracomunitar","Intracomunitar","wapKePic-8qquIbk28hGA-akjtjYt-eDvQoFqEacUEs",{"id":278,"title":279,"body":280,"category":267,"description":339,"extension":64,"meta":340,"navigation":74,"path":341,"relatedGuide":342,"relatedTerms":343,"seo":344,"stem":345,"term":346,"__hash__":347},"glossary_ro/ro/glosar/reverse-charge.md","Reverse charge (taxare inversa) — Cand si cum se aplica",{"type":7,"value":281,"toc":332},[282,286,289,292,296,299,302,306,309,312,316,319,322,326,329],[10,283,285],{"id":284},"ce-este-mecanismul-de-taxare-inversa","Ce este mecanismul de taxare inversa",[15,287,288],{},"Reverse charge (taxarea inversa) este un mecanism fiscal prin care obligatia de a colecta si plati TVA se muta de la furnizor la cumparator. In mod normal, furnizorul adauga TVA pe factura si o plateste la bugetul de stat, dupa ce o incaseaza de la client. In cazul taxarii inverse, furnizorul emite factura fara TVA, iar cumparatorul este cel care calculeaza TVA-ul datorat, il declara si, daca are drept de deducere, il deduce in acelasi decont — rezultand un efect neutru din punctul de vedere al fluxului de numerar.",[15,290,291],{},"Mecanismul a fost conceput pentru a combate frauda fiscala de tip „carusel\", frecventa in tranzactiile intracomunitare, si pentru a simplifica obligatiile fiscale ale furnizorilor care opereaza in mai multe state membre ale UE. Taxarea inversa deplaseaza responsabilitatea TVA acolo unde este cel mai usor de controlat — la cumparatorul inregistrat in scopuri de TVA in tara sa.",[10,293,295],{"id":294},"situatiile-in-care-se-aplica-reverse-charge","Situatiile in care se aplica reverse charge",[15,297,298],{},"Taxarea inversa se aplica in mai multe contexte distincte. Cel mai frecvent intalnit in practica romaneasca este livrarile intracomunitare de servicii catre persoane impozabile (firme) din alte state membre UE: furnizorul roman emite factura fara TVA, indicand ca locul prestarii este la beneficiar si ca se aplica taxarea inversa conform art. 196 din Directiva TVA. Beneficiarul din celalalt stat membru declara si plateste TVA local.",[15,300,301],{},"De asemenea, taxarea inversa se aplica in Romania si pentru anumite categorii de tranzactii interne, in sectoare cu risc ridicat de frauda: constructii si lucrari de instalatii, livrari de certificate verzi, livrari de energie electrica si gaze naturale catre comercianti revinzatori, livrari de deseuri si materiale reciclabile, livrari de cereale si plante tehnice, si altele. In aceste cazuri, atat furnizorul cat si cumparatorul trebuie sa fie inregistrati in scopuri de TVA in Romania.",[10,303,305],{"id":304},"cum-se-redacteaza-o-factura-cu-taxare-inversa","Cum se redacteaza o factura cu taxare inversa",[15,307,308],{},"Pe o factura emisa in regim de taxare inversa, furnizorul nu inscrie valoarea TVA si nu o adauga la totalul facturii. In schimb, factura trebuie sa contina obligatoriu mentiunea explicita ca se aplica taxarea inversa — de exemplu „Taxare inversa\" sau, pentru tranzactii intracomunitare, „VAT reverse charge\" sau trimiterea la articolul din Directiva TVA sau din Codul fiscal care justifica mecanismul.",[15,310,311],{},"Absenta acestei mentiuni de pe factura sau inscrierea incorecta a TVA-ului (de exemplu, adaugarea TVA romanesc pe o factura intracomunitar care ar trebui sa fie cu taxare inversa) poate crea probleme serioase: furnizorul ar putea fi obligat sa plateasca TVA-ul gresit facturat, chiar daca nu l-a incasat, iar cumparatorul nu ar putea deduce un TVA calculat eronat. Este recomandata verificarea atenta a tipului de tranzactie inainte de emiterea facturii.",[10,313,315],{"id":314},"obligatii-declarative-pentru-tranzactiile-cu-taxare-inversa","Obligatii declarative pentru tranzactiile cu taxare inversa",[15,317,318],{},"Tranzactiile intracomunitare supuse taxarii inverse se declara de catre furnizor in declaratia recapitulativa D390 (VIES), care se depune lunar sau trimestrial la ANAF. Aceasta declaratie permite autoritatilor fiscale din statele membre implicate sa verifice corelarea datelor declarate de furnizor cu cele declarate de cumparator, identificand eventualele discrepante care pot indica frauda sau erori.",[15,320,321],{},"In Romania, taxarea inversa pentru tranzactiile interne se declara in decontul de TVA (D300), unde cumparatorul inscrie atat TVA colectata (ca persoana obligata la plata), cat si TVA deductibila (daca are drept de deducere). Efectul net este zero in termeni de flux de numerar, dar inregistrarea corecta in decont este obligatorie. Firmele care omit declararea tranzactiilor cu taxare inversa pot fi sanctionate, chiar daca din punct de vedere al platii efective nu exista un prejudiciu bugetar direct.",[10,323,325],{"id":324},"verificarea-codului-de-tva-al-partenerului","Verificarea codului de TVA al partenerului",[15,327,328],{},"Inainte de a emite o factura intracomunitar cu taxare inversa, furnizorul are obligatia de a verifica validitatea codului de TVA intracomunitar al cumparatorului prin sistemul VIES (VAT Information Exchange System), accesibil pe site-ul Comisiei Europene. Daca codul de TVA al cumparatorului nu este valid la data tranzactiei, furnizorul nu poate aplica taxarea inversa si trebuie sa aplice TVA-ul normal al tarii sale — sau al tarii de destinatie, dupa caz.",[15,330,331],{},"Documentarea verificarii VIES este recomandata ca buna practica: o captura de ecran sau un print al rezultatului verificarii, datat la momentul emiterii facturii, constituie dovada ca furnizorul si-a exercitat diligenta necesara. In cazul unui control fiscal, aceasta dovada poate face diferenta intre o sanctiune si exonerarea de raspundere. Storno.ro poate integra verificarea VIES direct in fluxul de facturare, alertand utilizatorul daca codul de TVA al clientului nu este valid.",{"title":54,"searchDepth":55,"depth":55,"links":333},[334,335,336,337,338],{"id":284,"depth":55,"text":285},{"id":294,"depth":55,"text":295},{"id":304,"depth":55,"text":305},{"id":314,"depth":55,"text":315},{"id":324,"depth":55,"text":325},"Ce este mecanismul de taxare inversa (reverse charge), in ce situatii se aplica si cum se factureaza corect.",{},"/ro/glosar/reverse-charge",null,[157,82,272],{"title":279,"description":339},"ro/glosar/reverse-charge","Reverse charge","H4B-22dUIujdZ_9zdt1uA5kUDTy2drm8lS7YKucqXfc",[349,578,844],{"id":350,"title":351,"body":352,"description":566,"difficulty":567,"extension":64,"faq":342,"keywords":342,"meta":568,"navigation":74,"path":569,"publishedAt":570,"readingTime":571,"relatedGuides":572,"relatedTerms":574,"seo":575,"stem":576,"updatedAt":570,"__hash__":577},"guides_ro/ro/ghid/facturare-in-valuta.md","Facturare in valuta — Ghid practic pentru firme romanesti",{"type":7,"value":353,"toc":557},[354,358,361,369,373,380,387,397,403,406,410,413,436,452,456,467,470,497,500,504,511,514,521,525,528,535,539,545,551],[10,355,357],{"id":356},"cand-poti-emite-facturi-in-valuta","Cand poti emite facturi in valuta",[15,359,360],{},"Firmele romanesti pot emite facturi in orice valuta conventibila (EUR, USD, GBP, CHF etc.), atat pentru clienti interni, cat si pentru clienti straini. Nu exista o restrictie legala care sa oblige facturarea exclusiv in lei pe teritoriul Romaniei — partile unui contract pot stabili liber moneda de facturare.",[15,362,363,364,368],{},"Insa chiar daca factura este emisa in valuta, ",[365,366,367],"strong",{},"TVA-ul se declara si se plateste intotdeauna in lei"," catre ANAF. Aceasta inseamna ca trebuie sa convertesti valorile din factura in lei la cursul de schimb corespunzator, iar suma in lei trebuie sa apara fie direct pe factura, fie in registrele contabile. De aceea, facturarea in valuta presupune un pas suplimentar fata de facturarea in lei: determinarea corecta a cursului de schimb utilizat.",[10,370,372],{"id":371},"ce-curs-valutar-se-foloseste","Ce curs valutar se foloseste",[15,374,375,376,379],{},"In Romania, ",[365,377,378],{},"cursul de referinta BNR"," (Banca Nationala a Romaniei) este cursul oficial utilizat pentru conversia valorilor fiscale. Acesta se publica zilnic pe site-ul BNR si reprezinta media cursurilor de tranzactionare de pe piata valutara interbancara.",[15,381,382,383,386],{},"Regula generala pentru TVA: se foloseste ",[365,384,385],{},"cursul BNR de la data la care intervine faptul generator al TVA",", adica:",[388,389,390,394],"ul",{},[391,392,393],"li",{},"Data livrarii bunului sau prestarii serviciului — pentru facturi obisnuite",[391,395,396],{},"Data incasarii avansului — pentru facturi de avans",[15,398,399,402],{},[365,400,401],{},"Exceptie",": daca firma ta este inregistrata in ROI (Registrul Operatorilor Intracomunitari) si efectueaza tranzactii intracomunitare, pot exista reguli specifice privind cursul utilizat — consulta contabilul tau pentru situatii complexe.",[15,404,405],{},"Practic, daca emiti o factura pe 15 martie in EUR, cauti cursul EUR/RON publicat de BNR pentru data de 15 martie si aplici acel curs pentru a calcula echivalentul in lei al TVA-ului. Unele platforme de facturare, inclusiv Storno.ro, preiau automat cursul BNR al zilei si il aplica la calcul.",[10,407,409],{"id":408},"cum-arata-o-factura-in-valuta-elementele-obligatorii","Cum arata o factura in valuta — elementele obligatorii",[15,411,412],{},"O factura emisa in valuta trebuie sa contina toate elementele obligatorii ale oricarei facturi fiscale, plus:",[388,414,415,421,427,433],{},[391,416,417,420],{},[365,418,419],{},"Moneda tranzactiei"," (ex: EUR) mentionata clar pentru fiecare linie si in totaluri",[391,422,423,426],{},[365,424,425],{},"Cursul de schimb utilizat"," (ex: 1 EUR = 4,9756 RON conform BNR din data de 15.03.2026)",[391,428,429,432],{},[365,430,431],{},"Echivalentul in RON al TVA-ului"," — aceasta suma in lei este cea care se declara in decontul de TVA",[391,434,435],{},"Optionally, echivalentul in RON al intregii facturi — nu este obligatoriu legal, dar este recomandat pentru claritate contabila",[15,437,438,439,443,444,447,448,451],{},"In sistemul e-Factura, campul de moneda (",[440,441,442],"code",{},"CurrencyCode",") se completeaza cu codul ISO al valutei (ex: ",[440,445,446],{},"EUR",", ",[440,449,450],{},"USD","), iar valorile sunt inscrise in valuta respectiva. TVA-ul in RON apare intr-un camp separat, conform specificatiei UBL 2.1 acceptate de ANAF.",[10,453,455],{"id":454},"facturarea-catre-clienti-din-ue-regimul-intracomunitar","Facturarea catre clienti din UE — regimul intracomunitar",[15,457,458,459,462,463,466],{},"Daca clientul tau este o firma inregistrata in scopuri de TVA intr-un alt stat membru UE, tranzactia poate fi ",[365,460,461],{},"scutita de TVA in Romania"," si supusa ",[365,464,465],{},"taxarii inverse"," la destinatie. Aceasta este situatia tipica pentru exportul de servicii sau livrari intracomunitare de bunuri.",[15,468,469],{},"Pentru a aplica scutirea, trebuie sa:",[471,472,473,484,487,490],"ol",{},[391,474,475,476,479,480,483],{},"Verifici ",[365,477,478],{},"codul de TVA intracomunitar"," al clientului in sistemul ",[365,481,482],{},"VIES"," (VAT Information Exchange System), disponibil pe site-ul Comisiei Europene",[391,485,486],{},"Inscrii pe factura codul de TVA al clientului cu prefixul tarii (ex: DE123456789 pentru Germania)",[391,488,489],{},"Mentionezi baza legala a scutirii (ex: „Scutit TVA conform art. 294 alin. (2) din Codul Fiscal\" sau „Taxare inversa — Reverse charge\")",[391,491,492,493,496],{},"Inscrii tranzactia in ",[365,494,495],{},"Declaratia recapitulativa (D390)"," pana in data de 25 a lunii urmatoare",[15,498,499],{},"Factura catre un client UE poate fi emisa in EUR sau orice alta valuta agreata. Daca nu se colecteaza TVA in Romania, nu mai este necesara conversia in RON pentru scopuri de TVA, dar echivalentul in RON al valorii facturate se inregistreaza totusi in contabilitate la cursul BNR al datei.",[10,501,503],{"id":502},"facturarea-catre-clienti-extra-ue-export","Facturarea catre clienti extra-UE (export)",[15,505,506,507,510],{},"Livrarile de bunuri catre clienti din afara UE reprezinta ",[365,508,509],{},"export",", care este scutit de TVA cu drept de deducere (scutire „cu credit\"). Serviciile prestate catre clienti non-UE sunt de regula scutite prin locul prestarii (in afara teritoriului UE).",[15,512,513],{},"Pe factura de export, mentionezi explicit ca tranzactia este scutita de TVA si incluzi referinta legala corespunzatoare. Nu uita ca exportul de bunuri necesita si documente vamale (declaratia de export), iar scutirea de TVA se justifica prin aceste documente, nu numai prin factura.",[15,515,516,517,520],{},"Din punct de vedere e-Factura: facturile de export ",[365,518,519],{},"nu trebuie transmise prin sistemul e-Factura ANAF"," daca beneficiarul nu este un contribuabil roman. Insa daca ai si un sediu sau reprezentant fiscal in Romania care este beneficiarul formal, situatia poate fi diferita — verifica cu contabilul tau.",[10,522,524],{"id":523},"diferente-de-curs-valutar-cum-le-gestionezi","Diferente de curs valutar — cum le gestionezi",[15,526,527],{},"Intre data emiterii facturii si data incasarii efective pot exista diferente de curs valutar. Aceste diferente (favorabile sau nefavorabile) se inregistreaza contabil ca venituri sau cheltuieli financiare, nu se corecteaza prin facturi de ajustare.",[15,529,530,531,534],{},"De exemplu: ai facturat 1.000 EUR pe 15 martie la cursul de 4,97 RON/EUR (echivalent 4.970 RON). La incasare pe 10 aprilie, cursul era 5,02 RON/EUR, deci ai incasat echivalentul a 5.020 RON. Diferenta de 50 RON este un ",[365,532,533],{},"venit din diferente de curs valutar"," si se inregistreaza ca atare in contabilitate — nu necesita emiterea vreunei facturi de ajustare.",[10,536,538],{"id":537},"sfaturi-practice-pentru-facturarea-in-valuta","Sfaturi practice pentru facturarea in valuta",[15,540,541,544],{},[365,542,543],{},"Foloseste intotdeauna cursul BNR, nu cursul bancii tale comerciale."," Cursul bancii tale poate diferi de cursul oficial BNR, iar pentru scopuri fiscale este obligatoriu cursul BNR.",[15,546,547,550],{},[365,548,549],{},"Verifica codul VIES al clientilor UE la fiecare tranzactie, nu doar la prima."," Firmele isi pot pierde sau suspenda codul de TVA intracomunitar, caz in care scutirea nu mai este aplicabila si tu esti responsabil de TVA necolectat.",[15,552,553,556],{},[365,554,555],{},"Pastreaza documentatia cursului BNR."," Printeaza sau salveaza pagina BNR cu cursul din ziua emiterii facturii — aceasta este dovada ca ai aplicat cursul corect, utila in cazul unui control fiscal.",{"title":54,"searchDepth":55,"depth":55,"links":558},[559,560,561,562,563,564,565],{"id":356,"depth":55,"text":357},{"id":371,"depth":55,"text":372},{"id":408,"depth":55,"text":409},{"id":454,"depth":55,"text":455},{"id":502,"depth":55,"text":503},{"id":523,"depth":55,"text":524},{"id":537,"depth":55,"text":538},"Cum se emit facturi in EUR, USD sau alte valute: curs valutar BNR, reguli TVA si exemple practice.","intermediar",{},"/ro/ghid/facturare-in-valuta","2026-03-01",9,[573],"cum-se-emite-factura-electronica",[81,156,82],{"title":351,"description":566},"ro/ghid/facturare-in-valuta","RisqjBauWVzEyatiBX_KVnJyyDWInHqI1P7i7fo9PKE",{"id":579,"title":580,"body":581,"description":834,"difficulty":835,"extension":64,"faq":342,"keywords":342,"meta":836,"navigation":74,"path":837,"publishedAt":570,"readingTime":838,"relatedGuides":839,"relatedTerms":840,"seo":841,"stem":842,"updatedAt":570,"__hash__":843},"guides_ro/ro/ghid/facturare-recurenta.md","Facturare recurenta — Cum sa automatizezi emiterea facturilor",{"type":7,"value":582,"toc":825},[583,587,593,596,600,611,643,659,663,666,696,707,713,717,720,734,741,745,748,774,785,789,792,803,807,813,819],[10,584,586],{"id":585},"ce-este-facturarea-recurenta-si-cand-o-folosesti","Ce este facturarea recurenta si cand o folosesti",[15,588,589,592],{},[365,590,591],{},"Facturarea recurenta"," inseamna emiterea automata a facturilor la intervale regulate, fara sa fie nevoie sa completezi manual aceleasi date de fiecare data. Este ideala pentru servicii cu abonament, chirii, retainere lunare, servicii de mentenanta sau orice alta prestare continua pentru care emiti factura acelui client in mod repetat, cu sume constante sau variabile predictibile.",[15,594,595],{},"Beneficiul principal este economisirea timpului: in loc sa recreezi lunar aceeasi factura, configurezi o singura data sablonul si lasi sistemul sa se ocupe de restul. In plus, elimini riscul de a uita sa facturezi un client sau de a intarzia emiterea, ceea ce poate afecta fluxul de numerar al firmei tale.",[10,597,599],{"id":598},"pasul-1-creeaza-un-sablon-de-factura-recurenta","Pasul 1: Creeaza un sablon de factura recurenta",[15,601,602,603,606,607,610],{},"In Storno.ro, mergi la sectiunea ",[365,604,605],{},"Facturi > Recurente"," si apasa ",[365,608,609],{},"„Sablon nou\"",". Vei completa:",[388,612,613,619,625,631,637],{},[391,614,615,618],{},[365,616,617],{},"Clientul",": alege din lista de clienti existenti sau adauga unul nou",[391,620,621,624],{},[365,622,623],{},"Descrierea serviciului/produsului",": ce anume facturezi (ex: „Servicii de consultanta IT — luna {luna} {an}\")",[391,626,627,630],{},[365,628,629],{},"Suma",": poti folosi o suma fixa sau o variabila calculata automat",[391,632,633,636],{},[365,634,635],{},"Cota TVA aplicabila",": 21%, 9%, 5% sau 0%, in functie de natura serviciului",[391,638,639,642],{},[365,640,641],{},"Seria de factura",": seria din care vor fi emise facturile generate automat",[15,644,645,646,447,649,447,652,447,655,658],{},"Variabilele dinamice disponibile in descriere — cum ar fi ",[440,647,648],{},"{luna}",[440,650,651],{},"{an}",[440,653,654],{},"{luna_anterioara}",[440,656,657],{},"{data_emitere}"," — sunt inlocuite automat la momentul generarii fiecarei facturi, astfel incat fiecare document va mentiona explicit perioada la care se refera.",[10,660,662],{"id":661},"pasul-2-configureaza-intervalul-de-recurenta","Pasul 2: Configureaza intervalul de recurenta",[15,664,665],{},"Dupa completarea datelor facturii, seteaza intervalul de generare:",[388,667,668,674,680,686],{},[391,669,670,673],{},[365,671,672],{},"Zilnic",": util pentru facturi de tip „zi de lucru\" sau servicii cu tarif zilnic",[391,675,676,679],{},[365,677,678],{},"Saptamanal",": pentru servicii prestate si facturate saptamanal",[391,681,682,685],{},[365,683,684],{},"Lunar",": cel mai frecvent — factura se genereaza in aceeasi zi a fiecarei luni (ex: in prima zi, in ultima zi, sau intr-o zi specifica)",[391,687,688,691,692,695],{},[365,689,690],{},"Trimestrial"," sau ",[365,693,694],{},"anual",": pentru contracte cu facturare mai rara",[15,697,698,699,702,703,706],{},"Seteaza si ",[365,700,701],{},"data de inceput"," a recurentei (prima data cand se va genera o factura) si, optional, ",[365,704,705],{},"data de sfarsit"," (daca contractul are o durata determinata). Daca nu specifici data de sfarsit, facturarea va continua indefinit pana cand opresti sau stergi sablonul.",[15,708,709,712],{},[365,710,711],{},"Optiunea „Zi de facturare\"",": Daca alegi facturare lunara, poti specifica in ce zi a lunii se genereaza factura. De exemplu, „ultima zi a lunii\" este utila pentru servicii facturate dupa prestare, iar „prima zi a lunii\" este utila pentru servicii facturate anticipat (abonamente).",[10,714,716],{"id":715},"pasul-3-seteaza-scadenta-si-metoda-de-plata","Pasul 3: Seteaza scadenta si metoda de plata",[15,718,719],{},"Termenul de plata (scadenta) poate fi setat ca:",[388,721,722,728],{},[391,723,724,727],{},[365,725,726],{},"Numar fix de zile de la data emiterii",": ex. „30 de zile\" — scadenta se calculeaza automat pentru fiecare factura generata",[391,729,730,733],{},[365,731,732],{},"Data fixa in luna",": ex. „data de 15 a lunii urmatoare\" — util cand ai acorduri cu clientul pentru plata intr-o anumita zi",[15,735,736,737,740],{},"Poti adauga si ",[365,738,739],{},"datele bancare"," (IBAN si banca) direct in sablon, pentru ca acestea sa apara pe fiecare factura generata. Daca accepti plata online, poti atasa un link de plata care se regenereaza automat pentru fiecare factura noua.",[10,742,744],{"id":743},"pasul-4-seteaza-notificarile-si-trimiterea-automata","Pasul 4: Seteaza notificarile si trimiterea automata",[15,746,747],{},"Platforma iti permite sa configurezi ce se intampla dupa generarea automata a facturii:",[388,749,750,756,762,768],{},[391,751,752,755],{},[365,753,754],{},"Trimite automat la ANAF",": factura este transmisa prin e-Factura imediat dupa generare, fara interventia ta",[391,757,758,761],{},[365,759,760],{},"Trimite PDF pe email catre client",": clientul primeste automat factura in inbox-ul sau, cu un mesaj personalizabil",[391,763,764,767],{},[365,765,766],{},"Notifica-ma pe email/SMS",": tu primesti o notificare la fiecare factura generata, pentru a putea verifica",[391,769,770,773],{},[365,771,772],{},"Genereaza si asteapta aprobarea mea",": factura este creata ca draft si tu o revizuiesti si o trimiti manual — util cand sumele pot varia",[15,775,776,777,780,781,784],{},"Recomandam sa activezi minim ",[365,778,779],{},"„Trimite automat la ANAF\""," si ",[365,782,783],{},"„Notifica-ma\"",", pentru a mentine conformitatea fara a fi nevoie sa verifici zilnic aplicatia.",[10,786,788],{"id":787},"cum-modifici-sau-opresti-o-recurenta","Cum modifici sau opresti o recurenta",[15,790,791],{},"Daca serviciul facturat se schimba (pret nou, schimbare de client, modificare TVA), nu edita direct facturile deja emise — creeaza un sablon nou sau modifica sablonul existent, iar modificarile vor fi aplicate incepand cu urmatoarea generare.",[15,793,794,795,798,799,802],{},"Pentru a opri temporar facturarea, poti ",[365,796,797],{},"pausa"," sablonul — nu se vor genera facturi pana la reactivare. Pentru a opri definitiv, ",[365,800,801],{},"sterge sau dezactiveaza"," sablonul. Facturile deja emise nu sunt afectate de aceste actiuni.",[10,804,806],{"id":805},"sfaturi-pentru-o-facturare-recurenta-eficienta","Sfaturi pentru o facturare recurenta eficienta",[15,808,809,812],{},[365,810,811],{},"Revizuieste periodic lista de sabloane active."," Este usor sa uiti de un sablon configurat in urma cu 2 ani pentru un client cu care nu mai colaborezi. O data pe trimestru, parcurge lista de recurente si verifica ca toate sunt inca relevante.",[15,814,815,818],{},[365,816,817],{},"Foloseste descrieri clare cu variabile de data."," O descriere de tipul „Servicii de hosting — {luna_anterioara} {an}\" este mult mai utila pentru client si pentru contabilul tau decat o simpla „Servicii de hosting\". Clientul stie exact pentru ce plateste, iar tu eviti intrebarile de clarificare.",[15,820,821,824],{},[365,822,823],{},"Tine cont de zilele libere la configurarea datei de generare."," Daca alegi „1 a lunii\" dar 1 este zi de sarbatoare, unele sisteme genereaza factura in ziua anterioara sau urmatoare. Verifica comportamentul platformei tale si ajusteaza daca este necesar.",{"title":54,"searchDepth":55,"depth":55,"links":826},[827,828,829,830,831,832,833],{"id":585,"depth":55,"text":586},{"id":598,"depth":55,"text":599},{"id":661,"depth":55,"text":662},{"id":715,"depth":55,"text":716},{"id":743,"depth":55,"text":744},{"id":787,"depth":55,"text":788},{"id":805,"depth":55,"text":806},"Ghid complet pentru configurarea facturilor recurente: setari, intervale, variabile si bune practici.","incepator",{},"/ro/ghid/facturare-recurenta",6,[573],[83,215,214],{"title":580,"description":834},"ro/ghid/facturare-recurenta","3H0C36wbQ39O8-0r2VzisE9fRif649JOmBnQVkqKuYw",{"id":845,"title":846,"body":847,"description":1434,"difficulty":1435,"extension":64,"faq":342,"keywords":342,"meta":1436,"navigation":74,"path":1437,"publishedAt":570,"readingTime":1438,"relatedGuides":1439,"relatedTerms":1441,"seo":1446,"stem":1447,"updatedAt":570,"__hash__":1448},"guides_ro/ro/ghid/integrare-anaf-spv.md","Integrare ANAF SPV — Cum sa conectezi aplicatia de facturare la ANAF",{"type":7,"value":848,"toc":1424},[849,853,864,867,888,891,917,921,924,960,967,971,974,1046,1050,1053,1091,1094,1115,1122,1175,1185,1189,1192,1206,1209,1258,1261,1290,1294,1303,1317,1324,1345,1348,1352,1366,1372,1383,1389,1393,1399,1411,1420],[10,850,852],{"id":851},"arhitectura-api-ului-e-factura-anaf","Arhitectura API-ului e-Factura ANAF",[15,854,855,856,859,860,863],{},"ANAF expune un ",[365,857,858],{},"API REST"," pentru sistemul e-Factura, documentat oficial pe pagina de developer a institutiei. Autentificarea se face prin protocolul ",[365,861,862],{},"OAuth 2.0",", cu fluxul de autorizare prin redirectare (Authorization Code Flow) — similar cu „Conectare cu Google/Facebook\" din aplicatii web.",[15,865,866],{},"Exista doua medii disponibile:",[388,868,869,879],{},[391,870,871,874,875,878],{},[365,872,873],{},"Mediul de test (sandbox)",": ",[440,876,877],{},"https://api.anaf.ro/test/"," — pentru dezvoltare si testare, fara efecte fiscale reale",[391,880,881,874,884,887],{},[365,882,883],{},"Mediul de productie",[440,885,886],{},"https://api.anaf.ro/prod/"," — pentru tranzactii reale, cu efecte legale",[15,889,890],{},"Principalele endpoint-uri utilizate in fluxul e-Factura sunt:",[388,892,893,899,905,911],{},[391,894,895,898],{},[440,896,897],{},"POST /upload"," — incarcarea unui fisier XML (factura sau nota de creditare)",[391,900,901,904],{},[440,902,903],{},"GET /stareMesaj?id_incarcare={id}"," — verificarea statusului unui upload",[391,906,907,910],{},[440,908,909],{},"GET /descarcare?id={id}"," — descarcarea raspunsului semnat de ANAF",[391,912,913,916],{},[440,914,915],{},"GET /listaMesajeFactura"," — lista mesajelor (facturi primite si trimise) din inbox-ul SPV",[10,918,920],{"id":919},"pasul-1-inregistrarea-aplicatiei-in-spv","Pasul 1: Inregistrarea aplicatiei in SPV",[15,922,923],{},"Pentru a obtine acces la API-ul ANAF, trebuie mai intai sa inregistrezi aplicatia de facturare in Spatiul Privat Virtual (SPV) al firmei tale. Iata cum:",[471,925,926,933,939,949],{},[391,927,928,929,932],{},"Autentifica-te in SPV la adresa ",[440,930,931],{},"spv.anaf.ro"," cu semnatura digitala sau prin intermediul serviciului de autentificare cu date ANAF",[391,934,935,936],{},"Navigheaza la sectiunea ",[365,937,938],{},"„Servicii disponibile\" > „e-Factura\" > „Obtine token acces\"",[391,940,941,942,945,946],{},"Sistemul iti va prezenta o interfata de autorizare OAuth2: copiaza ",[365,943,944],{},"Client ID"," si, daca aplicatia ta necesita, genereaza un ",[365,947,948],{},"Client Secret",[391,950,951,952,955,956,959],{},"Completeaza ",[365,953,954],{},"Redirect URI"," — aceasta este adresa la care ANAF va trimite codul de autorizare dupa ce utilizatorul aproba accesul (de ex: ",[440,957,958],{},"https://app.storno.ro/callback/anaf",")",[15,961,962,963,966],{},"Retine ca token-ul OAuth2 este asociat cu ",[365,964,965],{},"CUI-ul firmei",", nu cu contul de utilizator al persoanei care l-a generat. Daca firma are mai multi utilizatori SPV, oricare dintre ei poate autoriza aplicatia.",[10,968,970],{"id":969},"pasul-2-fluxul-de-autorizare-oauth2","Pasul 2: Fluxul de autorizare OAuth2",[15,972,973],{},"Odata inregistrata aplicatia, fluxul de autorizare functioneaza astfel:",[471,975,976,991,997,1010,1034],{},[391,977,978,981,982],{},[365,979,980],{},"Redirectare la ANAF",": Aplicatia redirecxtioneaza utilizatorul catre endpoint-ul de autorizare ANAF:",[983,984,989],"pre",{"className":985,"code":987,"language":988},[986],"language-text","GET https://logincert.anaf.ro/anaf-oauth2/v1/authorize\n  ?response_type=code\n  &client_id={CLIENT_ID}\n  &redirect_uri={REDIRECT_URI}\n  &scope=efactura\n  &state={RANDOM_STATE}\n","text",[440,990,987],{"__ignoreMap":54},[391,992,993,996],{},[365,994,995],{},"Autentificarea utilizatorului",": Utilizatorul se autentifica in SPV (cu semnatura digitala sau token hardware)",[391,998,999,1002,1003,1006,1007,1009],{},[365,1000,1001],{},"Codul de autorizare",": ANAF redirecxtioneaza inapoi la ",[440,1004,1005],{},"redirect_uri"," cu un parametru ",[440,1008,440],{}," in URL",[391,1011,1012,1015,1016,1022,1025,1026,1029,1030,1033],{},[365,1013,1014],{},"Schimbul codului pentru token",": Aplicatia face o cerere POST catre endpoint-ul de token:",[983,1017,1020],{"className":1018,"code":1019,"language":988},[986],"POST https://logincert.anaf.ro/anaf-oauth2/v1/token\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=authorization_code\n&code={CODE}\n&client_id={CLIENT_ID}\n&client_secret={CLIENT_SECRET}\n&redirect_uri={REDIRECT_URI}\n",[440,1021,1019],{"__ignoreMap":54},[1023,1024],"br",{},"Raspunsul contine ",[440,1027,1028],{},"access_token"," (valabil 1 ora) si ",[440,1031,1032],{},"refresh_token"," (valabil 30 zile)",[391,1035,1036,1039,1040,1042,1043,1045],{},[365,1037,1038],{},"Reimprospatarea token-ului",": Inainte de expirarea ",[440,1041,1028],{},"-ului, aplicatia il poate reinnoi automat folosind ",[440,1044,1032],{},", fara a solicita reautorizarea utilizatorului",[10,1047,1049],{"id":1048},"pasul-3-incarcarea-unei-facturi-xml","Pasul 3: Incarcarea unei facturi XML",[15,1051,1052],{},"Cu token-ul de acces obtinut, trimiterea unei facturi se face printr-un POST multipart:",[983,1054,1058],{"className":1055,"code":1056,"language":1057,"meta":54,"style":54},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST /prod/FCTEL/rest/upload?standard=UBL&cif={CIF_EMITENT}\nAuthorization: Bearer {ACCESS_TOKEN}\nContent-Type: multipart/form-data\n\n[fisier XML al facturii]\n","http",[440,1059,1060,1068,1073,1079,1085],{"__ignoreMap":54},[1061,1062,1065],"span",{"class":1063,"line":1064},"line",1,[1061,1066,1067],{},"POST /prod/FCTEL/rest/upload?standard=UBL&cif={CIF_EMITENT}\n",[1061,1069,1070],{"class":1063,"line":55},[1061,1071,1072],{},"Authorization: Bearer {ACCESS_TOKEN}\n",[1061,1074,1076],{"class":1063,"line":1075},3,[1061,1077,1078],{},"Content-Type: multipart/form-data\n",[1061,1080,1082],{"class":1063,"line":1081},4,[1061,1083,1084],{"emptyLinePlaceholder":74},"\n",[1061,1086,1088],{"class":1063,"line":1087},5,[1061,1089,1090],{},"[fisier XML al facturii]\n",[15,1092,1093],{},"Parametrii importanti:",[388,1095,1096,1109],{},[391,1097,1098,874,1101,1104,1105,1108],{},[440,1099,1100],{},"standard",[440,1102,1103],{},"UBL"," pentru formatul UBL 2.1 sau ",[440,1106,1107],{},"CII"," pentru Cross Industry Invoice",[391,1110,1111,1114],{},[440,1112,1113],{},"cif",": CUI-ul firmei emitente (fara prefix RO pentru firmele romane)",[15,1116,1117,1118,1121],{},"Raspunsul de la ANAF este un JSON care contine ",[440,1119,1120],{},"index_incarcare"," — acesta este ID-ul unic al upload-ului, necesar pentru verificarea statusului:",[983,1123,1127],{"className":1124,"code":1125,"language":1126,"meta":54,"style":54},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"ExecutionStatus\": 0,\n  \"index_incarcare\": 12345678\n}\n","json",[440,1128,1129,1135,1157,1170],{"__ignoreMap":54},[1061,1130,1131],{"class":1063,"line":1064},[1061,1132,1134],{"class":1133},"sMK4o","{\n",[1061,1136,1137,1140,1144,1147,1150,1154],{"class":1063,"line":55},[1061,1138,1139],{"class":1133},"  \"",[1061,1141,1143],{"class":1142},"spNyl","ExecutionStatus",[1061,1145,1146],{"class":1133},"\"",[1061,1148,1149],{"class":1133},":",[1061,1151,1153],{"class":1152},"sbssI"," 0",[1061,1155,1156],{"class":1133},",\n",[1061,1158,1159,1161,1163,1165,1167],{"class":1063,"line":1075},[1061,1160,1139],{"class":1133},[1061,1162,1120],{"class":1142},[1061,1164,1146],{"class":1133},[1061,1166,1149],{"class":1133},[1061,1168,1169],{"class":1152}," 12345678\n",[1061,1171,1172],{"class":1063,"line":1081},[1061,1173,1174],{"class":1133},"}\n",[15,1176,1177,1178,1180,1181,1184],{},"Un ",[440,1179,1143],{}," de 0 inseamna ca fisierul a fost primit cu succes. ",[365,1182,1183],{},"Atentie",": acesta nu inseamna ca factura a fost acceptata — doar ca a fost incarcata in coada de procesare.",[10,1186,1188],{"id":1187},"pasul-4-verificarea-statusului-procesarii","Pasul 4: Verificarea statusului procesarii",[15,1190,1191],{},"Procesarea de catre ANAF dureaza de la cateva secunde la cateva minute. Poti verifica statusul astfel:",[983,1193,1195],{"className":1055,"code":1194,"language":1057,"meta":54,"style":54},"GET /prod/FCTEL/rest/stareMesaj?id_incarcare={INDEX_INCARCARE}\nAuthorization: Bearer {ACCESS_TOKEN}\n",[440,1196,1197,1202],{"__ignoreMap":54},[1061,1198,1199],{"class":1063,"line":1064},[1061,1200,1201],{},"GET /prod/FCTEL/rest/stareMesaj?id_incarcare={INDEX_INCARCARE}\n",[1061,1203,1204],{"class":1063,"line":55},[1061,1205,1072],{},[15,1207,1208],{},"Raspunsul posibil:",[983,1210,1212],{"className":1124,"code":1211,"language":1126,"meta":54,"style":54},"{\n  \"stare\": \"ok\",\n  \"id_descarcare\": 87654321\n}\n",[440,1213,1214,1218,1240,1254],{"__ignoreMap":54},[1061,1215,1216],{"class":1063,"line":1064},[1061,1217,1134],{"class":1133},[1061,1219,1220,1222,1225,1227,1229,1232,1236,1238],{"class":1063,"line":55},[1061,1221,1139],{"class":1133},[1061,1223,1224],{"class":1142},"stare",[1061,1226,1146],{"class":1133},[1061,1228,1149],{"class":1133},[1061,1230,1231],{"class":1133}," \"",[1061,1233,1235],{"class":1234},"sfazB","ok",[1061,1237,1146],{"class":1133},[1061,1239,1156],{"class":1133},[1061,1241,1242,1244,1247,1249,1251],{"class":1063,"line":1075},[1061,1243,1139],{"class":1133},[1061,1245,1246],{"class":1142},"id_descarcare",[1061,1248,1146],{"class":1133},[1061,1250,1149],{"class":1133},[1061,1252,1253],{"class":1152}," 87654321\n",[1061,1255,1256],{"class":1063,"line":1081},[1061,1257,1174],{"class":1133},[15,1259,1260],{},"Stari posibile:",[388,1262,1263,1272,1278,1284],{},[391,1264,1265,1268,1269,1271],{},[440,1266,1267],{},"\"ok\""," — factura a fost acceptata; ",[440,1270,1246],{}," contine ID-ul pentru descarcarea raspunsului semnat",[391,1273,1274,1277],{},[440,1275,1276],{},"\"nok\""," — factura a fost respinsa; apeleaza endpoint-ul de descarcare pentru a obtine lista de erori",[391,1279,1280,1283],{},[440,1281,1282],{},"\"in prelucrare\""," — inca in procesare; reincearca peste cateva secunde",[391,1285,1286,1289],{},[440,1287,1288],{},"\"eroare prelucrare\""," — eroare tehnica pe serverele ANAF; retrimite dupa un interval",[10,1291,1293],{"id":1292},"pasul-5-descarcarea-dovezii-de-transmitere","Pasul 5: Descarcarea dovezii de transmitere",[15,1295,1296,1297,691,1299,1302],{},"Odata ce statusul este ",[440,1298,1235],{},[440,1300,1301],{},"nok",", descarca fisierul de raspuns:",[983,1304,1306],{"className":1055,"code":1305,"language":1057,"meta":54,"style":54},"GET /prod/FCTEL/rest/descarcare?id={ID_DESCARCARE}\nAuthorization: Bearer {ACCESS_TOKEN}\n",[440,1307,1308,1313],{"__ignoreMap":54},[1061,1309,1310],{"class":1063,"line":1064},[1061,1311,1312],{},"GET /prod/FCTEL/rest/descarcare?id={ID_DESCARCARE}\n",[1061,1314,1315],{"class":1063,"line":55},[1061,1316,1072],{},[15,1318,1319,1320,1323],{},"Raspunsul este un fisier ",[365,1321,1322],{},"ZIP"," care contine:",[388,1325,1326,1332,1338],{},[391,1327,1328,1331],{},[440,1329,1330],{},"{index_incarcare}.xml"," — fisierul XML original pe care l-ai trimis",[391,1333,1334,1337],{},[440,1335,1336],{},"{index_incarcare}_semnatura.xml"," — semnatura digitala aplicata de ANAF (XMLDSig)",[391,1339,1340,1341,1344],{},"In caz de eroare: ",[440,1342,1343],{},"{index_incarcare}_Errors.xml"," — lista detaliata a erorilor de validare",[15,1346,1347],{},"Arhiveaza acest fisier ZIP pentru fiecare factura — reprezinta dovada legala ca factura a fost inregistrata in sistemul e-Factura.",[10,1349,1351],{"id":1350},"erorile-frecvente-si-cum-le-rezolvi","Erorile frecvente si cum le rezolvi",[15,1353,1354,1357,1358,1361,1362,1365],{},[365,1355,1356],{},"CIF invalid"," (",[440,1359,1360],{},"Cif-ul beneficiarului nu este valid","): Verifica ca CUI-ul clientului este activ in baza de date ANAF. Poti verifica prin API-ul public ANAF ",[440,1363,1364],{},"verificare.anaf.ro"," sau prin SPV.",[15,1367,1368,1371],{},[365,1369,1370],{},"Schema XML invalida",": Fisierul XML nu respecta schema UBL 2.1. Valideaza fisierul local cu un validator XML schema inainte de a-l trimite (schema oficiala este publicata de ANAF).",[15,1373,1374,874,1377,1379,1380,1382],{},[365,1375,1376],{},"Token expirat",[440,1378,1028],{},"-ul a expirat. Implementeaza logica de reimprospatare automata folosind ",[440,1381,1032],{}," inainte de fiecare cerere API.",[15,1384,1385,1388],{},[365,1386,1387],{},"Duplicate",": ANAF poate respinge un fisier daca detecteaza ca o factura cu acelasi numar si CUI emitent a mai fost trimisa. Verifica in baza ta de date daca factura a mai fost trimisa inainte de a retrimite.",[10,1390,1392],{"id":1391},"sfaturi-de-implementare-pentru-robustete","Sfaturi de implementare pentru robustete",[15,1394,1395,1398],{},[365,1396,1397],{},"Implementeaza retry logic cu backoff exponential."," ANAF poate fi indisponibil sau lent intermitent. O strategie de reincercare cu intervale crescatoare (1s, 5s, 30s, 5min) previne supraincarcarea serverelor si asigura ca facturile ajung in final la destinatie.",[15,1400,1401,1407,1408,1410],{},[365,1402,1403,1404,1406],{},"Stocheaza intotdeauna ",[440,1405,1120],{}," in baza de date"," imediat dupa upload, inainte de a verifica statusul. Daca aplicatia ta cade sau serverul reporneste intre upload si verificarea statusului, vei putea relua verificarea din ",[440,1409,1120],{}," stocat.",[15,1412,1413,1419],{},[365,1414,1415,1416,1418],{},"Monitorizeaza expirarea ",[440,1417,1032],{},"-ului."," Tokenul de refresh expira dupa 30 de zile de neutilizare. Daca nu ai trimis facturi o luna, tokenul poate expira si va trebui reautorizat manual prin SPV. Trimite o alerta utilizatorului cu 7 zile inainte de expirare.",[1421,1422,1423],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":54,"searchDepth":55,"depth":55,"links":1425},[1426,1427,1428,1429,1430,1431,1432,1433],{"id":851,"depth":55,"text":852},{"id":919,"depth":55,"text":920},{"id":969,"depth":55,"text":970},{"id":1048,"depth":55,"text":1049},{"id":1187,"depth":55,"text":1188},{"id":1292,"depth":55,"text":1293},{"id":1350,"depth":55,"text":1351},{"id":1391,"depth":55,"text":1392},"Ghid tehnic pentru integrarea cu ANAF prin SPV: autorizare OAuth2, trimitere facturi si verificare status.","avansat",{},"/ro/ghid/integrare-anaf-spv",10,[1440],"ghid-efactura-anaf-2026",[1442,1443,1444,1445],"spv","anaf","efactura","xml-factura",{"title":846,"description":1434},"ro/ghid/integrare-anaf-spv","8-xJKG5mBHRO1I6PWgAdNiZejsOHnfKrDmzq4mTv7us",1780464010343]