A simple, open-source JSON schema for invoices, designed as an alternative to unnecessary complex standards like ZUGFeRD and XRechnung.
An open-source, JSON-based schema for invoices. This project is designed to offer a simple and reliable alternative to complex standards like ZUGFeRD and XRechnung. Built on JSON schema, it ensures easy validation and parsing across all programming languages.
If not familiar with JSON check this out: Whats JSON?
- Why Another Invoice Standard?
- Key Features
- Schema Details
3.1. How to use inside a PDF - Getting Started
4.1. Integration Libraries - Contributing
- Questions or Feedback?
Existing standards like ZUGFeRD and XRechnung are powerful but come with significant drawbacks:
- Complexity: Both standards include a wide range of optional and mandatory fields, just making them overly complicated and open for errors.
- Overhead: Parsing and validating these formats require specialized libraries and expertise.
- Redundancy: They often include calculated fields, such as totals and subtotals, which can introduce inconsistencies and errors. Also strict types are missing to parse it properly on all sides.
- Flexibility Issues: Limited customization options for non-standard use cases.
- Minimalism: Only the essential data needed for parsing and validation is included.
- Fixed Structure: Key fields like countries and currencies are strictly standardized for consistency.
- No Redundant Fields: Summations like total costs are deliberately omitted, as they should be calculated dynamically in the frontend or implementation-specific logic.
- Developer-Friendly: Designed for straightforward integration without unnecessary overhead.
- Open Source: Fully open for use and contributions.
- Language-Agnostic: JSON-based design ensures compatibility with all modern programming languages.
- Easy to Validate: Leverage JSON Schema for quick validation.
- Developer-Friendly: Clean and intuitive design for rapid implementation.
To use the open invoice format like ZugFeRD inside a PDF. Your JSON should be attached as inbridge-oif.json
to the PDF.
We recommend to use one of our integration libraries to make working with OIF as easy as pie!
For the full schema, check out our latest schema.json.
To get started you library need to be able:
- JSON parsing
- JSON Schema validation libraries
@inbridgeio/oif-ts
: Work with OIF in TypeScript and JavaScript
Java
: coming soon
PHP
: coming soon
Python
: coming soon
We welcome contributions! Feel free to submit pull requests or open issues for feature requests or bugs.
How to contribute on GitHub
This project is licensed under the MIT License. See the LICENSE file for details.
Create an issue or reach out via GitHub Discussions.