Skip to content

EInvoice Module

Christian KASSE edited this page Apr 2, 2026 · 2 revisions

E-Invoice Module

The E-Invoice module provides electronic invoicing capabilities including invoice submission to tax authorities, status tracking, PDF/XML download, cancellation, and public verification via code or QR.

Client Access

var einvoice = essabu.einvoice();

Available API Classes

Class Accessor Description
EInvoiceApi einvoice.invoices() Submit, list, track, download e-invoices
VerificationApi einvoice.verification() Public verification (code and QR)

EInvoiceApi

Method Endpoint Description
list(PageRequest) GET /api/einvoice/invoices List e-invoices
getById(UUID) GET /api/einvoice/invoices/{id} Get e-invoice
submit(Map) POST /api/einvoice/invoices Submit e-invoice
cancel(UUID) POST /api/einvoice/invoices/{id}/cancel Cancel e-invoice
getSubmissionStatus(UUID) GET /api/einvoice/invoices/{id}/status Check status
downloadPdf(UUID) GET /api/einvoice/invoices/{id}/pdf Download PDF
downloadXml(UUID) GET /api/einvoice/invoices/{id}/xml Download XML
Map einv = einvoice.invoices().submit(Map.of(
    "invoiceId", invoiceId, "buyerTin", "123456789", "buyerName", "Acme Corp"
));
Map status = einvoice.invoices().getSubmissionStatus(einvId);
byte[] pdf = einvoice.invoices().downloadPdf(einvId);
byte[] xml = einvoice.invoices().downloadXml(einvId);

VerificationApi

Method Endpoint Description
verify(String code) GET /api/public/einvoice/verify?code= Verify by code
verifyByQrCode(String qrData) POST /api/public/einvoice/verify-qr Verify by QR data
Map result = einvoice.verification().verify("INV-2026-001-ABCDEF");
Map qrResult = einvoice.verification().verifyByQrCode(scannedQrData);

Typical Workflow

  1. Create an invoice in the Accounting module
  2. Submit it as an e-invoice via einvoice.invoices().submit()
  3. Check submission status via getSubmissionStatus()
  4. Once accepted, download PDF/XML for records
  5. Share the verification code with the buyer

Error Scenarios

HTTP Status Cause
400 Invalid invoice data (missing tax fields)
401 Missing or expired authentication token
403 Insufficient permissions
404 E-invoice not found
409 Already submitted or already cancelled
422 Validation failure from tax authority
502 Tax authority service unavailable

Clone this wiki locally