Download the PHP package ventnet/xinvoice-client without Composer

On this page you can find all versions of the php package ventnet/xinvoice-client. 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 xinvoice-client

XInvoice API Client für PHP

Deutsch | English

CI Packagist

Komfortabler PHP-Client für die XInvoice API (www.xinvoice.net). Erzeuge, validiere und verwalte XRechnung (UBL und CII) sowie ZUGFeRD / Factur-X E-Rechnungen direkt aus deiner eigenen Software heraus.

Die Zielgruppe sind Entwickler von Rechnungssoftware, die E-Rechnungen nach EN 16931 erstellen müssen, ohne XML-, Schematron- und PDF/A-Details selbst implementieren zu wollen.

Vollständige API-Referenz: https://xinvoice-doc.vent.net/

Installation

Zusätzlich wird eine PSR-18-HTTP-Client- und eine PSR-17-Factory-Implementierung benötigt. Wer noch keine im Projekt hat, installiert z. B.:

Der Client findet installierte Implementierungen automatisch (via php-http/discovery). Alternativ lassen sie sich explizit injizieren.

Voraussetzungen

Schnellstart

Den Payload aufbauen

Es gibt drei austauschbare und kombinierbare Wege.

1. Schrittweise mit dem Builder

2. Aus einem Array

3. Aus JSON

Party-Objekte eigenständig erstellen

PartyBuilder lässt sich auch unabhängig aufbauen und erst danach zuweisen:

Arrays, Closures und vorab erstellte Builder sind bei seller(), buyer() und addInvoiceItem() jederzeit mischbar.

Logo und PDF-Briefkopf (nur ZUGFeRD)

Für das ZUGFeRD-PDF lässt sich entweder ein Logo oder ein leeres Briefkopf-PDF (Hintergrund) hinterlegen. Beides schließt sich gegenseitig aus: Ein Briefkopf enthält üblicherweise bereits das Logo, daher hat der Briefkopf Vorrang und ein zusätzlich gesetztes Logo wird ignoriert. Die erzeugte Rechnung wird auf den Briefkopf gesetzt (nur auf der ersten Seite):

Da der Briefkopf üblicherweise bereits die Angaben des Rechnungserstellers enthält, werden die Seller-Daten im PDF bei verwendetem Briefkopf standardmäßig unterdrückt. Mit printSellerAddress() werden sie trotzdem ausgegeben. Das XML bleibt davon unberührt. Das Briefkopf-PDF sollte PDF/A-tauglich sein (eingebettete Schriften, keine Transparenz, nicht verschlüsselt).

Rabatte und Anzahlungen

Dokumentrabatte (EN16931 BG-20) und bereits gezahlte Beträge (BT-113) lassen sich typisiert setzen. Jeder Rabatt braucht den Steuersatz, auf den er wirkt:

Reverse Charge

Für eine vollständig dem Reverse-Charge-Verfahren unterliegende Rechnung wird die Umsatzsteuerkategorie AE zusammen mit dem maschinenlesbaren Befreiungsgrund übergeben. Alle Positionen und Dokumentrabatte müssen dabei einen Steuersatz von 0 tragen. Außerdem benötigen Verkäufer und Käufer eine USt-IdNr.

Die API setzt damit AE auf den Positionen (BT-151), Dokumentrabatten (BT-95) und in der Umsatzsteueraufschlüsselung (BT-118). Ein Rechnungshinweis für die menschenlesbare Ausgabe muss unabhängig davon mit invoiceNote() gesetzt werden.

Rechnungstypen und Vorgängerrechnungen

Für Gutschriften und Rechnungskorrekturen stehen typisierte UNTDID-1001-Codes zur Verfügung. Referenzen auf Vorgängerrechnungen (EN16931 BG-3) können als Builder, Array oder Closure ergänzt werden:

invoiceTypeCode() akzeptiert weiterhin auch Strings und null. Bei Array- und JSON-Payloads lautet das Feld exakt preceding_invoice_references:

Rechnungen erzeugen

Eine synchrone Anfrage mit blockierenden Validierungsfehlern wirft keine Exception, sondern liefert ein GenerateResult mit isFailed() === true:

Asynchron erzeugen und automatisch pollen

Validieren (ohne Speichern)

Rechnungen abrufen und auflisten

Systemendpunkte

Fehlerbehandlung

Alle Fehler implementieren VentNet\XInvoice\Exception\XInvoiceException, sodass sie sich gemeinsam fangen lassen.

HTTP Exception
401 AuthenticationException
402 PaymentRequiredException
404 NotFoundException
422 RequestValidationException (mit getErrors())
429 RateLimitException (mit getRetryAfter())
5xx ServerException
Netzwerk TransportException

Konfiguration

Eigene PSR-18/PSR-17-Implementierungen injizieren:

Beispiele

Lauffähige Skripte liegen im Ordner examples/.

Entwicklung

Lizenz

MIT – siehe LICENSE.


All versions of xinvoice-client with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
psr/http-message Version ^1.1 || ^2.0
php-http/discovery Version ^1.19
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 ventnet/xinvoice-client contains the following files

Loading the files please wait ...