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
- 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.
- 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:
- 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’saccruedInterestAccountsmapping, resolved likeinstrumentAccounts(§7.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.