Books / Law as Code in Practice: French Family Benefits / Chapter 15
Part V · Chapter 15
Finding Families Who Do Not Claim

Contents of Law as Code in Practice: French Family Benefits
By the end you can distinguish a queue for assistance from a legal determination of entitlement.
Lawyer: necessary conditions and complete grounds.
Analyst: screening with incomplete data.
Developer: preserve the original facts for the full question.
The family’s question
The Garniers ask: “Could you help a family that has never applied?” Predict whether passing a children-count screen establishes its entitlement. We switch to four fictional metropolitan households, with no age supplements or forfait: Martin, Bernard, Petit and Durand.
Non-recours → failure to claim a potential entitlement; enfant à charge → dependent child → nb_enfants_charge. Helping a household verify its position is a task; this demonstration does not measure a reduction in non-claiming.
The text and the full rule
L. 521-1 CSS, pinned wording applied in April 2026, says:
Les allocations familiales sont dues à partir du deuxième enfant à charge.
English gloss: family allowances are due from the second dependent child. The sentence supports a necessary condition for this metropolitan screen. Other facts remain necessary for a complete answer.
The actual amount rule has further premises; labels and source anchors are left out:
rule MontantDu(p: fr.pf.core::Personne, m: Money, c: Money, f: Money) strict {
effective [@2015-07-01, infinity);
when montant_mensuel_af(p, m) and complement_degressif(p, c)
and forfait_total_menage(p, f);
then af_montant_du(p, round(m + c + f, 2, "HALF_UP"));
}
A screen derived from necessary conditions is deliberately broader than the complete question. Unknown data must pass to further examination rather than silently excluding a possible recipient.
Four recorded rows
| Household | Children | Annual resources | Screen | Full monthly AF, before CRDS |
|---|---|---|---|---|
| Martin | 2 | €30,000 | Pass | €153.01 |
| Bernard | 3 | €40,000 | Pass | €349.06 |
| Petit | 4 | €50,000 | Pass | €545.10 |
| Durand | 1 | €30,000 | Does not pass | Not evaluated |
Recorded on 9 October 2026 through the local MCP recording server 0.1.0. The family-allowance scene retains the source rows, selection and three full answers with their proof graphs. They use the supplied April BMAF and the selected ArrondiLignesDss reading. No complete entitlement decision was made for Durand.
Change one thing
Remove a child’s count from a source row. The safe screening method passes that unknown row for further examination; it does not infer zero children. A specialist must obtain the missing information before the full question can establish an amount. This change is an exercise in the screening method, not an additional recorded run in the table.
What this gives the fund
The team can form an assistance queue with a stated selection condition, then examine complete cases without replacing their original facts. Contacting households, establishing missing facts and deciding whether they qualify remain separate steps. Four fictional rows are not evidence of programme effectiveness.
Where OpenFisca and Catala stand on this
Population simulation is a strength of OpenFisca. Catala supports executable benefit rules with tests (Catala book, ch. 3.3). Arxo builds proof-bearing questions and necessary-condition screening into the model; the Catala 1.3.0 book does not describe a built-in screening tool derived from a query’s grounds. Teams can build population workflows around their calculations. Here selection and a full answer are recorded separately, allowing the fund to explain why a row entered the queue without confusing that with entitlement.
Exercise
- Does passing the screen establish a right?
- Should missing children-count data exclude the row?
- What does the Durand row establish about a benefit payment?