Ledger entries — data model, correction, export, limitations
The header and line tables of the coding documents, the transactional save of manual corrections, the RLB export, deletion and the module’s known gaps.
The finance/entry module lists ledger entries (coding documents), allows manual correction and exports them in RLB format. The module is under development.
Data model
Table names carry the installation's own prefix in the database.
| Table | Role | Main fields |
|---|---|---|
entry | coding document header | posting date, exported_at, linked invoice |
entry_item | lines | net and gross legs: ledger_net, ledger_gross, amounts |
invoice_entry_date | the invoice's posting date | removed on delete |
The list also reads invoice, company, transaction.
Manual correction (save, entry_id > 0)
- Per line the ledger account has 2–8 digits (
error_entry_ledger), the amount is a number (error_entry_amount), at least one line (error_entry_no_items). - Debit and credit totals may differ by at most 0.01 (
error_entry_unbalanced). replaceEntryItems()replaces the lines in a transaction; the posting date is rewritten andexported_atis cleared.
Further endpoints (core right only)
delete: for an invoice-type entry the invoice status becomes 2 and theinvoice_entry_daterow is removed; then a physical delete (deleteEntry). Coremodifyonly.csv: RLB import file from the selected entries (Dlbtrlb, payment type code mapping, VAT side), ISO-8859-2 encoded; exported entries getexported_at. Coremodifyonly.companygroup: member companies of a group with scope; coreaccess.
Permissions
list(UNMAPPED) ingetList();editon the form (canSave) and on save together with coremodify;debug(legacy permission table only).- The filter's company picker is scoped, but the list query and the correction get no content scope condition.
Known limitations
- The
addkey is not in the seeds; the legacy “new entry” branch (entry_id = 0) passes the POST toaddInvoice()(notify_source = 'ledger entry'), i.e. it creates an invoice, not a ledger entry. - The list's
deleteitemslink points to a method that does not exist in the controller. - The list query applies no content scope.