📜 Goldene Regeln
Internes Pflichtdokument — Stand: 19.05.2026 | Vor jeder Arbeit lesen.
Sofort-Verbote (ohne Ausnahme)
- verbotenNIEMALS
stripe.invoices.sendInvoice()ohne explizites GO - verbotenNIEMALS
auto_advance: trueauf einer Rechnung - verbotenNIEMALS Account löschen wenn Charges oder Payment Methods vorhanden
- verbotenNIEMALS Betrag allein als Zahlungsnachweis akzeptieren
- verbotenNIEMALS Datum-Filter beim Scope — ALLE Rechnungen eines Maklers prüfen
- verbotenNIEMALS vor vollständiger Analyse Änderungen vornehmen
- verbotenNIEMALS Reklamation einfach glauben ohne eigene Prüfung
- verbotenNIEMALS Sophie-Ordner löschen, verschieben oder umbenennen
- verbotenNIEMALS Lead-Status für Makler manuell korrigieren
- verbotenNIEMALS Bexio API Token verwenden — Bexio ist abgeschaltet (05.05.2026)
Blacklist — NIE anfassen
| AK-Nr | Firma | Grund |
|---|---|---|
| AK356 / 101301 | Immobilien Scout GmbH | Manuell, PO-Nummern |
| AK778 / 100460 | talocasa GmbH | Manuell, CHF/EUR Sonderfälle |
| AK308 / 100461 | Homeday GmbH | Manuell, hohe Beträge |
Datenquellen-Hierarchie (nach Bexio-Abschaltung)
| # | Quelle | Verwendung |
|---|---|---|
| 1 | Stripe | Rechnungen, Zahlungen, Customers |
| 2 | Maklerplan Scraper API | AK-Nummern, Stammdaten, Adressen |
| 3 | Railway DB | Leads, Preise, Run-Dates |
| 4 | Maklerplan Portal | RE-Nummern, Entwürfe |
5 Zahlungsquellen (ALLE Pflicht)
① Cash Balance funded events (HÖCHSTE PRIORITÄT)
stripe.customers.listCashBalanceTransactions(cusId, { limit: 50 })
→ Typ "funded" = echte Banküberweisung | "adjustment" = KEIN Nachweis!
② Stripe Charges
stripe.charges.list({ customer: cusId, limit: 100 })
→ Nur status === 'succeeded'
③ Customer Balance Transactions
stripe.customers.listBalanceTransactions(cusId, { limit: 50 })
→ Typ "applied_to_invoice" zeigt welche Invoice bezahlt wurde
④ Payment Intents
stripe.paymentIntents.list({ customer: cusId, limit: 100 })
→ Nur status === 'succeeded'
⑤ TKB Bankauszug
tkb_results.json — Suche: Firmenname, AK-Nr, RE-Nr in reference_text. Text NIE mit .substring() abschneiden!
Rechnungserstellung — Pflicht-Regeln
- pflichtImmer
auto_advance: false— NUR Drafts! - pflichtImmer
currency: 'eur' - pflichtDuplikat-Check vor jedem Draft:
stripe.invoices.search({ query: metadata['bexio_rechnungsnummer'] }) - pflichtLeere Drafts (0 Items) → sofort löschen
- pflicht
payment_settings.payment_method_types: ['customer_balance']+ Bank-Transfer DE - pflichtReverse Charge Footer auf jeder Rechnung
- metadaten
bexio_rechnungsnummer,bexio_kundennummer,ak_nr,billing_period - metadaten
custom_fields: RE-Nr + Rechnungsdatum
Produktcodes & Preise
| Code | Bedeutung | Aktion | Preis |
|---|---|---|---|
| 101.1 | Lead-Provision | ❌ NIEMALS anklicken | 76,00 € |
| 101.2 | Anzahlung | ❌ NIEMALS anklicken | 76,00 € |
| 101.3 | Reklamation (Gutschrift) | ✅ Nur dieser | -76,00 € |
| 100 | Talocasa Premium | Sondervertrag | 80,00 €/Lead |
Regel 48: Reklamation-Datenstruktur (19.05.2026)
Reklamation-Objekte MÜSSEN id, name, phone haben — sonst steht undefined in Stripe!
// Pflicht-Struktur (auch wenn name/phone leer):
{
"rawText": "Reklamation 101.3 118856 ...",
"extractedId": "118856",
"id": "118856", // ← PFLICHT
"name": "", // ← PFLICHT (leer ok)
"phone": "" // ← PFLICHT (leer ok)
}
Portal zeigt bei Reklamationen NUR die Lead-ID — Name/Telefon nicht sichtbar. Das ist korrekt.
paid-Status NIEMALS blind vertrauen (17.05.2026)
- pflicht
invoice.status === 'paid'ist KEIN Zahlungsnachweis - prüfen
invoice.charge— Gibt es eine echte Charge? Status succeeded? - prüfen
invoice.payment_intent— PI vorhanden? Status succeeded? - prüfenGesamtzahl succeeded Charges vs. Anzahl paid Rechnungen abgleichen
- prüfenCash Balance Funded Events prüfen
- verbotenBehaupten "Kunde hat zu viel bezahlt" ohne Charge-Beweis
Sonderkunden
🏢 Talocasa (AK778 / 100349)
- format1 Line-Item: "Leadverkauf Immobilien Premium" × Anzahl Leads
- formatProduktcode 100, Preis 80€/Lead, KEINE Lead-Namen
- pflicht"ALLE MARKIEREN" Button oben klicken — NICHT einzelne Checkboxen!
🏢 Homeday (AK308 / 100461)
- formatUSt-IdNr DE290460142 auf Rechnung
- formatMonatliche Abrechnung am 1. des Monats
- pflichtImmer als DRAFT — NIEMALS senden
🏢 ImmoScout (AK356 / 101301)
- formatPO-Nummer PO1430038190 auf Rechnung
- pflicht5 Email-Adressen + PO-Nr zwingend
- verbotenNiemals Portal-Rechnung erstellen
Abschluss-Checkliste (nach JEDEM Makler)
Account
- checkStempel: ak_nr, bexio_kundennummer, verified_main_account
- checkGhost-Accounts: [ARCHIVED] Prefix + archived: true
- checkReverse Charge Footer + Virtuelle IBAN aktiv
Rechnungen
- checkAlle Beträge ≠ 0€
- checkAlle haben bexio_rechnungsnummer in Metadata
- checkLeads 1:1 (Name + Telefon) — keine Duplikate
- checkDoppel-Check: Lead-Anzahl + Rekla-Anzahl + IDs korrekt
Zahlung
- checkAlle bezahlten Rechnungen: min. 1 der 5 Quellen belegt
- checkStripe paid ohne Nachweis: geprüft und gemeldet
GO-Regel
- pflicht"Continue" = KEIN GO
- pflichtEin Implementationsplan = KEIN GO
- goNur das Wort "GO" oder "Ja mach das" zählt als Freigabe
📜 Goldene Regeln v48 — Letzte Aktualisierung: 19.05.2026
Diese Seite ist die interne Kurzfassung. Vollversion: Knowledge Base.
Diese Seite ist die interne Kurzfassung. Vollversion: Knowledge Base.