---
title: "Raporti i TVSH"
operation_id: "api.v1.reports.vat"
method: GET
path: "/api/v1/reports/vat"
group: "Raportet"
api_version: "v1"
authenticated: true
canonical: "https://fature.al/api-reference/endpoints/api-v1-reports-vat.html"
---

# Raporti i TVSH

Part of the [fature.al API](/api-reference/index.html) documentation.

## GET /api/v1/reports/vat

TVSH e mbledhur nga shitjet perballe asaj te paguar ne blerje, me diferencen qe rezulton.

Rreshtat ndahen ne dy grupe:

- **te tatueshem**, sipas shkalles: `0`, `6`, `10`, `20`;
- **te perjashtuar**, sipas llojit te perjashtimit.

Blerjet vijne nga faturat qe ka regjistruar sistemi fiskal, prandaj raporti mbulon te dyja anet
pa ju kerkuar te importoni gje.     *
`from` dhe `to` jane te detyrueshme, ne formatin `YYYY-MM-DD`, dhe periudha kthehet e
konfirmuar ne `period` te pergjigjes.

Full URL: `https://fature.al/api/v1/reports/vat`

API version: `v1`.

Authentication: required (bearer token).

### Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `from` | string<date> | yes | Data e fillimit, e perfshire. |
| `to` | string<date> | yes | Data e perfundimit, e perfshire. |

### Example request

```bash
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'
```

### Responses

**200** — OK

| Field | Type | Description |
| --- | --- | --- |
| `status` | boolean |  |
| `data` | object |  |
| `data.period` | object |  |
| `data.period.from` | string | Start date (YYYY-MM-DD), inclusive |
| `data.period.to` | string | End date (YYYY-MM-DD), inclusive |
| `data.totals` | object |  |
| `data.totals.net` | number |  |
| `data.totals.vat` | number |  |
| `data.totals.gross` | number |  |
| `data.totals.currency` | string |  |
| `data.taxable` | array |  |
| `data.taxable[].rate` | number |  |
| `data.taxable[].net` | number |  |
| `data.taxable[].vat` | number |  |
| `data.taxable[].gross` | number |  |
| `data.exempt` | array |  |
| `data.exempt[].exempt_type` | string |  |
| `data.exempt[].rate` | number |  |
| `data.exempt[].net` | number |  |
| `data.exempt[].vat` | number |  |
| `data.exempt[].gross` | number |  |
| `data.purchases` | object |  |
| `data.purchases.taxable` | array |  |
| `data.purchases.taxable[].rate` | number |  |
| `data.purchases.taxable[].net` | number |  |
| `data.purchases.taxable[].vat` | number |  |
| `data.purchases.taxable[].gross` | number |  |
| `data.purchases.exempt` | array |  |
| `data.purchases.exempt[].exempt_type` | string |  |
| `data.purchases.exempt[].rate` | number |  |
| `data.purchases.exempt[].net` | number |  |
| `data.purchases.exempt[].vat` | number |  |
| `data.purchases.exempt[].gross` | number |  |
| `data.purchases.totals` | object |  |
| `data.purchases.totals.net` | number |  |
| `data.purchases.totals.vat` | number |  |
| `data.purchases.totals.gross` | number |  |
| `data.purchases.totals.currency` | string |  |
| `data.summary` | object |  |
| `data.summary.output_vat` | number |  |
| `data.summary.input_vat` | number |  |
| `data.summary.vat_due` | number |  |
| `data.summary.currency` | string |  |

```json
{
    "status": true,
    "data": {
        "period": {
            "from": "from",
            "to": "to"
        },
        "totals": {
            "net": 19.99,
            "vat": 19.99,
            "gross": 19.99,
            "currency": "USD"
        },
        "taxable": [
            {
                "rate": 19.99,
                "net": 19.99,
                "vat": 19.99,
                "gross": 19.99
            }
        ],
        "exempt": [
            {
                "exempt_type": "exempt type",
                "rate": 19.99,
                "net": 19.99,
                "vat": 19.99,
                "gross": 19.99
            }
        ],
        "purchases": {
            "taxable": [
                {
                    "rate": 19.99,
                    "net": 19.99,
                    "vat": 19.99,
                    "gross": 19.99
                }
            ],
            "exempt": [
                {
                    "exempt_type": "exempt type",
                    "rate": 19.99,
                    "net": 19.99,
                    "vat": 19.99,
                    "gross": 19.99
                }
            ],
            "totals": {
                "net": 19.99,
                "vat": 19.99,
                "gross": 19.99,
                "currency": "USD"
            }
        },
        "summary": {
            "output_vat": 19.99,
            "input_vat": 19.99,
            "vat_due": 19.99,
            "currency": "USD"
        }
    }
}
```

**422** — Datat mungojne ose nuk jane ne formatin YYYY-MM-DD.

| Field | Type | Description |
| --- | --- | --- |
| `success` | boolean | Always false |
| `message` | string | A single summary line, the same for every validation failure |
| `errors` | object | The failing fields, each with the messages for it. Dotted keys point into nested objects and array items, e.g. `lines.0.quantity` |

```json
{
    "success": true,
    "message": "Hello there",
    "errors": []
}
```

**429** — Kufiri i kerkesave u arrit: 30 raporte ne minute.

| Field | Type | Description |
| --- | --- | --- |
| `status` | boolean | Always false. A successful response carries `status: true` and a `data` object instead |
| `message` | string | The exception message. Empty when the failure carries no exception of its own |
| `errors` | array | Messages to show the operator or to log. Absent when the failure has nothing to add beyond `message` |

```json
{
    "status": true,
    "message": "Hello there",
    "errors": [
        "errors"
    ]
}
```
