efaturaefatura
@akira-io/efatura · public beta

Validated, signed, submittable e-Fatura for Node.js

A typed toolkit for Cabo Verde fiscal compliance. Turn an invoice into official v11 DFE XML, sign it with XAdES-BES, package the ZIP, and submit to DNRE, all from Express, Fastify, or Nest.

invoice.ts
import {
  createEfatura,
  DocumentType,
} from '@akira-io/efatura'

const efatura = createEfatura(config)

const invoice = efatura
  .invoice()
  .type(DocumentType.ElectronicInvoice)
  .issueDate('2026-02-08')
  .receiver({ taxId: { countryCode: 'CV' } })
  .line(item)
  .totals(totals)
  .validate()

// DFE XML v11, sign, package, submit
v11.0
e-Fatura DFE spec
9
document types
XAdES-BES
XML signing
3
framework adapters

From invoice to fiscal authority

One pipeline, six stages. Each stage owns a contract you can swap.

1
Build
Fluent invoice builder with lines, taxes, totals.
2
Validate
Zod schemas plus fiscal rules.
3
XML v11
Official DFE mapping, XSD-checked.
4
Sign
XAdES-BES with your certificate.
5
Package
Deflate ZIP from IUD and XML.
6
Submit
Middleware and DNRE readiness.

Everything the spec asks for

Official artifacts, signing, packaging, and validation, behind a clean facade.

All nine DFE document types

Every official e-Fatura v11.0 document code, validated and XSD-tested.

01Electronic Invoice
02Invoice-Receipt
03Sales Receipt
04Receipt
05Credit Note
06Debit Note
07Transport
08Return Note
09Launch Note

Bring your framework

The same HTTP routes, wired into Express, Fastify, or Nest. Mount and go.

Ship compliant fiscal documents

Install the package, wire your config, and emit your first e-Fatura invoice in minutes.