fature.al eshte platforma e faturimit dhe fiskalizimit per bizneset ne Shqiperi. Hap nje llogari
Skip to content
fature.al API Menu

Fatura elektronike

Nje fature elektronike shkon ne sistemin qendror te e-faturave, jo vetem ne fiskalizim. Kjo sjell dy gjera qe faturat e tjera nuk i kane: bleresi duhet te jete i identifikuar me NIPT dhe me adrese te plote, dhe dokumenti duhet te thote se cfare lloji eshte.

Leshohet me POST /api/v1/invoice/e-invoice.

Bleresi duhet te jete i plote#

Bleresi shkon i plote ne sistemin e e-faturave, prandaj adresa dhe qyteti jane te nevojshme. Mund t'i dergoni ne kerkese si client.address dhe client.city, ose t'i keni ruajtur me pare tek klienti ne fature.al. Kur mungon njera, kerkesa refuzohet me 400 dhe fusha errors thote sakte cfare duhet plotesuar.

Kur klienti ekziston tashme ne fature.al, dergoni vetem client.internal_id. Atehere klienti gjendet me te dhe fushat e tjera nuk lexohen fare:

{ "client": { "internal_id": 8812 } }

Ndryshe duhen client.nuis, client.name dhe client.country. country eshte kod ISO 3166-1 alpha-3, pra ALB, RKS, USA.

doc_type dhe process#

Te dyja jane te detyrueshme. process shkon si ProfileID ne dokumentin UBL, dhe doc_type si lloji i dokumentit.

Dokumenti doc_type process Kerkon original_invoice_iic
Fature shitjeje 380 P1 jo
Note krediti 381 P9 po
Note debiti 383 P9 po

Nje note krediti dhe nje note debiti korrigjojne nje fature tjeter, prandaj kerkojne original_invoice_iic, IIC-ne qe ju ktheu fatura origjinale. Pa te kerkesa refuzohet me 422. Per llojet e tjera te dokumentit ajo fushe nuk pranohet.

Per te kthyer nje fature te plote mos leshoni note krediti. Perdorni endpoint-in e anulimit, i cili e shenon origjinalin si te kthyer.

Lista e plote e vlerave qe pranohen per te dyja fushat eshte ne faqen e endpoint-it.

Nota krediti dhe nota debiti#

Te dyja korrigjojne nje fature qe eshte regjistruar tashme, dhe te dyja leshohen nga i njejti endpoint si nje fature e zakonshme. Ndryshimi eshte drejtimi: nota krediti e ul vleren qe bleresi ju detyrohet, nota debiti e rrit.

Te dyja kerkojne original_invoice_iic, IIC-ne qe ju ktheu fatura origjinale. Ajo shkon si BillingReference ne dokumentin UBL dhe si reference korrigjimi ne regjistrimin e CIS, keshtu qe bleresi dhe sistemi qendror e dine sakte cilen fature po korrigjoni. Pa te kerkesa refuzohet me 422.

Rreshtat qe dergoni jane rreshtat e korrigjimit, jo rreshtat e fatures origjinale. Dergoni vetem ate qe po korrigjoni, me vleren e diferences.

Nota krediti: zbritje pas faturimit#

Fatura 412/2026 doli 12,000 leke. I zbritet 2,000 leke sepse sherbimi u nderpre per nje muaj. Leshoni nje note krediti per diferencen, jo per te gjithe faturen:

curl -X POST 'https://fature.al/api/v1/invoice/e-invoice' \
  -H 'Authorization: Bearer TOKEN_I_JUAJ' \
  -H 'Content-Type: application/json' \
  -d '{
    "internalId": "NK-2026-000037",
    "process": "P9",
    "doc_type": "381",
    "original_invoice_iic": "8FE72E2ACD1C500A83F8C89B4E2E3E1D",
    "payment_method": "TRANSFER",
    "client": {
      "nuis": "L62221018T",
      "name": "Ei3 Software Solution shpk",
      "address": "Rruga e Kavajes 12",
      "city": "Tirane",
      "country": "ALB"
    },
    "lines": [
      {
        "product_name": "Zbritje per nderprerje sherbimi",
        "product_code": "ABO-01",
        "unit": "Cope",
        "unit_code": "C62",
        "quantity": 1,
        "price": 2000,
        "total": 2000,
        "vat": 20
      }
    ]
  }'

Vlerat dergohen pozitive. Eshte doc_type=381 qe e ben dokumentin zbritje, jo shenja e numrave.

Nota debiti: vlere e nenfaturuar#

E njejta fature doli 2,000 leke me pak sepse nje ore pune nuk u llogarit. Nje note debiti e shton diferencen mbi faturen origjinale:

curl -X POST 'https://fature.al/api/v1/invoice/e-invoice' \
  -H 'Authorization: Bearer TOKEN_I_JUAJ' \
  -H 'Content-Type: application/json' \
  -d '{
    "internalId": "ND-2026-000012",
    "process": "P9",
    "doc_type": "383",
    "original_invoice_iic": "8FE72E2ACD1C500A83F8C89B4E2E3E1D",
    "payment_method": "TRANSFER",
    "client": {
      "nuis": "L62221018T",
      "name": "Ei3 Software Solution shpk",
      "address": "Rruga e Kavajes 12",
      "city": "Tirane",
      "country": "ALB"
    },
    "lines": [
      {
        "product_name": "Ore pune shtese",
        "product_code": "SRV-02",
        "unit": "Ore",
        "unit_code": "HUR",
        "quantity": 2,
        "price": 1000,
        "total": 2000,
        "vat": 20
      }
    ]
  }'

Pergjigja eshte e njejta si e nje fature: nota merr id, number, iic, fic dhe eic te vetat. Eshte nje dokument me vete, jo nje ndryshim mbi faturen e vjeter, dhe origjinali mbetet i vlefshem ashtu sic u leshua.

Cilin te zgjidhni#

Situata Dokumenti
Bleresi kthen mallin ose anulon te gjithe porosine Anulim, jo note krediti
Zbritje, mall i demtuar, sherbim i pakryer pjeserisht Note krediti, 381
Fatura doli me pak se sa duhej Note debiti, 383
Gabim ne NIPT ose ne emrin e bleresit Anulim, pastaj fature e re

Anulimi ndryshon nga te dyja: ai e shenon origjinalin si te kthyer, ndersa nje note e le faturen te hapur dhe i qendron perkrah si dokument korrigjues.

Rreshtat#

Cdo rresht kerkon product_name, product_code, unit, unit_code, quantity, price dhe total.

unit eshte teksti qe lexon njeriu, ndersa unit_code eshte kodi qe mban dokumenti fiskal. Kodin e jep thirresi, sepse zgjedhja e nje kodi te parazgjedhur ne heshtje dergonte e-fatura qe lexonin "Cope" per rreshta qe operatori i kishte shenuar m2. Vlerat me te perdorura jane C62 per cope, MTK per meter katror, LTR per liter dhe KGM per kilogram. E4 eshte kilogrami bruto dhe DT toni i thate, prandaj per peshen e zakonshme dergoni KGM ose TNE.

vat pranon 0, 6, 10 ose 20. Kur nje rresht eshte i perjashtuar nga TVSH-ja, dergoni vat_exempt_type me nje nga TYPE_1, TYPE_2, EXPORT_OF_GOODS ose TAX_FREE.

Monedha dhe kursi#

Kur fatura eshte ne monedhe te huaj, dergoni currency bashke me exchange_rate. exchange_rate eshte sa leke vlen nje njesi e monedhes se fatures. Pa te, ose me nje vlere jo pozitive, merret 1.

Per monedha qe vlejne me pak se nje lek, si JPY ose HUF, dergoni vlere nen 1. Ky eshte gabimi qe behet me shpesh: kursi shkon ne drejtimin lek-per-njesi, jo anasjelltas.

Cfare ju kthehet#

Pergjigja e suksesshme mban id, number, iic, fic, verifyURL dhe pdf.

eic eshte i pranishem vetem tek nje fature elektronike qe e ka marre tashme, prandaj trajtojeni si mungese te celesit dhe jo si null. Kur ekziston, pdf tregon PDF-in zyrtar te e-fatures, jo tonin.

fic mbetet null derisa nje fiskalizim i shtyre te kryhet. Kjo ndodh kur sherbimi i fiskalizimit ishte i paarritshem ne castin e leshimit dhe kerkesa ktheu 503.

Shkarkimi i PDF-it me EIC#

curl 'https://fature.al/api/v1/invoice/print-eic/2e9b6f31-d712-4c45-8cc0-9faf24c805a3' \
  -H 'Authorization: Bearer TOKEN_I_JUAJ' \
  -o fatura.pdf

Kujdes me nje EIC qe nuk gjendet: pergjigja eshte teksti Document not found. me status 200 dhe Content-Type: text/html, jo nje PDF. Kontrolloni Content-Type para se ta ruani skedarin.

Gabimet qe hasen me shpesh#

Statusi Kuptimi
400 Te dhena te paplota. errors thote sakte cfare mungon, zakonisht adresa ose qyteti i bleresit.
403 Abonimi ka mbaruar, ose llogaria nuk ka te drejten EINVOICE.
409 Nje fature me kete internalId ekziston ose po procesohet per kete vit.
422 Validimi deshtoi. Kjo pergjigje perdor fushen success, jo status.
503 Fiskalizimi i paarritshem. Fatura eshte ruajtur dhe do te fiskalizohet vete me vone.

Zarfi i gabimit eshte i njejte kudo pervec 422, i cili kthen success: false bashke me errors te ndare sipas fushes. Nje internalId qe mungon kthehet me zarfin standard, jo me ate te validimit.

Regjistrimi eshte falas.

Regjistrohu ne fature.al