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