Zum Hauptinhalt springen

Daten aus wiederkehrende Abonnementrechnungen extrahieren

Eine wiederkehrende Abonnementrechnung ist das Dokument, das ein SaaS-Anbieter, ein Telekommunikationsunternehmen oder ein Medienservice in jedem Zyklus für dasselbe Konto ausstellt, und was sie von einer einmaligen Rechnung unterscheidet, ist der Abrechnungszeitraum, den sie abdeckt. Der Betrag wiederholt sich Monat für Monat, doch jede Ausgabe nennt das Leistungsfenster, für das sie berechnet wird, das Abonnement, zu dem sie gehört, und das Datum, an dem die nächste Belastung fällig wird, sodass ein Revenue-Team die Gebühr über den Zeitraum hinweg erfassen kann, statt sie als einzelnen Verkauf zu buchen. Nach dem EN 16931 Semantikmodell trägt das Dokument weiterhin einen Invoice Type Code von 380, eine einzige ISO 4217 Währung sowie Lieferant und Käufer mit ihren Umsatzsteuer-Identifikationsnummern, doch die Felder, auf die ein Abonnement-Abrechnungssystem tatsächlich abgleicht, sind die Abonnement-ID, Beginn und Ende des Abrechnungszeitraums, das nächste Abrechnungsdatum und der Zahlungsstatus bezahlt, unbezahlt, teilweise bezahlt oder überfällig. Die eigentliche Arbeit liegt im Zeitraum und den sitzplatzbasierten Zeilen, nicht im Kopf. Pläne, die pro Sitzplatz abgerechnet werden, ändern sich, wenn mitten im Zyklus Sitzplätze hinzukommen, ein Zusatz wie zusätzlicher Speicherplatz wird anteilig berechnet, und eine Gutschrift aus einem Downgrade landet auf derselben Rechnung, sodass jede Zeile ihre Menge, ihren Einheitencode, Nettopreis und Umsatzsteuersatz behält, statt in eine einzige Zahl zusammenzufallen. Die Umsatzsteuer muss mit dem Steuerbetrag und dem zu zahlenden Betrag übereinstimmen, der Payment Means Code folgt UNTDID 4461, sodass eine SEPA-Überweisung von einer Kartenzahlung unterschieden wird, und die Zahlungsreferenz verknüpft die Zahlung wieder mit der Rechnung. Mahnworkflows lesen den Zahlungsstatus und das Fälligkeitsdatum, um zu entscheiden, wann eine Karte erneut belastet oder das Konto gesperrt wird. Talonic liest die Abonnementrechnung in dieselbe EN 16931-Struktur ein, die eine konforme Einmalrechnung erzeugt, wobei die Abonnementfelder explizit erhalten bleiben. Eine Rechnung von Helvetia Cloud Services GmbH an Rheintal Marketing GmbH, mit der Nummer SUB-2026-0442, für den Zeitraum 2026-06-01 bis 2026-06-30 mit einem nächsten Abrechnungsdatum von 2026-07-01, liefert 25 Plattform-Sitzplätze und einen Speicher-Zusatz, eine 19% Umsatzsteueraufschlüsselung von 212.80 EUR und eine Gesamtsumme von 1,332.80 EUR fällig am 2026-06-15, die ein Abrechnungssystem gegen das Abonnement bucht, statt sie erneut aus einem PDF zu erfassen.

Was aus wiederkehrende Abonnementrechnungen extrahiert wird

DokumentennummerSUB-2026-0442
Rechnungstypcode380UNTDID 1001, Handelsrechnung
Abonnement-IDSUBSCR-88213
Abrechnungszeitraum2026-06-01 to 2026-06-30
Nächstes Abrechnungsdatum2026-07-01
Zahlungsstatusunpaidbezahlt, unbezahlt, teilweise bezahlt oder überfällig
LieferantHelvetia Cloud Services GmbHMit USt-IdNr. DE320145887
KäuferRheintal Marketing GmbH
WährungEURISO 4217 Code
Zahlungsart-Code58UNTDID 4461, SEPA-Überweisung
Fälliger Betrag1,332.80 EUR

So funktioniert die Extraktion für wiederkehrende Abonnementrechnungen

Wiederkehrende Rechnungen werden von Abrechnungsplattformen wie Stripe Billing, Chargebee und Zuora erzeugt und erreichen ein Finance-Team als PDF-Renderings, Portal-Exporte oder E-Mail-Anhänge, wobei jede Plattform den Zeitraum und die Plan-Positionen anders darstellt. Talonic klassifiziert das Dokument und bindet jeden Wert an seinen EN 16931 Business Term in der Field Registry, sodass sich Subscription-ID, Start und Ende des Abrechnungszeitraums, das nächste Abrechnungsdatum und der Zahlungsstatus unabhängig von der Beschriftung der Plattform auflösen lassen. Sitzplatzbasierte und anteilige Zusatzpositionen behalten ihre Menge, Einheitencode, Nettopreis, USt-Kategorie und Satz, die USt-Aufschlüsselung wird gegen den Steuerbetrag und den Zahlbetrag geprüft, und der Zahlungsart-Code wird gegen UNTDID 4461 gelesen, sodass eine Kartenzahlung von einer SEPA-Überweisung unterschieden wird. Jedes Feld liefert einen Konfidenzwert und einen Pixel-Bereichszeiger gemäß DIN SPEC 91491, sodass ein Revenue-Analyst einen Zeitraum oder einen fälligen Betrag vor der Verbuchung gegen die Quelle prüfen kann. Die Extraktion strukturiert, was die Rechnung angibt, und erkennt weder Umsatz an noch berechnet sie die geschuldete Steuer.

Beispielextraktion

Eine monatliche SaaS-Abonnementrechnung mit einer Sitzplatz-Position und einem Zusatzposten

{
  "document_number": "SUB-2026-0442",
  "document_date": "2026-06-01",
  "invoice_type_code": "380",
  "currency": "EUR",
  "subscription_id": "SUBSCR-88213",
  "invoicing_period_start": "2026-06-01",
  "invoicing_period_end": "2026-06-30",
  "next_billing_date": "2026-07-01",
  "payment_status": "unpaid",
  "due_date": "2026-06-15",
  "supplier": {
    "name": "Helvetia Cloud Services GmbH",
    "tax_id": "DE320145887",
    "country_code": "DE"
  },
  "buyer": {
    "name": "Rheintal Marketing GmbH",
    "tax_id": "DE811990123",
    "country_code": "DE"
  },
  "line_items": [
    {
      "line_id": "1",
      "item_name": "Analytics platform, Business plan",
      "quantity": 25,
      "quantity_unit_code": "C62",
      "item_net_price": 40,
      "line_net_amount": 1000,
      "item_vat_category_code": "S",
      "item_vat_rate": 19
    },
    {
      "line_id": "2",
      "item_name": "Additional data storage, 500 GB",
      "quantity": 1,
      "quantity_unit_code": "C62",
      "item_net_price": 120,
      "line_net_amount": 120,
      "item_vat_category_code": "S",
      "item_vat_rate": 19
    }
  ],
  "subtotal": 1120,
  "total_amount_without_vat": 1120,
  "vat_breakdown": [
    {
      "vat_category_code": "S",
      "vat_category_taxable_amount": 1120,
      "vat_category_rate": 19,
      "vat_category_tax_amount": 212.8
    }
  ],
  "tax_amount": 212.8,
  "payment_means_code": "58",
  "iban": "DE21370501980001234567",
  "total_amount": 1332.8,
  "amount_due": 1332.8
}

Häufig gestellte Fragen

Was unterscheidet eine Abonnementrechnung von einer einmaligen Rechnung?

Der Abrechnungszeitraum und die wiederkehrenden Felder: Subscription-ID, Start und Ende des Abrechnungszeitraums, nächstes Abrechnungsdatum und Zahlungsstatus. Diese werden als eigenständige Felder erfasst, weil ein Revenue-Team die Gebühr über den Zeitraum hinweg erfasst statt als Einzelverkauf.

Bleiben Sitzplatz- und anteilige Zusatzpositionen getrennt?

Ja. Jede Position behält Menge, Einheitencode, Nettopreis, USt-Kategorie und Satz, sodass eine Plan-Position mit 25 Sitzplätzen und ein anteiliger Speicher-Zusatzposten einzeln ausgewiesen bleiben statt in eine Zahl zu verschmelzen.

Wird die USt mit den Summen abgeglichen?

Jede Position ist ihrer USt-Kategorie und ihrem Satz zugeordnet, und die USt-Aufschlüsselung wird gegen den Steuerbetrag und den fälligen Betrag geprüft, sodass eine Rechnung, deren Positionen nicht zum angegebenen Zahlbetrag passen, markiert wird.

Wie wird der Zahlungsstatus weiterverwendet?

Der Zahlungsstatus (bezahlt, unbezahlt, teilweise oder überfällig) und das Fälligkeitsdatum werden als eigene Felder gelesen, sodass ein Mahnprozess entscheiden kann, wann eine Karte erneut belastet oder ein Konto gesperrt wird. Die Extraktion meldet den angegebenen Status, sie zieht die Zahlung nicht ein.

Autorenhinweis

Geprüft von Talonic engineering · zuletzt geprüft am 2026-07-07