CREATE TABLE saas_invoices (
id INTEGER PRIMARY KEY AUTOINCREMENT,
account_id INTEGER NOT NULL REFERENCES accounts(id) ON DELETE CASCADE,
invoice_no TEXT NOT NULL UNIQUE,
-- z.B. "GS-2026-0001"
period_start TEXT NOT NULL,
period_end TEXT NOT NULL,
seats INTEGER NOT NULL,
unit_price_cents INTEGER NOT NULL,
subtotal_cents INTEGER NOT NULL,
vat_rate INTEGER NOT NULL,
-- 19 | 20 | 0
vat_cents INTEGER NOT NULL,
total_cents INTEGER NOT NULL,
currency TEXT NOT NULL DEFAULT 'EUR',
status TEXT NOT NULL DEFAULT 'draft'
CHECK(status IN ('draft','open','paid','failed','void')),
reverse_charge INTEGER NOT NULL DEFAULT 0,
-- 1 = 0% USt mit Reverse-Charge-Hinweis
mollie_payment_id TEXT,
paid_at TEXT,
pdf_path TEXT,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
commission_base_cents INTEGER NOT NULL DEFAULT 0,
commission_pct REAL,
commission_cents INTEGER NOT NULL DEFAULT 0
)