Skip to content

mozilla0/credit_card_reconciliation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Viseca Kreditkartenabrechnung – Frappe/ERPNext App

Automatisierte Verarbeitung von Viseca-Kreditkartenabrechnungen (Raiffeisen): PDF-Extraktion via Azure OpenAI GPT-4o, Belegkontrolle & Erinnerung. Entwickelt für Joker IT AG.

Übersicht

Diese Frappe-App ist speziell für Viseca Payment Services Kreditkartenabrechnungen entwickelt (wie sie über Raiffeisen, diverse Kantonalbanken und weitere Schweizer Banken ausgestellt werden). Sie automatisiert den gesamten Prozess der Belegkontrolle:

  1. PDF hochladen – Viseca-Abrechnung als PDF in ERPNext hochladen
  2. AI-Extraktion – GPT-4o Vision extrahiert alle Transaktionen automatisch (inkl. Fremdwährungen, Mehrfach-Karteninhaber)
  3. Duplikaterkennung – PDF-Hash, Abrechnungsdatum und Transaktions-Matching verhindern doppelte Verarbeitung
  4. Belegkontrolle – Karteninhaber bestätigen Belege direkt in ERPNext
  5. Erinnerungen – Automatische E-Mails und Teams-Nachrichten bei fehlenden Belegen
  6. Eskalation – Automatische Eskalation an die Finanzabteilung nach Fristablauf

Unterstütztes Abrechnungsformat

Die App ist auf das Layout von Viseca-Abrechnungen optimiert:

  • Mehrseitige PDF mit mehreren Karteninhaber-Blöcken
  • Fremdwährungstransaktionen (USD, EUR) mit Umrechnungskurs und Bearbeitungsgebühr
  • Zwischensummen und Überträge pro Karte
  • Kartenkontonummer und PayNet-Nummer im Header

Voraussetzungen

  • ERPNext v16 / Frappe Framework v16
  • Python 3.12+ (empfohlen: 3.14)
  • Node.js 24 LTS
  • Azure OpenAI Service mit GPT-4o Deployment
  • Optional: Microsoft Teams (für Webhook-Benachrichtigungen)

Installation

Frappe Cloud

# Auf dem Frappe Cloud Bench
bench get-app https://github.com/jokerit/credit_card_reconciliation.git
bench --site DEIN-SITE install-app credit_card_reconciliation
bench --site DEIN-SITE migrate

Self-Hosted

cd ~/frappe-bench
bench get-app https://github.com/jokerit/credit_card_reconciliation.git
bench --site DEIN-SITE install-app credit_card_reconciliation
bench --site DEIN-SITE migrate
bench restart

Abhängigkeiten installieren

Falls openai und pymupdf nicht automatisch installiert werden:

cd ~/frappe-bench
bench pip install openai pymupdf

Einrichtung

1. Credit Card Settings konfigurieren

Gehe zu: Kreditkartenabrechnung > Credit Card Settings

Feld Beschreibung
Azure OpenAI Endpoint https://dein-resource.openai.azure.com/
Azure OpenAI API Key Dein API Key
Deployment Name gpt-4o
Teams Webhook URL Optional: Teams Incoming Webhook
Erinnerung nach X Tagen Standard: 5
Eskalation nach X Tagen Standard: 14
E-Mail Finanzabteilung Für Eskalations-E-Mails

2. Karteninhaber erfassen

Gehe zu: Kreditkartenabrechnung > Credit Card Cardholder

Erstelle für jeden Karteninhaber einen Eintrag:

Name Karte (letzte 4) E-Mail
Matthias 5366 matthias@joker-it.ch
Knut 5374 knut@jokerit.ch
Henry 5000 henry@jokerit.ch

Hinweis: Falls ein Karteninhaber beim Extrahieren nicht gefunden wird, erstellt die App automatisch einen neuen Eintrag mit einer Platzhalter-E-Mail.

Benutzung

Abrechnung verarbeiten

  1. Gehe zu: Kreditkartenabrechnung > Credit Card Statement > + Neu
  2. Setze das Abrechnungsdatum
  3. Lade die PDF-Abrechnung hoch
  4. Speichern
  5. Klicke auf Aktionen > PDF extrahieren
  6. Warte 30–60 Sekunden – die Transaktionen werden automatisch erstellt

Belege bestätigen

Karteninhaber können Belege auf zwei Arten bestätigen:

Direkt auf der Transaktion:

  • Öffne eine Transaktion
  • Klicke Aktionen > Beleg bestätigen oder lade einen Beleg hoch
  • Optional: Aktionen > Kein Beleg nötig mit Begründung

In der Listenansicht:

  • Gehe zu Credit Card Transaction
  • Filtere nach Karteninhaber und Status "Offen"
  • Wähle Transaktionen aus und verwende Bulk-Aktionen

Erinnerungen

Automatisch: Der Scheduler sendet täglich E-Mails an Karteninhaber mit offenen Belegen (nach Ablauf der konfigurierten Frist).

Manuell: Auf dem Credit Card Statement: Aktionen > Erinnerungen senden

DocTypes

DocType Beschreibung
Credit Card Settings Singleton: API-Keys, Schwellwerte, Templates
Credit Card Cardholder Mapping: Name ↔ Kartennummer ↔ E-Mail
Credit Card Statement Hochgeladene PDF-Abrechnung mit Fortschritt
Credit Card Transaction Einzelne Transaktion mit Belegstatus

Workflow-Status

Credit Card Statement

EntwurfWird verarbeitetExtrahiertIn PrüfungAbgeschlossen

Credit Card Transaction

OffenBestätigt / Erinnerung gesendetErledigt / Kein Beleg nötig

API-Referenz

Endpoint Beschreibung
extraction.extract_statement PDF extrahieren (whitelisted)
reminder.send_reminders_for_statement Erinnerungen senden (whitelisted)
transactions.bulk_confirm_receipts Bulk-Bestätigung (whitelisted)
transactions.get_statement_summary Zusammenfassung abrufen (whitelisted)

Teams-Integration

Die App unterstützt Microsoft Teams via Incoming Webhook:

  1. Erstelle einen Incoming Webhook in deinem Teams-Kanal
  2. Kopiere die Webhook-URL in die Credit Card Settings
  3. Aktiviere "Teams-Benachrichtigungen aktiviert"

Die App sendet Adaptive Cards mit den offenen Positionen und einem Link zu ERPNext.

Bekannte Einschränkungen

  • PDF-Grösse: Sehr grosse Abrechnungen (>10 Seiten) können das Token-Limit von GPT-4o erreichen
  • Frappe Cloud: pymupdf ist möglicherweise nicht vorinstalliert – die App fällt dann auf PDF-Direkt-Upload zurück
  • Teams Adaptive Cards: Maximale Payload-Grösse begrenzt die Anzahl Transaktionen in der Card

Lizenz

MIT

About

Viseca Credit Card Statement Processing for ERPNext v16 – Frappe app for automated processing of Viseca credit card statements (Raiffeisen / Swiss banks). PDF extraction via Azure OpenAI GPT-4o Vision, per-transaction receipt verification, automated email reminders & Teams notifications. Includes duplicate detection and escalation workflows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages