Skip to content

Invoice system

Das Rechnungsmodul erzeugt Verkaufsbelege direkt in WooCommerce. Es unterstützt vier Belegtypen, automatische Nummerierung und PDF.

Eine standardmäßige Umsatzsteuerrechnung mit:

  • Verkäufer- und Käuferdaten (einschließlich der USt-IdNr. beider Parteien)
  • Positionen mit Bezeichnung, Menge, Nettopreis, USt-Satz, USt-Betrag und Bruttopreis
  • Zusammenfassung mit Aufschlüsselung nach USt-Sätzen
  • Rechnungsnummer, Ausstellungsdatum und Verkaufsdatum
  • Zahlungsbedingungen und Zahlungsart

Ein Korrekturbeleg zu einer zuvor ausgestellten Rechnung. Er enthält:

  • Nummer und Datum der korrigierten Rechnung
  • Positionen vor und nach der Korrektur
  • Wertdifferenz
  • Grund der Korrektur

Eine Korrekturrechnung kann über das Bestellpanel oder per REST API ausgestellt werden.

Ein vereinfachter Verkaufsbeleg für Privatkunden (ohne USt-IdNr. des Käufers). Enthält Positionen mit Bruttopreisen und eine Zusammenfassung.

Ein externer Ausgabebeleg, der der Sendung beigefügt wird. Enthält eine Liste der Produkte, Mengen und etwaige Bestellhinweise. Enthält keine Preise.

Gehen Sie zu WooCommerce > Einstellungen > Polski > PRO-Module > Rechnungen.

FeldBeschreibung
FirmennameVollständiger Name des Verkäuferunternehmens
USt-IdNr. (NIP)Steuernummer des Verkäufers
AdresseStraße, Nummer, Postleitzahl, Stadt
BankkontonummerKontonummer für Überweisungen
Kontakt-E-MailAuf der Rechnung angezeigte E-Mail-Adresse

Das Plugin bietet mehrere Strategien zur Rechnungsnummerierung:

StrategieFormatBeispiel
JährlichFV/{number}/{year}FV/1/2026
MonatlichFV/{number}/{month}/{year}FV/1/04/2026
FortlaufendFV/{number}FV/1
Eigenes MusterBenutzerdefiniertFV/2026/04/001

Verfügbare Tokens im eigenen Format:

  • {numer} - fortlaufende Rechnungsnummer (Zurücksetzung gemäß Strategie)
  • {rok} - vierstelliges Jahr
  • {miesiac} - zweistelliger Monat
  • {dzien} - zweistelliger Tag
  • {id_zamowienia} - WooCommerce-Bestell-ID

Das Plugin kann automatisch eine Rechnung erzeugen, wenn der Bestellstatus auf “Abgeschlossen” wechselt. Aktivieren Sie die Option Automatische Rechnungserzeugung in den Moduleinstellungen.

Sie können außerdem das automatische Versenden der Rechnungs-PDF als Anhang der WooCommerce-E-Mail “Bestellung abgeschlossen” konfigurieren.

Rechnungs-PDFs werden mit der Bibliothek TCPDF erzeugt. Die PDF-Vorlage umfasst:

  • Firmenlogo (optional, in den Einstellungen konfigurierbar)
  • Verkäufer- und Käuferdaten
  • Positionstabelle mit USt-Spalten
  • Zusammenfassung mit Aufschlüsselung nach USt-Sätzen
  • Fußzeile mit Firmendaten

Das Plugin verwendet die Schriftart DejaVu Sans, die polnische diakritische Zeichen unterstützt. Es ist keine zusätzliche Konfiguration erforderlich.

Jede Rechnung durchläuft einen Status-Lebenszyklus:

Draft (Szkic) → Issued (Wystawiona) → Sent (Wysłana) → Paid (Opłacona)
→ Cancelled (Anulowana)
StatusBeschreibung
DraftRechnung erstellt, aber noch nicht ausgestellt. Kann bearbeitet werden
IssuedRechnung mit zugewiesener Nummer ausgestellt. Kann nicht bearbeitet werden
SentRechnung an den Kunden gesendet (E-Mail oder KSeF)
PaidRechnung bezahlt
CancelledRechnung storniert. Erfordert das Ausstellen einer Korrektur

Im WooCommerce-Bestell-Adminpanel fügt das Modul eine Meta-Box “Rechnungen” mit folgenden Funktionen hinzu:

  • Rechnung ausstellen - erzeugt eine Rechnung anhand der Bestelldaten
  • PDF herunterladen - lädt die Rechnung im PDF-Format herunter
  • An Kunden senden - sendet die Rechnung per E-Mail
  • Korrektur ausstellen - erstellt eine Korrekturrechnung
  • Verlauf - Liste aller mit der Bestellung verknüpften Belege

Jede Rechnungsposition enthält detaillierte USt-Daten:

  • Nettostückpreis
  • USt-Satz (23%, 8%, 5%, 0%, befreit, nicht anwendbar, Reverse Charge)
  • USt-Betrag pro Stück
  • Nettowert
  • Bruttowert

Das Plugin erkennt den USt-Satz automatisch aus der WooCommerce-Tax-Konfiguration. Es unterstützt mehrere USt-Sätze auf einer einzigen Rechnung mit korrekten Summen.

Das Modul stellt REST-API-Endpunkte zur programmatischen Verwaltung von Rechnungen bereit.

GET /wp-json/polski-pro/v1/invoices

Query-Parameter:

ParameterTypBeschreibung
order_idintNach Bestell-ID filtern
statusstringNach Status filtern (draft, issued, sent, paid, cancelled)
typestringNach Typ filtern (invoice, correction, receipt, packing_slip)
date_fromstringDatum von (YYYY-MM-DD)
date_tostringDatum bis (YYYY-MM-DD)
per_pageintErgebnisse pro Seite (Standard 20)
pageintSeitenzahl
POST /wp-json/polski-pro/v1/invoices
{
"order_id": 123,
"type": "invoice",
"auto_number": true
}
GET /wp-json/polski-pro/v1/invoices/{id}/pdf

Gibt eine PDF-Datei als application/pdf mit einem Content-Disposition: attachment-Header zurück.

POST /wp-json/polski-pro/v1/invoices/{id}/correction
{
"reason": "Zmiana danych nabywcy",
"items": [
{
"product_id": 45,
"quantity": 1,
"net_price": 100.00,
"vat_rate": 23
}
]
}
GET /wp-json/polski-pro/v1/invoices/stats

Gibt Rechnungsstatistiken zurück: Gesamtanzahl, Netto-/Bruttowerte, Aufschlüsselung nach Status.

Action, die vor dem Erzeugen einer Rechnung ausgelöst wird.

/**
* @param int $order_id ID zamówienia
* @param string $type Typ dokumentu (invoice, correction, receipt, packing_slip)
*/
do_action('polski_pro/invoices/before_generate', int $order_id, string $type);

Beispiel:

add_action('polski_pro/invoices/before_generate', function (int $order_id, string $type): void {
if ($type === 'invoice') {
// Logowanie generowania faktury
error_log("Generowanie faktury dla zamówienia #{$order_id}");
}
}, 10, 2);

Filtert das Format der Rechnungsnummer.

/**
* @param string $number Wygenerowany numer faktury
* @param string $type Typ dokumentu
* @param int $order_id ID zamówienia
*/
apply_filters('polski_pro/invoices/number_format', string $number, string $type, int $order_id): string;

Beispiel:

add_filter('polski_pro/invoices/number_format', function (string $number, string $type, int $order_id): string {
if ($type === 'correction') {
return 'KOR/' . $number;
}
return $number;
}, 10, 3);

Filtert die an die PDF-Vorlage übergebenen Daten.

/**
* @param array $data Dane faktury (seller, buyer, items, totals)
* @param int $invoice_id ID faktury
*/
apply_filters('polski_pro/invoices/pdf_content', array $data, int $invoice_id): array;

Beispiel:

add_filter('polski_pro/invoices/pdf_content', function (array $data, int $invoice_id): array {
$data['footer_note'] = 'Dziękujemy za zakupy!';
return $data;
}, 10, 2);
  1. Prüfen Sie, ob die PHP-Erweiterung mbstring installiert ist
  2. Stellen Sie sicher, dass das Verzeichnis wp-content/uploads/polski-pro/invoices/ Schreibrechte hat (755)
  3. Überprüfen Sie, ob die Verkäuferdaten in den Einstellungen ausgefüllt sind

Die Nummerierung wird gemäß der gewählten Strategie zurückgesetzt - jährlich am 1. Januar, monatlich am 1. jedes Monats. Wenn Sie eine fortlaufende Nummerierung wünschen, wählen Sie die Strategie “Fortlaufend”.

Prüfen Sie die WooCommerce-Tax-Konfiguration. Das Plugin bezieht die USt-Sätze aus den WooCommerce-Steuereinstellungen. Stellen Sie sicher, dass die Sätze für Polen korrekt konfiguriert sind.

Diese Seite dient ausschließlich zu Informationszwecken und stellt keine Rechtsberatung dar. Konsultieren Sie vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2), die ohne Gewährleistung bereitgestellt wird.