Skip to content

FinanceSettings

FinanceSettings singleton DocType.

Only one record exists. Drives runtime behaviour for the finance library:
budget enforcement, depreciation scheduling, and Book-Keeper connectivity.
Attributes:
budget_enforcement_mode: How over-budget transactions are handled.
depreciation_cron_schedule: Cron expression for nightly depreciation run.
bookkeeper_api_url: Base URL for the m-ledger Book-Keeper API.
bookkeeper_api_key: Optional API key for Book-Keeper authentication.

Source: doctype.py

Field Type Required Description Validators
budget_enforcement_mode str Budget Enforcement Mode (‘warn’ or ‘block’) -
depreciation_cron_schedule str Depreciation Cron Schedule (cron expression) -
bookkeeper_api_url str Book-Keeper API Base URL -
bookkeeper_api_key None Book-Keeper API Key (optional) -
purchase_return_account None Default Purchase Return Account (used for Debit Notes) -
sales_return_account None Default Sales Return Account (used for Credit Notes) -
default_expense_claim_account None Default Expense Claim Account -
employee_payable_account None Default Employee Payable Account -
emd_liability_account None EMD Liability Account (Cr on receipt, Dr on refund/forfeit) -
emd_forfeiture_income_account None Forfeited EMD Income Account (Cr on forfeit) -
Setting Value
Submittable False
Track Changes True

Controller hooks are implemented in *_controller.py files. Available lifecycle hooks:

  • validate() - Called before save, raise exceptions for validation errors
  • before_insert() - Called before inserting a new document
  • after_insert() - Called after successfully inserting
  • before_save() - Called before saving (insert or update)
  • after_save() - Called after saving
  • before_delete() - Called before deleting
  • after_delete() - Called after deleting