A Go library and JSON schemas for building, validating, and signing electronic business documents like invoices globally.
GOBL (Go Business Language) is an open-source library and set of JSON schemas designed to help developers build, validate, and sign electronic business documents, especially invoices, for any country. It solves the complexity of dealing with diverse local tax regulations and document formats by providing a unified, human-readable JSON standard.
Developers building applications that require electronic invoicing, tax calculation, or business document generation, particularly those operating across multiple countries or integrating with government e-invoicing systems.
Developers choose GOBL for its comprehensive tax database, precise calculations, and extensive format conversions, which streamline compliance and reduce the need to implement country-specific logic from scratch.
Go Business Language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes current and historical tax rates for multiple countries and validates tax IDs, reducing the need for external APIs or manual updates.
Uses descriptive keys like 'credit-transfer' instead of abstract codes, making documents easier to debug and understand internationally.
Implements algorithms to avoid rounding errors, ensuring accuracy in financial computations critical for invoicing.
Supports JSON Web Signatures (JWS) for signing envelopes, providing built-in integrity and tamper-evidence for documents.
Companion projects convert GOBL JSON to country-specific formats like Spain's FacturaE and Mexico's CFDI, simplifying local compliance.
Requires understanding of GOBL envelopes, schemas, and Go integration, which can be steep for quick prototyping or simple use cases.
Core library is in Go with limited official support for other languages, though companion projects exist for Ruby and WASM, it may not fit all stacks.
Tax database and conversions rely on community contributions, so some countries or regions might lack full support or updated rates.
Generating formats like HTML or PDF requires separate projects (e.g., GOBL to HTML), adding complexity to the workflow beyond the core library.