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

Merr raportin e TVSH-së

GET /api/v1/reports/vat Requires authentication Rate limited by the `api-global` limiter v1

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

TVSH-ja e mbledhur nga shitjet përballë asaj të paguar në blerje për periudhën, me diferencën që rezulton te summary.vat_due.

Rreshtat ndahen në dy grupe, si për shitjet ashtu edhe për blerjet te purchases:

  • taxable, sipas shkallës: 0, 6, 10, 20;
  • exempt, sipas llojit të përjashtimit.

Blerjet vijnë nga faturat e blerjes që ka regjistruar CIS-i, prandaj raporti mbulon të dyja anët pa ju kërkuar të importoni gjë.

URL-ja e plotë: https://fature.al/api/v1/reports/vat

Query parameters

Name Tipi E detyrueshme Përshkrimi
from string<date> yes Data e fillimit, `YYYY-MM-DD`, e përfshirë. E detyrueshme.
to string<date> yes Data e mbarimit, `YYYY-MM-DD`, e përfshirë. E detyrueshme. Kur është para `from`, të dyja ndërrohen vend.

Përgjigjet

200 Raporti i TVSH-së te `data`: shitjet te `totals`, `taxable` dhe `exempt`, blerjet te `purchases`, dhe diferenca te `summary.vat_due`.

Field Tipi Përshkrimi
status boolean
data object
data.period object Periudha e konfirmuar e raportit
data.period.from string Data e fillimit, `YYYY-MM-DD`, përfshirëse
data.period.to string Data e mbarimit, `YYYY-MM-DD`, përfshirëse
data.totals object Totalet e shitjeve: shuma e `taxable` dhe `exempt`
data.totals.net number Vlera neto (pa TVSH) e rreshtave, në lekë
data.totals.vat number TVSH-ja e rreshtave, në lekë
data.totals.gross number Vlera bruto (me TVSH) e rreshtave, në lekë
data.totals.currency string Monedha e shumave, gjithmonë `ALL`
data.taxable array Shitjet e tatueshme sipas shkallës së TVSH-së, nga shkalla më e lartë
data.taxable[].rate number Shkalla e TVSH-së në përqind: `20`, `10`, `6` ose `0`
data.taxable[].net number Vlera neto (pa TVSH) e rreshtave, në lekë
data.taxable[].vat number TVSH-ja e rreshtave, në lekë
data.taxable[].gross number Vlera bruto (me TVSH) e rreshtave, në lekë
data.exempt array Shitjet e përjashtuara nga TVSH-ja sipas llojit të përjashtimit
data.exempt[].exempt_type string Lloji i përjashtimit, kodi i CIS-it: `TYPE_1` (neni 51 i ligjit të TVSH-së), `TYPE_2` (nenet 53 dhe 54), `TAX_FREE` (pa TVSH), `EXPORT_OF_GOODS` (eksport mallrash) ose `MARGIN_SCHEME` (skema e marzhit, marzhi i saj është te `margin_scheme`)
data.exempt[].rate number Shkalla e TVSH-së e rreshtave në përqind, zakonisht `0`
data.exempt[].net number Vlera neto e rreshtave, në lekë
data.exempt[].vat number TVSH-ja e rreshtave, në lekë, zakonisht `0`
data.exempt[].gross number Vlera bruto e rreshtave, në lekë
data.margin_scheme object Shitjet në skemën e marzhit: vlera e plotë, marzhi dhe TVSH-ja brenda tij
data.margin_scheme.gross number Vlera e plotë e rreshtave në skemën e marzhit, në lekë
data.margin_scheme.margin number Marzhi: shitja minus kostoja e blerjes, pas zbritjes në nivel fature, në lekë
data.margin_scheme.vat number TVSH-ja brenda marzhit, me normën 20%, në lekë. Hyn te `summary.output_vat`
data.margin_scheme.currency string Monedha e shumave, gjithmonë `ALL`
data.purchases object E njëjta ndarje për blerjet e periudhës
data.purchases.taxable array Blerjet e tatueshme sipas shkallës së TVSH-së, nga shkalla më e lartë
data.purchases.taxable[].rate number Shkalla e TVSH-së në përqind: `20`, `10`, `6` ose `0`
data.purchases.taxable[].net number Vlera neto (pa TVSH) e rreshtave, në lekë
data.purchases.taxable[].vat number TVSH-ja e rreshtave, në lekë
data.purchases.taxable[].gross number Vlera bruto (me TVSH) e rreshtave, në lekë
data.purchases.exempt array Blerjet e përjashtuara nga TVSH-ja sipas llojit të përjashtimit
data.purchases.exempt[].exempt_type string Lloji i përjashtimit, kodi i CIS-it: `TYPE_1` (neni 51 i ligjit të TVSH-së), `TYPE_2` (nenet 53 dhe 54), `TAX_FREE` (pa TVSH), `EXPORT_OF_GOODS` (eksport mallrash) ose `MARGIN_SCHEME` (skema e marzhit, marzhi i saj është te `margin_scheme`)
data.purchases.exempt[].rate number Shkalla e TVSH-së e rreshtave në përqind, zakonisht `0`
data.purchases.exempt[].net number Vlera neto e rreshtave, në lekë
data.purchases.exempt[].vat number TVSH-ja e rreshtave, në lekë, zakonisht `0`
data.purchases.exempt[].gross number Vlera bruto e rreshtave, në lekë
data.purchases.totals object Totalet e blerjeve
data.purchases.totals.net number Vlera neto (pa TVSH) e rreshtave, në lekë
data.purchases.totals.vat number TVSH-ja e rreshtave, në lekë
data.purchases.totals.gross number Vlera bruto (me TVSH) e rreshtave, në lekë
data.purchases.totals.currency string Monedha e shumave, gjithmonë `ALL`
data.summary object TVSH-ja e mbledhur përballë asaj të paguar dhe diferenca
data.summary.output_vat number TVSH-ja e mbledhur nga shitjet, në lekë: `totals.vat` plus TVSH-ja brenda marzhit, `margin_scheme.vat`. Pa shitje në skemën e marzhit është e njëjta me `totals.vat`
data.summary.input_vat number TVSH-ja e paguar në blerje, e njëjta me `purchases.totals.vat`, në lekë
data.summary.vat_due number `output_vat` minus `input_vat`, në lekë: TVSH-ja për t'u paguar; negative kur blerjet mbajnë më shumë TVSH se shitjet
data.summary.currency string Monedha e shumave, gjithmonë `ALL`

401 Unauthenticated

Field Tipi Përshkrimi
message string

403 Përdoruesi nuk ka të drejtën e raporteve. Një operator merr në raport vetëm faturat e veta.

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 `from` ose `to` mungon, ose nuk është në formatin `YYYY-MM-DD`. Kjo përgjigje përdor fushën `success`, jo `status`, dhe `errors` është objekt sipas fushës.

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

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`

Shembull kërkese

cURL
curl -X GET 'https://fature.al/api/v1/reports/vat?from=2026-01-01&to=2026-01-31' \
  -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/v1/reports/vat?from=2026-01-01&to=2026-01-31');

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

$client = new Client();

$response = $client->request('GET', 'https://fature.al/api/v1/reports/vat?from=2026-01-01&to=2026-01-31', [
    '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/v1/reports/vat?from=2026-01-01&to=2026-01-31', {
  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": {
        "period": {
            "from": "2026-09-01",
            "to": "2026-09-13"
        },
        "totals": {
            "net": 1537708.33,
            "vat": 250000,
            "gross": 1787708.33,
            "currency": "ALL"
        },
        "taxable": [
            {
                "rate": 20,
                "net": 1250000,
                "vat": 250000,
                "gross": 1500000
            }
        ],
        "exempt": [
            {
                "exempt_type": "TAX_FREE",
                "rate": 0,
                "net": 287708.33,
                "vat": 0,
                "gross": 287708.33
            }
        ],
        "margin_scheme": {
            "gross": 120000,
            "margin": 18000,
            "vat": 3000,
            "currency": "ALL"
        },
        "purchases": {
            "taxable": [
                {
                    "rate": 20,
                    "net": 1250000,
                    "vat": 250000,
                    "gross": 1500000
                }
            ],
            "exempt": [
                {
                    "exempt_type": "TAX_FREE",
                    "rate": 0,
                    "net": 287708.33,
                    "vat": 0,
                    "gross": 287708.33
                }
            ],
            "totals": {
                "net": 1537708.33,
                "vat": 250000,
                "gross": 1787708.33,
                "currency": "ALL"
            }
        },
        "summary": {
            "output_vat": 250000,
            "input_vat": 96000,
            "vat_due": 154000,
            "currency": "ALL"
        }
    }
}
401
{
    "message": "Unauthenticated."
}
403
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
422
{
    "success": false,
    "message": "Te dhena jo te sakta",
    "errors": []
}
429
{
    "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.