=== invoapi E-Rechnung für WooCommerce ===
Contributors: invoapi
Tags: e-rechnung, xrechnung, zugferd, rechnung, woocommerce
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.1
Stable tag: 0.6.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Geprüfte E-Rechnungen (XRechnung, ZUGFeRD) zu jeder WooCommerce-Bestellung – automatisch erzeugt, mit dem offiziellen Validator geprüft und per E-Mail versendet.

== Description ==

Seit 2025 gilt im B2B-Geschäft in Deutschland die E-Rechnungspflicht. Dieses Plugin erzeugt zu jeder Bestellung eine strukturierte E-Rechnung über [invoapi.de](https://invoapi.de):

* **XRechnung** (UBL oder CII) oder **ZUGFeRD-PDF** (lesbares PDF mit eingebettetem XML)
* Eigenes Rechnungsdesign mit Live-Vorschau: Vorlagen, Logo, Farben, Schrift, Produktbilder, Stempel „Bezahlt“, Unterschrift, Texte, Fußzeile
* Rechnungsübersicht mit Filter, Suche und allen Aktionen; Spalte und Sammelaktionen (Erzeugen, ZIP-Download) in der Bestellübersicht
* Kunden laden ihre Rechnung unter „Mein Konto“ oder per Link in der Bestell-Mail
* Rechnungsnummer mit Präfix, Suffix, Datum und Mindestlänge; Rechnungen für ältere Bestellungen nachträglich
* Bezahlte Bestellungen erscheinen als „Bereits bezahlt“ ohne Zahlungsziel; nur offene Beträge bekommen eine Frist
* Jede Rechnung wird vor dem Versand mit dem offiziellen KoSIT-Validator geprüft; ungültige Rechnungen werden nicht verschickt
* Automatisch bei einem Bestellstatus Ihrer Wahl oder per Knopfdruck in der Bestellung
* Versand per eigener E-Mail – über WordPress (also Ihr SMTP-Plugin wie WP Mail SMTP) oder einen eigenen SMTP-Server – oder als Anhang der WooCommerce-Mail „Bestellung abgeschlossen“
* Eigener fortlaufender Nummernkreis oder Bestellnummer
* Umsatzsteuer korrekt: 19 % / 7 %, Reverse Charge für EU-Firmen mit USt-IdNr., Ausfuhr, Kleinunternehmer (§ 19 UStG)
* Optionale Kassenfelder für USt-IdNr. und Leitweg-ID (öffentliche Auftraggeber), im klassischen und im Block-Checkout
* Kompatibel mit HPOS (High-Performance Order Storage)
* Rechnungen bleiben gespeichert, auch nach dem Deinstallieren (Aufbewahrungspflicht)

Das Plugin ist kostenlos. Für das Erzeugen benötigen Sie einen invoapi-Zugang; 100 Rechnungen sind kostenlos, danach gelten die Tarife auf [invoapi.de/preise](https://invoapi.de/preise).

= Externer Dienst =

Dieses Plugin sendet die Rechnungsdaten einer Bestellung (Verkäufer, Käufer, Positionen, Beträge) an die API von invoapi.de, um daraus die E-Rechnung zu erzeugen und zu prüfen. Das geschieht nur, wenn eine Rechnung erzeugt wird. invoapi speichert keine Rechnungsinhalte.
Anbieter: invoapi, [Datenschutzerklärung](https://invoapi.de/datenschutz), [AGB](https://invoapi.de/agb), [Auftragsverarbeitung](https://invoapi.de/avv).

== Installation ==

1. Plugin hochladen und aktivieren (WooCommerce muss aktiv sein).
2. Unter WooCommerce → Einstellungen → E-Rechnung den API-Schlüssel aus dem invoapi-Dashboard eintragen und speichern – die Verbindung wird dabei geprüft.
3. Firmendaten, Format, Auslöser und Versand einstellen.

== Frequently Asked Questions ==

= Welches Format soll ich wählen? =

ZUGFeRD-PDF, wenn Ihre Kunden die Rechnung auch lesen wollen – es ist ein normales PDF mit eingebetteten Daten. XRechnung verlangen öffentliche Auftraggeber.

= Was passiert, wenn eine Rechnung nicht gültig ist? =

Sie wird gespeichert, aber nicht versendet. In der Bestellung sehen Sie die Fehler mit der betroffenen Regel; nach dem Korrigieren der Daten erzeugen Sie sie mit „Neu erzeugen“ – die Rechnungsnummer bleibt gleich.

= Wo liegen die Rechnungen, und sind sie geschützt? =

Unter `wp-content/uploads/invoapi-rechnungen/`, mit zufälligen Dateinamen. Auf Apache sperrt eine `.htaccess` den Ordner. nginx liest keine `.htaccess`; tragen Sie dort zusätzlich `location ^~ /wp-content/uploads/invoapi-rechnungen/ { deny all; }` in den Server-Block ein.

= Kann ich mein Logo auf die Rechnung setzen? =

Ja, unter E-Rechnung → Design (PNG oder JPEG), zusammen mit Farbe, Schrift und Texten; die Vorschau daneben zeigt das Ergebnis sofort und kostet nichts. Das Design gilt für die ZUGFeRD-PDF-Rechnung; XRechnung ist reines XML ohne Layout.

= Kann ich eine Rechnung löschen? =

Nur, solange sie nicht versendet wurde. Versendete Rechnungen unterliegen der Aufbewahrungspflicht; korrigieren Sie sie mit einer Gutschrift.

= Ändern Filter die Rechnungsdaten? =

Ja: `invoapi_wc_invoice_data` erhält die fertige Rechnung und die Bestellung.

== Changelog ==

= 0.6.0 =
* Vier klare Vorlagen: Schlicht, Modern, Band und Zweispaltig. Die Vorlage legt den Aufbau fest; Farben, Schrift und Logo bleiben anpassbar. Bisherige Vorlagen werden automatisch der passenden neuen zugeordnet.
* Bezahlte Bestellungen zeigen den Rechnungsbetrag und „Vollständig bezahlt“ statt „Zahlbetrag 0,00 €“.
* Kompakteres Layout mit etwas größerer Schrift; die Steueraufschlüsselung wird nicht mehr auf zwei Seiten verteilt.
* „Bestellnummer“ statt „Leitweg-ID / Käuferreferenz“, wenn die Bestellnummer als Referenz dient.

= 0.5.1 =
* Neues Standardformat: ZUGFeRD-PDF (für Kunden lesbar und zugleich E-Rechnung). Bereits gespeicherte Einstellungen bleiben unverändert.

= 0.5.0 =
* Rechnungen auf Englisch: automatisch, wenn WordPress nicht auf Deutsch läuft (oder fest einstellbar). Gilt auch für Rechnungs-Mail und Kundenkonto.
* Fünf neue Gestaltungen: Band, Schräge, Welle, Kontrast, Sanft – als Vorlagen und frei kombinierbar.
* Zahlbetrag als farbiger Balken.

= 0.4.3 =
* Käuferreferenz ohne Leitweg-ID wahlweise Bestellnummer oder Kundennummer (auch aus einem eigenen Kundenfeld).

= 0.4.2 =
* Keine IBAN nötig für Karte, PayPal, Klarna & Co.: Online-Zahlungen werden als „Online-Zahlungsdienst“ ausgewiesen; bisher wurden unbekannte Zahlungsarten als Überweisung behandelt und verlangten eine IBAN.
* Überweisung: IBAN wahlweise aus den WooCommerce-Einstellungen „Überweisung“.

= 0.4.1 =
* Zahlungsinformationen (Zahlungsart, IBAN, Bedingungen) im PDF standardmäßig ausgeblendet; wahlweise nur bei offenen Rechnungen oder immer. In den E-Rechnungsdaten bleiben sie enthalten.

= 0.4.0 =
* Drei neue Aufbauten: Kräftig, Zweispaltig (mit Lieferadresse) und Kästen.
* Lieferadresse auf der Rechnung, wenn sie von der Rechnungsadresse abweicht.
* Barcode der Rechnungsnummer, schräger Stempel „Bezahlt“.
* Behoben: zu breite Checkbox unter „Erstellen“.

= 0.3.1 =
* „Rechnung manuell erstellen“ und „Rechnungen für ältere Bestellungen“ im eigenen Unterbereich „Erstellen“.
* „Rechnung manuell erstellen“ fand die Bestellung nicht.

= 0.3.0 =
* Bestellübersicht: Spalte „E-Rechnung“ und Sammelaktionen „E-Rechnungen erzeugen“ und „Herunterladen (ZIP)“.
* Kunden laden ihre Rechnung unter „Mein Konto“ oder über einen Link in den Bestell-Mails herunter.
* Automatik für mehrere Bestellstatus, Ausnahmen nach Zahlungsart, kostenlose Bestellungen wahlweise.
* Rechnungsnummer mit Suffix, Mindestlänge und Datumsplatzhaltern, mit Vorschau; Rechnungsdatum wahlweise Bestelldatum; eigenes Dateinamen-Muster.
* Anhang an frei wählbare WooCommerce-Mails.
* Rechnungen für ältere Bestellungen im Hintergrund erzeugen.
* Inhalt: Variantenangaben, Kundennotiz, zusätzliche Bestellfelder, GTIN/EAN, 0-€-Positionen ausblenden.
* Design: Vorlagen, Tabellenkopf-Farben, Schriftgröße, Artikelnummer/GTIN, Produktbilder, Stempel „Bezahlt“, Unterschrift, Zusatzabschnitt.

= 0.2.0 =
* Neuer Bereich „Rechnungen“: alle E-Rechnungen mit Filter und Suche; erstellen, ansehen, herunterladen, neu erzeugen, senden und (wenn nie versendet) löschen.
* Neuer Bereich „Design“ mit Live-Vorschau: Logo-Position und -Größe, Akzentfarbe, Schrift, Einleitungs- und Schlusstext, Fußzeile.
* Einstellungen in eigenem Unterbereich.

= 0.1.2 =
* Leitweg-ID-Feld in der Kasse ohne Beispielnummer, die wie ausgefüllt aussah.
* Bundesland-Kürzel (z. B. „DE-BY“) erscheint nicht mehr in deutschen, österreichischen und Schweizer Rechnungsadressen.

= 0.1.1 =
* Updates direkt im WordPress-Backend unter Plugins (Ein-Klick und automatische Updates).

= 0.1.0 =
* Erste Version.
