Skip to content
Glowing Pixels
Main navigation

gdk/fin e-invoicing

Open-source e-invoicing for Go

An open Go engine for EN 16931 e-invoices: one semantic model, CII and UBL, PDF/A-3 hybrids, and a rule engine that explains every finding.

Open source (MIT). Money, bank, e-invoice, PDF/A-3 and payment are implemented; the first release is in preparation.

Ask about e-invoicing

inv := &einvoice.Invoice{
    Profile:  einvoice.ProfileEN16931,
    Number:   "INV-0001",
    Currency: "EUR",
    // seller, buyer, lines, VAT breakdown, totals
}
engine := rules.NewEngine(rules.CoreArithmeticDomain)
report, _ := engine.Validate(ctx, inv)
fmt.Println("valid:", report.Valid())
fmt.Println("findings:", len(report.Findings))
valid: true
findings: 0

How it works

  1. Money with exact decimals and ISO 4217 rounding.
  2. One EN 16931 semantic invoice model, with CII and UBL bindings.
  3. PDF/A-3 hybrids: the XML embedded in the PDF, and extracted again.
  4. A rule engine for arithmetic and Peppol rules that reports every finding.

Where it runs

What we offer

Free to use under the MIT licence. We build e-invoicing into your systems on request.

Ask about e-invoicing