Download the PHP package normbill/xrechnung without Composer

On this page you can find all versions of the php package normbill/xrechnung. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package xrechnung

normbill/xrechnung

XRechnung mit PHP erzeugen — in einem API-Aufruf, KoSIT-validiert. Rechnungsdaten als JSON-Array rein, konforme XRechnung (UBL oder CII), ZUGFeRD/Factur-X oder Peppol BIS 3.0 raus. Schlägt die Validierung fehl, bekommen Sie keinen kryptischen Schematron-Code, sondern das exakte Feld in Ihrem Request samt Klartext-Erklärung und konkretem Fix — z. B. invoice.buyer_reference statt [BR-DE-15] cbc:BuyerReference. Validierung ist im Rahmen der Fair-Use-Grenzen kostenlos; ein großzügiger Gratis-Tarif reicht für Integration, Tests und den Start. API-Key auf normbill.com.

PHP client for the normbill e-invoicing API. Plain PHP ≥ 8.1 with ext-curl — no framework, no XML libraries, no Java toolchain.

normbill vs. horstoeko/zugferd (honest comparison)

horstoeko/zugferd is an excellent open-source library — if you want to own XML generation, use it. The difference:

horstoeko generates the XML. normbill generates it, validates it against the official KoSIT validator (the legal reference implementation), tells you which field in your request to fix when a rule fails, and tracks spec version bumps (XRechnung 4.0 is expected late 2026) for you.

With a library, Schematron validation, error interpretation and every future XRechnung/ZUGFeRD version bump stay on your roadmap. With normbill they are the product.

Install

Quickstart

When validation fails, you know what to fix

API

Method Endpoint What it does
generate(array $request, ?string $idempotencyKey = null) POST /v1/invoices/generate Invoice JSON → validated e-invoice (XML; base64 PDF for hybrid formats)
validate(string $content, ?string $format = null) POST /v1/invoices/validate Existing XML → validation report with reverse-mapped fixes. Free within fair use.
parse(string $content) POST /v1/invoices/parse Inbound XRechnung/ZUGFeRD XML → invoice array (the receive side of the mandate)

validate() always returns the report — an invalid document is a result, not an exception. Check $report['valid'].

Formats

format Syntax Validation
xrechnung-3.0 UBL 2.1 official KoSIT validator
xrechnung-cii-3.0 CII (UN/CEFACT D16B) official KoSIT validator
peppol-bis-3.0 UBL 2.1 (BIS Billing 3.0) structural tier
zugferd-2.x / facturx-1.0 CII in hybrid PDF/A-3 structural tier, paid plans

Retry-safe generation (idempotency)

Pass an idempotency key and retries can never double-generate or double-bill — same key + same body replays the original result (honoured for 24 hours):

Quota warnings

From 80% usage every response carries an X-Quota-Warning header:

Exceptions

All exceptions extend Normbill\Xrechnung\Exception\NormbillException:

Class When
ValidationFailedException 422 — getReport() / getIssues() (rule, path, message, fix)
AuthenticationException 401 — missing/invalid API key
RateLimitException 429 — quota or burst limit; getRetryAfter()
ApiException any other non-2xx; getStatus() / getProblem() (RFC 9457)
ConnectionException network failure / timeout

Privacy

normbill never persists invoice content — payloads are request-scoped, processed in the EU, and gone when the response is sent.

Tests

The test suite stubs the HTTP transport (no network, no API key needed). It is not executed in this repository's CI yet — run it locally or wire it into your pipeline.

Links

MIT © VIBOA UG (haftungsbeschränkt)


All versions of xrechnung with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-curl Version *
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package normbill/xrechnung contains the following files

Loading the files please wait ...