---
title: "Listo faturat e blerjes"
operation_id: "api.v2.purchase-invoices.list"
method: GET
path: "/api/v2/purchase-invoices"
group: "Faturat e blerjes"
api_version: "v2"
authenticated: true
canonical: "https://fature.al/api-reference/endpoints/api-v2-purchase-invoices-list.html"
---

# Listo faturat e blerjes

Pjesë e dokumentacionit [fature.al API](/api-reference/index.html).

## GET /api/v2/purchase-invoices

Kthen faturat që furnitorët i kanë lëshuar kompanisë suaj, të lexuara nga CIS-i. Furnitori nuk
ju dërgon gjë: dokumentet merren nga sistemi qendror i fiskalizimit, secila me të dhënat e
plota, shitësin, blerësin, artikujt, TVSH-në dhe mënyrat e pagesës.

Përdoreni për rakordimin e blerjeve dhe të TVSH-së së zbritshme pa asnjë hap manual.

- Pagination me `page`, që fillon nga `1`, jo me `limit` dhe `offset`, sepse lista vjen nga
  CIS-i dhe jo nga fature.al. Përsëritni me `page + 1` sa kohë `pagination.hasMore` është `true`.
- Mos u ndalni te një `items` bosh. Një dokument që nuk arrihet për detaje hiqet nga `items` pa
  gabim, prandaj një faqe mund të vijë bosh edhe kur pas saj ka të tjera.
- Periudha përfshin të dyja ditët, nga ora 00:00:00 e `fromDate` deri në 23:59:59 të `toDate`,
  sipas orës së Shqipërisë.
- Data që mungon merr ditën e sotme, prandaj pa asnjërën lexohet vetëm sot. Për një periudhë të
  kaluar dërgoni të dyja: vetëm një `toDate` e kaluar e nis periudhën sot, pas mbarimit të saj,
  dhe nuk kthen faturat e asaj periudhe.
- `fic` kërkon brenda periudhës, jo në gjithë historinë. Dërgojeni bashkë me një `fromDate` dhe
  `toDate` që përfshijnë datën e faturës, ndryshe kërkohet vetëm te faturat e sotme.
- Një faqe kushton një thirrje te CIS-i për listën dhe një për çdo faturë në të. Detajet e çdo
  fature ruhen në cache për një orë, dhe endpoint-i ka kufirin fiskal të kërkesave.

Ruani `iic` dhe `fic`: me to fatura gjendet përsëri, dhe `fic` shërben edhe si filtër këtu.

URL-ja e plotë: `https://fature.al/api/v2/purchase-invoices`

Versioni i API-t: `v2`.

Identifikimi: i detyrueshëm (bearer token, plus the `X-Client-Id` and `X-Client-Secret` headers).

### Parametrat query

| Fusha | Tipi | E detyrueshme | Përshkrimi |
| --- | --- | --- | --- |
| `fic` | string | jo | Kthe vetëm faturën me këtë FIC, nëse është brenda periudhës. |
| `page` | integer | jo | Faqja e listës nga CIS-i, duke filluar nga 1. Një vlerë më e vogël se 1 ose jo numër lexohet si 1. Përsëritni me `page + 1` sa kohë `pagination.hasMore` është `true`. Defaults to `1`. |
| `fromDate` | string | jo | Data e fillimit, `YYYY-MM-DD`, e përfshirë. Pa të merret dita e sotme. |
| `toDate` | string | jo | Data e mbarimit, `YYYY-MM-DD`, e përfshirë. Pa të merret dita e sotme. |

### Shembull kërkese

```bash
curl -X GET 'https://fature.al/api/v2/purchase-invoices' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'X-Client-Id: YOUR_CLIENT_ID' \
  -H 'X-Client-Secret: YOUR_CLIENT_SECRET' \
  -H 'Accept: application/json'
```

### Përgjigjet

**200**: Faturat e blerjes të faqes te `items`, secila e plotë, me `pagination`.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean |  |
| `data` | object |  |
| `data.items` | array |  |
| `data.items[].iic` | string | Kodi identifikues i faturës, IIC (NSLF), 32 shifra hex. Me të fatura gjendet përsëri |
| `data.items[].fic` | string | Kodi që ktheu CIS-i kur regjistroi faturën, FIC (NIVF). Shërben edhe si filtër `fic` i listës |
| `data.items[].invoiceNumber` | string | Numri i faturës siç e lëshoi furnitori: numri rendor dhe viti te një faturë jo-cash, si `152/2026`; me kodin TCR në fund te një faturë cash, si `152/2026/cc123cc123` |
| `data.items[].invoiceOrderNumber` | integer | Numri rendor i faturës në serinë e furnitorit |
| `data.items[].dateTimeCreated` | string | Data dhe ora e lëshimit të faturës, siç e kthen CIS-i: datë-orë ISO 8601 me zonën orare |
| `data.items[].payDeadline` | string, nullable | Afati i pagesës, siç e kthen CIS-i; `null` kur fatura nuk mban afat |
| `data.items[].invoiceType` | string | Lloji i faturës: `CASH` ose `NONCASH` |
| `data.items[].issuerTaxNumber` | string | NIPT-i i lëshuesit, i njëjti me `seller.idNum` |
| `data.items[].seller` | object | Furnitori që e lëshoi faturën |
| `data.items[].seller.idType` | string | Tipi i identifikuesit: `NUIS`, `VAT` ose `TAX` te një biznes; `ID`, `PASS` ose `SOC` te një person |
| `data.items[].seller.idNum` | string | Vlera e identifikuesit, p.sh. NIPT-i |
| `data.items[].seller.name` | string | Emri i biznesit ose i personit |
| `data.items[].seller.address` | string, nullable | Adresa, siç e ka CIS-i; `null` kur mungon |
| `data.items[].seller.town` | string, nullable | Qyteti; `null` kur mungon |
| `data.items[].seller.country` | string, nullable | Kodi i shtetit me tre shkronja, si `ALB`; `null` kur mungon |
| `data.items[].buyer` | object | Blerësi, pra kompania juaj |
| `data.items[].buyer.idType` | string | Tipi i identifikuesit: `NUIS`, `VAT` ose `TAX` te një biznes; `ID`, `PASS` ose `SOC` te një person |
| `data.items[].buyer.idNum` | string | Vlera e identifikuesit, p.sh. NIPT-i |
| `data.items[].buyer.name` | string | Emri i biznesit ose i personit |
| `data.items[].buyer.address` | string, nullable | Adresa, siç e ka CIS-i; `null` kur mungon |
| `data.items[].buyer.town` | string, nullable | Qyteti; `null` kur mungon |
| `data.items[].buyer.country` | string, nullable | Kodi i shtetit me tre shkronja, si `ALB`; `null` kur mungon |
| `data.items[].items` | array | Rreshtat e faturës |
| `data.items[].items[].name` | string | Emri i produktit ose i shërbimit, siç e shkroi furnitori |
| `data.items[].items[].code` | any | Kodi i produktit te furnitori; `null` kur ai nuk dërgoi kod |
| `data.items[].items[].unit` | any | Njësia matëse; `null` kur mungon |
| `data.items[].items[].quantity` | number | Sasia |
| `data.items[].items[].unitPriceAfterVat` | number | Çmimi për njësi me TVSH, në lekë |
| `data.items[].items[].priceAfterVat` | number | Vlera e rreshtit me TVSH, në lekë |
| `data.items[].items[].vatAmount` | number | TVSH-ja e rreshtit, në lekë |
| `data.items[].items[].vatRate` | any | Norma e TVSH-së në përqind; `null` kur rreshti nuk mban normë, rast që fature.al e lexon si 0 |
| `data.items[].items[].exemptFromVat` | any | Tipi i përjashtimit nga TVSH-ja: `TYPE_1` (neni 51 i ligjit për TVSH-në), `TYPE_2` (nenet 53 dhe 54), `EXPORT_OF_GOODS` eksport mallrash, `TAX_FREE` normë zero. `null` kur rreshti ka TVSH |
| `data.items[].paymentMethod` | array | Mënyrat e pagesës: një element te një faturë e paguar me një mënyrë të vetme, një për çdo pjesë te një pagesë e ndarë |
| `data.items[].paymentMethod[].typeCode` | string | Mënyra e pagesës: `BANKNOTE`, `CARD`, `CHECK`, `SVOUCHER`, `COMPANY` ose `ORDER` te një faturë cash; `ACCOUNT`, `TRANSFER`, `COMPENSATION`, `FACTORING`, `KIND`, `WAIVER` ose `OTHER` te një faturë jo-cash |
| `data.items[].paymentMethod[].compCard` | any | Numri i kartës së kompanisë kur `typeCode` është `COMPANY`. Te pagesat me bankë programet e faturimit, edhe fature.al, vendosin këtu IBAN-in e llogarisë. `null` kur mungon |
| `data.items[].currency` | object, nullable | Monedha dhe kursi i faturës; `null` kur fatura është në lekë |
| `data.items[].currency.code` | string | Kodi ISO 4217 i monedhës së faturës |
| `data.items[].currency.exchangeRate` | number | Sa lekë vlen një njësi e monedhës. Shumat e faturës vijnë në lekë; pjesëtuar me këtë kurs japin shumën në monedhën e faturës |
| `data.items[].totalPrice` | number | Totali i faturës me TVSH, në lekë |
| `data.items[].totalPriceWithoutVAT` | number | Totali i faturës pa TVSH, në lekë |
| `data.items[].reverseCharge` | boolean | Ngarkesë e kundërt: TVSH-në e deklaron blerësi |
| `data.items[].businessUnit` | string, nullable | Kodi i njësisë së biznesit të furnitorit nga u lëshua fatura |
| `data.items[].operatorCode` | string, nullable | Kodi i operatorit të furnitorit që e lëshoi faturën |
| `data.items[].tcrCode` | string, nullable | Kodi TCR i pajisjes fiskale të furnitorit; `null` te faturat që nuk lëshohen nga një TCR |
| `data.items[].softwareCode` | string, nullable | Kodi i programit me të cilin furnitori e lëshoi faturën |
| `data.items[].iicSignature` | string, nullable | Nënshkrimi i IIC-së me certifikatën e furnitorit, në hex |
| `data.pagination` | object |  |
| `data.pagination.records` | integer | Numri i faturave që CIS-i gjen për gjithë periudhën dhe filtrat, i njëjtë në çdo faqe. Nuk është numri i `items` të kësaj faqeje |
| `data.pagination.page` | integer | Parametri `page` i kërkesës, pas rrumbullakimit në të paktën 1 |
| `data.pagination.hasMore` | boolean | `true` kur kjo faqe kishte fatura dhe CIS-i ka më shumë për periudhën: kërkoni `page + 1`. `false` do të thotë që lista mbaroi. CIS-i nuk e tregon madhësinë e faqes, prandaj faqja e fundit mund të thotë `true` dhe ajo pas saj të vijë bosh me `false` |

```json
{
    "status": true,
    "data": {
        "items": [
            {
                "iic": "0F1E2D3C4B5A69788796A5B4C3D2E1F0",
                "fic": "8a941d47-7d47-4b7e-8f3a-1c2d3e4f5a6b",
                "invoiceNumber": "152/2026",
                "invoiceOrderNumber": 152,
                "dateTimeCreated": "2026-07-01T10:15:23+02:00",
                "payDeadline": "2026-07-31T00:00:00+02:00",
                "invoiceType": "NONCASH",
                "issuerTaxNumber": "K71828301A",
                "seller": {
                    "idType": "NUIS",
                    "idNum": "K71828301A",
                    "name": "Furnizimi Alba SHPK",
                    "address": "Rruga e Durrësit 5",
                    "town": "Tiranë",
                    "country": "ALB"
                },
                "buyer": {
                    "idType": "NUIS",
                    "idNum": "K71828301A",
                    "name": "Furnizimi Alba SHPK",
                    "address": "Rruga e Durrësit 5",
                    "town": "Tiranë",
                    "country": "ALB"
                },
                "items": [
                    {
                        "name": "Kafe e pjekur 1kg",
                        "code": "K1",
                        "unit": "kg",
                        "quantity": 100,
                        "unitPriceAfterVat": 120,
                        "priceAfterVat": 12000,
                        "vatAmount": 2000,
                        "vatRate": 20,
                        "exemptFromVat": "TYPE_1"
                    }
                ],
                "paymentMethod": [
                    {
                        "typeCode": "ACCOUNT",
                        "compCard": "AL47212110090000000235698741"
                    }
                ],
                "currency": {
                    "code": "EUR",
                    "exchangeRate": 100.5
                },
                "totalPrice": 12000,
                "totalPriceWithoutVAT": 10000,
                "reverseCharge": false,
                "businessUnit": "bb123bb123",
                "operatorCode": "oo123oo123",
                "tcrCode": "cc123cc123",
                "softwareCode": "ss123ss123",
                "iicSignature": "3a5f9c1e7b2d4680a1c3e5f7092b4d6e8f0a1b2c3d4e5f60718293a4b5c6d7e8f9a0b1c2d3e4f5061728394a5b6c7d8e9f0a1b2c3d4e5f6"
            }
        ],
        "pagination": {
            "records": 12,
            "page": 1,
            "hasMore": true
        }
    }
}
```

**401**: Token-i mungon ose nuk është i vlefshëm, ose përdoruesi nuk ka të drejtën e faturave të blerjes.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**422**: Datat nuk janë në formatin `YYYY-MM-DD`.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**429**: Kufiri i kërkesave u arrit. Nga kufiri i përgjithshëm përgjigja mban vetëm `message` dhe header-in `Retry-After`; nga kufiri i endpoint-it mban formatin standard të gabimit.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**500**: Gabim i papritur në server.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**502**: CIS-i u përgjigj me një gabim; arsyeja është te `message`.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**503**: Shërbimi i fiskalizimit nuk u arrit. Riprovoni më vonë. `message` vjen bosh; arsyeja është te `errors`.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```
