---
title: "Fatura elektronike"
page_id: "e-invoice"
section: "Shembuj"
canonical: "https://fature.al/api-reference/pages/e-invoice.html"
---

# Fatura elektronike

Part of the [fature.al API](/api-reference/index.html) documentation.

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:

```json
{ "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:

```bash
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:

```bash
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

```bash
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.
