Skip to content

Latest commit

 

History

History
101 lines (67 loc) · 3.94 KB

README.md

File metadata and controls

101 lines (67 loc) · 3.94 KB

OIF Logo

📜 Open Invoice Format 📜

A simple, open-source JSON schema for invoices, designed as an alternative to unnecessary complex standards like ZUGFeRD and XRechnung.

What is the Open Invoice Format

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?


Table of Contents

  1. Why Another Invoice Standard?
  2. Key Features
  3. Schema Details
    3.1. How to use inside a PDF
  4. Getting Started
    4.1. Integration Libraries
  5. Contributing
  6. Questions or Feedback?

Why Another Invoice Standard?

Existing standards like ZUGFeRD and XRechnung are powerful but come with significant drawbacks:

Key Drawbacks of ZUGFeRD and XRechnung:

  • 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.

How This Schema Addresses These Issues:

  • 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.

Key Features

  • 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.

Schema details

How to use inside a PDF:

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.


Getting Started

Prerequisites:

To get started you library need to be able:

  • JSON parsing
  • JSON Schema validation libraries

Integration Libraries:

@inbridgeio/oif-ts: Work with OIF in TypeScript and JavaScript
Java: coming soon
PHP: coming soon
Python: coming soon

Contribute your own


Contributing

We welcome contributions! Feel free to submit pull requests or open issues for feature requests or bugs.
How to contribute on GitHub


License

This project is licensed under the MIT License. See the LICENSE file for details.


Questions or Feedback?

Create an issue or reach out via GitHub Discussions.