fature.al është platforma e faturimit dhe fiskalizimit për bizneset në Shqipëri. Hap një llogari
Skip to content
fature.al API Menu

Listo faturat e blerjes

GET /api/v2/purchase-invoices Requires authentication Rate limited by the `api-global` limiter v2

Send a bearer token, plus the X-Client-Id and X-Client-Secret headers in the Authorization header.

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

Query parameters

Name Tipi E detyrueshme Përshkrimi
fic string no Kthe vetëm faturën me këtë FIC, nëse është brenda periudhës.
page integer no 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 no Data e fillimit, `YYYY-MM-DD`, e përfshirë. Pa të merret dita e sotme.
toDate string no Data e mbarimit, `YYYY-MM-DD`, e përfshirë. Pa të merret dita e sotme.

Përgjigjet

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

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

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

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

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

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

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.

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

500 Gabim i papritur në server.

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

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

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

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

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

Shembull kërkese

cURL
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'
PHP (Laravel)
use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'Authorization' => 'Bearer YOUR_TOKEN',
    'X-Client-Id' => 'YOUR_CLIENT_ID',
    'X-Client-Secret' => 'YOUR_CLIENT_SECRET',
    'Accept' => 'application/json',
])->get('https://fature.al/api/v2/purchase-invoices');

$data = $response->json();
PHP (Guzzle)
use GuzzleHttp\Client;

$client = new Client();

$response = $client->request('GET', 'https://fature.al/api/v2/purchase-invoices', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_TOKEN',
        'X-Client-Id' => 'YOUR_CLIENT_ID',
        'X-Client-Secret' => 'YOUR_CLIENT_SECRET',
        'Accept' => 'application/json',
    ],
]);

$data = json_decode((string) $response->getBody(), true);
JavaScript
const response = await fetch('https://fature.al/api/v2/purchase-invoices', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'X-Client-Id': 'YOUR_CLIENT_ID',
    'X-Client-Secret': 'YOUR_CLIENT_SECRET',
    'Accept': 'application/json'
  }
});

const data = await response.json();

Shembull përgjigjeje

200
{
    "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
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
422
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
429
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
500
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
502
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
503
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}

Regjistrimi është falas.

Regjistrohu në fature.al

This page as Markdown, or the whole API as OpenAPI.