Connect hospital billing and the general ledger without double posting
For CFO / finance controller · Plan implementation
TL;DR — what you’ll learn
- Separate patient billing events, cash/gateway receipts, credit-note adjustments and payer settlements in the HIS-to-ERP bridge.
- Assign every HIS posting batch or voucher a stable idempotency key and source-document trail so retries never double-post revenue.
- Route post-close billing corrections and unmapped charge codes to an accountant-reviewed suspense/exception queue.
- Require the HIS subledger and ERP general ledger to reconcile to the rupee before closing the daily or monthly posting run.

Illustrative hospital administrative and operations coordination desk; not a client facility.
A 150-bed hospital posts 420 daily inpatient and outpatient billing events totaling ₹38.40 lakh from its Hospital Information System (HIS) to its ERP general ledger under synthetic batch GL-BRG-052. After the 22:00 nightly journal batch is imported, the night billing supervisor approves a ₹15,000 credit-note adjustment on discharged bill INV-7812, and a network retry re-sends a ₹1.25 lakh outpatient receipt batch. If the ERP imports the re-sent batch as fresh cash revenue and silently overwrites INV-7812 without a linked credit voucher, the HIS patient subledger and the ERP trial balance diverge by ₹1.40 lakh.
For hospital CFOs, financial controllers and IT integration leads, the core question is which events the HIS should transmit to accounting and how finance should reconcile them without duplicate or unlinked postings.
Separate invoice, receipt and settlement
Hospital billing systems and accounting ledgers serve different operational needs. The HIS tracks granular clinical service charges, package inclusions, doctor fee splits, interim deposits and payer pre-authorisations at the visit level; the ERP general ledger records balanced debit/credit journals by legal entity, cost centre, revenue head and tax classification. Integration fails when teams either dump unvalidated line items into the ERP without idempotency keys or post opaque lump-sum daily totals that cannot be traced back to source bills when an audit query arises.
Bahmni billing and accounting and the Bahmni feature list illustrate how clinical service ordering, patient billing and ERP/Odoo accounting handovers are separated in open hospital architectures (product reference only; chart-of-accounts structure, revenue recognition and GST/TDS treatment must be specified by the hospital’s chartered accountant and finance controller).
In the illustrative GL-BRG-052 daily integration run (420 billing events totaling ₹38.40 lakh in the HIS subledger), transactions are reconciled across voucher type, idempotency check and ledger posting status:
Scroll horizontally to see all columns.
Subledger-to-GL cohort (GL-BRG-052) | Events | HIS subledger amount (₹ Lakh) | Integration & mapping check | ERP general-ledger outcome |
|---|---|---|---|---|
| Matched invoices & receipts | 412 | ₹36.65 | Valid cost-centre & GL map; unique batch key | Posted and balanced in ERP (₹36.65L) |
| Replayed outpatient receipt batch | 5 | ₹1.25 | Duplicate idempotency key detected on retry | Original ₹1.25L posting kept; duplicate blocked |
Post-batch credit note (INV-7812) | 1 | ₹0.15 | Original bill already posted in prior cutoff | Linked reversal/credit voucher queued for finance review |
| Newly added unmapped procedure codes | 2 | ₹0.35 | Missing GL revenue-head mapping in bridge table | Held in pre-posting exception queue (₹0.35L) |
| Total daily HIS billing events (`GL-BRG-052`) | 420 | ₹38.40 | 417 posted/deduped + 1 linked credit + 2 unmapped | ₹37.90L posted + ₹0.50L in visible reconciliation queue |
The full ₹38.40 lakh HIS subledger activity (₹36.65L + ₹1.25L + ₹0.15L + ₹0.35L = ₹38.40L) is explained to the rupee: ₹37.90 lakh (₹36.65L + ₹1.25L) is posted once in the ERP with the retry duplicate suppressed, and ₹0.50 lakh (₹0.15L post-cutoff credit note + ₹0.35L unmapped procedure codes) sits in the finance exception queue with source bill IDs attached.
Compare summary journal and detailed subledger integration
Choosing between event-level voucher posting and summarised shift/daily control journals depends on transaction volume and subledger retention. Even when a hospital posts summarised outpatient revenue journals to keep the ERP lean, refunds, credit notes, corporate/TPA receivables and advance deposits require explicit reference keys so finance can match bank settlements and payer remittances against open invoices.
Connect the HIS-to-ERP bridge with Reconcile TPA settlements without hiding deductions, Reconcile cash, UPI and card collections at day close, Automate hospital invoice matching at line level and Close the hospital month with visible unresolved handovers so that inpatient bill edits, daily counter collection closeouts, supplier three-way matches and month-end cutoff controls reconcile to the same general-ledger control accounts.
Worked workflow
Original illustrative workflow. Follow the labelled transitions, including the exception paths.
- A · StepLock HIS billing, receipt or credit-note event with immutable document ID and timestamp
- B · StepApply accountant-approved GL account, cost-centre and idempotency key mapping
- C · StepValidate debit/credit balance, period status and duplicate-transmission check
- D · DecisionMapping complete, target period open and voucher balanced without duplicate key?
- E · StepHold unmapped charge code, closed-period edit or mismatched batch in finance exception queue
- F · StepFinance controller updates approved GL mapping or authorises linked adjustment voucher
- G · StepPost balanced journal to ERP general ledger and record ERP voucher reference in HIS
- H · StepGenerate daily HIS-to-ERP control-total bridge report for controller sign-off
Scroll horizontally to see all columns.
| From | Condition | Next |
|---|---|---|
| A: Lock HIS billing, receipt or credit-note event with immutable document ID and timestamp | Continue | B: Apply accountant-approved GL account, cost-centre and idempotency key mapping |
| B: Apply accountant-approved GL account, cost-centre and idempotency key mapping | Continue | C: Validate debit/credit balance, period status and duplicate-transmission check |
| C: Validate debit/credit balance, period status and duplicate-transmission check | Continue | D: Mapping complete, target period open and voucher balanced without duplicate key? |
| D: Mapping complete, target period open and voucher balanced without duplicate key? | No | E: Hold unmapped charge code, closed-period edit or mismatched batch in finance exception queue |
| E: Hold unmapped charge code, closed-period edit or mismatched batch in finance exception queue | Continue | F: Finance controller updates approved GL mapping or authorises linked adjustment voucher |
| F: Finance controller updates approved GL mapping or authorises linked adjustment voucher | Continue | C: Validate debit/credit balance, period status and duplicate-transmission check |
| D: Mapping complete, target period open and voucher balanced without duplicate key? | Yes | G: Post balanced journal to ERP general ledger and record ERP voucher reference in HIS |
| G: Post balanced journal to ERP general ledger and record ERP voucher reference in HIS | Continue | H: Generate daily HIS-to-ERP control-total bridge report for controller sign-off |
Handle reversals and closed periods
Three integration exceptions regularly break hospital accounting bridges: service master teams adding new diagnostic or package codes in the HIS without assigning an ERP revenue account, billing supervisors reopening a bill from a closed accounting month instead of issuing a current-period credit note, and advance deposits applied to a final inpatient bill without clearing the patient-deposit liability account. None of these should be auto-forced into a miscellaneous suspense account without an alert.
In the GL-BRG-052 workflow above, decision gate D blocks unmapped codes and closed-period mutations from posting silently. They remain visible in the finance exception queue (E), receive controller-approved mapping or credit-voucher handling at F, and re-enter validation at C before ERP posting (G) and daily bridge sign-off (H).
Test retries with an accountant-approved mapping
Run the GL-BRG-052 420-event challenge set in a parallel test ledger across three consecutive days before disabling manual journal entry. Include standard cash and credit bills, advance deposit applications, a replayed batch file, two unmapped charge codes, and a credit note against a prior day’s invoice. Require zero duplicate postings and a 100% reconciled daily bridge report.
Integration middleware enforces mapping rules, idempotency and control-total checks; accounting policies, revenue-recognition timing and tax classifications remain under the authority of the finance controller and statutory auditors.
Next actions
- Lock the HIS charge-master creation workflow so no new tariff or package code can go live without an approved ERP general-ledger account code.
- Test the
GL-BRG-052batch replay and post-cutoff credit-note scenarios in staging to confirm idempotency and linked reversal vouchers. - Institute a daily 15-minute HIS-to-ERP bridge review where finance verifies posted totals (
₹37.90L) and clears queued exceptions (₹0.50L).
Discuss this workflow
Request a workflow assessment focused on this question: Which events should the HIS send to accounting and how should finance reconcile them?
Describe the operation using business information only. Please leave out patient details.
Applying this guide
The scenarios and numbers are illustrative. Confirm these provider-specific inputs before implementation:
- CFO, finance controller and tax/audit adviser: Approved chart-of-accounts mapping, advance-deposit clearing rules and closed-period credit-note policy.
- Accounts receivable lead and billing manager: Daily reconciled `GL-BRG-052` bridge report matching HIS subledger totals (`₹38.40L`) to ERP postings and open exceptions.
- HIS / ERP integration engineer: Verified idempotency keys preventing duplicate batch imports and two-way cross-reference between HIS bill IDs and ERP voucher numbers.
References
- Bahmni billing and accounting — Illustrates separation between clinical events, billing and ERP/Odoo accounting; not tax or accounting-policy authority.
- Bahmni feature list — Module boundary reference across registration, clinical services, lab, stock and billing; verify actual deployed version.
Topics: hospital accounting software integration · hospital accounting integration · HIS ERP ledger sync · hospital billing journal reconciliation