SQL
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
)
Columns
| Column | Data type | Allow null | Primary key | Actions |
|---|---|---|---|---|
id |
INTEGER |
✓ | ✓ | Rename | Drop |
account_id |
INTEGER |
Rename | Drop | ||
invoice_no |
TEXT |
Rename | Drop | ||
period_start |
TEXT |
Rename | Drop | ||
period_end |
TEXT |
Rename | Drop | ||
seats |
INTEGER |
Rename | Drop | ||
unit_price_cents |
INTEGER |
Rename | Drop | ||
subtotal_cents |
INTEGER |
Rename | Drop | ||
vat_rate |
INTEGER |
Rename | Drop | ||
vat_cents |
INTEGER |
Rename | Drop | ||
total_cents |
INTEGER |
Rename | Drop | ||
currency |
TEXT |
Rename | Drop | ||
status |
TEXT |
Rename | Drop | ||
reverse_charge |
INTEGER |
Rename | Drop | ||
mollie_payment_id |
TEXT |
✓ | Rename | Drop | |
paid_at |
TEXT |
✓ | Rename | Drop | |
pdf_path |
TEXT |
✓ | Rename | Drop | |
created_at |
TEXT |
Rename | Drop | ||
commission_base_cents |
INTEGER |
Rename | Drop | ||
commission_pct |
REAL |
✓ | Rename | Drop | |
commission_cents |
INTEGER |
Rename | Drop |
Foreign Keys
| Column | Destination |
|---|---|
account_id |
accounts.id |
Indexes
| Name | Columns | Unique | SQL | Drop? |
|---|---|---|---|---|
| idx_saas_invoices_account |
|
SQL | Drop | |
| idx_saas_invoices_mollie_payment |
mollie_payment_id
|
SQL | Drop | |
| idx_saas_invoices_status |
status
|
SQL | Drop | |
| sqlite_autoindex_saas_invoices_1 |
invoice_no
|
✓ | SQL | Drop |