How to Run the Docentric e-Invoice Validator with Docker

If you just want to validate e-invoices and don’t want to install or configure anything locally, Docker is the fastest way to get started.

In the previous article, Docentric e-Invoice Validator, you saw what the validator is and how it’s used.

This article focuses on the next step: how to get it running using Docker.

What is Docker?

The Docentric e-Invoice Validator is published as a Docker image. It bundles everything you need in a single container, so you can start validating e-invoices in minutes.

Docker is an open-source platform that lets you build, ship, and run applications in containers.

Containers are standardized, executable units that combine application code with all required libraries and dependencies, so the application runs the same way in every environment.

Instead of installing runtimes, libraries, and tools on your machine, you run one container that already includes everything inside a Docker image.

For the Docentric e-Invoice Validator, this means:

  • No local setup of .NET or Java
  • No dependency conflicts
  • No environment-specific surprises

You run one command, and the validator is ready.

What’s in the Docker image

The Docker image packages the complete validator stack:

  • Minimal API with ASP.NET Core
  • Web-based UI for manual validation
  • Mustang Project validation engine (Java-based)
  • .NET and OpenJDK runtime

There are no external dependencies to install. No Java setup. No build steps. Just pull the image and run it.

The container exposes:

  • A web UI for interactive validation.
  • A REST API for automation and CI scenarios.

Prerequisites

Before you start, make sure you have:

  • Docker installed and running (Docker Desktop, Docker Engine, or any compatible setup).
  • Windows Subsystem for Linux (WSL) enabled.

You can find the Docker image and the source code here:

Run the Docker image

Run in the command line

Open a Windows Terminal or command prompt and run the following commands.

Pull the latest image from Docker Hub:

Run the container:

At this point, you’re ready to validate invoices.

Run in Docker Desktop

Open Docker Desktop and in the search bar enter docentric:

You will see the e-Invoice Validator image in the results. Click the Pull button.

When it’s finished, go to the Images tab and you will see the docentric/e-invoice-validator image. Click the play button:

Open the Optional settings pane, and enter 18889 in the Ports section. On this port the website will be available:

Finally, click the Run button.

A note about using the latest tag

In the examples above, we used:

The latest tag does not automatically update running containers. It simply points to the most recent image version published with that tag.

This means:

  • If you already pulled latest once, Docker will not automatically refresh it. You must explicitly pull again to check for updates.
  • Running containers will continue using the image version they were created from, even if a newer latest is available.

To get a newer version, you must explicitly pull the image again:

Then stop and recreate your containers to use the updated image.

If you want fully predictable behavior, especially in production or CI environments, it’s recommended to use a specific version tag instead of latest, for example:

Using version tags ensures that your environment runs exactly the image version you expect.

Test using the web UI

Once the container is running, open your browser and go to http://localhost:18889.

In the Web UI you can see the file upload control and different operations:

  • Validate PDF: validates a PDF invoice for ZuGFeRD compliance.
  • Validate XML: validates an XML file for Factur-X or UBL XML compliance.
  • Extract XML from PDF: extracts the XML from a ZuGFeRD PDF file.
  • Convert XML to PDF: converts a Factur-X or UBL XML file to PDF.
If you want to test it yourself, here are some ZuGFeRD sample files.

After you select an operation and upload a file, the validation results appear in the pane below:

Using the REST API

The web UI is useful for manual validation. If you want to validate invoices in bulk or automate validation in pipelines, use the REST API instead.

Swagger UI is available at http://localhost:18889/api/docs/swagger/index.html.

The ReDoc documentation is also available at http://localhost:18889/api/docs/redoc/index.html.

Typical usage scenarios of the REST API are:

  • CI/CD e-invoice validation
  • Automated compliance checks
  • Internal QA tooling
  • Integration testing during development

What’s next?

You now have the Docentric e-Invoice Validator running locally using Docker and can validate e-invoices through the web UI or the REST API.

👉 Next step: Validate one of the sample invoices from the repository, either through the web UI or via the REST API.

Related articles

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Docentric respects your privacy. Learn how your comment data is processed >>

Docentric respects your privacy. Learn how your comment data is processed >>