Bankimport — Abschluss, Storno, Überspringen, Löschen
Die Schritte von staged-Positionen zum Beleg, Dublettenschutz und Saldenabgleich der Importzeile, Regeln für Storno und Überspringen sowie die Rechte.
Der Abschluss (final, finalizerow) erzeugt aus den staged-Positionen einen Bankbeleg (Kopf transaction + Positionen), gleicht den offenen Saldo der Rechnungen aus und setzt die Zeile auf Booked. Eine Zeile wird nur gebucht, wenn mindestens ein gültiger Beleg zu ihr gehört und ihr Saldo übereinstimmt.
Abschluss (finalizeAllStagedTransactions())
- Verarbeitet alle (oder eine) Zeilen mit Status 1 nach Valuta in einer Datenbanktransaktion.
- Dublettenschutz: Hat die Zeile schon einen gültigen Beleg, wird sie übersprungen.
- Kopf + Positionen aus den staged-Positionen; Nummer in der Form
Konto-Richtung-Laufnummer(finance/transaction::nextTransactionNo, sonst PräfixIMP-mit Zeilen-ID); Valuta, Auszugsnummer, Anfangs- und Endsaldo. - Der offene Saldo der Rechnung wird ausgeglichen; Zahlungsauftragspositionen werden „bank settled“ (
paymentorder::markItemsBankSettled); ein mandantenübergreifender Spiegelentwurf entsteht; das Partnerbankkonto wird mit dem Partner verknüpft. - Zum Schluss wird der Saldo der Importzeile mit den Belegen verglichen (
importRowBalance()); bei Abweichung Rücksetzung. Bei Erfolg ist die Zeile Booked. - Datenbankfehler je Zeile in der Antwort (
error_finalize_row).
Storno (stornorow)
Löscht die Belege der Zeile mit finance/transaction::deleteTransactionWithRollback() (offene Salden werden zurückgeschrieben); ohne Beleg (verwaiste Zeile) wird die Zeile auf New gesetzt. Bei abgeschlossenem Beleg (Status 1) gesperrt: zuerst im Belegmodul auf Entwurf zurücksetzen.
Überspringen und Löschen (delete)
skip: setzt die Zeile auf Status 5 (staged-Positionen gelöscht); erneuter Aufruf 5 → 0.delete: löscht RAW-Zeile und staged-Positionen physisch; die Vorlage hat dafür keine Schaltfläche.- Eine Booked-Zeile (2) kann weder übersprungen noch gelöscht werden.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation: transaction, transaction_item, transaction_settlement, invoice, transaction_import_row, transaction_import_staged, payment_order_item, bankaccount (Saldo).
Berechtigungen
final+ Coremodify:final,finalizerow,stornorow.finalizerowundstornorowprüfen den inhaltlichen Bereich (das ausowner_accountermittelte Unternehmen muss erlaubt sein); der Sammel-finalprüft keinen Bereich.delete+ Coremodify:skip,delete.- Keiner der Schlüssel steht in den Katalog-Seeds.