Bankimport — zeilenweise Erkennung, manueller Abgleich, Regeln
Endpunkte der Rechte process, assign und rule, Reihenfolge der Vorschlagsengine, Schreiben der staged-Positionen, Rechtelücken und Regelverwaltung.
Die Endpunkte für manuelle Eingriffe liegen unter den Funktionsrechten process, assign und rule (keines in den Katalog-Seeds). Einige Endpunkte prüfen nur das Grundrecht zum Ändern.
Zeilenweise Erkennung (process)
recognizerow: Engine nur für diese Zeile (neu oder Wiederholung); ohne Treffer erklärt die Warnung, welche Regel an welcher Bedingung scheiterte und was verglichen wurde (explainRowRules).clearstaged: löscht die staged-Positionen und setzt die Zeile auf New (Regel, vorgeschlagene Rechnung und Partner geleert); nur bei Status 1 oder 4.- Recht: Core
modify+process; kein inhaltlicher Bereich an diesen Endpunkten.
Manueller Abgleich (assign)
- Das Modal sucht die offenen oder angefragten Rechnungen des Mandanten der Zeile (Eigentümer des Auszugs, vom Server aus der Bankkontobindung oder
owner_accountermittelt) (autocompleteInvoice,suggest); bei Fremdwährungskonten auch in Währung und mit Kurs. Vorschlagsreihenfolge: Bankkonto + Name > Name > Betrag > Rechnungsnummer. Spiegelentwurf-Hinweis:draftmatch. - Speichern (
assignMultipleInvoices): Die gewählten Rechnungen (Liste oder Rechnung → Betrag, mit Währungsbetrag und Kurs) werden als staged-Positionen erfasst; ein Rest über 2 Forint wird eine eigene „schwebende“ staged-Zeile. updatestaged: Name und Betrag der staged-Positionen vor dem Abschluss.createcompany: minimales Partnerunternehmen über das Unternehmensmodell (Namensdublettenprüfung, kein Mandant; Name mindestens 3 Zeichen).repointpartner: ruftfinance/invoice::repointInvoicePartnerauf; verlangt Rechte auf den Eigentümer-Mandanten der Rechnung.
Recht: assign (bei updatestaged, createcompany, repointpartner zusätzlich Core modify); autocompleteInvoice und suggest filtern auf die über getCompanyGroupFilter erlaubten Mandanten.
Regeln (rule)
rulestatus (ein/aus) und ruledelete — Löschen nur, wenn keine Zeile auf die Regel verweist (matched_rule_id), sonst ein Fehler mit Anzahl. Wird statt der Rechte des Moduls bank/bankrule akzeptiert. Recht: Core modify + rule. „Create rule“ öffnet bank/bankrule.form.
Endpunkte nur mit Core-Recht
unidentified: eine „nicht identifizierte“ staged-Position mit dem vollen Betrag (Partner/Eigentümer je nach Richtung); die Zeile wird Recognized.assignBankaccount: verknüpft die Partnerkontonummer der Zeile (GIRO/IBAN) mit einem Unternehmen (assignIbanToCompany, Dublettenprüfung auf das normalisierte Konto).insert: alter Weg, direkter Beleg aus der staged-Zeile über das modelleigeneaddTransaction(); von der Vorlage nicht aufgerufen.exporttemplate: Bankexport-Vorlage aus der Auszugszeile (Zielkonto + Partner + Verwendungszweck, Betrag 0), Dublettenprüfung auf das normalisierte Zielkonto; Recht:bankexport::edit+ Coremodify.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation: transaction_import_staged, transaction_import_row, transaction_rule, invoice, company, transaction (Spiegelentwurf).
Bekannte Einschränkungen
assignMultipleInvoices prüft nur Core modify, weder das Funktionsrecht assign noch den inhaltlichen Bereich. Auch unidentified, assignBankaccount und insert prüfen nur Core modify.