Skip to content

Billing-Run Lifecycle

Medienabrechnung

draftapprovedsentpaid

  1. Admin erstellt einen Billing-Run über POST /billing/create-run
  2. Edge Function legt einen neuen Eintrag in billing_runs an (Status: draft)
  3. Zählerstände und Kosten werden berechnet, Einzelpositionen in billing_line_items gespeichert
  4. Admin gibt den Run frei (POST /billing/approve) → Status wechselt zu approved
  5. HTML wird via Gotenberg in ein PDF umgewandelt und in documents gespeichert
  6. Abrechnung wird per Postal (E-Mail) versendet → Status: sent
  7. Nach Zahlungseingang → Status: paid
  • billing_runs — Ein Run pro Mieter/Zeitraum
  • billing_line_items — Einzelpositionen
  • settlement_runs — Jahresabschluss
  • invoices / payments — Rechnungen + Zahlungen