FinanceGLEntry
Immutable CQRS read-model for General Ledger entries. Append-only.
Populated by Outbox Relay Worker after JournalEntry submit/cancel success.Source-of-truth for all financial reports (P&L, Trial Balance, etc.).Source: doctype.py
Fields
Section titled “Fields”| Field | Type | Required | Description | Validators |
|---|---|---|---|---|
| voucher_type | str | Voucher Type (e.g. JournalEntry) | - | |
| voucher_no | str | Voucher Number | - | |
| account | Link | Account | - | |
| debit | Decimal | Debit | - | |
| credit | Decimal | Credit | - | |
| company | Link | Company | - | |
| posting_date | date | Posting Date | - | |
| fiscal_year | str | Fiscal Year (Denormalized) | - | |
| cost_center | Link | Cost Center | - | |
| project | Link | Project | - | |
| party_type | None | Party Type | - | |
| party | None | Party | - | |
| user_remark | None | User Remark | - | |
| is_reversal | bool | Is Reversal Row | - |
Configuration
Section titled “Configuration”| Setting | Value |
|---|---|
| Submittable | False |
| Track Changes | True |
Controller
Section titled “Controller”Controller hooks are implemented in *_controller.py files.
Available lifecycle hooks:
validate()- Called before save, raise exceptions for validation errorsbefore_insert()- Called before inserting a new documentafter_insert()- Called after successfully insertingbefore_save()- Called before saving (insert or update)after_save()- Called after savingbefore_delete()- Called before deletingafter_delete()- Called after deleting