Finance

Finance data & automation

Namespaces, workflow events, reporting surfaces, and API reference links for Finance.

JQL Namespaces

The primary namespaces follow the module models in src/finance/models.py. Use /reference/finance for the curated namespace reference, supported intents, fields, filters, permissions, and examples.

NamespaceUse it for
finance.CostCenter, finance.BudgetVoteBudget and cost tracking dimensions.
finance.GLAccount, finance.LedgerEntry, finance.CostCenterLedgerEntry, finance.BudgetVoteLedgerEntryAccounts and posted financial movement.
finance.Journal, finance.JournalLineManual or system journals and balancing lines.
finance.SubsidiaryPostingProfileRules for posting subsidiary module activity.
finance.AccountableTransaction, finance.AccountableSettlement, finance.AccountableSettlementLine, finance.AccountableReimbursementAdvances, settlements, and reimbursements.

Useful Workflow Events

Prefer explicit automation event constants where the backend defines them. Where a module has no dedicated event class yet, model workflows around create, update, status, assignment, approval, publish, post, and archive transitions on the namespaces above.

  • finance.GLAccount:create
  • finance.GLAccount:update
  • finance.GLAccount:activate
  • finance.Journal:create
  • finance.Journal:post
  • finance.Journal:void
  • finance.Journal:add_line
  • finance.Journal:remove_line
  • finance.CostCenter:create
  • finance.BudgetVote:create

Create And Update Patterns

  • Create events are best for notifications, initial assignment, SLA timers, provisioning, and first-time validation.
  • Update events are best for synchronization, report enrichment, downstream recalculation, and integration callbacks.
  • Status-change events are best for approvals, escalations, posting, publishing, cancellation, rejection, or completion.
  • Assignment events are best for task creation, manager notifications, workload routing, and access review.
  • Delete events should be rare; prefer archive, cancel, close, void, suspend, or deactivate when historical reporting matters.
  • External integrations should include the module record id, tenant id, owner, status, timestamps, and source system key.
  • Workflow filters should narrow by status, type, owner, or amount so routine edits do not trigger noisy automation.
  • Scripts should be used for calculations, transformations, and integrations that workflow nodes cannot express cleanly.

Reports And Dashboards

  • Trial balance.
  • Income statement.
  • Balance sheet.
  • Ledger detail.
  • Cost-center ledger.
  • Budget vote drawdown.
  • Accountable settlement status.

Automation Recipes

  • When a new Finance record is created, notify the owner and create an onboarding or review task if required fields are missing.
  • When a record enters a pending approval state, route it to the correct approver and set a due date.
  • When a record is approved, update related Base objects, create downstream module records, or notify the requester.
  • When a record is rejected, capture reason, notify the requester, and create a correction task if the process can continue.
  • When a record is completed or posted, lock downstream assumptions and refresh reporting dimensions.
  • When a record is cancelled, voided, archived, or suspended, notify dependent owners and stop open tasks where appropriate.
  • When an integration fails, log the source payload key and create a task for the owning operations team.
  • When a report shows stale records, trigger a recurring workflow that reminds owners before escalation.

Integration Guardrails

  • Use the narrowest API key or integration role that can read and write the required namespaces.
  • Do not let integrations bypass approval, posting, payment, fulfillment, or publication actions that users must perform in the UI.
  • Use idempotency keys or source-system identifiers for imports and callbacks.
  • Validate tenant ownership on every linked record before creating cross-module relationships.
  • Avoid free-form status values; use the statuses and actions exposed by the module models and controllers.
  • Keep workflow payloads small but include enough context for audit and troubleshooting.
  • Test integrations with one complete lifecycle before scheduling bulk imports or recurring jobs.
  • Review failed jobs and webhook logs as part of the module operating rhythm.
  • Start with /reference/finance for namespaces, fields, filters, permissions, and intents.
  • Pair this page with the setup and working pages so automation follows the same lifecycle users see in the product.
  • For cross-module workflows, also review references for objects, tasks, tickets, reports, notifications, and workflow automation.