Skip to main content

Finance (Health ERP)

What it does

Finance is the platform's business back-office module — general ledger, payables, fixed assets, document e-sign, non-clinical procurement, and automated GL posting from billing, pharmacy, and workforce.

Where to find it

ScreenPathPermission (route key)
Finance dashboard/erp/dashboarderp.account.readerp.dashboard
General ledger/erp/ledgererp.account.readerp.ledger
Payables/erp/payableserp.account.readerp.payables
Asset register/erp/assetserp.asset.readerp.assets
Document routing/erp/documentserp.document.route / erp.document.signerp.documents
Procurement/erp/procurementerp.procurement.*erp.procurement
Posting integration/erp/postingerp.posting.runerp.posting

You need the matching route permission to open each screen. If Finance is missing from your sidebar, the ERP module may not be activated for your facility or you lack ledger read access.

Finance dashboard (FE-169)

The Finance dashboard at /erp/dashboard is a read-only KPI view for finance officers. It aggregates live counts from the same ERP list APIs the ledger, payables, procurement, and posting screens use — there is no separate summary backend yet.

  • Open period — highlights the current OPEN accounting period (if any).
  • Ledger activity — journal entry count and debit total for the open period; active account count.
  • Payables queue — pending vendor bills and expense claims (when you hold payables duties).
  • Procurement pipeline — open purchase orders (when you hold procurement duties).
  • Posting health — posting run count, last run status, and registered M11 report sources.

Use the quick links at the bottom to drill into operational screens. Balances and postings remain on General ledger — the dashboard chart shows account-type mix, not GL balances.

General ledger

  • Chart of accounts — create accounts with closed AccountType enum and ISO currency code. New deployments also receive starter account codes (1100, 2100, 4000, …) published at the country ministry level; facilities resolve them by code when posting or capturing expense claims.
  • Journal entries — post balanced entries with source module/reference; reverse posted entries.
  • Accounting periods — open periods, close/reopen with erp.period.close. When a facility is first registered, the platform opens an OPEN calendar-year period automatically so finance staff do not have to create one before payables or posting runs work.

Payables

  • Vendors — CRUD on vendor master (shared with procurement).
  • Vendor bills — list with status filter; submit (erp.expense.submit) and approve/reject (erp.expense.approve).
  • Expense claimsread-only list. Capture and approval use M34 DnD DOMAIN forms, not a hand-written screen on this route.

Asset register

  • Items — register assets by tag and name; attributes carry extensible facts.
  • Attribute types — administrable types with datatype enum; ASSET_CLASS semantic stores a conceptId on the attribute value.
  • Custody — append-only custody events (assign, transfer, release).
  • Depreciation — schedule and run posts through the same GL posting service.

Document routing

  • Routing config — bind document type (conceptId) to a workflow definition.
  • Pending routings — route a document id for hash-bound e-sign; sign when pending.
  • Signed register — read-only append-only lookup by document id.

Form-shaped approvals (policy attestation, purchase authorisation as fields) use M34 forms — not this screen alone.

Procurement

  • Requisitionsread-only list of M34-approved form submissions; capture is not on this screen.
  • Purchase orders — create and submit non-clinical POs.
  • Goods receipt — receive against submitted PO lines.
  • Three-way match — probe PO + receipt + vendor bill totals before payables posting.

Clinical stock must be procured in Pharmacy → Procurement (M19), not here.

Posting integration

  • Posting runs — pull billing revenue, pharmacy COGS, and workforce labour accrual into the GL for an open period. Workforce lines are labelled accruals, not payroll.
  • Report sources — read-only M11 finance metrics registration.

Duty separation

Finance permissions are split by duty, not by table:

  • Submit expenses (erp.expense.submit) is separate from approve (erp.expense.approve).
  • Raise requisitions is separate from approve and goods receipt.
  • Post to the ledger (erp.journal.post) and close periods (erp.period.close) are their own codes.

Auditors expect submit and approve on different people.

Tips & limitations

  • Expense and requisition capture UI uses M34 DnD DOMAIN forms when available.
  • E-sign on documents is internal hash-bound governance, not qualified eIDAS/ESIGN compliance.
  • Backend APIs for assets, documents, procurement, and posting require M21-004…007 on the server.

When something looks wrong

What you seeWhat it usually is
Finance menu item missingRoute permission not granted or ERP module inactive
Expense tab emptyNo claims registered yet; capture happens in M34 forms
Requisition list emptyNo approved M34 form submissions registered
Clinical item refused on POItem belongs in pharmacy procurement (M19)
Posting run skips workforceNo engagement/attendance facts in the period

For the causes common to every screen — a missing menu item, an empty list, a refusal — see Why a screen will not work.