Skip to content

Working with data

Subledgers

A debtors or creditors ledger usually arrives as its own export from its own system. Import it as a subledger, say which general-ledger accounts it is meant to explain, and the same matching engine compares the two.

You say what a dataset is

On the import screen every dataset declares its role: general ledger or supporting subledger. VLDTION never infers this. A file called debtors.csv is not a debtors ledger because of its name, and a product that guessed would be guessing about which figure supports which.

SubledgerTypically supports
Accounts receivableThe debtors control account
Accounts payableThe creditors control account
VAT supportThe VAT control account
Other supporting recordsWhatever the practice configures

One engine, three callers

The bank reconciliation compares a statement against a ledger. The control-account reconciliation compares a control account against records inside the same ledger. The subledger reconciliation compares a ledger against a separately imported dataset. All three run on the same matcher, in the same passes, producing the same kind of factual match signals. There is no second, weaker algorithm anywhere in the product.

What it refuses, before reading anything

  • Two datasets belonging to different clients.
  • Two datasets belonging to different engagements, a reconciliation compares one period of one client's books.
  • The same dataset on both sides.
  • A supporting dataset that was never identified as a subledger.
  • A dataset chosen as the general ledger that was imported as a subledger.

Checked before the button, not after

The pairing is validated as soon as both datasets are chosen, so a refusal is visible on the screen rather than delivered as an error once the work has apparently started. Every one of these refusals is asserted by a test.

What it reports

RuleWhat it reports
CTRL-001The control balance and the subledger total do not agree, beyond materiality
CTRL-002A supporting entry with no control-account posting
CTRL-003A control-account posting with nothing behind it
CTRL-004The two do not cover the same dates
CTRL-005A duplicated supporting entry
CTRL-006The two are stated in different currencies, and no rate reconciles them

Every one is development assurance: the control objective is ordinary professional practice, and the algorithm is VLDTION’s own. A rule that says a supporting entry has no control posting does not say anybody did anything wrong. A control account posted in monthly totals produces that for every invoice, and is perfectly proper.

What the run records

  • Both datasets, by identifier, and both fingerprints.
  • The client, the engagement and the control accounts in scope.
  • The matching, currency and subledger methodology versions.
  • Both balances, the difference, and the matched and unmatched counts on each side.
  • Every exception with its evidence.

Re-importing either file changes its fingerprint, which changes the run identity. So a working paper can never quietly describe data that has since been replaced.