Skip to content

Bank · Bankify module

A real double-entry ledger underneath the lending, not a balance column

Plenty of lending systems track a balance. Far fewer keep a ledger that balances. Bankify Core Banking is the system of record the other modules post into: debits equal credits or the journal does not commit, amounts are held in minor units, and reconciliation is a scheduled run with typed exceptions rather than an end-of-month spreadsheet.

$

Double entry, enforced rather than assumed

Every posting belongs to a journal, and a journal will not commit unless its debits equal its credits. Amounts are stored in minor units so a rounding error cannot creep in through floating-point arithmetic, and each posting carries the running balance it produced, so an account history reads as a statement rather than as a set of deltas to add up.

  • Journals of debit and credit postings, validated to balance before they commit
  • Amounts held in minor units per currency, never as decimals
  • Running balance snapshotted on each posting
  • Reversals recorded as reversals, with the reversing journal linked to the original

Multi-currency with FX-aware postings

A cross-currency posting carries both the amount in the account’s own currency and the equivalent in the journal’s reporting currency, together with the rate used. That means a historical entry can be read back at the rate that actually applied rather than being re-translated at today’s rate.

  • Accounts, loan products and the ledger share one currency catalog
  • Each posting stores its own-currency amount, the reporting-currency equivalent, and the rate applied
  • Rates held per institution with an effective timestamp and a source label
  • A cross-currency posting with no configured rate is refused rather than guessed

Idempotent references and safe replays

Every journal carries a reference that is unique within the institution, so replaying the same posting — after a network timeout, a retry, or a re-run — is rejected rather than duplicated. This is what makes the automated postings from lending and collections safe to retry.

  • Unique journal reference per institution; a replay is refused, not double-posted
  • Postings, balance updates and finalisation committed together
  • Optional loan dimension on journals and postings, for per-loan profitability without inflating the chart of accounts
  • Free-form metadata tags — product, repayment, channel, branch — for slicing later

Reconciliation as a scheduled run, not a spreadsheet

Reconciliation runs check that each account’s recorded balance equals the sum of its postings, and record what they find as typed exceptions attached to the run. A discrepancy becomes a tracked item with a name rather than a difference somebody noticed.

  • Per-account check that the sum of postings equals the recorded balance
  • Exceptions typed and attached to the run that found them
  • Per-loan reconciliation alongside the account-level view

Who it’s for

Lenders who need auditable books

A ledger an external auditor can trace, rather than a lending system plus a separate accounting workbook.

Multi-currency institutions

Several currencies running side by side on one catalog, with the rate that applied recorded on the entry.

Microfinance institutions

A real ledger without the cost and implementation weight of a traditional core banking programme.

Where this fits in the platform

  • Disbursements, repayments, fees, early settlements and write-offs raised by Bankify loan management software all post here as balanced journals.

  • Promise-to-pay reconciliation in loan collection software matches against these postings rather than a separate payment list.

  • Smaller institutions usually meet the ledger through microfinance software, where multi-currency accounting matters more than branch banking.

Frequently asked questions

Is this a full core banking system?

It is a double-entry, multi-currency ledger and account system built to be the system of record for lending. It is the accounting core beneath Bankify’s lending modules rather than a replacement for a universal banking platform running payments, treasury and cards.

How does Bankify handle multiple currencies?

Accounts, loan products and the ledger share one currency catalog. A cross-currency posting stores the amount in the account’s own currency, the equivalent in the reporting currency, and the exchange rate applied — so a historical entry reads back at the rate that actually applied. If no rate is configured, the posting is refused rather than estimated.

What stops a retried transaction posting twice?

Every journal carries a reference that must be unique within the institution. Replaying the same reference is rejected outright, which is what makes automated postings from lending and collections safe to retry after a timeout.

Do we have to take Core Banking to use the other modules?

No. Core Banking is licensed as its own module. Without it the loan sub-ledger still works and loans are serviced normally; general-ledger posting is simply skipped.

Want to see this against your own loan book?

Talk to a product specialist about which modules fit your institution today.