Hauptbuchungen — Datenmodell, Korrektur, Export, Einschränkungen
Kopf- und Zeilentabelle der Kontierungsbelege, transaktionales Speichern manueller Korrekturen, RLB-Export, Löschen und bekannte Lücken des Moduls.
Das Modul finance/entry listet Buchungssätze (Kontierungsbelege), erlaubt manuelle Korrekturen und exportiert im RLB-Format. Das Modul befindet sich in Entwicklung.
Datenmodell
Die Tabellennamen tragen in der Datenbank das eigene Präfix der Installation.
| Tabelle | Rolle | Hauptfelder |
|---|---|---|
entry | Kopf des Kontierungsbelegs | Buchungsdatum, exported_at, verknüpfte Rechnung |
entry_item | Zeilen | Netto- und Bruttoseite: ledger_net, ledger_gross, Beträge |
invoice_entry_date | Buchungsdatum der Rechnung | wird beim Löschen entfernt |
Die Liste liest außerdem invoice, company, transaction.
Manuelle Korrektur (save, entry_id > 0)
- Je Zeile hat das Sachkonto 2–8 Ziffern (
error_entry_ledger), der Betrag ist eine Zahl (error_entry_amount), mindestens eine Zeile (error_entry_no_items). - Soll- und Habensumme dürfen um höchstens 0,01 abweichen (
error_entry_unbalanced). replaceEntryItems()ersetzt die Zeilen in einer Transaktion; das Buchungsdatum wird neu geschrieben,exported_atgeleert.
Weitere Endpunkte (nur Core-Recht)
delete: Bei einem Rechnungssatz wird der Rechnungsstatus 2 und die Zeileinvoice_entry_dateentfernt; danach physisches Löschen (deleteEntry). Nur Coremodify.csv: RLB-Importdatei aus den markierten Sätzen (Dlbtrlb, Zuordnung der Zahlungsartcodes, MwSt.-Seite), ISO-8859-2-kodiert; exportierte Sätze erhaltenexported_at. Nur Coremodify.companygroup: Mitgliedsunternehmen einer Gruppe mit Bereich; Coreaccess.
Berechtigungen
list(UNMAPPED) ingetList();editim Formular (canSave) und beim Speichern zusammen mit Coremodify;debug(nur alte Rechtetabelle).- Die Unternehmensauswahl des Filters ist bereichsbezogen, Listenabfrage und Korrektur erhalten jedoch keine Bereichsbedingung.
Bekannte Einschränkungen
- Der Schlüssel
addfehlt in den Seeds; der alte Zweig „neuer Satz“ (entry_id = 0) übergibt den POST anaddInvoice()(notify_source = 'ledger entry'), legt also eine Rechnung an, keinen Buchungssatz. - Der Link
deleteitemsin der Liste zeigt auf eine im Controller nicht vorhandene Methode. - Die Listenabfrage wendet keinen inhaltlichen Bereich an.