Erstkonfiguration

Bevor es losgeht: Trage hier deine Supabase-Zugangsdaten ein. Diese werden lokal in deinem Browser gespeichert und sind nötig, damit die App mit der Datenbank kommunizieren kann.

Einmalige Einrichtung von Supabase (anklappen)

1. Projekt anlegen

Auf supabase.com kostenlos registrieren und ein neues Projekt erstellen.

2. Datenbank-Schema einrichten

Im SQL-Editor folgenden Code ausführen:

create table transactions (
  id uuid primary key default gen_random_uuid(),
  user_id uuid references auth.users not null,
  buchungsdatum date not null,
  valutadatum date,
  betrag numeric(12,2) not null,
  waehrung text default 'EUR',
  empfaenger text,
  verwendungszweck text,
  iban text,
  responsible text default 'Simon' check (responsible in ('Simon','Sascha')),
  beleg_status text default 'pending' check (beleg_status in ('pending','in_datev','no_receipt_needed')),
  in_datev boolean generated always as (beleg_status = 'in_datev') stored,
  notes text,
  source_file text,
  transaction_ref text,
  created_at timestamptz default now(),
  updated_at timestamptz default now()
);

create table recurring_rules (
  id uuid primary key default gen_random_uuid(),
  user_id uuid references auth.users not null,
  name text not null,
  match_field text not null check (match_field in ('empfaenger','verwendungszweck','any')),
  match_pattern text not null,
  match_type text default 'contains' check (match_type in ('contains','exact','regex')),
  set_responsible text check (set_responsible in ('Simon','Sascha')),
  set_beleg_status text check (set_beleg_status in ('pending','in_datev','no_receipt_needed')),
  set_notes text,
  active boolean default true,
  created_at timestamptz default now()
);

alter table transactions enable row level security;
alter table recurring_rules enable row level security;

create index on transactions(user_id, buchungsdatum desc);
create index on transactions(beleg_status);
create index on transactions(transaction_ref);
create unique index on transactions(user_id, transaction_ref) where transaction_ref is not null;

-- Migration falls bereits Daten existieren:
-- alter table transactions add column if not exists beleg_status text default 'pending';
-- update transactions set beleg_status = case when in_datev then 'in_datev' else 'pending' end;
-- alter table transactions drop column in_datev;
-- alter table transactions add column in_datev boolean generated always as (beleg_status = 'in_datev') stored;

3. Zugangsdaten holen

In Supabase unter Settings → API: Project URL + anon/public Key kopieren und oben einfügen.

4. Email-Auth aktivieren

Unter Authentication → Providers ist Email standardmäßig an. Optional: "Confirm email" abschalten für schnellere Logins im Testbetrieb.

Belege
Dream Machine · Buchhaltung
Noch kein Konto? Konto anlegen
Belege
Konto anlegen
Bereits registriert? Zur Anmeldung

Belege

Buchhaltung · DATEV-Tracker
—
Buchungen gesamt
0
im aktuellen Filter
In DATEV
0
erledigt
Fehlende Belege
0
offen
Kein Beleg nötig
0
Lastschriften etc.
Volumen
0,00 €
Summe Beträge
Datum ↓ Empfänger / Beschreibung Betrag Verantwortlich Beleg-Status
∅

Noch keine Buchungen

Lade einen PDF-Kontoauszug hoch oder lege eine Buchung manuell an, um loszulegen.

Buchung bearbeiten

Import prüfen

0 Buchungen aus PDF extrahiert · Bank: —
Auswahl:
Status für markierte:
✓ Datum Empfänger Verwendungszweck Betrag Verantw. Beleg-Status

Bulk-Import · Regeln vor Import festlegen

📦

Mehrere Kontoauszüge auf einmal importieren

Lade beliebig viele PDFs (GLS, Wise, Vivid) auf einmal hoch. Die App aggregiert alle Empfänger, zeigt dir die häufigsten zuerst, und lässt dich vor dem Import Regeln für Verantwortlichkeit und Beleg-Status festlegen.

Verarbeite 0 von 0 PDFs …

0 Buchungen aus 0 PDFs · 0 unique Empfänger ·
Filter:
Empfänger Anz. Σ Betrag Aktuell → Verantw. → Beleg-Status als Regel

Empfänger-Übersicht · Regeln vor Import festlegen

Alle Empfänger aus diesem Import, gruppiert nach Häufigkeit. Setze hier Regeln für die häufig vorkommenden Empfänger — sie werden sofort auf alle Buchungen dieses Imports angewendet, und gelten auch für künftige Imports.

Empfänger Anz. Σ Betrag Aktuell → Verantw. → Beleg-Status

Regel anlegen

Alle künftigen Buchungen an — automatisch behandeln als:

Pattern bearbeiten (optional)

Tipp: kürze auf den eindeutigen Teil — z.B. nur "Anthropic" statt "Anthropic ANTHROPIC.COM".

Wiederkehrende Buchungen · Regeln

Regeln werden beim PDF-Import automatisch auf jede neue Buchung angewendet. Beispiel: Empfänger enthält "Claude.ai" → Status auf "Kein Beleg nötig" und Verantwortlich auf Simon.

Name Feld Muster Typ → Verantw. → Status Aktiv