Skip to main content
Documentatie EasyBill

API EasyBill – Integrare rapidă cu aplicațiile tale

EasyBill pune la dispoziție o serie de API-uri care permit altor aplicații să interacționeze direct cu platforma. Astfel, poți integra facturarea și funcționalitățile EasyBill în propriile tale sisteme, pentru procese mai rapide și automatizate.

Pentru a utiliza API-urile EasyBill și a permite altor aplicații să interacționeze cu platforma, este necesar să creezi un utilizator de tip API din meniul Setări → Utilizatori. Acest cont dedicat îți oferă acces securizat și controlat la funcționalitățile disponibile prin API.

Cele mai uzuale API-uri puse la dispoziție de EasyBill sunt:

Provizionare

  • Creare utilizator EasyBill dintr-o platforma externa

Autentificare

  • Autentificare utilizator API

Cont

  • Obținere detalii cont

ANAF e-Factura

  • Conectare la ANAF e-Factura

Facturi

  • Creare factură
  • Listare facturi
  • Detalii factură
  • Adăugare produse la factura
  • Obținere valori TVA
  • Actualizare factură
  • Descărcare factură

Clienți

  • Creare client
  • Listare clienți
  • Actualizare client
  • Ștergere client (soft delete)

Plăți

  • Adăugare plată la o factură
  • Vizualizare plăți aferente unei facturi

Endpoint unificat

Interacțiunea cu API-urile EasyBill se realizează printr-un endpoint unificat, disponibil la adresa:

https://apps.easybill.ro/cgi-bin/index.cgi?action=plugin

Toate metodele API sunt accesibile prin acest endpoint, diferențierea făcându-se în funcție de parametrii transmiși în request.

Provizionare utilizator

Metoda POST provisionuser_fct creează (sau activează) un utilizator/cont în EasyBill pe baza datelor primite de la un partener integrat. Este utilă pentru onboarding automat, direct din sistemul tău.

Autorizare (partener)

Accesul se validează prin perechea apikey + consumer (cheie și identificator partener).

ParametruTipExempluDescriere
modeStringAPIAcces prin API (valoare fixă).
secStringprovisionuser_fctMetoda apelată (valoare fixă).
apikeyStringapi-key-partenerCheia ta de API, emisă pentru partener.
consumerStringid-partenerID-ul partenerului/integrării.
idString0712121215Identificator unic al consumatorului final în sistemul tău (ex. clientId extern). Folosește aceeași valoare pentru idempotență.
userprefixStringpartnerId_Prefix folosit la generarea username-ului în EasyBill (ex: partnerId_0712121215).
roleStringstartRolul inițial al utilizatorului (ex: start; alte roluri pot fi configurate la onboarding).


Exemplu request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

mode=API&
sec=provisionuser_fct&
apikey=api-key-partener&
consumer=id-partener&
id=0712121215&
userprefix=partnerId_&
role=start

Exemplu de raspuns (succes)

{
  "status": 1,
  "username": "partnerId_0712121215",
  "generatedPassword": "XyZ9!kLm",
  "message": "Utilizatorul a fost provisionat cu succes"
}

Autentificare

Autentificarea se face folosind metoda POST authenticateUser_fct

Parametrii HTTP necesari

  • mode=API – indică faptul că accesul se face prin API.
  • sec=authenticateUser_fct – specifică metoda de autentificare utilizată.
  • Username – numele de utilizator al contului de tip API.
  • Password – parola aferentă contului API.

Exemplu de request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

mode=API&sec=authenticateUser_fct&Username=api_user&Password=parola123
Exemplu de raspuns
{
    "Alias": "user-507",
    "status": 1,
    "SessionId": "0d0d6a7aebbe51f63d3e9abdb18a6d42",
    "AppUnique": "44235149x19418608",
    "UserId": "507",
    "StatusMessage": "Success"
}

Parametrii AppUnique (care reprezintă tenantId), UserId și SessionId trebuie incluși în apelurile ulterioare către EasyBill pentru toate metodele care necesită autentificare.

Detalii Cont

Metoda getCompanyInfo_fct permite obținerea informațiilor despre contul EasyBill al comerciantului autentificat. Este utilă pentru a prelua datele firmei (de ex. denumire, CUI, adresă) care sunt asociate contului EasyBill.

Parametrii necesari

  • mode=API – specifică accesul prin API.
  • sec=getCompanyInfo_fct – indică metoda apelată (în acest caz, obținerea datelor companiei).
  • AppUnique={{AppUnique}} – identificatorul unic al tenantului (corespunde tenantId).
  • UserId={{UserId}} – ID-ul utilizatorului autentificat.
  • SessionId={{SessionId}} – token-ul de sesiune obținut la autentificare.
GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getCompanyDetails_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}} HTTP/1.1
Host: apps.easybill.ro

Exemplu de raspuns

{
    "anafShortCode": "LE9KI",
    "agentCommission": "0",
    "companyCurrencyCommission": "0",
    "companyDecimalPrecision": "",
    "companyUniqueRegistrationNumber": "30305759",
    "companyTradeRegistryNumber": "-",
    "companyLargeLogoURL": "",
    "agentName": "",
    "companyVAT": "0",
    "anafConnectionURL": "https://apps.easybill.ro/anaf-connect/LE9KI",
    "companyData": "0711223344",
    "agentSSN": "",
    "companyWithVATAtCollection": "0",
    "companyIsWithoutVAT": "0",
    "companyLogoURL": "",
    "agentSeries": "",
    "companyName": "Easybill Digital S.R.L.",
    "companyDefaultCurrency": ""
}

Conectare ANAF e-Factura

Pentru conectarea aplicației tale la ANAF e-Factura, procesul este foarte simplu. Tot ce trebuie să faci este să folosești linkul de conectare la ANAF generat de EasyBill, unic pentru fiecare comerciant. Acesta este primit pe raspuns la getCompanyDetails_fct: anafConnectionURL

Pași de urmat

1. Obține linkul de conectare
Din răspunsul API EasyBill, primești un câmp de forma:

"anafConnectionURL": "https://apps.easybill.ro/anaf-connect/LE9KI"

Acest URL este unic pentru fiecare comerciant.

2. Redirecționează utilizatorul către ANAF

Aplicatia ta trebuie să trimită utilizatorul pe linkul anafConnectionURL. Acolo se face autentificarea în sistemul ANAF.

3. Autorizarea conexiunii
Odată autentificat, utilizatorul autorizează accesul EasyBill la contul său ANAF pentru transmiterea și descărcarea facturilor electronice.

4. Confirmarea conexiunii
După autorizare, EasyBill confirmă succesul conectării. Din acest moment, schimbul de facturi cu ANAF e-Factura se face automat prin EasyBill, fără alte acțiuni suplimentare.

Client

Creare client

Metoda addClient_fct permite crearea unui client nou în EasyBill. Este utilă pentru a adăuga clienți direct din aplicația ta și pentru a-i utiliza ulterior la emiterea facturilor.

Metodă HTTP

POST

Parametrii necesari

ParametruTipExempluDescriere
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
modeStringAPIAcces prin API (valoare fixă)
secStringaddClient_fctMetoda apelată (valoare fixă)
clientNameStringClient API E-Factura 2Denumirea clientului
clientCIFStringRO11223344Cod de identificare fiscală (CUI/CIF)
clientNrRegComStringJ11/20/2015Număr Registrul Comerțului
clientAddressLineStringUnirii 1Adresa completă
clientCountyStringB-SECTOR1Județ/Sector
clientCountryStringROCod țară
clientContactPersonStringIonut PopescuPersoana de contact
clientPhoneString0733112233Telefon
clientEmailStringionut.popescu@easybill.roEmail
clientBankStringOMRO IFN SABancă
clientBankAccountStringRO11 OMRO 0000 1111 2222 3333IBAN
clientCityStringBucurestiOraș
xTypeStringLETip client (LE = persoană juridică, PF = persoană fizică)
xPaymentTermsInt10Termen de plată (zile)
xSendInvoiceByEmailBoolean1Trimite facturi prin email (1 = da, 0 = nu)
xSendInvoiceBySmsBoolean1Trimite facturi prin SMS (1 = da, 0 = nu)
jsonBoolean1Solicită răspuns în format JSON

Exemplu request – Bucuresti

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addClient_fct&
clientName=Client%20API%20E-Factura%202&
clientCIF=RO11223344&
clientNrRegCom=J11/20/2015&
clientAddressLine=Unirii%201&
clientCounty=B-SECTOR1&
clientCountry=RO&
clientContactPerson=Ionut%20Popescu&
clientPhone=0733112233&
clientEmail=ionut.popescu@easybill.ro&
clientBank=OMRO%20IFN%20SA&
clientBankAccount=RO11OMRO0000111122223333&
clientCity=Bucuresti&
xType=LE&
xPaymentTerms=10&
xSendInvoiceByEmail=1&
xSendInvoiceBySms=1&
json=1

Exemplu request tara

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addClient_fct&
clientName=Client%20API%20E-Factura%202&
clientCIF=RO11223344&
clientNrRegCom=J11/20/2015&
clientAddressLine=Unirii%201&
clientCounty=AG&
clientCountry=RO&
clientContactPerson=Ionut%20Popescu&
clientPhone=0733112233&
clientEmail=ionut.popescu@easybill.ro&
clientBank=OMRO%20IFN%20SA&
clientBankAccount=RO11OMRO0000111122223333&
xPaymentTerms=10&
xSendInvoiceByEmail=1&
xSendInvoiceBySms=1&
json=1&
clientCity=Pitesti&
xType=LE

Exemplu răspuns

{
    "clientId": "595039",
    "status": 1
}

Listare clienți

Metoda searchClient_fct permite listarea și căutarea clienților existenți din contul EasyBill. Poți folosi parametrii opționali pentru a filtra rezultatele prin căutare full-text și pentru a limita numărul de rezultate returnate.

Metodă HTTP

GET

Parametrii necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API (valoare fixă).
secStringsearchClient_fctMetoda apelată (valoare fixă).
AppUniqueString{{AppUnique}}Identificatorul unic al tenantului (tenantId).
UserIdString{{UserId}}ID-ul utilizatorului autentificat.
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare.
queryStringtest(Opțional) Căutare full-text în lista de clienți (după nume, email, CIF etc.).
limitInteger10(Opțional) Număr maxim de clienți returnați.

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchClient_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&query=test&limit=10 HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "clientCIF": "1232343",
        "clientCountryCode": "RO",
        "clientPaymentTerms": "0",
        "clientName": "12",
        "clientContactPerson": "2312312",
        "clientAddressLine": "2312312",
        "clientNotificationsEmail": "1",
        "clientBankAccount": "2312312",
        "clientId": "297995",
        "clientCity": "",
        "clientCounty": "2312312",
        "clientType": "LE",
        "clientEmail": "",
        "clientCountyCode": "",
        "clientNrRegCom": "12312312",
        "clientPhone": "",
        "clientNotificationsSms": "1",
        "clientBank": "1232"
    },
    {
        "clientCIF": "12deferf",
        "clientCountryCode": "RO",
        "clientPaymentTerms": "0",
        "clientName": "12121212",
        "clientContactPerson": "12",
        "clientAddressLine": "121",
        "clientNotificationsEmail": "1",
        "clientBankAccount": "12",
        "clientId": "297991",
        "clientCity": "",
        "clientCounty": "12",
        "clientType": "LE",
        "clientEmail": "",
        "clientCountyCode": "",
        "clientNrRegCom": "12",
        "clientPhone": "",
        "clientNotificationsSms": "1",
        "clientBank": "12"
    },
    {
        "clientCIF": "232323232",
        "clientCountryCode": "RO",
        "clientPaymentTerms": "11",
        "clientName": "12341fgv",
        "clientContactPerson": "11",
        "clientAddressLine": "11",
        "clientNotificationsEmail": "0",
        "clientBankAccount": "11",
        "clientId": "301319",
        "clientCity": "Bucuresti",
        "clientCounty": "BUCURESTI - Sector 4",
        "clientType": "LE",
        "clientEmail": "",
        "clientCountyCode": "B-SECTOR4",
        "clientNrRegCom": "11",
        "clientPhone": "",
        "clientNotificationsSms": "1",
        "clientBank": "111"
    }
]

Actualizare client

Metoda updateClient_fct permite actualizarea informațiilor unui client deja existent în EasyBill. Este necesar să transmiți clientId și doar câmpurile pe care dorești să le modifici.

Metodă HTTP
POST

Parametri necesari

ParametruTipExempluDescriere
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
modeStringAPIAcces prin API
secStringupdateClient_fctMetoda apelată
clientIdInteger292391ID-ul clientului ce trebuie actualizat
xClientNameStringClient API Mobile 1Numele clientului
xClientSSNStringMOB1122330Cod numeric personal sau identificator unic
xClientRegComStringJ11/20/2015Nr. Registrul Comerțului
xClientAddressStringUnirii 1Adresa completă
xClientCountyStringB-SECTOR1Județ / Sector
xClientCountryStringROCod țară
xClientContactPersonStringIonut PopescuPersoana de contact
xClientEmailString0733112233Email (atenție la câmp, în exemplu este inversat cu telefonul)
xClientPhoneStringionut.popescu@easybill.roTelefon (în exemplu este inversat cu emailul)
xClientBankStringOMRO IFN SABancă
xClientBankAccountStringRO11 OMRO 0000 1111 2222 3333Cont IBAN
xClientCityStringBucurestiOraș
xPaymentTermsInteger5Termen de plată (zile)
xSendInvoiceByEmailBoolean1Trimitere facturi pe email (1=da, 0=nu)
xSendInvoiceBySmsBoolean1Trimitere facturi prin SMS (1=da, 0=nu)
jsonBoolean1Solicită răspuns în format JSON

Exemplu request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=updateClient_fct&
clientId=292391&
xClientName=Client%20API%20Mobile%201&
xClientSSN=MOB1122330&
xClientRegCom=J11/20/2015&
xClientAddress=Unirii%201&
xClientCounty=B-SECTOR1&
xClientCountry=RO&
xClientContactPerson=Ionut%20Popescu&
xClientEmail=ionut.popescu@easybill.ro&
xClientPhone=0733112233&
xClientBank=OMRO%20IFN%20SA&
xClientBankAccount=RO11OMRO0000111122223333&
xClientCity=Bucuresti&
xPaymentTerms=5&
xSendInvoiceByEmail=1&
xSendInvoiceBySms=1&
json=1

Exemplu raspuns

{
    "status": 0
}

Factură

Adaugă factură

Metoda createInvoice_fct permite crearea unei facturi noi în EasyBill. Poți crea facturi în stare de draft sau finale.

Metodă HTTP
POST

Parametri necesari

ParametruTipExempluDescriere
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
modeStringAPIAcces prin API
secStringcreateInvoice_fctMetoda apelată
jsonBoolean1Solicită răspuns în format JSON
invoiceDateDate2020-05-01Data facturii (YYYY-MM-DD)
invoiceStatusInteger1Starea facturii (0 = draft/proformă, 1 = finală)
invoiceExternalIdString(gol)Identificator extern (opțional, pentru corelare cu sisteme externe)
invoiceExternalClientIdString(gol)Identificator extern (opțional, pentru corelare cu sisteme externe)
clientIdInteger164690ID-ul clientului (obținut anterior cu addClient_fct)
invoiceCurrencyString(gol)Specifica valuta facturii, RON, EUR, USD. Daca nu este specificat, se completeaza automat valuta contului.
invoiceSeriesString(gol)Se poate specifica o serie externa pentru factura
invoiceNumberString(gol)Se poate specifica un numar externa pentru factura
invoiceCommentsString(gol)Se pot specifica comentarii aditionale care vor aparea pe factura

Exemplu request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=createInvoice_fct&
json=1&
invoiceDate=2020-05-01&
invoiceStatus=1&
invoiceExternalId=&
clientId=164690

Exemplu raspuns

{
    "statusMessage": "Invoice created successfully",
    "status": 1,
    "ebInvoiceNo": "92032900"
}

Adăugare produse la factura (simplu – fără stoc)

Metoda addProductToInvoice_fct permite adăugarea unui produs sau serviciu pe o factură existentă în EasyBill. Această variantă este simplă (nu gestionează stocuri) și adaugă poziția direct pe factură.

Metodă HTTP
POST

Parametrii necesari

ParametruTipExempluDescriere
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
modeStringAPIAcces prin API
secStringaddProductToInvoice_fctMetoda apelată
jsonBoolean1Solicită răspuns în format JSON
productNameStringServiciu Simplu 1Denumirea produsului/serviciului
productPriceNumber200Preț unitar (fără TVA)
productCurrencyStringRONMoneda prețului
productTypeStringsTip poziție: s = serviciu, p = produs
productSeriesStringSN123124Serie/identificator unic (opțional)
productWarrantyString12 monthsGaranție (opțional)
productCategoryIdString(gol)ID categorie (opțional)
productUMStringbucUnitate de măsură
productQuantityNumber2Cantitate
productVATNumber19Cotă TVA (%)
productPriceIncludesVatBoolean0Pretul include TVA (0 = nu, 1 = retur)
productIsReturnedBoolean0Poziție retur (0 = nu, 1 = retur)
productCommentsString(gol)Comentarii linie factură (opțional)
invoiceIdString{{ebInvoiceNo}}ID-ul facturii pe care se adaugă produsul
invoiceIdTypeStringidTip identificator: id (intern) sau number (număr factură)
simpleProductBoolean11 = produs simplu (fără gestiune stoc), 0 = produs din catalog/stoc

Exemplu request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addProductToInvoice_fct&
json=1&
productName=Serviciu%20Simplu%201&
productPrice=200&
productCurrency=RON&
productType=s&
productSeries=SN123124&
productWarranty=12%20months&
productCategoryId=&
productUM=buc&
productQuantity=2&
productVAT=19&
productIsReturned=0&
productComments=&
invoiceId={{ebInvoiceNo}}&
invoiceIdType=id&
simpleProduct=1

Exemplu response

{
    "valueWithoutVat": "400.00",
    "vatValue": "76.00",
    "status": 0,
    "convertedPrice": "200.00",
    "prodId": "2981336"
}

Adăugare produse la factura (cu stoc)

Metoda addProductToInvoice_fct permite adăugarea unui produs existent în catalogul EasyBill, cu gestiune de stoc, pe o factură. În acest caz, trebuie folosit simpleProduct=0 și transmis un productId valid.

Metodă HTTP
POST

Parametri necesari

ParametruTipExempluDescriere
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
modeStringAPIAcces prin API
secStringaddProductToInvoice_fctMetoda apelată
jsonBoolean1Solicită răspuns în format JSON
productIdInteger1526053ID-ul produsului existent în catalog
productNameStringTest Produs 5Numele produsului (preluat din catalog)
productPriceNumber200Preț unitar (fără TVA)
productCurrencyStringRONMoneda prețului
productTypeStringpTip poziție: p = produs (cu stoc)
productPCIdInteger3437ID categorie produs (din catalog)
productSeriesStringSN123124Serie/identificator unic (opțional)
productWarrantyString12 monthsGaranție (opțional)
productCategoryIdString(gol)ID categorie suplimentară (opțional)
productUMStringbucUnitate de măsură
productQuantityNumber3Cantitate
productVATNumber19Cotă TVA (%)
productIsReturnedBoolean0Poziție retur (0 = nu, 1 = retur)
productCommentsString(gol)Comentarii linie factură (opțional)
invoiceIdString{{ebInvoiceNo}}ID-ul facturii pe care se adaugă produsul
invoiceIdTypeStringidTip identificator: id (intern) sau number (număr factură)
simpleProductBoolean00 = produs din catalog (cu stoc), 1 = produs simplu

Exemplu request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addProductToInvoice_fct&
json=1&
productId=1526053&
productName=Test%20Produs%205&
productPrice=200&
productCurrency=RON&
productType=p&
productPCId=3437&
productSeries=SN123124&
productWarranty=12%20months&
productCategoryId=&
productUM=buc&
productQuantity=3&
productVAT=19&
productIsReturned=0&
productComments=&
invoiceId={{ebInvoiceNo}}&
invoiceIdType=id&
simpleProduct=0

Exemplu raspuns

{
    "valueWithoutVat": "600.00",
    "vatValue": "114.00",
    "status": 0,
    "convertedPrice": "200.00",
    "prodId": "2981338"
}

Preia produse din stoc

Metoda searchProduct_fct permite listarea produselor existente în catalogul EasyBill și preluarea informațiilor despre stocul acestora.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringsearchProduct_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchProduct_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&query=Laptop&limit=10 HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "productPriceWithoutCommision": "990",
        "productVAT": "0",
        "productName": "Apple iPad warranty - fara tva",
        "productCurrency": "RON",
        "productUM": "D33",
        "productCategory": "Categorie produs",
        "productWarehouse": "Lou",
        "productSeries": "1231SN12ABC",
        "productCategoryId": "50425",
        "productIsReturned": "0",
        "productWarranty": "",
        "productType": "s",
        "productId": "2972049",
        "productWarehouseId": "51152",
        "productPCId": "5586",
        "productPrice": 990,
        "productQuantity": "100"
    },
    {
        "productPriceWithoutCommision": "100",
        "productVAT": "0",
        "productName": "lampa led",
        "productCurrency": "RON",
        "productUM": "buc",
        "productCategory": "Implicit",
        "productWarehouse": "Depozit Bucuresti",
        "productSeries": "SZ",
        "productCategoryId": "140",
        "productIsReturned": "0",
        "productWarranty": "",
        "productType": "p",
        "productId": "2744502",
        "productWarehouseId": "3129",
        "productPCId": "9562",
        "productPrice": 100,
        "productQuantity": "5000"
    },
    {
        "productPriceWithoutCommision": "300",
        "productVAT": "19",
        "productName": "Licente PowerBI",
        "productCurrency": "EUR",
        "productUM": "",
        "productCategory": "",
        "productWarehouse": "",
        "productSeries": "",
        "productCategoryId": "0",
        "productIsReturned": "0",
        "productWarranty": "24 luni",
        "productType": "p",
        "productId": "1813318",
        "productWarehouseId": "",
        "productPCId": "0",
        "productPrice": 300,
        "productQuantity": "33"
    }
]

Listare facturi

Metoda searchInvoices_fct permite listarea facturilor emise într-un interval de timp specificat.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringsearchInvoices_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
startDateDate2025-09-05Data de început a intervalului (YYYY-MM-DD)
endDateDate2025-09-05Data de sfârșit a intervalului (YYYY-MM-DD)

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchInvoices_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&startDate=2025-09-05&endDate=2025-09-05 HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "invoiceCurrency": "RON",
        "invoiceStatus": "fiscal",
        "invoiceNumber": "950",
        "invoiceDueDate": "2025-09-05",
        "representativeIdetityTransportNumber": "",
        "invoiceIssueDate": "2025-09-05",
        "clientName": "Claudiu Gura SRL",
        "invoiceComments": "",
        "invoiceCategory": "0",
        "invoiceSerie": "EBF",
        "representativeIdetityNumber": "",
        "representativeIdetitySeries": "",
        "clientId": "164690",
        "invoicePaymentTerms": "0",
        "clientCounty": "",
        "invoiceTotalAmount": 0,
        "invoiceId": "92029874",
        "invoiceIsCancelled": "0",
        "delegat_eliberat": "",
        "invoiceOutstandingBalance": 0,
        "clientNationalUniqueIdentifier": "RO1211221113",
        "invoiceFormatedDueDate": "05.09.2025",
        "representativeIdetityTransportType": "",
        "clientBankAccount": "",
        "invoiceFormatedIssueDate": "05.09.2025",
        "anafIdDescarcare": null,
        "representativeName": "",
        "anafStatus": "",
        "clientTradeRegistryOffice": "J12/232/2432",
        "clientAddress": "",
        "clientBank": "",
        "invoiceIsFinished": "1"
    },
    {
        "invoiceCurrency": "RON",
        "invoiceStatus": "draft",
        "invoiceNumber": "948",
        "invoiceDueDate": "2025-09-05",
        "representativeIdetityTransportNumber": "",
        "invoiceIssueDate": "2025-09-05",
        "clientName": "",
        "invoiceComments": "",
        "invoiceCategory": "0",
        "invoiceSerie": "EBF",
        "representativeIdetityNumber": "",
        "representativeIdetitySeries": "",
        "clientId": "0",
        "invoicePaymentTerms": "0",
        "clientCounty": "",
        "invoiceTotalAmount": 0,
        "invoiceId": "92029844",
        "invoiceIsCancelled": "0",
        "delegat_eliberat": "",
        "invoiceOutstandingBalance": 0,
        "clientNationalUniqueIdentifier": "",
        "invoiceFormatedDueDate": "05.09.2025",
        "representativeIdetityTransportType": "",
        "clientBankAccount": "",
        "invoiceFormatedIssueDate": "05.09.2025",
        "anafIdDescarcare": null,
        "representativeName": "",
        "anafStatus": "",
        "clientTradeRegistryOffice": "",
        "clientAddress": "",
        "clientBank": "",
        "invoiceIsFinished": "1"
    },
    {
        "invoiceCurrency": "RON",
        "invoiceStatus": "fiscal",
        "invoiceNumber": "947",
        "invoiceDueDate": "2025-09-05",
        "representativeIdetityTransportNumber": "",
        "invoiceIssueDate": "2025-09-05",
        "clientName": "Claudiu Gura SRL",
        "invoiceComments": "",
        "invoiceCategory": "0",
        "invoiceSerie": "EBF",
        "representativeIdetityNumber": "",
        "representativeIdetitySeries": "",
        "clientId": "164690",
        "invoicePaymentTerms": "0",
        "clientCounty": "",
        "invoiceTotalAmount": 297.5,
        "invoiceId": "92029803",
        "invoiceIsCancelled": "0",
        "delegat_eliberat": "",
        "invoiceOutstandingBalance": 297.5,
        "clientNationalUniqueIdentifier": "RO1211221113",
        "invoiceFormatedDueDate": "05.09.2025",
        "representativeIdetityTransportType": "",
        "clientBankAccount": "",
        "invoiceFormatedIssueDate": "05.09.2025",
        "anafIdDescarcare": null,
        "representativeName": "",
        "anafStatus": "",
        "clientTradeRegistryOffice": "J12/232/2432",
        "clientAddress": "",
        "clientBank": "",
        "invoiceIsFinished": "1"
    }
]

Detalii factura

Metoda searchInvoices_fct poate fi folosită și pentru a obține informațiile complete despre o anumită factură, folosind parametrul invoiceId.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringsearchInvoices_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
invoiceIdString/Number{{ebInvoiceNo}}ID-ul facturii pentru care se cer detaliile

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=searchInvoices_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&invoiceId={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "invoiceCurrency": "RON",
        "invoiceStatus": "fiscal",
        "invoiceNumber": "955",
        "invoiceDueDate": "2020-05-01",
        "representativeIdetityTransportNumber": "",
        "invoiceIssueDate": "2020-05-01",
        "clientName": "Claudiu Gura SRL",
        "invoiceComments": "",
        "invoiceCategory": "0",
        "invoiceSerie": "EBF",
        "representativeIdetityNumber": "",
        "representativeIdetitySeries": "",
        "clientId": "164690",
        "invoicePaymentTerms": "0",
        "clientCounty": "",
        "invoiceTotalAmount": 1904,
        "invoiceId": "92032900",
        "invoiceIsCancelled": "0",
        "delegat_eliberat": "",
        "invoiceOutstandingBalance": 1904,
        "clientNationalUniqueIdentifier": "RO1211221113",
        "invoiceFormatedDueDate": "01.05.2020",
        "representativeIdetityTransportType": "",
        "clientBankAccount": "",
        "invoiceFormatedIssueDate": "01.05.2020",
        "anafIdDescarcare": null,
        "representativeName": "",
        "anafStatus": "",
        "clientTradeRegistryOffice": "J12/232/2432",
        "clientAddress": "",
        "clientBank": "",
        "invoiceIsFinished": "1"
    }
]

Preia produse factura

Metoda getInvoiceProducts_fct returnează lista produselor/serviciilor asociate unei facturi existente.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringgetInvoiceProducts_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
invoiceIdString/Number{{ebInvoiceNo}}ID-ul facturii pentru care se cer produsele

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getInvoiceProducts_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&invoiceId={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro

Exemplu response

[
    {
        "productCatalogueId": "2998155",
        "productVAT": "19",
        "productName": "Apple iPad warranty - fara tva",
        "productTypeName": "service",
        "productCurrency": "RON",
        "productSN": "1231SN12ABC",
        "productUM": "D33",
        "productWarehouse": "Lou",
        "productWarranty": "",
        "productType": "s",
        "productId": "2981338",
        "productWarehouseId": "51152",
        "productPrice": "200.00",
        "productVATValue": "38.00",
        "isCancelled": "0",
        "productQuantity": "3"
    },
    {
        "productCatalogueId": "2998153",
        "productVAT": "19",
        "productName": "Serviciu Simplu 1",
        "productTypeName": "one-time",
        "productCurrency": "RON",
        "productSN": "SN123124",
        "productUM": "buc",
        "productWarehouse": "",
        "productWarranty": "12 months",
        "productType": "o",
        "productId": "2981336",
        "productWarehouseId": "",
        "productPrice": "200.00",
        "productVATValue": "38.00",
        "isCancelled": "0",
        "productQuantity": "2"
    }
]

Download PDF factura

Metoda downloadInvoice_fct permite descărcarea unei facturi în format PDF, pe baza ID-ului sau numărului facturii.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringdownloadInvoice_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
factString/Number{{ebInvoiceNo}}ID-ul sau numărul facturii pentru care se dorește descărcarea PDF-ului

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=downloadInvoice_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&fact={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

Content-Type: application/pdf
Content-Disposition: attachment; filename="INV-2025-0001.pdf"

Metoda addPayment_fct permite adăugarea unei plăți asociate unei facturi existente în EasyBill. Poți specifica detalii precum tipul plății, suma, compania care a efectuat plata și eventuale observații.

Metodă HTTP
POST

Parametri necesari

ParametruTipExempluDescriere
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
modeStringAPIAcces prin API
secStringaddPayment_fctMetoda apelată
jsonBoolean1Solicită răspuns în format JSON
invoiceIdString{{ebInvoiceNo}}ID-ul facturii pentru care se adaugă plata
typeStringcardTip plată (card, cash, bank, receipt)
numberString123Număr document de plată (ex: chitanță, OP, referință tranzacție)
dateDate2025-09-12 (sau gol = azi)Data plății (YYYY-MM-DD), dacă nu se specifică se folosește data curentă
detailsStringpayment details for a specific invoiceDetalii suplimentare pentru plată
companyStringTest ABC SRLDenumirea entității care a efectuat plata
amountNumber120Suma plătită
currencyStringRONMoneda plății

Exemplu request

POST /cgi-bin/index.cgi?action=plugin HTTP/1.1
Host: apps.easybill.ro
Content-Type: application/x-www-form-urlencoded

SessionId={{SessionId}}&
AppUnique={{AppUnique}}&
UserId={{UserId}}&
mode=API&
sec=addPayment_fct&
json=1&
invoiceId={{ebInvoiceNo}}&
type=card&
number=123&
date=&
details=payment%20details%20for%20a%20specific%20invoice&
company=Test%20ABC%20SRL&
amount=120&
currency=RON

Exemplu raspuns

{
    "status": "0"
}

Preluare plăți aferente unei facturi

Metoda getPayments_fct returnează lista plăților înregistrate pentru o anumită factură din EasyBill. Poți vedea detalii precum suma, tipul plății, compania care a efectuat plata și dacă o plată a fost anulată.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringgetPayments_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
invoiceIdString/Number{{ebInvoiceNo}}ID-ul facturii pentru care se cer plățile

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getPayments_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&invoiceId={{ebInvoiceNo}} HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "isCanceled": "0",
        "paymentNumber": "123",
        "paymentAmount": "120",
        "paymentDetails": "payment details for a specific invoice",
        "paymentType": "paymentorder",
        "invoiceId": "92032900",
        "paymentId": "118319",
        "paymentDate": "2025-09-12",
        "paymentCompany": "Test ABC SRL",
        "paymentCurrency": "RON"
    },
    {
        "isCanceled": "0",
        "paymentNumber": "123",
        "paymentAmount": "120",
        "paymentDetails": "payment details for a specific invoice",
        "paymentType": "paymentorder",
        "invoiceId": "92032900",
        "paymentId": "118320",
        "paymentDate": "2025-09-12",
        "paymentCompany": "Test ABC SRL",
        "paymentCurrency": "RON"
    },
    {
        "isCanceled": "0",
        "paymentNumber": "157",
        "paymentAmount": "120",
        "paymentDetails": "payment details for a specific invoice",
        "paymentType": "receipt",
        "invoiceId": "92032900",
        "paymentId": "286891",
        "paymentDate": "2025-09-12",
        "paymentCompany": "Test ABC SRL",
        "paymentCurrency": "RON"
    }
]

Preia cote specifice TVA

Metoda getvatrates_fct returnează lista cotelor de TVA disponibile pentru comerciant. Sunt incluse atât cotele standard aplicabile la nivel de țară (ex. România), cât și eventualele cote particularizate definite de utilizator în contul său EasyBill.

Metodă HTTP
GET

Parametri necesari

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringgetvatrates_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
countryStringROCodul țării pentru care se solicită cotele de TVA

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getvatrates_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&country=RO HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "vatValue": "21",
        "vatDescription": "Cota TVA standard"
    },
    {
        "vatValue": "11",
        "vatDescription": "Cota TVA redusa"
    },
    {
        "vatValue": "5",
        "vatDescription": "Cota TVA redusa (veche)"
    },
    {
        "vatValue": "0",
        "vatDescription": "Neplatitor TVA"
    },
    {
        "vatValue": "19",
        "vatDescription": "Cota TVA standard (veche)"
    },
    {
        "vatValue": "8",
        "vatDescription": "regimul special pt agricultori 8%"
    }
]

Metoda preluat judete in format ANAF e-Factura

Metoda getcounties_fct returnează lista județelor în formatul utilizat de ANAF e-Factura.

Metodă HTTP
GET

Parametri

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringgetcounties_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
query (opțional)StringVNFiltru de căutare (cod sau nume parțial județ)

Exemplu raspuns

[
    {
        "countyName": "ARGES",
        "countyCodeISO": "RO-AG",
        "countyId": "AG"
    },
    {
        "countyName": "ARAD",
        "countyCodeISO": "RO-AR",
        "countyId": "AR"
    }
]

Metoda preluat tari in format ANAF e-Factura

Metoda getcountries_fct returnează lista țărilor în formatul utilizat de ANAF e-Factura. Poți filtra rezultatele printr-o căutare full-text folosind parametrul query.

Metodă HTTP
GET

Parametri

ParametruTipExempluDescriere
modeStringAPIAcces prin API
secStringgetcountries_fctMetoda apelată
AppUniqueString{{AppUnique}}Identificatorul tenantului (tenantId)
UserIdString{{UserId}}ID-ul utilizatorului autentificat
SessionIdString{{SessionId}}Token de sesiune obținut la autentificare
query (opțional)StringROFiltru de căutare (cod sau denumire țară)

Exemplu request

GET /cgi-bin/index.cgi?action=plugin&mode=API&sec=getcountries_fct&AppUnique={{AppUnique}}&UserId={{UserId}}&SessionId={{SessionId}}&query=RO HTTP/1.1
Host: apps.easybill.ro

Exemplu raspuns

[
    {
        "countryName": "Cameroon",
        "countryId": "CM"
    },
    {
        "countryName": "Comoros",
        "countryId": "KM"
    },
    {
        "countryName": "Croatia",
        "countryId": "HR"
    },
    {
        "countryName": "Faroe Islands",
        "countryId": "FO"
    },
    {
        "countryName": "Micronesia (Federated States of)",
        "countryId": "FM"
    },
    {
        "countryName": "Montenegro",
        "countryId": "ME"
    },
    {
        "countryName": "Morocco",
        "countryId": "MA"
    },
    {
        "countryName": "Romania",
        "countryId": "RO"
    },
    {
        "countryName": "Taiwan, Province of China",
        "countryId": "TW"
    }
]

Lista unitati de masura

Am detaliat lista unităților de măsură (UM) conforme cu ANAF e-Factura. Acestea trebuie folosite la API-ul de adăugare produs (addProductToInvoice_fct) în câmpul productUM.

Mai jos este tabelul cu codurile UM, denumirea în română și corespondentul în engleză:

CodDenumire (RO)Denumire (EN)
58Kilogram netNet kilogram
A75Tonă de marfăTons of cargo
C62UnitateUnit
DAYZiDay
E48Unitate de service / ServiciuService unit
EAUnitateUnit
G48Centimetru cub pe orăCubic centimeter per hour
GVGigajouleGigajoules
H87BucatăPiece
HUROrăHour
KGMKilogramKilogram
KMTKilometruKilometer
KTKitKit
KWHKilowatt orăKilowatt hour
LMMetru liniarLinear meter
LTRLitruLiter
M4Valoare monetarăMonetary value
MLTMililitruMilliliter
MONLunăMonth
MTKMetru pătratSquare meter
MTQMetru cubCubic meter
MTRMetruMeter
NARArticolItem
NCLNumăr de celuleNumber of cells
PRPerechePair
RLERulouRoll
SETSetSet
STPachetPouch
TNETonăTonne (metric ton)
WEESăptămânăWeek
XPPPagina tipărităPrinted page
YDQKilogram pe ziKilogram per day

Colecție Postman

Pentru a facilita integrarea, am pregătit o colecție Postman care conține cele mai uzuale metode API EasyBill. Aceasta poate fi descărcată și importată direct în Postman, pentru a testa rapid funcționalitățile disponibile. Poți descărca colecția de la următorul link:

Cuprins