Ledger reconciliation

The ledger reconciliation makes certain that the ALM situation covers the whole balance sheet. For each accounting poste, the outstanding the situation models is compared with the balance the ledger carries: a poste in scope that nothing models, or an outstanding that does not find its balance, shows at once. This page sets out the principle. How to read the screen is described in the Reconciliation sub-tab.

The reconciliation rests on one question: which account is a deal booked on? A balance line carries its account. An imported deal does not: its account is given by the rules below, which also file it in a FINREP row.

7.1 The rules

  1. An instrument → account mapping, set in the client configuration. It maps an account to an instrument type, an instrument sub-family or an instrument family. The account is written with stars when less precision is enough.
  2. Explicit mappings, optional, that force the account of a given deal: “deal X goes to account Y”. They take precedence over rule 1.

No account is hard-coded in the application. A deal that no rule covers is not filed on a default account: it stays without an account, the import reports it, and the reconciliation shows it on a line with no poste.

7.2 The instrument → account mapping

Levels

A rule is set at one of three levels, from the most general to the most precise:

Level Names Example
Family The modelled product: swap, repo, term_deposit, loan, security… (the configuration’s products mapping) swap
Sub-family A group of instruments of one family that share an account the asset swaps; the reverse repos
Instrument type The exact value of the extract’s Instrument Type column Asset Swap Fix Float

For a deal, the most precise rule wins: instrument type, then sub-family, then family. A family can therefore get a general account, and a few instruments an account of their own.

Accounts with stars

The account of a rule is written with the digits that are known, padded with stars:

Account Names
943100 The poste 943100, and only it.
9431** Every account starting with 9431: 943100, 943101…

A starred rule is used when the deal does not need to be filed more finely: its deals are then reconciled with all the balance lines the stars cover. The postes a starred rule covers must sit in the same FINREP row in the classification; otherwise the rule is too broad to classify its deals: they are imported without a FINREP row, and the import reports it, naming the postes that disagree.

Example

The rules below are those given by Crédit Logement’s April 2026 INEO_Ech extract, where each instrument type is booked on a single poste.

Level Instrument Account
Family swap 943100
Sub-family asset swaps (Asset Swap Fix Fix, Asset Swap Fix Float, Asset Swap Inflation Fix Float) 943101
Family term_deposit 131200
Instrument type CAT Actions 131223
Instrument type Emprunt PPD Taux Variable 541200
Instrument type Emprunt Sub Taux Variable 541900
Sub-family reverse repos (Prise pension de titres (In fine), (Periodic)) 301110
Instrument type Mise en pension de titres 301210
Instrument type Pret de titres 304520
Instrument type Collateral Pret de titres 302710
Family security 304120

One family can thus spread over several postes: on these data, no family fits on a single poste, except the securities other than the subordinated issue.

7.3 Explicit mappings

An explicit mapping maps an account to one deal, named by its deal number. It handles the exceptions: a deal its instrument would file on the wrong poste. It is optional; without it, rule 1 applies.

The account of an explicit mapping is an exact poste, without stars. The histo sheet of the classification workbook (deal number → account) is an explicit mapping; it is part of the Classification section of the client configuration.

7.4 Resolution order

A deal’s account is looked up in this order; the first answer wins.

# Source Origin shown
1 Modelled balance line: the account of its run-off strategy Balance line
2 The deal’s explicit mapping Explicit mapping
3 The instrument type’s rule Instrument mapping
4 The sub-family’s rule Instrument mapping
5 The family’s rule Instrument mapping
— None No account: an import warning, a line with no poste in the reconciliation

The account found files the deal in a FINREP row through the classification (mapping_compta). An account the classification does not know is reported at import; the deal is imported without a FINREP row.

7.5 Reconciliation by poste

Reconciled postes

The reconciliation’s postes are the accounts of the rules and of the explicit mappings, completed by the classification’s postes. A balance line goes to the most precise poste that covers it: the one that fixes the most digits, and with as many digits, the exact poste before the starred one. Example: with the rules 9431** and 943101, the line 94310100 goes to 943101, the line 94310000 to 9431**. A line no poste covers forms a poste of its own, unclassified. A classification poste no deal is filed on joins the starred poste of the deals that covers it: with securities borrowings on 3026**, the lines of 302620 and 302630 are reconciled with those deals.

A deal goes to the poste the resolution order gives it.

Two-leg deals

A securities loan or borrowing carries two positions of opposite directions: the securities and the obligation to return them. The client configuration’s secondLegAccounts mapping, resolved like instrumentAccounts, gives the poste of the second leg. The deal is then imported twice: on its own poste in its direction, and as a mirror leg (reference followed by _L2) of opposite direction on the second leg’s poste. For example, with Crédit Logement’s postes:

Instrument Original leg Second leg
Collateral Pret de titres (securities borrowing) borrowed securities 3026**, asset debt on borrowed securities 302710, liability
Pret de titres (securities loan) lent securities 304520, asset the bond leaves 304120

The two legs offset each other in the EVE, the NII and the gaps, and each is reconciled with its poste. Crédit Logement itself leaves securities loans and borrowings outside the IRRBB perimeter (§7.7): its reference mapping declares no second leg.

Amounts

Side Amount
Ledger Sum of the poste’s balance lines, with their sign.
ALM Sum, in absolute value, of the principal the engine projects for each deal of the poste; and the same sum signed by each deal’s side (asset +, liability −) when every deal has one: a loan, repo or security bought is an asset, a deposit taken a liability.
Difference ALM outstanding − |ledger balance|, compared with a tolerance in the ledger’s unit.

A poste whose signed ALM outstanding and ledger balance are of opposite signs has the status SIGN_MISMATCH: the deals are modelled on the wrong side of the balance sheet, which an absolute difference would not show. The statuses (MATCHED, DIFFERENCE, SIGN_MISMATCH, ALM_ONLY, UNCOVERED, OUTSIDE_BALANCE_SHEET) and a poste’s scope are described in the Reconciliation sub-tab.

What the reconciliation does not compare

  • Accrued interest, related receivables and payables, discounts: they are booked on postes of their own (e.g. 1317xx, 3047xx) and have no deal against them. The reconciliation compares principal; those postes must still be covered (§7.6).
  • Currencies: amounts are summed in their own currency, without conversion.

7.6 Balance-sheet coverage

100 % of the ledger must be covered. Each balance-sheet line is covered in one of two ways:

  1. by deals: the imported deals that their account files on the line’s poste. A deal covers two postes: that of its principal, and that of its accrued interest (related receivables and payables, 1317xx, 3047xx…), given by the client configuration’s accruedInterestAccounts mapping, resolved like instrumentAccounts (§7.2);
  2. by a run-off model: the line is modelled by one of the situation’s outflow strategies, which makes it a modelled balance line on its poste.

A balance-sheet line that no deal and no run-off model covers leaves a hole in the situation: its poste has the status UNCOVERED, and the reconciliation is not closed while one remains. A poste covered only as an accrued-interest poste has the status COVERED_ACCRUED: it is covered, but its amount is not compared, the difference being on principal.

What must be covered

An account’s type comes from the classification (mapping_compta): the Bilan column of the line whose poste is the longest prefix of the account. It is the one source: the client configuration’s accountingMapping now only types an account the classification does not cover, while the classification is completed.

Bilan Type To cover
Actif, Passif ASSET, LIABILITY yes
HB OBS yes when the poste is a financial operation (Operation Financiere = 1, e.g. swap notionals), by the deals; otherwise no
Résultat PNL no
none (an account no line covers) — yes

A poste whose lines are all PNL, or OBS outside a financial operation, and where nothing is modelled, has the status OUTSIDE_BALANCE_SHEET. The classification must therefore cover every account of the ledger: balance-sheet, off-balance (H… included: an account made of letters then digits is accepted) and income statement (6, 7 lines as Résultat). An account no line covers is treated as a balance-sheet account, and the import reports it in a warning that groups those accounts by class.

Coverage ratio

Measure Computation
Balance-sheet amount Sum, in absolute value, of the balance of each balance-sheet poste (every poste the ledger carries, except OUTSIDE_BALANCE_SHEET).
Covered amount The same sum, limited to the postes that carry at least one deal (principal or accrued interest) or modelled line.
Coverage ratio Covered amount / balance-sheet amount. The reconciliation is closed at 100 %.

Coverage and difference are two separate checks: a covered poste can be in DIFFERENCE (the outstanding does not find its balance), an UNCOVERED poste has nothing to compare.

7.7 IRRBB perimeter

The classification (mapping_compta, the Classification section of the client configuration) also says, poste by poste, which measures the positions filed on it enter. Its flags are edited in the Classification tab, or by loading the workbook there. When the situation’s additional data carry "classificationScope": true, the engine applies these columns to every position (deal, modelled line, ledger line) from the line of its account:

Column Measure
GCA carrying amount, column 0010 of J 02.00 to J 04.00
Nominal repricing notionals and gap, J 05.00 to J 07.00
EVE EVE, ΔEVE, supervisory outlier test, duration
MNI NII and ΔNII
VM market value

An empty column or 0 keeps the position out of that measure, and out of it alone: its flows are generated, but that measure does not count them. A starred account enters a measure only when every poste it covers does. The reporting says, per measure, how many positions it left out.

At Crédit Logement, own funds (FMG, capital, reserves, provisions) and their uses (fixed assets, participations) carry no flag: they are outside regulatory IRRBB. Accrued interest and securities loans and borrowings are at 0. Mutual funds enter the gap (run off at 1 day) but neither the EVE nor the NII.

Without the key, every position enters every measure, as before.