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

Anulo një faturë sipas internalId

POST /api/v2/invoice/cancel-by-internal-id/{internalId} 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.

I njëjti anulim si te v1, duke e gjetur faturën me internalId-në që dërguat kur e lëshuat: pa body anulohet e gjithë fatura, me lines vetëm një pjesë e saj, e mundur vetëm për faturat cash. Rregullat e plota janë te POST /api/v1/invoice/cancel-by-internal-id/{internalId}.

Përgjigja është dokumenti korrigjues, me iic dhe fic të vetat dhe me payment_methods bashkë me të. Kur CIS-i nuk arrihet, anulimi ruhet me fic: null dhe fiskalizohet vetë më vonë.

URL-ja e plotë: https://fature.al/api/v2/invoice/cancel-by-internal-id/{internalId}

Ndryshuar që nga v1:

What changed v1 v2
200 data.invoice.payment_methods array
200 data.invoice.payment_methods[].type string
200 data.invoice.payment_methods[].amount number
200 data.invoice.payment_methods[].company_card string, nullable
200 data.invoice.payment_methods[].vouchers array

Path parameters

Name Tipi E detyrueshme Përshkrimi
internalId string yes Identifikuesi juaj i faturës, i dërguar kur u lëshua.

Body parameters

Name Tipi E detyrueshme Përshkrimi
lines array no Rreshtat që anulohen. Pa të anulohet e gjithë fatura; me të anulohet vetëm pjesa e dërguar, e mundur vetëm për faturat cash. Çdo rresht duhet të ekzistojë në faturën origjinale me të njëjtin `product_code` dhe `product_name`, dhe sasia mund vetëm të ulet. Një faturë e lëshuar me zbritje mbi të gjithë faturën nuk pranon anulim të pjesshëm: dërgojeni kërkesën pa `lines`, që të anulohet e plotë.
lines[].product_name string yes Emri i produktit, siç është në faturën origjinale.
lines[].product_code string yes Kodi i produktit, siç është në faturën origjinale.
lines[].quantity number yes Sasia që kthehet, më e madhe se 0 dhe jo më e madhe se ajo e faturës origjinale.
lines[].price number, nullable no Çmimi për njësi, me TVSH. Duhet vetëm kur i njëjti produkt është faturuar në dy rreshta me çmime të ndryshme, që të dallohet cili rresht anulohet.

Përgjigjet

200 Dokumenti korrigjues, me `iic` dhe `fic` të vetat; `fic` është `null` kur CIS-i nuk u arrit dhe fiskalizimi do të përfundojë vetë.

Field Tipi Përshkrimi
status boolean
data object
data.invoice object, or OrderInvoiceIssueResult, SummaryInvoiceIssueResult
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
data.invoice.payment_methods array Një element për çdo mënyrë pagese, me shumën që u shlye me secilën. E njëjta listë që kthen `GET /invoice/{id}/details`
data.invoice.payment_methods[].type string Mënyra e pagesës, p.sh. `BANKNOTE` ose `CARD`
data.invoice.payment_methods[].amount number Shuma e shlyer me këtë mënyrë, me TVSH, në monedhën e faturës
data.invoice.payment_methods[].company_card string, nullable Numri i kartës së kompanisë; i plotësuar vetëm kur `type` është `COMPANY`, përndryshe null
data.invoice.payment_methods[].vouchers array Numrat serialë të tollonave; të plotësuar vetëm kur `type` është `SVOUCHER`, përndryshe listë bosh

401 Unauthenticated

Field Tipi Përshkrimi
message string

404 Fatura nuk u gjet, ose nuk i përket kompanisë suaj.

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 Fatura nuk mund të anulohet në gjendjen e saj aktuale, ose rreshtat e dërguar nuk përputhen me origjinalin. `errors` thotë pse.

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 anulimeve u arrit, ose një anulim tjetër i të njëjtit tip është ende në proces. Nga kufiri i anulimeve përgjigja mban vetëm `message` dhe header-in `Retry-After`.

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, përfshirë rastin kur anulimi nuk u regjistrua dot te CIS-i.

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 POST 'https://fature.al/api/v2/invoice/cancel-by-internal-id/CASH-001' \
  -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 '{
    "lines": [
        {
            "product_name": "Jane Doe",
            "product_code": "product code",
            "quantity": 2,
            "price": 1999
        }
    ]
}'
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',
    'Content-Type' => 'application/json',
])->post('https://fature.al/api/v2/invoice/cancel-by-internal-id/CASH-001', [
    'lines' => [
        [
            'product_name' => 'Jane Doe',
            'product_code' => 'product code',
            'quantity' => 2,
            'price' => 1999,
        ],
    ],
]);

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

$client = new Client();

$response = $client->request('POST', 'https://fature.al/api/v2/invoice/cancel-by-internal-id/CASH-001', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_TOKEN',
        'X-Client-Id' => 'YOUR_CLIENT_ID',
        'X-Client-Secret' => 'YOUR_CLIENT_SECRET',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
    'json' => [
        'lines' => [
            [
                'product_name' => 'Jane Doe',
                'product_code' => 'product code',
                'quantity' => 2,
                'price' => 1999,
            ],
        ],
    ],
]);

$data = json_decode((string) $response->getBody(), true);
JavaScript
const response = await fetch('https://fature.al/api/v2/invoice/cancel-by-internal-id/CASH-001', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_TOKEN',
    'X-Client-Id': 'YOUR_CLIENT_ID',
    'X-Client-Secret': 'YOUR_CLIENT_SECRET',
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
      "lines": [
          {
              "product_name": "Jane Doe",
              "product_code": "product code",
              "quantity": 2,
              "price": 1999
          }
      ]
  })
});

const data = await response.json();

Shembull përgjigjeje

200
{
    "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",
            "payment_methods": [
                {
                    "type": "ACCOUNT",
                    "amount": 540,
                    "company_card": "company card",
                    "vouchers": []
                }
            ]
        }
    }
}
401
{
    "message": "Unauthenticated."
}
404
{
    "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"
    ]
}

Regjistrimi është falas.

Regjistrohu në fature.al

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