Skip to content

RECHNUNGEN: Zahlungen direkt von Finanzinstitut beziehen #1131

Closed
@olibrian

Description

@olibrian

Ausgangslage:
Aktuell können wir camt054 xml von einem Finanzinstitut (z.b. Postfinance) importieren. Anschliessend werden die entsprechende Rechnungen als bezahlt markiert.

Ziel:
Um diesen manuellen Schritt zu automatisieren werden camt054 Dateien via Schnittstelle von den Finanzinstituten bezogen.

Die Postfinance bietet verschiedene Schnittstellen.

In einer ersten groben Sichtung würde sich der EBICS Standard gut eignen, da dieser unabhängig von dem Finanzinstitut ist. Offizielle Seite EBICS: https://www.ebics.de

Umsetzung

Konfigurierbar auf den Rechnungseinstellungen (https://puzzle.hitobito.com/de/groups/1/invoice_config) pro Layer. Credentials mittels Encryptionservice verschlüsselt in der DB ablegen.

  • Zahlungsprovider sind in Hitobito vorkonfiguriert (vorerst mal Postfinance)
  • Die Schnittstelle wird täglich automatisch für alle Layer mit entsprechender Rechnungseinstellungen abgefragt
  • Es ist nicht vorgesehen das die Abfrage manuell gestartet werden kann
  • Beim Einrichten der Schnittstelle wird ein HTML File generiert das ausgedruckt und per Post an die Bank gesendet wird. Dieses Dokument soll gleich vom Webserver nach dem Einrichten im Browser angezeigt werden. Beispielbrief
  • Die Hashwerte der Postfinance sind hier beschrieben: https://www.postfinance.ch/content/dam/pfch/doc/prod/pay/FS_EBICS_Parameterblatt_Software_479.07_de.pdf
  • Rechnung wird z.B. über Referenznr identifiziert und eine entsprechende Zahlung wird in Hitobito angelegt, aber nur wenn das Layer der Rechnung mit dem Layer der PaymentProviderConfig übereinstimmt
  • Zahlungen die keiner Rechnung zugewiesen werden können, werden ignoriert
  • Die Zahlung / Transaktions-ID soll der Zahlung in Hitobito zugewiesen werden. Es muss verhindert werden das die gleiche Zahlung mehrfach importiert wird
  • Der Status der Rechnung einer zugehörigen Zahlung wird entsprechend aktualisiert
  • Ist eine automatische Schnittstelle für einen Layer konfiguriert, ist der manuelle Import via camt054 deaktiviert

Techspec

  • Gem für EBICS https://github.com/railslove/epics
  • Neues Model: PaymentProviderConfig, payment_provider, keys (mit Encryptionservice verschlüsseln), status: :new, :pending, :registered, last_sync_at
  • Error Handling der Kommunikation zur Bank
  • invoice_config: has_many :payment_provider_configs
  • In "Rechnungseinstellungen > Edit" neues Tab "Zahlungsschnittstellen"
  • Neuer Zahlungsprovider: Form für Registrierung, nach Absenden wird HTML zum Ausdruck angezeigt -> Button in InvoiceConfig#show
  • Zahlungsprovider edit: hier können die von der Bank zur Verfügung gestellten Keys gespeichert werden. Werte die nicht mehr geändert werden dürfen sind read-only Warnhinweis, nach erster Initialisierung
  • Neuer DelayedJob der täglich die konfigurierten Schnittstellen synced

Schätzung Aufwand: 8-10PT

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions