---
title: "Lësho faturë jo-cash"
operation_id: "api.v1.invoice.noncash"
method: POST
path: "/api/v1/invoice/noncash"
group: "Faturat"
api_version: "v1"
authenticated: true
canonical: "https://fature.al/api-reference/endpoints/api-v1-invoice-noncash.html"
---

# Lësho faturë jo-cash

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

## POST /api/v1/invoice/noncash

Lëshon një faturë me pagesë të mëvonshme: transfertë bankare, çek, kompensim, ose çdo pagesë
që nuk kryhet në arkë. Fiskalizohet te CIS-i, por nuk shkon në platformën e e-faturave; kur
blerësi duhet ta marrë elektronikisht, përdorni `POST /invoice/e-invoice`.

### Blerësi

`client` është i detyrueshëm: ose `client.internal_id` i një klienti të ruajtur në fature.al,
ose `client.name` me të dhënat e tjera; pa asnjërin kërkesa refuzohet me `422`. `client.address`
dhe `client.city` shkojnë te CIS-i, ndaj duhen ose në kërkesë ose të ruajtura më parë te
klienti; kur mungon njëra, kërkesa refuzohet me `400` dhe `errors` thotë saktë çfarë duhet
plotësuar.

### Llogaria bankare

Llogaria ku pritet pagesa shkruhet në faturë në një nga tri mënyrat:

| Fusha | Kuptimi |
| --- | --- |
| `bank_account` | Id-ja e një llogarie të ruajtur në fature.al |
| `bank_account_iban` | Llogaria gjendet me IBAN |
| `bankAccount` | Llogaria dërgohet e plotë dhe ruhet si llogari e kompanisë; një IBAN ekzistues ripërdoret |

### Notë krediti dhe notë debiti

Një faturë jo-cash korrigjohet nga një faturë tjetër jo-cash. Dërgoni `doc_type` bashkë me
`original_invoice_iic`, `iic`-në që ju ktheu fatura origjinale:

| `doc_type` | Dokumenti | Efekti |
| --- | --- | --- |
| Mungon, ose `380` | Faturë e zakonshme | Asnjë |
| `381` | Notë krediti | Ul vlerën që blerësi ju detyrohet |
| `383` | Notë debiti | Rrit vlerën që blerësi ju detyrohet |

Origjinali duhet të jetë faturë jo-cash e fiskalizuar, e paanuluar dhe ende e korrigjueshme.
Rreshtat që dërgoni janë rreshtat e korrigjimit, me vlera pozitive: drejtimin e përcakton
`doc_type`, jo shenja e numrave. Kur korrigjimet e mbulojnë të gjithë faturën, origjinali
shënohet si i kthyer. Për të kthyer një faturë të plotë përdorni anulimin, jo një notë
krediti.

### Zbritja dhe tarifa

Zbritja mbi të gjithë faturën dërgohet me `invoice_discount_type` dhe `invoice_discount_value`
bashkë; zbritja e një rreshti me `lines[].discount`, si përqindje mbi çmimin e njësisë, me
`price` të plotë dhe `total` tashmë të ulur. Rregullat e plota janë te fushat e kërkesës.
Tarifa `fee` mbetet jashtë zbritjes: zbritet shuma e rreshtave, dhe tarifa i shtohet totalit
të ulur.

### Pas lëshimit

Përgjigja mban `iic`, `fic` dhe `pdf`. Kur CIS-i nuk arrihet, fatura ruhet dhe `fic` është
`null` derisa fiskalizimi të përfundojë vetë.

URL-ja e plotë: `https://fature.al/api/v1/invoice/noncash`

Versioni i API-t: `v1`.

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

### Fushat e body-t

| Fusha | Tipi | E detyrueshme | Përshkrimi |
| --- | --- | --- | --- |
| `internalId` | string | po | Identifikuesi i faturës në sistemin tuaj, unik brenda kompanisë për vitin; shërben edhe si çelës idempotence. I detyrueshëm. |
| `payment_method` | string, nullable | jo | Mënyra e pagesës: `ACCOUNT`, `COMPENSATION`, `FACTORING`, `KIND`, `OTHER`, `TRANSFER` ose `WAIVER`. |
| `client` | object, nullable | jo | Blerësi. Pa të fatura lëshohet për klientin e rastit. Me `client.internal_id` merret një klient i ruajtur në fature.al; ndryshe `client.name` është i detyrueshëm. |
| `client.internal_id` | integer, nullable | jo | Id-ja e një klienti të ruajtur në fature.al. Kur e dërgoni, blerësi merret prej saj dhe fushat e tjera të `client` nuk lexohen. |
| `client.name` | string | jo | Emri i blerësit. I detyrueshëm kur nuk dërgoni `client.internal_id`. |
| `client.id` | object, nullable | jo | Dokumenti i identifikimit të blerësit, si objekt me `type` dhe `id`. |
| `client.id.type` | string, one of NUIS, VAT, TAX, ID, PASS, SOC, nullable | jo | Lloji i dokumentit: `NUIS` për një biznes shqiptar, `VAT` ose `TAX` për një biznes të huaj, `ID`, `PASS` ose `SOC` për një person. Pa të merret `NUIS`. |
| `client.id.id` | string, nullable | jo | Numri i dokumentit të identifikimit, p.sh. NIPT-i kur `type` është `NUIS`. |
| `client.address` | string, nullable | jo | Adresa e blerësit; shkon te CIS-i. Një klient i emëruar e kërkon, ose në këtë kërkesë ose të ruajtur më parë te klienti në fature.al. |
| `client.city` | string, nullable | jo | Qyteti i blerësit; shkon te CIS-i. Një klient i emëruar e kërkon, ose në këtë kërkesë ose të ruajtur më parë te klienti në fature.al. |
| `client.country` | string | jo | Shteti i blerësit, kod ISO 3166-1 alpha-3, p.sh. `ALB`, `RKS`, `ITA`. Pa të merret `ALB`. |
| `lines` | array | po | Rreshtat e faturës, të paktën një. |
| `lines[].product_name` | string | po | Emri i produktit ose i shërbimit. |
| `lines[].product_code` | string | po | Kodi i produktit në katalogun tuaj. |
| `lines[].unit` | string | po | Njësia matëse, si tekst që lexon njeriu. |
| `lines[].quantity` | number | po | Sasia. |
| `lines[].price` | number | po | Çmimi për njësi, me TVSH. |
| `lines[].total` | number | po | Totali i rreshtit, me TVSH. |
| `lines[].discount` | number, min 0, max 100, nullable | jo | Zbritja e rreshtit, në përqindje mbi çmimin e njësisë, nga 0 deri në 100. Opsionale: pa të, ose me vlerë bosh, rreshti kalon siç e dërgoni. `price` mbetet çmimi i plotë i njësisë, ndërsa `total` dërgohet tashmë i ulur: `price` herë `quantity`, me zbritjen e hequr. Një `total` që nuk përputhet me atë shifër e refuzon kërkesën me `400`, dhe `errors` thotë cili rresht dhe cila vlerë pritej. |
| `lines[].vat` | integer, one of 0, 6, 10, 20, nullable | jo | Norma e TVSH-së në përqindje: `0`, `6`, `10` ose `20`. Validimi e lejon të mungojë, por dërgojeni në çdo rresht: pa të rreshti mbetet pa normë TVSH-je. Kur biznesi juaj nuk është në skemën e TVSH-së, rreshti regjistrohet me TVSH `0` dhe përjashtim `TAX_FREE`, sido që ta dërgoni këtë fushë; kërkesa nuk refuzohet. |
| `lines[].vat_exempt_type` | string, one of TYPE_1, TYPE_2, EXPORT_OF_GOODS, TAX_FREE, nullable | jo | Lloji i përjashtimit nga TVSH-ja, kur rreshti është i përjashtuar: `TYPE_1`, `TYPE_2`, `EXPORT_OF_GOODS` ose `TAX_FREE`. |
| `invoice_discount_type` | string, one of percent, amount, nullable | jo | Si lexohet `invoice_discount_value`: `percent` si përqindje, `amount` si vlerë fikse me TVSH. Zbritja zbatohet mbi të gjithë faturën: rreshtat ruhen siç i dërgoni dhe ulet vetëm totali. Punon vetëm në çift me `invoice_discount_value`. Njëra pa tjetrën injorohet në heshtje dhe fatura del pa zbritje. |
| `invoice_discount_value` | number, min 0, nullable | jo | Vlera e zbritjes, e lexuar sipas `invoice_discount_type`: përqindje deri në 100 kur tipi është `percent`; vlerë me TVSH në monedhën e faturës, deri në totalin e faturës, kur tipi është `amount`. Zeroja e lë faturën pa zbritje. Zbritja shpërndahet mbi grupet e TVSH-së sipas peshës së secilit në total dhe TVSH-ja rillogaritet mbi vlerën e ulur. Baza e zbritjes është shuma e rreshtave; tarifa `fee` mbetet jashtë saj. |
| `bank_account` | integer, nullable | jo | Id-ja e një llogarie bankare të ruajtur në fature.al. |
| `bank_account_iban` | string, nullable | jo | IBAN-i i një llogarie të ruajtur në fature.al; llogaria gjendet me IBAN, në vend të `bank_account`. |
| `bankAccount` | object, nullable | jo | Llogaria bankare e plotë, kur nuk e keni ende në fature.al: `name`, `iban`, `currency`, `swift`, `holder`. Ruhet si llogari e kompanisë suaj; një IBAN që ekziston tashmë ripërdoret. |
| `bankAccount.name` | string, nullable | jo | Emri i bankës. |
| `bankAccount.iban` | string, nullable | jo | IBAN-i i llogarisë. |
| `bankAccount.currency` | string, nullable | jo | Monedha e llogarisë, kod ISO 4217. |
| `bankAccount.swift` | string, nullable | jo | Kodi SWIFT/BIC i bankës. |
| `bankAccount.notes` | string, nullable | jo | Shënime që shoqërojnë llogarinë në faturë. |
| `bankAccount.holder` | string, nullable | jo | Mbajtësi i llogarisë. |
| `fee` | object, nullable | jo | Tarifa, si objekt me `fee_type` dhe `fee_amount`. Shtohet mbi rreshtat dhe mbetet jashtë zbritjes. |
| `fee.fee_type` | string, nullable | jo | Lloji i tarifës: `OTHER`, `COMMISSION`, `PACK` ose `BOTTLE`. |
| `fee.fee_amount` | number, nullable | jo | Vlera e tarifës, në monedhën e faturës. |
| `currency` | string, nullable | jo | Monedha e faturës, kod ISO 4217; pa të merret `ALL`. |
| `exchange_rate` | number, nullable | jo | Sa lekë vlen një njësi e monedhës së faturës. Pa të, ose me vlerë jo pozitive, merret 1. Për monedha që vlejnë më pak se një lek, si JPY ose HUF, dërgoni vlerë nën 1. |
| `due_date` | string, nullable | jo | Afati i pagesës, `YYYY-MM-DD`. |
| `supply_start_date` | string, nullable | jo | Fillimi i periudhës së furnizimit, `YYYY-MM-DD`, për fatura që mbulojnë një interval. |
| `supply_end_date` | string, nullable | jo | Fundi i periudhës së furnizimit, `YYYY-MM-DD`. |
| `reverse_charge` | boolean, nullable | jo | Ngarkesa e kundërt: TVSH-ja deklarohet nga blerësi, jo nga shitësi. |
| `notes` | string, nullable | jo | Shënime që shfaqen në faturë. |
| `periodic_invoice` | boolean, nullable | jo | Shënon një faturë të një cikli të përsëritur faturimi. |
| `self_issue_type` | string, one of DOMESTIC, ABROAD, OTHER, nullable | jo | Vetëfaturim: `DOMESTIC`, `ABROAD` ose `OTHER`. Kur e dërgoni, `client` është shitësi dhe i duhet identifikimi (`client.id`) bashkë me shtetin. Pa të fatura është e zakonshme. |
| `doc_type` | string, nullable | jo | Lloji i dokumentit: `380` faturë shitjeje, `381` notë krediti, `383` notë debiti. Pa të, ose me `380`, fatura është e zakonshme. Një notë kërkon `original_invoice_iic`; rreshtat që dërgoni janë rreshtat e korrigjimit, me vlera pozitive, dhe drejtimin e përcakton `doc_type`. |
| `original_invoice_iic` | string, nullable | jo | `iic`-ja e faturës që ky dokument korrigjon, ajo që ju ktheu fatura origjinale. E detyrueshme kur `doc_type` është `381` ose `383` dhe e refuzuar me çdo lloj tjetër dokumenti. Origjinali duhet të jetë i të njëjtit lloj, i fiskalizuar, i paanuluar dhe ende i korrigjueshëm; për të kthyer një faturë të plotë përdorni anulimin, jo një notë krediti. |

### Shembull kërkese

```bash
curl -X POST 'https://fature.al/api/v1/invoice/noncash' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'X-Client-Id: YOUR_CLIENT_ID' \
  -H 'X-Client-Secret: YOUR_CLIENT_SECRET' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
    "internalId": "NONCASH-2026-000412",
    "payment_method": "TRANSFER",
    "client": {
        "internal_id": 1,
        "name": "Alpha SHPK",
        "id": {
            "type": "NUIS",
            "id": "L62221018T"
        },
        "address": "1 Example Street",
        "city": "Berlin",
        "country": "US"
    },
    "lines": [
        {
            "product_name": "Kafe",
            "product_code": "KAF-001",
            "unit": "cope",
            "quantity": 2,
            "price": 150,
            "total": 300,
            "discount": 10,
            "vat": 20,
            "vat_exempt_type": "EXPORT_OF_GOODS"
        }
    ],
    "invoice_discount_type": "percent",
    "invoice_discount_value": 10,
    "bank_account": 42,
    "bank_account_iban": "AL35202111090000000001234567",
    "bankAccount": {
        "name": "BKT",
        "iban": "AL35202111090000000001234567",
        "currency": "ALL",
        "swift": "NCBAALTX",
        "notes": "notes",
        "holder": "Ei3 Software Solution shpk"
    },
    "fee": {
        "fee_type": "PACK",
        "fee_amount": 50
    },
    "currency": "ALL",
    "exchange_rate": 100.5,
    "due_date": "2026-10-04",
    "supply_start_date": "2026-09-01",
    "supply_end_date": "2026-09-30",
    "reverse_charge": false,
    "notes": "Faleminderit per blerjen",
    "periodic_invoice": false,
    "self_issue_type": "DOMESTIC",
    "doc_type": 381,
    "original_invoice_iic": "8FE72E2ACD1C500A83F8C89B4E2E3E1D"
}'
```

### Përgjigjet

**200**: Kur fatura refuzohet pas validimit, nga CIS-i ose gjatë ruajtjes, përgjigja kthehet me HTTP 200 dhe `status: false`; arsyeja është te `message`.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean |  |
| `data` | object |  |
| `data.invoice` | object |  |
| `data.invoice.id` | integer | Id-ja e faturës në fature.al. Ruajeni pranë `internalId` tuaj |
| `data.invoice.number` | string, nullable | Numri i faturës, si `12/2026` |
| `data.invoice.iic` | string, nullable | Kodi identifikues i faturës, IIC (NSLF) |
| `data.invoice.fic` | string, nullable | Kodi që kthen CIS-i kur regjistron faturën, FIC (NIVF). Null sa kohë fatura pret fiskalizimin e shtyrë |
| `data.invoice.tcrCode` | string, nullable | Kodi TCR i pajisjes fiskale që e lëshoi; null te faturat që nuk lëshohen nga një TCR |
| `data.invoice.businessCode` | string, nullable | Kodi i njësisë së biznesit nën të cilën u lëshua fatura |
| `data.invoice.operatorCode` | string, nullable | Kodi i operatorit që e lëshoi faturën |
| `data.invoice.fiscalizedAt` | string | Data dhe ora e krijimit të faturës, `YYYY-MM-DD HH:MM:SS`, orë lokale |
| `data.invoice.verifyURL` | string, nullable | URL-ja e verifikimit te administrata tatimore, ajo që hap kodi QR |
| `data.invoice.pdf` | string | URL-ja për të shkarkuar dokumentin. Te një e-faturë që ka tashmë EIC, tregon PDF-në zyrtare të platformës së e-faturave në vend të asaj të fature.al |
| `data.invoice.eic` | string, nullable | Kodi i e-faturës në platformën e e-faturave, EIC. Çelësi është i pranishëm vetëm te një e-faturë që e ka tashmë; te çdo faturë tjetër mungon fare, nuk vjen null |

```json
{
    "status": true,
    "data": {
        "invoice": {
            "id": 40323,
            "number": "12/2026",
            "iic": "3C7E9A1F52B84D0E6A2C4F8B1D9E7A35",
            "fic": "2f6c1e8a-9b3d-4c7e-a5f1-0d8b6e4c2a91",
            "tcrCode": "xb131xb131",
            "businessCode": "bb123bb123",
            "operatorCode": "aa123aa123",
            "fiscalizedAt": "2026-09-13 10:15:00",
            "verifyURL": "https://efiskalizimi-app.tatime.gov.al/invoice-check/#/verify?iic=3C7E9A1F52B84D0E6A2C4F8B1D9E7A35&tin=L81306019C&crtd=2026-09-13T10:15:00+02:00&prc=53190.00",
            "pdf": "https://fature.al/api/v1/invoice/print/40323",
            "eic": "9b4e2d1c-6f7a-4b3c-8d2e-1f0a9c8b7d65"
        }
    }
}
```

**400**: Të dhëna të paplota ose të pavlefshme për fiskalizim. `errors` thotë saktë çfarë duhet plotësuar. Fatura nuk u ruajt; riprovoni me të njëjtin `internalId`.

| 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"
    ]
}
```

**401**: Unauthenticated

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `message` | string |  |

```json
{
    "message": "Unauthenticated."
}
```

**403**: Abonimi ka mbaruar, ose veprimi nuk lejohet për këtë llogari.

| 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"
    ]
}
```

**409**: Një kërkesë me këtë `internalId` është ende në proces. Prisni pak dhe riprovoni, ose lexoni gjendjen me `POST /invoice/details/{internalId}`.

| 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**: Të dhënat nuk kaluan validimin. Kjo përgjigje përdor fushën `success`, jo `status`, dhe `errors` është objekt sipas fushës. Vetëm `internalId` që mungon kthehet me formatin standard të gabimit.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `success` | boolean | Gjithmonë false |
| `message` | string | Një rresht përmbledhës, i njëjtë për çdo dështim validimi |
| `errors` | object | Fushat që nuk kaluan validimin, secila me mesazhet e veta. Çelësat me pikë tregojnë brenda objekteve dhe elementëve të array-ve, p.sh. `lines.0.quantity` |

```json
{
    "success": false,
    "message": "Te dhena jo te sakta",
    "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"
    ]
}
```

**503**: Shërbimi i fiskalizimit nuk u arrit dhe fatura nuk u ruajt. Riprovoni me të njëjtin `internalId`.

| 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"
    ]
}
```
