e-bon
e-bon.ro
SDK TypeScript

client.reports

Referință pentru ReportsResource — listează, obține și creează rapoarte X / Z / JE / MF și generează XML conform ANAF, oglindind /api/v1/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>>
NumeTipObligatoriuNote
deviceIdstringnuFiltrează după dispozitiv.
fromstringnuLimită inferioară ISO-8601 (inclusiv).
tostringnuLimită superioară ISO-8601 (inclusiv).
limitnumbernuDimensiunea 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>>
NumeTipObligatoriuNote
idstringdaIdentificatorul 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>
NumeTipObligatoriuNote
deviceIdstringdaDispozitivul sursă.
totals{ sales, refunds, net: number }daTotaluri pe zi.
vatBreakdownVatBreakdownEntry[]daDefalcare TVA.
receiptCountnumberdaBonurile 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>>
NumeTipObligatoriuNote
deviceIdstringnuFiltrează după dispozitiv.
fromstringnuLimită inferioară ISO-8601 (inclusiv).
tostringnuLimită superioară ISO-8601 (inclusiv).
limitnumbernuDimensiunea 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>>
NumeTipObligatoriuNote
idstringdaIdentificatorul 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>
NumeTipObligatoriuNote
deviceIdstringdaDispozitivul sursă.
totals{ sales, refunds, net: number }daTotaluri pe zi.
vatBreakdownVatBreakdownEntry[]daDefalcare TVA.
receiptCountnumberdaBonurile incluse în Z.
resetCounternumberdaContorul de resetare zilnică al AMEF-ului.
periodStartstringdaÎnceputul perioadei Z în ISO-8601.
periodEndstringdaSfâ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>>
NumeTipObligatoriuNote
deviceIdstringnuFiltrează după dispozitiv.
fromstringnuLimită inferioară ISO-8601 (inclusiv).
tostringnuLimită superioară ISO-8601 (inclusiv).
limitnumbernuDimensiunea paginii; serverul plafonează maximul.
anafStatusAnafStatusnuFiltrează 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>>
NumeTipObligatoriuNote
idstringdaIdentificatorul 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>
NumeTipObligatoriuNote
deviceIdstringdaDispozitivul sursă.
xmlContentstringdaPayload XML conform ANAF.
reportDatestringdaData 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>
NumeTipObligatoriuNote
fromstringdaÎnceputul perioadei în ISO-8601.
tostringdaSfâ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>>
NumeTipObligatoriuNote
deviceIdstringnuFiltrează după dispozitiv.
fromstringnuLimită inferioară ISO-8601 (inclusiv).
tostringnuLimită superioară ISO-8601 (inclusiv).
limitnumbernuDimensiunea 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>>
NumeTipObligatoriuNote
idstringdaIdentificatorul 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>
NumeTipObligatoriuNote
deviceIdstringdaDispozitivul sursă.
contentstringdaConținutul arhivei memoriei fiscale.
archiveDatestringdaData 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>
NumeTipObligatoriuNote
fromstringdaÎnceputul perioadei în ISO-8601.
tostringdaSfâ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',
});