
When you validate an e-invoice with the Docentric e-Invoice Validator, you’re not validating it “by hand” or using custom validation rules written from scratch.
Validation is performed by the Mustang Project. This article explains what Mustang Project is, why we chose it, and how it fits into the Docentric e-Invoice Validator.
What is the Mustang Project?
Mustang Project is an open-source e-invoicing toolkit built in Java. It’s available as a Java library, and it also ships with a command-line tool and a server option with a REST API.
It helps you work with standard e-invoices by providing tooling to read, validate, and process common formats.
For example, its command-line tool can be used to validate and work with PDF+XML hybrid invoices (like ZuGFeRD or Factur-X) as well as XML-only invoices, depending on the scenario.
Why Docentric uses Mustang Project
E-invoice standards are strict and evolve over time. Writing and maintaining a full validation engine in-house would mean constantly tracking specification changes, profiles, and edge cases.
Instead of reinventing that logic, Docentric builds on Mustang Project because it:
- Aligns with official e-invoice standards
- Is maintained by domain experts
- Is widely used and tested
- Supports multiple e-invoice formats
By relying on Mustang Project, we can focus on usability, integration, and automation, while using its validation engine.
How the Docentric e-Invoice Validator uses the Mustang Project
Mustang Project itself is a Java-based CLI tool. If you want to run it, this means:
- Running Java locally
- Invoking CLI commands
- Parsing text-based output
- Handling files and temporary data
The Docentric e-Invoice Validator wraps Mustang Project in a Docker image and takes care of all of that for you.
Here’s what happens when you validate an invoice:
- You upload an invoice through the web UI or send it via the REST API.
- The validator invokes the Mustang Project CLI inside the container.
- Mustang Project performs schema and rule validation.
- The validator parses the results.
- You receive structured validation output that’s easy to read or automate against.
You never interact with Mustang Project directly. The validator handles execution, configuration, and result processing.
Using the Mustang Project through the Docentric e-Invoice Validator gives you a few concrete advantages:
- Consistency: the same validation logic is used everywhere.
- Reliability: validation rules come from an established open-source project that tracks official standards.
- Automation-ready: results are returned as structured data, making them easy to integrate into tests and pipelines.
- Less tooling overhead: thanks to the Docker image, you don’t need to install or manage Java, CLI tools, or validation scripts yourself.
Validating ZuGFeRD invoices
ZuGFeRD invoices combine a human-readable PDF with embedded structured XML.
Mustang Project checks:
- XML schema correctness
- Mandatory and optional fields
- Profile-specific rules
- Alignment between PDF metadata and XML content
The Docentric e-Invoice Validator exposes this validation as a simple operation. From your perspective, you upload a file and review the result.
👉 Next step: Run the Docentric e-Invoice Validator locally and validate a sample invoice thanks to the Mustang Project.
Tags: D365FO, e-Invoice, Full Edition