Sistemul Informațional Automatizat Registrul Informației ...
Ghidul de integrare Complet Automată · 2020. 6. 9. · Complet Automatizat INTERFAȚA DE...
Transcript of Ghidul de integrare Complet Automată · 2020. 6. 9. · Complet Automatizat INTERFAȚA DE...
2020
Ghidul de integrare Complet Automatizat INTERFAȚA DE PROGRAMARE A APLICAȚIEI (API) ELABORATĂ PENTRU SISTEME INFORMAȚIONALE CONTABILE EXTERNE
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 1 of 44
Acronime și abrevieri
În document se folosesc următoarele acronime și abrevieri:
Acronym Definition
AS Accounting Systems
(Sistemul contabil)
API Application Programming Interface
(Interfața de Programare a Aplicației)
DB Database (Baza de Date)
E-Factura Information system that allows creation and processing of electronic Tax Invoices and Waybills.
(Sistemul informațional care permite crearea și procesarea facturilor fiscale electronice și scrisorilor de trăsătură)
ETI Electronic Tax Invoice
(Factura Fiscală Electronică)
GET HTTP request method that is designed to retrieve information from the server.
(Metoda de Solicitare HTTP elaborată pentru recuperarea informației de la server)
ICT Information and Communications Technologies
(Tehnologii Informaționale și de Comunicare)
IS Information system
(Sistemul Informațional)
MSTI Main State Tax Inspectorate
(Inspectoratul Fiscal de Stat Principal)
POST HTTP request that a web server accept the data enclosed in the request message's body for storage
(Solicitarea HTTP pe care serverul acceptă datele conținute corpul mesajului de solicitare pentru păstrare)
STS State Tax Service
(Serviciul Fiscal de Stat)
SOAP Simple Object Access Protocol
(Protocol de Acces Simplu la Obiect)
TR Technical Requirements
(Cerințele Tehnice)
UI User Interface
(Interfața Utilizatorului)
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 2 of 44
Cuprins 1 SUMARUL ....................................................................................................................................................... 5
1.1 PREZENTARE GENERALĂ AL GHIDULUI DE INTEGRARE PENTRU E-FACTURA ................................................. 5
1.2 OBIECTIVELE PREZENTULUI GHID DE INTEGRARE .......................................................................................... 5
2 CAPABILITĂȚI GENERALE ALE E-FACTURII ..................................................................................... 6
3 PROCESELE FLUXULUI DE LUCRU ....................................................................................................... 7
4 OPERAȚIUNI DE SERVICII, STRUCTURI ȘI EXEMPLE DE COD ................................................... 13
4.1 MODULUL AUTORIZĂRII ȘI AUTENTIFICĂRII AL SISTEMULUI CONTABIL ...................................................... 14
4.1.1 Crearea Utilizatorului API ............................................................................................ 14
4.1.2 Configurarea API al E-Facturii ..................................................................................... 15
4.1.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 16
4.2 TAXPAYERSRESPONSE GETTAXPAYERSINFO(TAXPAYERSREQUEST REQUEST) ........................................... 16
4.2.1 Operațiuni de Servicii ................................................................................................... 16
4.2.2 Structura ........................................................................................................................ 17
4.2.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 17
4.3 SERIANUMBERRESPONSE GETSERIAANDNUMBERS(SERIANUMBERREQUEST REQUEST) ............................ 18
4.3.1 Operațiuni de Servicii ................................................................................................... 18
4.3.2 Structura ........................................................................................................................ 18
4.3.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 19
4.4 QRCODESRESPONSE GETINVOICESQRCODES(INVOICESREQUEST REQUEST) ............................................. 19
4.4.1 Operațiuni de Servicii ................................................................................................... 19
4.4.2 Structura ........................................................................................................................ 20
4.4.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 21
4.5 INVOICESRESPONSE GETINVOICESBYSERIANUMBER(INVOICESREQUEST REQUEST) .................................. 21
4.5.1 Operațiuni de Servicii ................................................................................................... 21
4.5.2 Structura ........................................................................................................................ 22
4.5.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 22
4.6 INVOICESRESPONSE GETINVOICESFORSIGNING (SIGNREQUEST REQUEST).................................................. 23
4.6.1 Operațiuni de Servicii ................................................................................................... 23
4.6.2 Structura ........................................................................................................................ 23
4.6.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 24
4.7 INVOICESRESPONSE GETACCEPTEDINVOICES (ACTORBASEREQUEST REQUEST)......................................... 25
4.7.1 Operațiuni de Servicii ................................................................................................... 25
4.7.2 Structura ........................................................................................................................ 25
4.7.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 26
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 3 of 44
4.8 INVOICESRESPONSE GETREJECTEDINVOICES (ACTORBASEREQUEST REQUEST) ......................................... 26
4.8.1 Operațiuni de Servicii ................................................................................................... 26
4.8.2 Structura ........................................................................................................................ 26
4.8.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 27
4.9 REJECTEDRESPONSE POSTREJECTEDINVOICES (REJECTREQUEST REQUEST) ............................................... 28
4.9.1 Operațiuni de Servicii ................................................................................................... 28
4.9.2 Structura ........................................................................................................................ 28
4.9.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 28
4.10 ACCEPTEDRESPONSE POSTACCEPTEDINVOICES (ACCEPTEDREQUEST REQUEST) ........................................ 29
4.10.1 Operațiuni de Servicii ................................................................................................... 29
4.10.2 Structura ........................................................................................................................ 29
4.10.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 30
4.11 CANCELEDRESPONSE POSTCANCELEDINVOICES (CANCELEDREQUEST REQUEST) ....................................... 30
4.11.1 Operațiuni de Servicii ................................................................................................... 30
4.11.2 Structura ........................................................................................................................ 31
4.11.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 31
4.12 POSTINVOCESRESPONSE POSTINVOICES (POSTINVOCESREQUEST REQUEST) ............................................... 32
4.12.1 Operațiuni de Servicii ................................................................................................... 32
4.12.2 Structura ........................................................................................................................ 32
4.12.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 32
4.13 INVOICESRESPONSE SEARCHINVOICES (SEARCHREQUEST REQUEST); ......................................................... 33
4.13.1 Operațiuni de Servicii ................................................................................................... 33
4.13.2 Structura ........................................................................................................................ 33
4.13.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 35
4.14 LOGSRESPONSE GETLOGS(LOGSREQUEST REQUEST) .................................................................................. 36
4.14.1 Operațiuni de Servicii ................................................................................................... 36
4.14.2 Structura ........................................................................................................................ 36
4.14.3 Exemplul Codului Pentru Metoda de Apelare .............................................................. 36
5 MODELUL APLICĂRII SEMNĂTURILOR DIGITALE ....................................................................... 38
Lista de Figuri Figura 1 Autorizarea și Autentificarea Sistemului Contabil al Companiei în E-Factura API ....... 7
Figura 2 Factura fiscală electronică este creată și semnată de către furnizor în cadrul sistemului
lui contabil ....................................................................................................................................... 8
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 4 of 44
Figura 3 Factura Fiscală este semnată (și opțional acceptată) de către cumpărător în sistemul
lui contabil ....................................................................................................................................... 9
Figura 4 Refuzarea Facturilor Fiscale de intrare ........................................................................ 10
Figura 5 Anularea de către Furnizor al facturilor fiscale refuzate de Cumpărător ..................... 11
Figura 6 Anularea de către Furnizor al Facturilor Fiscale create de el ...................................... 11
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 5 of 44
1 Sumarul
1.1 Prezentare Generală al Ghidului de Integrare pentru E-Factura
Prezentul document este elaborat pentru API Integrarea al E-Facturii. Ghidul descrie interfețele
tehnice aprovizionate de Sistemul Informațional E-Factura pentru sisteme informaționale
contabile care vor utiliza E-Factura. Acest document conține toate informații necesare pentru
înțelegerea completă al E-Facturii de la din punctul de vedere al integrării. Ghidul de Integrare
este acompaniat cu mostre .NET care pot servi drept exemple ale integrării bazate pe scenariile
interacțiunii principale.
1.2 Obiectivele Prezentului Ghid de Integrare
Acest document descrie interfețele tehnice aprovizionate de Sistemul Informațional E-Factura
pentru sisteme informaționale contabile care se utilizează de Agenții Economici (Furnizori,
Cumpărători și Transportatori) care de asemenea sunt utilizatori al E-Facturii.
Publicul de țintă al acestui document sunt echipe de elaboratori al sistemelor contabile (1C spre
exemplu).
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 6 of 44
2 Capabilități Generale ale E-Facturii
E-Factura API reprezintă o platformă împărțită și reutilizabilă de servicii. Scopul ei principal este
de a permite companiilor interacțiunea cu E-Factura utilizând sistemele lor contabile (1C
Contabilitate și altele). Ea permite utilizatorilor sistemelor contabile de a primi datele din parte și
statut curent al facturilor fiscale create în sisteme contabile, seriile și numerele facturilor fiscale și
codurile lor QR.
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 7 of 44
3 Procesele Fluxului de Lucru
Mai jos sunt arătate scenariile ale procesării facturilor fiscale – fiecare schimă arată partea
specifică al fluxului de lucru și interacțiunea între Agentul Economic Sistemului Contabil și E-
Factura prin intermediul API.
Figura 1 Autorizarea și Autentificarea Sistemului Contabil al Companiei în E-Factura API
Descrierea:
Pentru a avea oportunitatea de integrare Sistemului Contabil al companiei cu sistemul
informațional E-Factura, primul pas ar trebui de a fi crearea unui cont special al utilizatorului de
către utilizator E-Factura în rol de Manager (Director al Companiei). Acest lucru se realizează în
interfața E-Factura al utilizatorului.
Ținând cont că comunicarea cu aplicația E-Factura se realizează prin intermediul conectării sigure
(http), al doilea pas va fi configurarea certificatelor SSL (vezi paragraful 5.1. pentru detalii cum
se realizează acest lucru).
Atunci când utilizatorul sistemului contabil încearcă de a se conecta cu aplicația E-Factura, a treia
parte certificată și autorizată va efectua validarea certificatelor SSL permițând de a continua numai
în cazul când certificatul SSL va fi validat.
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 8 of 44
Figura 2 Factura fiscală electronică este creată și semnată de către furnizor în cadrul sistemului lui
contabil
Descrierea:
Sistemul Contabil al Furnizorului primește informații (metoda ”GetTaxpayersInfo”) despre
Cumpărător și Transportator din E-Factura. E-Factura returnează Denumire, Adresa, CodTVA,
Tipul AE, dacă contragentul utilizează E-Factura.
Sistemul Contabil al Furnizorului cere de la sistemul informațional E-Factura seriile și numerele
facturilor fiscale electronice (metoda ”GetSeriaAndNumbet”). După ce seriile și numerele
facturilor fiscale electronice au fost generate de E-Factura , sistemul contabil creează facturi fiscale
și asociază lor seriile și numerele specifice acestor facturi fiscale.
Sistemul contabil al Furnizorului aplică semnătură digitală (electronică) folosind certificate
digitale, după ce trimite (metoda ”PostInvoices”) factura fiscală semnată la E-Factura pentru
salvarea.
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 9 of 44
Figura 3 Factura Fiscală este semnată (și opțional acceptată) de către cumpărător în sistemul lui
contabil
Descrierea:
După ce Cumpărătorul solicită toate facturile fiscale intrate (metoda ”GetInvoicesForSigning”),
E-Factura returnează aceste facturi în formatul XML.
Pe parcursul următorului pas, Cumpărătorul salvează facturile fiscale primite (de intrare) și
semnează acestea utilizând certificate digitale (în calitate unui pas opțional intermediar poate fi
acceptarea facturilor fiscale primite după salvarea în sistemul contabil).
Similar cu Figura 1 facturile fiscale semnate sânt trimise de sistemul contabil la E-Factura metoda
(”PostInvoices”)
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 10 of 44
Figura 4 Refuzarea Facturilor Fiscale de intrare
Descrierea:
Procesul de refuzare se realizează la pasul următor după salvarea facturilor fiscale de intrare.
Procesul de refuzare este similar cu procesul descris pe figurile precedente (se efectuează în
principal pentru semnare). Când utilizatorul activează funcționalitatea refuzării în sistemul lui
contabil, acesta trimite lista de facturi refuzate ( metoda ”PostRejectedInvoices”) la E-Factura care
marchează aceste facturi ca refuzate.
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 11 of 44
Figura 5 Anularea de către Furnizor al facturilor fiscale refuzate de Cumpărător
Descrierea:
Ca pasul care urmează după refuzul facturilor fiscale de către Cumpărător, aplicația permite
Furnizorului de a anula facturi fiscale refuzate. Succesiunea procesului este următoarea: sistemul
contabil al Furnizorului primește facturi fiscale care au fost refuzate de Cumpărător. Furnizorul
anulează aceste facturi prin intermediul sistemului său contabil (E-Factura salvează aceste facturi
ca anulate).
Figura 6 Anularea de către Furnizor al Facturilor Fiscale create de el
Descrierea:
Aplicația (API) permite Furnizorului de a anula facturi fiscale (metoda ”PostCanceledInvoices”)
create de el înainte de a fi semnate de către Cumpărător. Sistemul Contabil al furnizorului
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 12 of 44
marchează facturi fiscale ca anulate și trimite această informație la E-Factura prin intermediul API.
Dacă Cumpărător nu a semnat facturi fiscale pe care Furnizorul dorește să anuleze, E-Factura
permite anularea acestora (arată mesajul că facturi fiscale au fost anulate cu succes). Dacă facturi
fiscale pe care Furnizorul dorește să anuleze deja au fost semnate de către Cumpărător, E-Factra
nu permite anularea acestora și transmite mesajul despre imposibilitatea anulării acestor facturi.
Primirea QR Codului de către Furnizor
Descrierea:
API permite de a primi de la E-Factura QR codurilor (”GetInvoicesQRcodes”) pentru atribuirea
acestora la facturi fiscale în sistemul contabil al furnizorului. Sistemul contabil solicită
codul/coduri QR prin intermediul API, E-Factura returnează codul/coduri QR. Codul QR necesar
în caz daca Furnizorul imprimă Factura Fiscala pe hârtie.
Obținerea Fișierului PDF pentru tipar de către Furnizor
Descrierea:
API permite de a obține de la Sistemul Informațional E-Factura fișierul PDF (metoda
”GetInvoicesContentForPrint”) pentru imprimarea următoare. Fișierul PDF permite de a imprima
Factura Fiscala pe hârtie.
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 13 of 44
4 Operațiuni de Servicii, Structuri și Exemple de
Cod
Sunt câteva metode care se folosesc în API E-Factura. Mai jos D-voastră veți găsi module de
autorizare și automatizare precum și listă generală de metode:
1. Module Authorization and Authentication of AS
(Modulul Autorizării și Autentificării al Sistemului Contabil)
2. TaxpayersResponse GetTaxpayersInfo(TaxpayersRequest request);
(Răspuns Contribuabilului, Primirea Informației despre Contribuabil (Solicitarea Datelor
Contribuabilului))
3. SeriaNumberResponse GetSeriaAndNumbers(SeriaNumberRequest request);
(Răspuns Seriei și Numărului Primirea Seriilor și Numerelor (solicitarea seriei și numărului))
4. QRCodesResponse GetInvoicesQRcodes(InvoicesRequest request);
(Răspunsul QR codului Primirea QR Codului (solicitarea facturilor fiscale))
5. InvoicesResponse GetInvoicesBySeriaNumber(InvoicesRequest request);
(Răspuns Facturilor Fiscale Primirea Facturilor Fiscale după Seria și Număr (Solicitarea
Facturilor Fiscale))
6. InvoicesResponse GetInvoicesForSigning(SignRequest request);
(Răspuns Facturilor Fiscale Primirea Facturilor Fiscale pentru Semnare (Solicitarea Semnării))
7. InvoicesResponse GetAcceptedInvoices(ActorBaseRequest request);
(Răspuns Facturilor Fiscale Primirea Facturilor Fiscale Acceptate (Solicitarea bazată pe Actor))
8. InvoicesResponse GetRejectedInvoices(ActorBaseRequest request);
(Răspuns Facturilor Fiscale, Primirea Facturilor Fiscale Anulate (Solicitarea bazată pe Actor))
9. RejectedResponse PostRejectedInvoices(RejectRequest request);
(Răspuns Anulat, Facturi Fiscale după Anulare (Solicitare Anulată))
10. AcceptedResponse PostAcceptedInvoices(AcceptedRequest request);
(Răspuns Acceptat, Facturi Fiscale după Acceptare (Solicitare Acceptată))
11. CanceledResponse PostCanceledInvoices(CanceledRequest request);
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 14 of 44
(Răspuns Anulat, Facturi Fiscale după Anulare (Solicitare Anulată)
12. PostInvocesResponse PostInvoices(PostInvocesRequest request);
(Post răspunsul al Facturilor Fiscale, Post Facturi Fiscale (Solicitarea Post Facturilor Fiscale))
13. InvoicesResponse SearchInvoices(SearchRequest request);
(Răspuns facturilor fiscale, Căutarea facturilor Fiscale (Solicitarea Căutării))
14. LogsResponse GetLogs(LogsRequest request)
(Răspuns Log-urilor, Primirea Log-urilor (Solicitarea Log-urilor)
Descrierea detailată al operațiunilor de servicii API ale E-Facturii, structuri, precum și modele de
cod-uri de utilizare a acestor metode sânt descrise mai jos.
4.1 Modulul Autorizării și Autentificării al Sistemului Contabil
4.1.1 Crearea Utilizatorului API
Primul pas cu care se începe utilizarea API al E-Facturii este crearea unui utilizator nou. Această
funcționalitate este disponibilă utilizatorii E-Facturii în rol de Manager (Director). Utilizatorul
aplicației are un rol special care permite de a favoriza de toate avantajele ale funcționalităților E-
Facturii. Pentru a crea un utilizator nou al aplicației, vă rugăm să parcurgeți următoarele etape:
1. Accesați compartimentul ”Setărilor”
2. Selectați mapă ”Utilizatori ale companiei” în profil
3. Apăsați butonul ”Înregistrează un utilizator API” (”Register API user”)
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 15 of 44
4. Completați toate câmpurile ale formularului utilizatorului nou în modul arătat pe figura de
mai jos:
5. Apăsați butonul ”Register” pentru a salva informațiile introduse.
4.1.2 Configurarea API al E-Facturii
Adăugați configurarea la web.config:
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 16 of 44
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService">
<security mode="TransportWithMessageCredential" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://api-test.fisc.md/Service.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService"
contract="E_FacturaService.IService"
name="BasicHttpBinding_IService" />
</client>
4.1.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client;
_client = new EFacturaApiRef.ServiceClient();
_client.ClientCredentials.UserName.UserName = "supplier";
_client.ClientCredentials.UserName.Password = "supplier";
4.2 TaxpayersResponse GetTaxpayersInfo(TaxpayersRequest request)
4.2.1 Operațiuni de Servicii
Semnătura GetTaxpayersInfo (TaxpayersRequest request): TaxpayersResponse
Descrierea Primește informații despre companie și statutul ei în E-Factura
Returnări Structura care conține rezultate, TimeStamp și RequestId
Parametri de intrare
Nume Tip Descrierea
solicitare TaxpayersRequest Structura care reprezintă o listă de coduri fiscale și RequestId
Defectele
Codul Motive
AuthenticationFailedException Procesul serviciului de autentificare consumatorului a eșuat.
AutorizationFailedException Procesul serviciului de autorizare a consumatorului a eșuat.
InternalErrorException
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 17 of 44
4.2.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
TaxpayersRequest (Solicitarea contribuabilului)
RequestId string Obligatoriu Identificator extern (este unic pentru fiecare solicitare, însă poate fi reutilizat pentru rezultatul care a fost returnat mai înainte). Acest ID este asociat cu RequestID corespunzător cu metoda de apelare și asociază solicitări și returnări.
FiscalCodes Array of
string
Obligatoriu, cel
puțin un element
Lotul real de coduri fiscale ale
contribuabililor
TaxpayersResponse (Răspunsul contribuabilului)
Result Array of
Taxpayer
Obligatoriu Arhiva contribuabililor corespunde codurilor fiscale solicitate
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezentă starea răspunsului: 1- acceptate pentru executare, 2-executate cu succes, 3 - eroare la executare
RequestId string Obligatoriu Identificator extern de solicitare.
Acest ID este asociat cu solicitarea corespunzătoare de apelare a metodei și asociază solicitările și returnările.
Taxpayer (Contribuabil)
IDNO string Obligatoriu IDNO or IDNP ale contribuabilului
Name string Obligatoriu Numele contribuabilului
Address string Obligatoriu Adresa contribuabilului
TaxpayerType int Obligatoriu Tipul contribuabilului: 1-Juridic, 2- Persoană fizică, 3- Nerezident
IsEFacturaActor bool Obligatoriu Este un actor al sistemului E-Factura
ExistInTaxRegistry bool Obligatoriu Este înregistrat în registrul fiscal (Fisc)
4.2.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier"; string newid=Guid.NewGuid().ToString(); var request = new TaxpayersRequest {FiscalCodes = new[] {"1003600106115", "1002600046027"}, RequestId = newid}; var response = _client.GetTaxpayersInfo(request); foreach (var info in response.Result) { Console.WriteLine(info.Name+" "+info.IDNO+" "+info.Address); }
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 18 of 44
4.3 SeriaNumberResponse GetSeriaAndNumbers(SeriaNumberRequest request)
4.3.1 Operațiuni de Servicii
Semnătura GetSeriaAndNumbers (SeriaNumberRequest request): SeriaNumberResponse
Descrierea Primește seriile și numerele de la E-Factura
Returnări Stuctura care conține rezultate, TimeStamp și RequestId
Parametri de intrare
Nume Tip Descrierea
solicitare SeriaNumberRequest O structură care reprezintă parametrii pentru generarea perechilor numerelor de serie și RequestId
4.3.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
SeriaNumberRequest (Solicitarea Seriei și Numărului)
RequestId string Obligatoriu Identificator extern. Acest ID este asociat
cu solicitarea corespunzătoare a metodei
de apelare și asociază solicitările și
returnările.
Count int Obligatoriu,
mai mult
decât 0
Numărarea perechilor numerelor de serie
care ar trebui să fie generate
StartNumber int Opțional, mai
mult decât 0
Numărul de început mai mare decât 0, în
cazul în care este necesar să genereze
perechi numerelor de serie începând de la
un număr specific. Acest lucru este valabil
pentru cazurile în care Compania are un
șir dedicat de serii și numere..
Seria string Opțional Numele seriilor pentru perechi de numere
seriale.
Acest lucru este valabil pentru cazurile în
care Compania a dedicat un șir de serii și
numere.
InvoiceType int Obligatoriu,
mod implicit
0
0 – ETI (Electronic Tax Invoice – Factura
Fiscală Electronică), 1- EW (Electronic
Waybill – Scrisoare de trăsătura
electronică)
SeriaNumberResponse (Răspunsul Seriei și Numărului)
Results Array of
SeriaAndNumber
Obligatoriu Mulțime de perechi numerelor de serie
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 19 of 44
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului:
1- acceptat pentru executare, 2-executat
cu succes, 3 - eroare la executare
RequestId string Obligatoriu Identificator al solicitărilor externe.
Acest cod de identificare (identification
ID) este asociat cu codul de solicitare
(RequestID) corespunzător al metodei de
apelare și asociază solicitări și returnări.
SeriaAndNumber (Serial și Număr)
Seria string Obligatoriu Numele seriei - numele seriei care este în
prezent activă sau serie care a fost
indicată în solicitare în condiții seriei
dedicate unei companii.
Number string Obligatoriu Number
Status Int Obligatoriu Status: 2- IssuedForExternalUse,3-
UsedFromExternal,
Aceste statute sunt utilizate în scopuri de
informare generală.
4.3.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier"; string newid = Guid.NewGuid().ToString(); var request = new SeriaNumberRequest { RequestId = newid, Count = 10 }; var response = _client.GetSeriaAndNumbers(request); foreach (var info in response.SeriaAndNumbers) { Console.WriteLine(info.Seria + " " + info.Number); }
4.4 QRCodesResponse GetInvoicesQRcodes(InvoicesRequest Request)
4.4.1 Operațiuni de Servicii
Semnătura GetInvoicesQRcodes (InvoicesRequest request): QRCodesResponse
Descrierea Primește informații despre imaginea QR codului și textul QR codului
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 20 of 44
Returnări Structura care conține rezultate (Mulțimea imaginelor de QR coduri și textelor QR codurilor), TimeStamp și RequestId
Parametri de intrare
Nume Tip Descrierea
solicitare InvoicesRequest Structura care reprezintă o listă de InvoiceIndentificators (identificatori ale facturii fiscale) și RequestId
Defecte
Codul Motiv
AuthenticationFailedException Procesul serviciului de autentificare consumatorului a eșuat.
AutorizationFailedException Procesul serviciului de autorizare a consumatorului a eșuat.
InternalErrorException
4.4.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
InvoicesRequest (Solicitarea Facturilor Fiscale)
RequestId string Obligatoriu Identificator extern
SeriaAndNumbers Array of
InvoiceInden
tificator
Obligatoriu, cel
puțin un
element
Pachetul actual al identificatorilor
facturilor fiscale
QRCodesResponse (Răspunsul QR codului)
Result Array of
InvoiceQRCode
Obligatoriu Mulțime de QR Coduri
corespunzătoare facturilor fiscal
solicitate (Seria și Număr)
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-executat
cu succes, 3 - eroare la executare
RequestId string Obligatoriu Solicitarea externă a identificatorului
InvoiceIndentificator (Identificatorul Facturii Fiscale)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
InvoiceQRCode
QRCode Array of byte Obligatoriu Imaginea QR Codului
QRCodeText string Obligatoriu Textul QR Codului
exemplu. http://efactura2.alfa-
xp.com/EFactura.aspx?id=b78db52a-
beb3-444e-9342-1747a24f704e
Seria string Obligatoriu Seria Facturii Fiscale
Number string Obligatoriu Numărul Facturii Fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Message string Opțional Dacă Statut = 3. Mesajul conține
informații eronate
Status int Obligatoriu 2 - Ok
3- Eroare
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 21 of 44
4.4.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new InvoicesRequest { SeriaAndNumbers = new List<InvoiceIndentificator> { new InvoiceIndentificator { Number = "000004664", Seria = "EA7A"}, new InvoiceIndentificator { Number = "000004664", Seria = "EAA" } }.ToArray(), RequestId = newid }; var response = _client.GetInvoicesQRcodes(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " "+info.QRCode +" Error Message: "+ info.Message); }
4.5 InvoicesResponse GetInvoicesBySeriaNumber(InvoicesRequest request)
4.5.1 Operațiuni de Servicii
Semnătura GetInvoicesBySeriaNumber (InvoicesRequest request):
InvoicesResponse
Descrierea Obține facturi fiscale
Returnări O structură care conține Rezultate (mulțime de facturi
fiscale, TimeStamp și RequestId
Parametrii de intrare
Nume Tip Descriere
request InvoicesRequest O structură care reprezintă
listă de identificatori ai
facturilor fiscale
(InvoiceIndentificators) și
RequestId
Defecte
Codul Motiv
AuthenticationFailedException Procesul serviciului de autentificare consumatorului a eșuat.
AutorizationFailedException Procesul serviciului de autorizare a consumatorului a eșuat.
InternalErrorException
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 22 of 44
4.5.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
InvoicesRequest (Solicitarea Facturilor Fiscale)
RequestId string Obligatoriu Identificator extern
SeriaAndNumbers Array of
InvoiceIndentificator
Obligatoriu,
cel puțin un
element
Pachetul actual al
identificatorilor facturilor fiscale
InvoicesXmlResponse (Răspunsul facturilor fiscale în format XML)
Results Array of Invoice Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului:
1- acceptat pentru executare, 2-
executat cu succes, 3 - eroare la
executare
:RequestId string Obligatoriu Solicitarea externă a
identificatorului
XmlInvoice (Factura Fiscală în format XML)
Xml string Obligatoriu Factura fiscală prezentată în
format xml după schema: .xsd
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional Dacă statut = 3. Mesajul conține
informații de eroare
Status string Opțional 2 - Ok
3- Error
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
InvoiceStatus int Obligatoriu Statutul facturii fiscale: statute
disponibile
Draft = 0,
Semnat de Furnizor = 1,
Refuzat de Cumpărător = 2,
Acceptat de Cumpărător = 3,
Anulat de Furnizor = 5,
Trimis la Cumpărător = 7,
Semnat de Cumpărător = 8,
Transportat (semnat că
bunuri/servicii au fost primite) =
10
4.5.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new InvoicesRequest { SeriaAndNumbers = new List<InvoiceIndentificator> {
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 23 of 44
new InvoiceIndentificator { Number = "000004664", Seria = "EA7A"}, new InvoiceIndentificator { Number = "000004664", Seria = "EAA" } }.ToArray(), RequestId = newid }; var response = _client.GetInvoicesBySeriaNumber(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " " + info.Xml + " Error Message: " + info.Message); }
4.6 InvoicesResponse GetInvoicesForSigning (SignRequest request)
4.6.1 Operațiuni de Servicii
Semnătura GetInvoicesForSigning (SignRequest request):
InvoicesResponse
Descrierea Obține conținutul facturii fiscal pentru semnare
Returnări Structura care conține Rezultate (Mulțime de facturi fiscale),
TimeStamp și RequestId
Parametrii de intrare
Nume Tip Descrierea
request SignRequest Structura care reprezintă
succesiunea semnării,
rolul actorului și
RequestId
Defecte
Codul Motiv
AuthenticationFailedException Procesul serviciului de autentificare consumatorului a eșuat.
AutorizationFailedException Procesul serviciului de autorizare a consumatorului a eșuat.
InternalErrorException
4.6.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
SignRequest (Solicitarea de semnare)
RequestId string Obligatoriu Identificator extern
Order Int Obligatoriu doar
pentru furnizor
1-Statutul facturii fiscale Draft
(fără semnătura), 2- Doar semnat 1
Semnătura
ActorRole int Obligatoriu, mai
mult decât 0
Roluri de actor în SIA E-Factura:
1-furnizor, 2 – cumpărător, 3 -
transportator
InvoicesXmlResponse (răspunsul facturilor fiscale în format XML)
Results Array of
Invoice
Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 24 of 44
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-
executat cu succes, 3 - eroare la
executare
RequestId string Obligatoriu Solicitarea externă a
identificatorului
XmlInvoice (Factura Fiscală în format XML)
Xml string Obligatoriu Factura fiscală prezentată în
format xml după schema: .xsd
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional Dacă statut = 3. Mesajul conține
informații de eroare
Status string Opțional 2 - Ok
3- Eroare
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
InvoiceStatus int Obligatoriu Statutul facturii fiscale: statute
disponibile
Draft = 0,
Semnat de Furnizor = 1,
Refuzat de Cumpărător = 2,
Acceptat de Cumpărător = 3,
Anulat de Furnizor = 5,
Trimis la Cumpărător = 7,
Semnat de Cumpărător = 8,
Transportat (semnat că
bunuri/servicii au fost primite) =
10
4.6.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new SignRequest { RequestId = newid, ActorRole = 1, Order = 1 }; var response = _client.GetInvoicesForSigning(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " " + info.Xml + " Error Message: " + info.Message);
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 25 of 44
4.7 InvoicesResponse GetAcceptedInvoices (ActorBaseRequest request)
4.7.1 Operațiuni de Servicii
Semnătura GetAcceptedInvoices (ActorBaseRequest request):
InvoicesResponse
Descrierea Obține conținutul facturii fiscal pentru semnare
Returnări Structura care conține Rezultate (Mulțime de facturi fiscale),
TimeStamp și RequestId
Parametrii de intrare
Nume Tip Descrierea
request ActorBaseRequest Structura care reprezintă
rolul actorului și
RequestId
Defecte
Codul Motiv
AuthenticationFailedException Procesul serviciului de autentificare consumatorului a eșuat.
AutorizationFailedException Procesul serviciului de autorizare a consumatorului a eșuat.
InternalErrorException
4.7.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
ActorBaseRequest (Solicitare bazată pe tipul actorului)
RequestId string Obligatoriu Identificator extern
ActorRole int Obligatoriu, mai
mult decât 0
Roluri de actor în SIA E-Factura: 1-
furnizor, 2 – cumpărător, 3 -
transportator
InvoicesResponse (Răspunsul Facturilor Fiscale)
Results Array of
Invoice
Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-executat cu
succes, 3 - eroare la executare
RequestId string Obligatoriu Solicitarea externă a identificatorului
Invoice (factura fiscală)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional Dacă statut = 3. Mesajul conține
informații de eroare
Status string Opțional 2 - Ok
3- Eroare
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 26 of 44
InvoiceStatus int Obligatoriu Statutul facturii fiscale: statute
disponibile
Draft = 0,
Semnat de Furnizor = 1,
Refuzat de Cumpărător = 2,
Acceptat de Cumpărător = 3,
Anulat de Furnizor = 5,
Trimis la Cumpărător = 7,
Semnat de Cumpărător = 8,
Transportat (semnat că bunuri/servicii au
fost primite) = 10
4.7.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new ActorBaseRequest { RequestId = newid }; var response = _client.GetAcceptedInvoices(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " " + info.Xml + " Error Message: " + info.Message); }
4.8 InvoicesResponse GetRejectedInvoices (ActorBaseRequest request)
4.8.1 Operațiuni de Servicii
Semnătura GetRejectedInvoices (ActorBaseRequestrequest): InvoicesResponse
Descrierea Obține facturi fiscale refuzate de la SIA E-Factura
Returnări Structura care conține rezultate, TimeStamp și RequestId
Parametrii de intrare
Nume Tip Descrierea
request ActorBaseRequest Structura care reprezintă parametrii pentru
căutarea facturilor fiscal și RequestId
4.8.2 Structura
Membru Tip Obligatoriu /
Opțional
Descrierea
ActorBaseRequest (Solicitare bazată pe tipul actorului)
RequestId string Obligatoriu Identificator extern
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 27 of 44
ActorRole int Obligatoriu,
mai mult decât
0
Rolurile actorilor în cadrul SIA E-
Factura: 1-furnizor, 2 – cumpărător, 3 -
transportator
InvoicesResponse (Răspunsul Facturilor Fiscale)
Results Array of
Invoice
Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-executat
cu succes, 3 - eroare la executare
RequestId string Obligatoriu Solicitarea externă a identificatorului
Invoice (factura fiscală)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional Nu se folosește pentru metoda asta
Status string Opțional Nu se folosește pentru metoda asta
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
InvoiceStatus int Obligatoriu Statutul facturii fiscale: statute
disponibile
Draft = 0,
Semnat de Furnizor = 1,
Refuzat de Cumpărător = 2,
Acceptat de Cumpărător = 3,
Anulat de Furnizor = 5,
Trimis la Cumpărător = 7,
Semnat de Cumpărător = 8,
Transportat (semnat că bunuri/servicii
au fost primite) = 10
4.8.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new ActorBaseRequest { RequestId = newid, ActorRole = 1 }; var response = _client.GetRejectedInvoices(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " " + info.Xml + " Error Message: " + info.Message); }
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 28 of 44
4.9 RejectedResponse PostRejectedInvoices (RejectRequest request)
4.9.1 Operațiuni de Servicii
Semnătura PostRejectedInvoices (RejectRequest request): RejectedResponse
Descrierea Postează facturi fiscal refuzate pe E-Factura
Returnări Structura care conține rezultate, TimeStamp și RequestId
Parametrii de intrare
Nume Tip Descrierea
request RejectRequest Structura care reprezintă facturi
fiscal refuzate și RequestId
4.9.2 Structura
Membru Tip Obligatoriu /
Opțional
Descriere
RejectRequest (Solicitare de refuzare)
RequestId string Obligatoriu Identificator extern
InvoicesComments Array of
InvoiceComment
Obligatoriu Comentarii și identificatori al
facturilor fiscal refuzate
RejectedResponse (răspunsul de refuzare)
Results Array of
InvoiceResult
Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-
executat cu succes, 3 - eroare la
executare
RequestId string Obligatoriu Solicitarea externă a
identificatorului
InvoiceComment (comentariul facturii fiscale)
Comment string Obligatoriu Refuzul comentariului
(Reject Comment)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
InvoiceResult (rezultatul facturii fiscale)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional În caz de refuz mesajul nu este
posibil sau au fost careva erori
Status string Opțional Statutul refuzului: 2 – succes, 3 -
eroare
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
4.9.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 29 of 44
string newid = Guid.NewGuid().ToString(); var request = new RejectRequest { InvoicesComments = new List<InvoiceComment> { new InvoiceComment { Number = "0000046766", Seria = "EA7A", Comment = "reject ha ha ha" }, new InvoiceComment { Number = "000004663", Seria = "EAA", Comment = "reject ha ha ha" } }.ToArray(), RequestId = newid }; var response = _client.PostRejectedInvoices(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number+ " " + info.Message); }
4.10 AcceptedResponse PostAcceptedInvoices (AcceptedRequest request)
4.10.1 Operațiuni de Servicii
Semnătura PostAcceptedInvoices (AcceptedRequest request): AcceptedResponse
Descrierea Postează facturi fiscal acceptate pe E-Factura
Returnări Structura care conține rezultate, TimeStamp și RequestId
Parametrii de intrare
Nume Tip Descrierea
request AcceptedRequest Structura care reprezintă facturi
fiscal acceptate și RequestId
4.10.2 Structura
Membru Tip Obligatoriu
/ Opțional
Descrierea
AcceptedRequest (solicitare de acceptare)
RequestId string Obligatoriu Identificator extern
SeriaAndNumbers Array of
InvoiceIndentificator
Obligatoriu Identificatorul facturilor acceptate
AcceptedResponse (solicitare de acceptare)
Results Array of
InvoiceResult
Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-
executat cu succes, 3 - eroare la
executare
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 30 of 44
RequestId string Obligatoriu Solicitarea externă a
identificatorului
InvoiceResult (Rezultatul Facturii Fiscale)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional În caz de acceptare mesajul nu este
posibil sau au fost careva erori
Status string Obligatoriu Statut acceptat: 2 - Succes, 3-
Eroare
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
4.10.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new AcceptedRequest { SeriaAndNumbers = new List<InvoiceIndentificator> { new InvoiceIndentificator { Number = "000004664", Seria = "EA7A"}, new InvoiceIndentificator { Number = "000004664", Seria = "EAA" } }.ToArray(), RequestId = newid }; var response = _client.PostAcceptedInvoices(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " " + info.Message); }
4.11 CanceledResponse PostCanceledInvoices (CanceledRequest request)
4.11.1 Operațiuni de Servicii
Semnătura PostCanceledInvoices (CanceledRequest request): CanceledResponse
Descrierea Postează facturile anulate la E-Factura IS
Returnări Structura care conține rezultate, TimeStamp și RequestId
Parametrii de intrare
Numele Tip Descrierea
request CanceledRequest O structură care reprezintă
facturi fiscal anulate și
RequestId
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 31 of 44
4.11.2 Structura
Membru Tip Obligatoriu/
Opțional
Descrierea
CanceledRequest (solicitare de anulare)
RequestId string Obligatoriu Identificatorul extern
InvoicesComments Array of
InvoiceComment
Obligatoriu Identificatorul facturilor fiscale
anulate
CanceledResponse (răspunsul de anulare)
Results Array of
InvoiceResult
Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-executat
cu succes, 3 - eroare la executare
RequestId string Obligatoriu Solicitarea externă a
identificatorului
InvoiceComment (comentariul facturii fiscale)
Comment string Obligatoriu Comentariu anulat
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
InvoiceResult
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional Mesajul în cazul anulării este
imposibil sau au fost careva erori
Status string Opțional Statut acceptat: 2 - Succes, 3-Eroare
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
4.11.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier"; string newid=Guid.NewGuid().ToString(); var request = new TaxpayersRequest {FiscalCodes = new[] {"1003600106115", "1002600046027"}, RequestId = newid}; var response = _client.GetTaxpayersInfo(request); foreach (var info in response.Result) { Console.WriteLine(info.Name+" "+info.IDNO+" "+info.Address); }
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 32 of 44
4.12 PostInvocesResponse PostInvoices (PostInvocesRequest request)
4.12.1 Operațiuni de Servicii
Semnătura PostInvoices (PostInvocesRequest request): PostInvocesResponse
Descrierea Postează facturi fiscale la SIA E-Factura
Returnări O structură care conține rezultate, TimeStamp și RequestId
Parametrii de intrare
Numele Tip Descrierea
request PostInvocesRequest O structură care reprezintă
facturi fiscale și RequestId
4.12.2 Structura
Membru Tip Obligatoriu/
Opțional
Descrierea
PostInvocesRequest (solicitare de postare a facturilor fiscale)
RequestId string Obligatoriu Identificatorul extern
InvoicesXml string Obligatoriu Prezentarea facturilor în format xml
ActorRole int Obligatoriu,
mai mult
decât 0
Rolul actorului în E-Factura: 1-furnizor,
2 – cumpărător, 3 - transportator
InvoicesXmlStatus string Obligatoriu Statut xml:1- semnat, 0- nesemnat
PostInvocesResponse (răspunsul postării facturilor fiscale)
TotalInvoices int Obligatoriu Numărul facturilor trimise de client
TotalInvoicesPosted int Obligatoriu Numărul facturilor fiscale postate
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul răspunsului: 1-
acceptat pentru executare, 2-executat cu
succes, 3 - eroare la executare
RequestId string Obligatoriu Solicitarea externă a identificatorului
ErrorMessage string Opțional Conține codul erorilor și descrierea
(Codul erorilor: 1- XML incorect, 2-
eroarea în timpul procesării)
4.12.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier"; string newid = Guid.NewGuid().ToString(); var request = new PostInvocesRequest() { RequestId = newid, InvoicesXml = @"<Documents> <Document> <SupplierInfo> <DeliveryDate>2014-04-22T00:00:00.804Z</DeliveryDate> <Supplier IDNO=""1002600001257"">
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 33 of 44
<BankAccount Account=""22241410046"" /> </Supplier> <Buyer IDNO=""1002600003354""> <BankAccount Account=""2224710SV12365037100"" /> </Buyer> <Merchandises> <Row Code=""1"" Name=""Abon. Contactell "" UnitOfMeasure=""buc "" Quantity=""-1"" UnitPriceWithoutTVA=""-15.00"" TotalPriceWithoutTVA=""-15.00"" TVA=""20"" TotalTVA=""3.00"" TotalPrice=""-18.00"" /> <Row Code=""1"" Name=""Abon. Contactell 111"" UnitOfMeasure=""buc "" Quantity=""-1"" UnitPriceWithoutTVA=""-15.00"" TotalPriceWithoutTVA=""-15.00"" TVA=""20"" TotalTVA=""3.00"" TotalPrice=""-18.00"" /> </Merchandises> </SupplierInfo> </Document> </Documents>", InvoicesXmlStatus = 0 }; var response = _client.PostInvoices(request); Console.WriteLine("response=" + response.TotalInvoicesPosted);
4.13 InvoicesResponse SearchInvoices (SearchRequest request);
4.13.1 Operațiuni de Servicii
Semnătura SearchInvoices (SearchRequest request): InvoicesResponse
Descrierea Obține conținutul facturii fiscale după criteriul de căutare
Returnări O structură care conține rezultare (mulțime de facturi),
TimeStamp și RequestId
Parametrii de intrare
Numele Tip Descrierea
request SearchRequest O structură care
reprezintă parametrii de
căutare a facturilor
fiscale
Defecte
Codul Motiv
AuthenticationFailedException Procesul serviciului de autentificare consumatorului a eșuat.
AutorizationFailedException Procesul serviciului de autorizare a consumatorului a eșuat.
InternalErrorException
4.13.2 Structura
Membru Tip Obligatoriu/Opțional Descrierea
SearchRequest (solicitare de căutare)
RequestId string Obligatoriu Identificatorul extern
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 34 of 44
ActorRole int Obligatoriu, mai mult
decât 0
Rolul actorului în E-Factura:
1-furnizor, 2 – cumpărător, 3
- transportator
Parameters SearchParameters Obligatoriu Parametrii de căutare a
facturilor fiscale
SearchParameters (parametrii de căutare)
InvoiceStatus int Obligatoriu Statutul facturii fiscale:
statute disponibile:
Draft = 0,
Semnat de Furnizor = 1,
Refuzat de Cumpărător = 2,
Acceptat de Cumpărător = 3,
Anulat de Furnizor = 5,
Trimis la Cumpărător = 7,
Semnat de Cumpărător = 8,
Transportat (semnat că
bunuri/servicii au fost
primite) = 10
SupplierIDNO string Opțional IDNO furnizorului
BuyerIDNO string Opțional IDNO cumpărătorului
TransporterIDNO string Opțional IDNO transportatorului
Seria string Opțional Seria Facturii Fiscale
Number string Opțional Numărul Facturii Fiscale
InvoiceType int Opțional Tipul facturii fiscale (Factura
Fiscală=0 Scrisoare de
trăsătură=1)
IssuedOn DateSearch Opțional Data Emiterii
DeliveredOn DateSearch Opțional Data Livrării
RegisteredOn DateSearch Opțional Data Înregistrării
APIeInvoiceId string Opțional Identificatorul intern al
sistemului contabil
DateSearch (căutarea datelor de timp)
StartDate DateTime Obligatoriu
EndDate DateTime Opțional
Represent the status of
response:
1- accepted for execution, 2-
successfully executed, 3 –
error when executing
InvoicesResponse (răspnsul facturilor fiscale)
Results Array of Invoice Obligatoriu Mulțime de facturi fiscale
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
Status Int Obligatoriu Reprezintă statutul
răspunsului: 1- acceptat
pentru executare, 2-executat
cu succes, 3 - eroare la
executare
RequestId string Obligatoriu External request identifier
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 35 of 44
Invoice (factura fiscală)
Number string Obligatoriu Numărul Facturii Fiscale
Seria string Obligatoriu Seria Facturii Fiscale
Message string Opțional Nu se folosește în metoda
asta
Status string Opțional Nu se folosește în metoda
asta
TimeStamp DateTime Obligatoriu Amprenta de timp al acțiunii
InvoiceStatus int Obligatoriu Statutul facturii fiscale:
statute disponibile:
Draft = 0,
Semnat de Furnizor = 1,
Refuzat de Cumpărător = 2,
Acceptat de Cumpărător = 3,
Anulat de Furnizor = 5,
Trimis la Cumpărător = 7,
Semnat de Cumpărător = 8,
Transportat (semnat că
bunuri/servicii au fost
primite) = 10
4.13.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier";
string newid = Guid.NewGuid().ToString(); var request = new SearchRequest { RequestId = newid, ActorRole = 1, Parameters = new SearchParameters { InvoiceStatus = 7, IssuedOn = new DateSearch { StartDate = DateTime.Now.AddDays(-100), EndDate = DateTime.Now}, BuyerIDNO = "1002600001431" } }; var response = _client.SearchInvoices(request); foreach (var info in response.Results) { Console.WriteLine(info.Seria + " " + info.Number + " " + info.Xml + " Error Message: " + info.Message);
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 36 of 44
4.14 LogsResponse GetLogs(LogsRequest request)
4.14.1 Operațiuni de Servicii
Semnătura GetLogs (LogsRequestrequest): LogsResponse
Descrierea Obține Log-uri de la SIA E-Factura
Returnări A structure that contains the Results, TimeStamp and RequestId
Parametrii de intrare
Numele Tip Descrierea
request LogsRequest O structură care reprezintă
perioada de timp și RequestId
4.14.2 Structura
Membru Tip Obligatoriu/
Opțional
Descrierea
LogsRequest (solicitarea de log-uri)
RequestId string Obligatoriu Identificatorul extern
From DateTime Obligatoriu Perioada de început
To DateTime Opțional Perioada de sfârșit
LogsResponse (răspunsul log-urilor)
Results Array of
RequestLog
Obligatoriu Mulțime de RequestLog (solicitări de logare)
RequestLog (log-ul solicitării)
Username string Obligatoriu Nume de utilizator care a invocat metoda
Method string Obligatoriu Numele metodei
StartDateTime DateTime Obligatoriu Începutul executării
EndDateTime DateTime Obligatoriu Sfârșitul executării
Status int Obligatoriu Statutul executării
Error string Opțional Mesajul de eroare în caz dacă a fost executat cu
succes
Response string Obligatoriu Răspunsul returnat în JASON format, spre
exemplu:
{"Results":[{"Status":2,"Seria":"EAA","Number"
:"000005949"},
{"Status":2,"Seria":"EAA","Number":"00000595
0"},
{"Status":2,"Seria":"EAA","Number":"00000595
1"}],
"TimeStamp":"\/Date(1408460536810)\/","Status
":2,"RequestId":"4a1d38e8-7377-4748-97e4-
0ed41c1fc189"}
4.14.3 Exemplul Codului Pentru Metoda de Apelare
private EFacturaApiRef.ServiceClient _client; _client = new EFacturaApiRef.ServiceClient(); _client.ClientCredentials.UserName.UserName = "supplier"; _client.ClientCredentials.UserName.Password = "supplier"; string newid = Guid.NewGuid().ToString();
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 37 of 44
LogsRequest request = new LogsRequest { RequestId = newid, From = DateTime.Now.AddDays(-1), To = DateTime.Now }; var logs = _client.GetLogs(request); foreach (var log in logs.Results) { Console.WriteLine("Method: {0}, User: {1}, DateTime: {2} Status: {3}, Result: {4}",log.Method, log.Username,log.StartDateTime, log.Status, log.Response); }
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 38 of 44
5 Modelul Aplicării Semnăturilor Digitale
Sursa XML conține toate datele necesare de la factura fiscală electronică (ETI): faptul arătat mai
jos. E-Factura creează o adunătură care trebuie de a fi semnată cu semnătura digitală (este
evidențiată în galben în codul de mai jos):
<Document>
<SupplierInfo>
<Seria>EAA</Seria>
<Number>000005424</Number>
<DeliveryDate>2014-09-14T08:58:49.891Z</DeliveryDate>
<Supplier IDNO="1002600001257" TaxpayerType="1" Title="Firma mea" Address="Adres
Supplier">
<BankAccount Account="12332325524" BranchTitle="BEM" BranchCode="MDXSFF" />
</Supplier>
<Buyer IDNO="1002600003815" TaxpayerType="1" Title="VITALITE - MIHAELA
S.R.L." Address="Adres Buyer">
<BankAccount Account="122332325524" BranchTitle="BE9M" BranchCode="MDXSFF"
/>
</Buyer>
<Transporter IDNO="1002600001257" TaxpayerType="1" Title="Firma mea"
Address="Adres Supplier">
<BankAccount Account="12332325524" BranchTitle="BEM" BranchCode="MDXSFF" />
</Transporter>
<DelegateName>12345</DelegateName>
<DelegateDate>2014-08-14T08:58:49.891Z</DelegateDate>
<Total>124434.04</Total>
<TotalTVA>22444.04</TotalTVA>
<Merchandises>
<Row Code="122414" Name="Medicamente" UnitOfMeasure="buc." Quantity="4"
UnitPriceWithoutTVA="142.4" TotalPriceWithoutTVA="1335.4" TVA="20" TotalTVA="100"
TotalPrice="10035.5" />
</Merchandises>
</SupplierInfo>
<IsFarma>false</IsFarma>
<CreationMotiv>4</CreationMotiv> </Document>
Adunătura este semnată prin metoda digitală (este arătat în codul de mai jos):
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_ce6076c8-4b53-47a9-bdac-a9dde2fabce6">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 39 of 44
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="#default samlp saml ds xs xsi" />
</Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>DDwa1NO5Ms7zhP5J1aK4hJ9MhhA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>DU0kHrZATBCYXoc0SSrpa6Yn0wX19HPJ6zN2ZIXuYpEObaBM3MrJl4R
nODUMWTW8LknBhmmepNZDvUuZs8SVka/kp0GLoKRJ8LFshnKeOtnb3+iSqH1YN/Qajsz
1YECQPXSr57+7fegrMUD/wKX5Mu4zShDDRtH8ppv+MysO72E=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIBnDCCAQUCBEbTmfQwDQYJKoZIhvcNAQEEBQAwFTETMBEGA
1UEAxMKd3d3LnNwLmNvbTAeFw0wNzA4MjgwMzQzNDhaFw0xNzA4MjUwMzQzNDha
MBUxEzARBgNVBAMTCnd3dy5zcC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAJX7T4CftxFxWWb8H2fz7ihrArk1jbR7xlUWvEZ+0ns72RhmH0NBEYaJIMCHFWHK
exW5pOiFYCJsJykCqTVkhzO01fvkOSa++037Ro/XqBUHssLeCXseFLCYhFutnddqG643fPS3
X5ygMOrJnPDct7ijPjeRRUP/4WyLkQrv2zF/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYE
AMHNI8XhF8+D6IBLqAphM31/LvWggeVBYCo7+7s1hssALqJ99Xuc7Vi8nykxuKuMJpILFJ
GnMhz15DaLgjqa7Ah9kyHz4bw7CwBbMEIpvn1JAglYodtsbKhcnJ8iw1e2AZX6DosfjdvrS/FL
V0N1ZA6+5fTf0pI26BF3OsIBjqI0=</X509Certificate>
</X509Data>
</KeyInfo> </Signature>
După semnare, sistemul creează o adunătură cu semnătura digitală încapsulată în interior (informații de
la factura fiscală electronică (ETI) sunt evidențiate, semnătura este marcată cu un text bold):
<Document>
<SupplierInfo>
<Seria>EAA</Seria>
<Number>000005424</Number>
<DeliveryDate>2014-09-14T08:58:49.891Z</DeliveryDate>
<Supplier IDNO="1002600001257" TaxpayerType="1" Title="Firma mea" Address="Adres
Supplier">
<BankAccount Account="12332325524" BranchTitle="BEM" BranchCode="MDXSFF" />
</Supplier>
<Buyer IDNO="1002600003815" TaxpayerType="1" Title="VITALITE - MIHAELA
S.R.L." Address="Adres Buyer">
<BankAccount Account="122332325524" BranchTitle="BE9M" BranchCode="MDXSFF"
/>
</Buyer>
<Transporter IDNO="1002600001257" TaxpayerType="1" Title="Firma mea"
Address="Adres Supplier">
<BankAccount Account="12332325524" BranchTitle="BEM" BranchCode="MDXSFF" />
</Transporter>
<DelegateName>12345</DelegateName>
<DelegateDate>2014-08-14T08:58:49.891Z</DelegateDate>
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 40 of 44
<Total>124434.04</Total>
<TotalTVA>22444.04</TotalTVA>
<Merchandises>
<Row Code="122414" Name="Medicamente" UnitOfMeasure="buc." Quantity="4"
UnitPriceWithoutTVA="142.4" TotalPriceWithoutTVA="1335.4" TVA="20" TotalTVA="100"
TotalPrice="10035.5" />
</Merchandises>
<IsFarma>false</IsFarma>
<CreationMotiv>4</CreationMotiv>
</SupplierInfo>
<Signatures>
<SignatureContent>
<SignedDoc>
<hash Id="_ce6076c8-4b53-47a9-bdac-
a9dde2fabce6">C4B68F459EBE040AA715F6963023B6F2E5F46F3E</hash>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_ce6076c8-4b53-47a9-bdac-a9dde2fabce6">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="#default samlp saml ds xs xsi" />
</Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>DDwa1NO5Ms7zhP5J1aK4hJ9MhhA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>DU0kHrZATBCYXoc0SSrpa6Yn0wX19HPJ6zN2ZIXuYpEObaBM3MrJl4R
nODUMWTW8LknBhmmepNZDvUuZs8SVka/kp0GLoKRJ8LFshnKeOtnb3+iSqH1YN/Qajsz
1YECQPXSr57+7fegrMUD/wKX5Mu4zShDDRtH8ppv+MysO72E=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIBnDCCAQUCBEbTmfQwDQYJKoZIhvcNAQEEBQAwFTETMBEGA
1UEAxMKd3d3LnNwLmNvbTAeFw0wNzA4MjgwMzQzNDhaFw0xNzA4MjUwMzQzNDha
MBUxEzARBgNVBAMTCnd3dy5zcC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAJX7T4CftxFxWWb8H2fz7ihrArk1jbR7xlUWvEZ+0ns72RhmH0NBEYaJIMCHFWHK
exW5pOiFYCJsJykCqTVkhzO01fvkOSa++037Ro/XqBUHssLeCXseFLCYhFutnddqG643fPS3
X5ygMOrJnPDct7ijPjeRRUP/4WyLkQrv2zF/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYE
AMHNI8XhF8+D6IBLqAphM31/LvWggeVBYCo7+7s1hssALqJ99Xuc7Vi8nykxuKuMJpILFJ
GnMhz15DaLgjqa7Ah9kyHz4bw7CwBbMEIpvn1JAglYodtsbKhcnJ8iw1e2AZX6DosfjdvrS/FL
V0N1ZA6+5fTf0pI26BF3OsIBjqI0=</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</SignedDoc>
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 41 of 44
</SignatureContent>
</Signatures> </Document>
Sistemul aplică semnătura digitală următoare (a doua) în modul arătat mai jos:
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1078426c-56ed-4dcf-82c9-ea76a5404622">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="#default samlp saml ds xs xsi" />
</Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>ES2nLM56z6K815OYPbtQBIFuObQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>ToMFLMN2m/uTz5p1MbE3B3+7opEZ92ay7g5xDI+egTceJPBkd1ff1/fDDd
hq4+eWb9pLmC7TJJG73f3ZIZ3G4p5uqfAXLgyRSS6lMftl5GIXgMcpLgUm/MwWUdMmjA
VwXpDX2iDpd2CqssYdAL6oDFPlNWeA03PntTchq2M3MZQ=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIBnDCCAQUCBEbTmfQwDQYJKoZIhvcNAQEEBQAwFTETMBEGA
1UEAxMKd3d3LnNwLmNvbTAeFw0wNzA4MjgwMzQzNDhaFw0xNzA4MjUwMzQzNDha
MBUxEzARBgNVBAMTCnd3dy5zcC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAJX7T4CftxFxWWb8H2fz7ihrArk1jbR7xlUWvEZ+0ns72RhmH0NBEYaJIMCHFWHK
exW5pOiFYCJsJykCqTVkhzO01fvkOSa++037Ro/XqBUHssLeCXseFLCYhFutnddqG643fPS3
X5ygMOrJnPDct7ijPjeRRUP/4WyLkQrv2zF/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYE
AMHNI8XhF8+D6IBLqAphM31/LvWggeVBYCo7+7s1hssALqJ99Xuc7Vi8nykxuKuMJpILFJ
GnMhz15DaLgjqa7Ah9kyHz4bw7CwBbMEIpvn1JAglYodtsbKhcnJ8iw1e2AZX6DosfjdvrS/FL
V0N1ZA6+5fTf0pI26BF3OsIBjqI0=</X509Certificate>
</X509Data>
</KeyInfo> </Signature>
După ce a doua semnătura digitală este aplicată, E-Factura încapsulează aceasta semnătura într-un
fișier (privește codul de mai jos). Informația din ETI (factura fiscală electronică) este evidențiată
în galben, prima semnătură este evidențiată în verde:
<Document>
<SupplierInfo>
<Seria>EAA</Seria>
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 42 of 44
<Number>000005424</Number>
<DeliveryDate>2014-09-14T08:58:49.891Z</DeliveryDate>
<Supplier IDNO="1002600001257" TaxpayerType="1" Title="Firma mea" Address="Adres
Supplier">
<BankAccount Account="12332325524" BranchTitle="BEM" BranchCode="MDXSFF" />
</Supplier>
<Buyer IDNO="1002600003815" TaxpayerType="1" Title="VITALITE - MIHAELA
S.R.L." Address="Adres Buyer">
<BankAccount Account="122332325524" BranchTitle="BE9M" BranchCode="MDXSFF"
/>
</Buyer>
<Transporter IDNO="1002600001257" TaxpayerType="1" Title="Firma mea"
Address="Adres Supplier">
<BankAccount Account="12332325524" BranchTitle="BEM" BranchCode="MDXSFF" />
</Transporter>
<DelegateName>12345</DelegateName>
<DelegateDate>2014-08-14T08:58:49.891Z</DelegateDate>
<Total>124434.04</Total>
<TotalTVA>22444.04</TotalTVA>
<Merchandises>
<Row Code="122414" Name="Medicamente" UnitOfMeasure="buc." Quantity="4"
UnitPriceWithoutTVA="142.4" TotalPriceWithoutTVA="1335.4" TVA="20" TotalTVA="100"
TotalPrice="10035.5" />
</Merchandises>
<IsFarma>false</IsFarma>
<CreationMotiv>4</CreationMotiv>
</SupplierInfo>
<Signatures>
<SignatureContent>
<SignedDoc>
<hash Id="_ce6076c8-4b53-47a9-bdac-
a9dde2fabce6">C4B68F459EBE040AA715F6963023B6F2E5F46F3E</hash>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_ce6076c8-4b53-47a9-bdac-a9dde2fabce6">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="#default samlp saml ds xs xsi" />
</Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>DDwa1NO5Ms7zhP5J1aK4hJ9MhhA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>DU0kHrZATBCYXoc0SSrpa6Yn0wX19HPJ6zN2ZIXuYpEObaBM3MrJl4R
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 43 of 44
nODUMWTW8LknBhmmepNZDvUuZs8SVka/kp0GLoKRJ8LFshnKeOtnb3+iSqH1YN/Qajsz
1YECQPXSr57+7fegrMUD/wKX5Mu4zShDDRtH8ppv+MysO72E=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIBnDCCAQUCBEbTmfQwDQYJKoZIhvcNAQEEBQAwFTETMBEGA
1UEAxMKd3d3LnNwLmNvbTAeFw0wNzA4MjgwMzQzNDhaFw0xNzA4MjUwMzQzNDha
MBUxEzARBgNVBAMTCnd3dy5zcC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAJX7T4CftxFxWWb8H2fz7ihrArk1jbR7xlUWvEZ+0ns72RhmH0NBEYaJIMCHFWHK
exW5pOiFYCJsJykCqTVkhzO01fvkOSa++037Ro/XqBUHssLeCXseFLCYhFutnddqG643fPS3
X5ygMOrJnPDct7ijPjeRRUP/4WyLkQrv2zF/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYE
AMHNI8XhF8+D6IBLqAphM31/LvWggeVBYCo7+7s1hssALqJ99Xuc7Vi8nykxuKuMJpILFJ
GnMhz15DaLgjqa7Ah9kyHz4bw7CwBbMEIpvn1JAglYodtsbKhcnJ8iw1e2AZX6DosfjdvrS/FL
V0N1ZA6+5fTf0pI26BF3OsIBjqI0=</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</SignedDoc>
</SignatureContent>
<SignatureContent>
<SignedDoc>
<hash Id="_1078426c-56ed-4dcf-82c9-
ea76a5404622">6AAA03073E262FAC81546AB40A6523A10389C95D</hash>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1078426c-56ed-4dcf-82c9-ea76a5404622">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"
/>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#"
PrefixList="#default samlp saml ds xs xsi" />
</Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>ES2nLM56z6K815OYPbtQBIFuObQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>ToMFLMN2m/uTz5p1MbE3B3+7opEZ92ay7g5xDI+egTceJPBkd1ff1/fDDd
hq4+eWb9pLmC7TJJG73f3ZIZ3G4p5uqfAXLgyRSS6lMftl5GIXgMcpLgUm/MwWUdMmjA
VwXpDX2iDpd2CqssYdAL6oDFPlNWeA03PntTchq2M3MZQ=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIBnDCCAQUCBEbTmfQwDQYJKoZIhvcNAQEEBQAwFTETMBEGA
1UEAxMKd3d3LnNwLmNvbTAeFw0wNzA4MjgwMzQzNDhaFw0xNzA4MjUwMzQzNDha
MBUxEzARBgNVBAMTCnd3dy5zcC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAJX7T4CftxFxWWb8H2fz7ihrArk1jbR7xlUWvEZ+0ns72RhmH0NBEYaJIMCHFWHK
exW5pOiFYCJsJykCqTVkhzO01fvkOSa++037Ro/XqBUHssLeCXseFLCYhFutnddqG643fPS3
Document: Ghidul de integrare Comlet Automatizată
I.P. „Centrul de Tehnologii Informaționale în Finanțe” Page 44 of 44
X5ygMOrJnPDct7ijPjeRRUP/4WyLkQrv2zF/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYE
AMHNI8XhF8+D6IBLqAphM31/LvWggeVBYCo7+7s1hssALqJ99Xuc7Vi8nykxuKuMJpILFJ
GnMhz15DaLgjqa7Ah9kyHz4bw7CwBbMEIpvn1JAglYodtsbKhcnJ8iw1e2AZX6DosfjdvrS/FL
V0N1ZA6+5fTf0pI26BF3OsIBjqI0=</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</SignedDoc>
</SignatureContent>
</Signatures> </Document>
Procedura semnării se repetă atât cât este necesar, în fiecare ciclu sistemul creează o adunătură,
semnătura digitală următoare se adaugă în mod identic arătat în exemple de mai sus.