> Source: https://fiscal.link/integrators/docs/reference/local/reports
> Rapoartele X și Z.

API local

# Rapoarte

Rapoartele X și Z.

## Resursa DailyReportSummary

`zeroing` boolean doar citire

`true` la raportul Z, care închide ziua fiscală; `false` la raportul X.

`reportNumber` string poate fi null doar citire

Numărul raportului. La un X, Tremol dă ultimul Z închis, iar Datecs următorul Z. Pe Daisy nu e stabilit.

`taxGroups` [object](https://fiscal.link/integrators/docs/reference/objects/local-report-tax-group) doar citire

Totalurile pe grupe TVA, cu litera grupei drept cheie. Pe v2, valoarea e un obiect. Tremol și Datecs dau A–F; Daisy dă A–D.

`invoiceTotal` string poate fi null doar citire

Totalul bonurilor cu CIF client, ca text. Doar Datecs; `null` înseamnă că nu e citit.

Mărci: Datecs

`invoiceVat` string poate fi null doar citire

TVA-ul bonurilor cu CIF client, ca text. Doar Datecs; `null` înseamnă că nu e citit.

Mărci: Datecs

`nonVatTotal` string poate fi null doar citire

Totalul din afara grupelor TVA, ca text. Pe Tremol e `null`.

Mărci: Datecs, Daisy

`payments` [object](https://fiscal.link/integrators/docs/reference/objects/local-report-payments) doar citire

Totalurile pe metode de plată.

`unreadFigures` array doar citire

Ce nu s-a putut citi: `reportNumber`, `taxGroups` sau `payments`. Doar Tremol o completează.

-   `reportNumber` Numărul raportului.
-   `taxGroups` Totalurile pe grupe TVA.
-   `payments` Totalurile pe metode de plată.

`brand` string poate fi null doar citire

Marca casei.

-   `Tremol` Tremol.
-   `Datecs` Datecs.
-   `Daisy` Daisy.

`message` string poate fi null doar citire

Mesajul casei, când există.

### Obiecte folosite aici

-   [ApiResponse](https://fiscal.link/integrators/docs/reference/objects/local-response-envelope)
-   [ErrorResponse](https://fiscal.link/integrators/docs/reference/objects/local-error-response)
-   [ReportTaxGroup](https://fiscal.link/integrators/docs/reference/objects/local-report-tax-group)
-   [ReportPayments](https://fiscal.link/integrators/docs/reference/objects/local-report-payments)

## Rute

POST `/report-z`

### Tipărește raportul Z

Închide ziua fiscală și îi aduce totalurile la zero. E ireversibil. Fără corp.

-   Răspuns [ApiResponse](https://fiscal.link/integrators/docs/reference/objects/local-response-envelope)
-   Răspuns [ErrorResponse](https://fiscal.link/integrators/docs/reference/objects/local-error-response)
-   Răspuns [DailyReportSummary](https://fiscal.link/integrators/docs/reference/objects/local-report-summary)
-   Răspuns [ReportTaxGroup](https://fiscal.link/integrators/docs/reference/objects/local-report-tax-group)
-   Răspuns [ReportPayments](https://fiscal.link/integrators/docs/reference/objects/local-report-payments)

POSTCerere

```bash
curl -X POST 'https://localhost.fiscallink.ro:65401/api/v2/report-z'
```

200Răspuns

```json
{
  "statusCode": 200,
  "data": {
    "zeroing": true,
    "reportNumber": "0142",
    "taxGroups": {
      "A": { "total": "1250.00", "vat": "216.94", "rate": "21.00" },
      "B": { "total": "310.50", "vat": "30.77", "rate": "11.00" },
      "C": { "total": "0.00", "vat": null, "rate": null }
    },
    "nonVatTotal": "0.00",
    "invoiceTotal": "0.00",
    "invoiceVat": "0.00",
    "payments": { "method1": "980.50", "method2": "580.00", "method3": "0.00" },
    "unreadFigures": [],
    "brand": "Datecs",
    "message": "Report Z printed successfully."
  }
}
```

POST `/report-x`

### Tipărește raportul X

Tipărește totalurile zilei de până acum, fără să închidă ziua. Fără corp.

| Câmp | Descriere |
| --- | --- |
| `zeroing` | `true` la Z (ziua se închide), `false` la X. |
| `reportNumber` | Numărul raportului. Pe Tremol e calculat din ultimul Z și poate fi `null`. |
| `taxGroups` | Pe grupă TVA: `total` (vânzările, text cu 2 zecimale), `vat` și `rate`; ultimele două sunt `null` când grupa nu are o cotă cunoscută. A–F pe Datecs și Tremol, A–D pe Daisy. |
| `nonVatTotal` | Totalul din afara grupelor de TVA. Poate fi `null`. |
| `invoiceTotal`, `invoiceVat` | Doar pe Datecs: totalul și TVA-ul bonurilor cu factură. `null` pe celelalte mărci. |
| `payments` | Totalurile pe metode de plată, `method1` … `method10` (1 e numerarul), text cu 2 zecimale. |
| `unreadFigures` | Cifrele pe care aplicația nu le-a putut citi: `reportNumber`, `taxGroups` sau `payments`. Tratează-le ca necunoscute, nu ca zero. Doar Tremol o completează. |
| `brand` | Marca casei: `Datecs`, `Daisy` sau `Tremol`. |
| `message` | Mesajul de succes, în limba aplicației. |

-   Răspuns [ApiResponse](https://fiscal.link/integrators/docs/reference/objects/local-response-envelope)
-   Răspuns [ErrorResponse](https://fiscal.link/integrators/docs/reference/objects/local-error-response)
-   Răspuns [DailyReportSummary](https://fiscal.link/integrators/docs/reference/objects/local-report-summary)
-   Răspuns [ReportTaxGroup](https://fiscal.link/integrators/docs/reference/objects/local-report-tax-group)
-   Răspuns [ReportPayments](https://fiscal.link/integrators/docs/reference/objects/local-report-payments)

POSTCerere

```bash
curl -X POST 'https://localhost.fiscallink.ro:65401/api/v2/report-x'
```

200Răspuns (Z; la X, zeroing e false)

```json
{
  "statusCode": 200,
  "data": {
    "zeroing": true,
    "reportNumber": "0142",
    "taxGroups": {
      "A": { "total": "1250.00", "vat": "216.94", "rate": "21.00" },
      "B": { "total": "310.50", "vat": "30.77", "rate": "11.00" },
      "C": { "total": "0.00", "vat": null, "rate": null }
    },
    "nonVatTotal": "0.00",
    "invoiceTotal": "0.00",
    "invoiceVat": "0.00",
    "payments": { "method1": "980.50", "method2": "580.00", "method3": "0.00" },
    "unreadFigures": [],
    "brand": "Datecs",
    "message": "Report Z printed successfully."
  }
}
```
