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 përmbledhjen e shitjeve

GET /api/v1/reports/sales-summary 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.

Totalet e shitjeve për një periudhë: numri i faturave, bruto, neto, TVSH-ja dhe vlera mesatare e faturës, të ndara njëherësh sipas mënyrës së pagesës, tipit të faturës, shkallës së TVSH-së dhe ditës.

Përdoreni për rakordim periodik ose për një panel shitjesh. Për një ditë të vetme të arkës përdorni GET /reports/cash-register.

Totalet mbajnë vetëm faturat e paanuluara. cancelled mban numrin dhe vlerën e faturave të anuluara në periudhë, kështu që nuk ju duhet një thirrje e dytë për t'i kontrolluar.

Me categories, si listë id-sh ose 1,2, raporti mbledh vetëm rreshtat e produkteve të atyre kategorive dhe një faturë numërohet kur ka të paktën një rresht prej tyre; 0 merr produktet pa kategori.

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

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.
categories array, nullable no Kategoritë e produkteve që merr raporti, si listë id-sh ose `1,2`; `0` merr produktet pa kategori. Pa të merren të gjitha.

Përgjigjet

200 Përmbledhja e shitjeve të periudhës te `data`: `totals`, ndarjet sipas mënyrës së pagesës, tipit të faturës, shkallës së TVSH-së dhe ditës, dhe `cancelled`; ndarjet janë bosh kur periudha nuk ka shitje.

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 periudhës mbi faturat e paanuluara
data.totals.invoices integer Numri i faturave të paanuluara në periudhë
data.totals.gross number Vlera bruto (me TVSH) e faturave, në lekë
data.totals.net number Vlera neto (pa TVSH), në lekë
data.totals.vat number TVSH-ja gjithsej, në lekë
data.totals.avg_invoice number Vlera mesatare bruto e një fature: `gross` pjesëtuar me `invoices`; `0` kur nuk ka fatura
data.totals.currency string Monedha e shumave, gjithmonë `ALL`
data.by_payment_method array Shitjet sipas mënyrës së pagesës që i shleu, nga bruto më e madhe. Një faturë e paguar me disa mënyra hyn te secila vetëm me pjesën e vet
data.by_payment_method[].method string Kodi i mënyrës së pagesës, ai i CIS-it: `BANKNOTE`, `CARD`, `CHECK`, `SVOUCHER`, `COMPANY` te faturat cash; `ACCOUNT`, `TRANSFER`, `COMPENSATION`, `FACTORING`, `KIND`, `WAIVER`, `OTHER` te faturat jo-cash dhe e-faturat. `OTHER` edhe kur fatura nuk mban mënyrë pagese
data.by_payment_method[].count integer Sa fatura u shlyen, plotësisht ose pjesërisht, me këtë mënyrë
data.by_payment_method[].gross number Shuma bruto e shlyer me këtë mënyrë, në lekë
data.by_payment_method[].net number Pjesa neto (pa TVSH), në lekë. Te faturat e ndara ndahet në përpjesëtim me bruton
data.by_payment_method[].vat number Pjesa e TVSH-së, në lekë, e ndarë po njësoj
data.by_type array Shitjet sipas tipit të faturës, nga bruto më e madhe
data.by_type[].type string Tipi i faturës: `CASH` faturë cash, `NONCASH` faturë jo-cash, `EINVOICE` e-faturë
data.by_type[].count integer Numri i faturave të paanuluara të këtij tipi
data.by_type[].gross number Vlera bruto e tyre, në lekë
data.by_vat_rate array Shumat e rreshtave të faturave sipas shkallës së TVSH-së, nga shkalla më e lartë te më e ulëta; rreshtat e përjashtuar dalin veçmas, me `exempt_type`
data.by_vat_rate[].rate number Shkalla e TVSH-së në përqind, siç është në rreshtin e faturës: `20`, `10`, `6` ose `0`
data.by_vat_rate[].net number Vlera neto (pa TVSH) e rreshtave, në lekë
data.by_vat_rate[].vat number TVSH-ja e rreshtave, në lekë
data.by_vat_rate[].gross number Vlera bruto (me TVSH) e rreshtave, në lekë
data.by_vat_rate[].exempt_type string, nullable Lloji i përjashtimit nga TVSH-ja, kodi i CIS-it: `TYPE_1`, `TYPE_2`, `TAX_FREE` ose `EXPORT_OF_GOODS`; te faturat e sjella nga CIS-i mund të vijë edhe `MARGIN_SCHEME`. Çelësi është i pranishëm vetëm te rreshtat e përjashtuar; te rreshtat e tatueshëm mungon fare, nuk vjen null
data.by_day array Një pikë për çdo ditë me shitje, në rend kronologjik; ditët pa shitje nuk dalin. Bosh kur `from` dhe `to` janë e njëjta ditë
data.by_day[].date string Data, `YYYY-MM-DD`
data.by_day[].count integer Numri i faturave të paanuluara të ditës
data.by_day[].gross number Vlera bruto e tyre, në lekë
data.cancelled object Faturat e anuluara të periudhës, që nuk hyjnë në asnjë nga shumat e mësipërme
data.cancelled.count integer Sa fatura cash, jo-cash dhe e-fatura me datë brenda periudhës janë anuluar
data.cancelled.gross number Vlera bruto e tyre, në lekë. Nuk ka nevojë të zbritet nga `totals`: ato mbajnë vetëm faturat e paanuluara

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/sales-summary?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/sales-summary?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/sales-summary?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/sales-summary?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": {
            "invoices": 412,
            "gross": 1845250,
            "net": 1537708.33,
            "vat": 307541.67,
            "avg_invoice": 4478.76,
            "currency": "ALL"
        },
        "by_payment_method": [
            {
                "method": "BANKNOTE",
                "count": 318,
                "gross": 1210400,
                "net": 1008666.67,
                "vat": 201733.33
            }
        ],
        "by_type": [
            {
                "type": "CASH",
                "count": 351,
                "gross": 1402100
            }
        ],
        "by_vat_rate": [
            {
                "rate": 20,
                "net": 1250000,
                "vat": 250000,
                "gross": 1500000,
                "exempt_type": "TAX_FREE"
            }
        ],
        "by_day": [
            {
                "date": "2026-09-05",
                "count": 38,
                "gross": 152300
            }
        ],
        "cancelled": {
            "count": 7,
            "gross": 23150
        }
    }
}
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.