client.reports
client.reports
client.reports împachetează /api/v1/reports/* — gestionarea rapoartelor X (interimar), Z (de închidere), JE (Jurnal Electronic) și MF (Memorie Fiscală) plus generarea de XML conform ANAF / documente MF. Vezi documentația REST corespondentă la API Rapoarte.
Eșecurile la nivel HTTP apar ca EBonApiError — vezi Erori și /ro/api/errors.
client.reports.listXReports(query?)
Listează rapoartele X.
async listXReports(query?: ListReportsQuery): Promise<ListReportsResult<XReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | nu | Filtrează după dispozitiv. |
from | string | nu | Limită inferioară ISO-8601 (inclusiv). |
to | string | nu | Limită superioară ISO-8601 (inclusiv). |
limit | number | nu | Dimensiunea paginii; serverul plafonează maximul. |
Returnează { reports: XReport[] }.
const { reports } = await client.reports.listXReports({ deviceId: 'dev_01HZ...' });
client.reports.getXReport(id)
Obține un singur raport X.
async getXReport(id: string): Promise<GetReportResult<XReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
id | string | da | Identificatorul raportului X. |
Returnează { report: XReport }.
const { report } = await client.reports.getXReport('xr_01HZ...');
client.reports.createXReport(body)
Creează un raport X.
async createXReport(body: CreateXReportBody): Promise<XReport>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | da | Dispozitivul sursă. |
totals | { sales, refunds, net: number } | da | Totaluri pe zi. |
vatBreakdown | VatBreakdownEntry[] | da | Defalcare TVA. |
receiptCount | number | da | Bonurile incluse în X. |
Returnează XReport-ul creat.
await client.reports.createXReport({
deviceId: 'dev_01HZ...',
totals: { sales: 1024.5, refunds: 0, net: 1024.5 },
vatBreakdown: [{ rate: 19, base: 860.92, vat: 163.58 }],
receiptCount: 42,
});
client.reports.listZReports(query?)
Listează rapoartele Z.
async listZReports(query?: ListReportsQuery): Promise<ListReportsResult<ZReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | nu | Filtrează după dispozitiv. |
from | string | nu | Limită inferioară ISO-8601 (inclusiv). |
to | string | nu | Limită superioară ISO-8601 (inclusiv). |
limit | number | nu | Dimensiunea paginii; serverul plafonează maximul. |
Returnează { reports: ZReport[] }.
const { reports } = await client.reports.listZReports({ from: '2026-04-01' });
client.reports.getZReport(id)
Obține un singur raport Z.
async getZReport(id: string): Promise<GetReportResult<ZReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
id | string | da | Identificatorul raportului Z. |
Returnează { report: ZReport }.
const { report } = await client.reports.getZReport('zr_01HZ...');
client.reports.createZReport(body)
Creează un raport Z.
async createZReport(body: CreateZReportBody): Promise<ZReport>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | da | Dispozitivul sursă. |
totals | { sales, refunds, net: number } | da | Totaluri pe zi. |
vatBreakdown | VatBreakdownEntry[] | da | Defalcare TVA. |
receiptCount | number | da | Bonurile incluse în Z. |
resetCounter | number | da | Contorul de resetare zilnică al AMEF-ului. |
periodStart | string | da | Începutul perioadei Z în ISO-8601. |
periodEnd | string | da | Sfârșitul perioadei Z în ISO-8601. |
Returnează ZReport-ul creat.
await client.reports.createZReport({
deviceId: 'dev_01HZ...',
totals: { sales: 1024.5, refunds: 0, net: 1024.5 },
vatBreakdown: [{ rate: 19, base: 860.92, vat: 163.58 }],
receiptCount: 42,
resetCounter: 17,
periodStart: '2026-04-23T00:00:00+03:00',
periodEnd: '2026-04-24T00:00:00+03:00',
});
client.reports.listJEReports(query?)
Listează rapoartele JE.
async listJEReports(query?: ListJEReportsQuery): Promise<ListReportsResult<JEReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | nu | Filtrează după dispozitiv. |
from | string | nu | Limită inferioară ISO-8601 (inclusiv). |
to | string | nu | Limită superioară ISO-8601 (inclusiv). |
limit | number | nu | Dimensiunea paginii; serverul plafonează maximul. |
anafStatus | AnafStatus | nu | Filtrează după statusul de transmitere ANAF. |
Returnează { reports: JEReport[] }.
const { reports } = await client.reports.listJEReports({ anafStatus: 'pending' });
client.reports.getJEReport(id)
Obține un singur raport JE.
async getJEReport(id: string): Promise<GetReportResult<JEReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
id | string | da | Identificatorul raportului JE. |
Returnează { report: JEReport }.
const { report } = await client.reports.getJEReport('je_01HZ...');
client.reports.createJEReport(body)
Creează un raport JE.
async createJEReport(body: CreateJEReportBody): Promise<JEReport>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | da | Dispozitivul sursă. |
xmlContent | string | da | Payload XML conform ANAF. |
reportDate | string | da | Data ISO-8601 acoperită de raport. |
Returnează JEReport-ul creat.
await client.reports.createJEReport({
deviceId: 'dev_01HZ...',
xmlContent: '<?xml ...?>',
reportDate: '2026-04-23',
});
client.reports.generateJEXml(deviceId, query)
Generează XML JE conform ANAF pentru un dispozitiv/perioadă.
async generateJEXml(deviceId: string, query: GenerateJEXmlQuery): Promise<string>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
from | string | da | Începutul perioadei în ISO-8601. |
to | string | da | Sfârșitul perioadei în ISO-8601. |
Returnează șirul XML brut, gata de transmitere către ANAF.
const xml = await client.reports.generateJEXml('dev_01HZ...', {
from: '2026-04-01',
to: '2026-04-30',
});
client.reports.listMFReports(query?)
Listează rapoartele MF.
async listMFReports(query?: ListReportsQuery): Promise<ListReportsResult<MFReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | nu | Filtrează după dispozitiv. |
from | string | nu | Limită inferioară ISO-8601 (inclusiv). |
to | string | nu | Limită superioară ISO-8601 (inclusiv). |
limit | number | nu | Dimensiunea paginii; serverul plafonează maximul. |
Returnează { reports: MFReport[] }.
const { reports } = await client.reports.listMFReports();
client.reports.getMFReport(id)
Obține un singur raport MF.
async getMFReport(id: string): Promise<GetReportResult<MFReport>>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
id | string | da | Identificatorul raportului MF. |
Returnează { report: MFReport }.
const { report } = await client.reports.getMFReport('mf_01HZ...');
client.reports.createMFReport(body)
Creează un raport MF.
async createMFReport(body: CreateMFReportBody): Promise<MFReport>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
deviceId | string | da | Dispozitivul sursă. |
content | string | da | Conținutul arhivei memoriei fiscale. |
archiveDate | string | da | Data ISO-8601 a generării arhivei. |
Returnează MFReport-ul creat.
await client.reports.createMFReport({
deviceId: 'dev_01HZ...',
content: '<archive>...</archive>',
archiveDate: '2026-04-23',
});
client.reports.generateMF(deviceId, query)
Generează documentul de Memorie Fiscală pentru un dispozitiv/perioadă.
async generateMF(deviceId: string, query: GenerateMFQuery): Promise<unknown>
| Nume | Tip | Obligatoriu | Note |
|---|---|---|---|
from | string | da | Începutul perioadei în ISO-8601. |
to | string | da | Sfârșitul perioadei în ISO-8601. |
Returnează documentul MF generat (formă specifică driverului — vezi API Rapoarte › Generate MF).
const mf = await client.reports.generateMF('dev_01HZ...', {
from: '2026-04-01',
to: '2026-04-30',
});
client.receipts
Referință pentru ReceiptsResource — stochează bonuri fiscale după tipărire și recuperează-le cu paginare bazată pe cursor, oglindind /api/v1/receipts.
client.webhooks
Referință pentru WebhooksResource — gestionează abonamentele webhook, rotește secretele de semnare, declanșează livrări de test și inspectează istoricul livrărilor, oglindind /api/v1/org/webhooks.