Books / Law as Code in Practice: French Family Benefits / Chapter 11

Part IV · Chapter 11

A Family Over Time: Overpayments, Deductions, Prescription

4 min read

Full-page risograph illustration: a wall of blank letterboxes crossed by afternoon shadows, one holding a red envelope.
Contents of Law as Code in Practice: French Family Benefits

By the end you can read a sequence of dated payment files without confusing an input gross amount with a newly calculated entitlement.

Lawyer: the grounds for recovery and limitation.
Analyst: gross amount, deduction and remaining payment.
Developer: separate snapshots of the same household over time.

A payment-stage family card

We switch from the Garniers’ housing-right file to the fictional FamilleDansLeTemps household. The snapshots span 2024–2026. Gross benefit amounts, the PA amount before recovery, deduction amounts of €79.60, €180 and €70, and facts permitting recovery from another benefit are supplied inputs. The chapter follows how the payment rules use them.

The question: “A debt was recorded. Does every later payment have to be reduced?” Predict whether a prescribed debt and a debt still eligible for recovery have the same effect.

Indu → overpayment → indu; retenue → deduction → the recovery step; prescription → limitation of recovery → the dated conditions in the payment model.

The pinned social security text, L. 553-1 CSS, uses:

L’action de l’allocataire pour le paiement des prestations se prescrit par deux ans.

English gloss: the recipient’s action for payment is limited to two years. Its following wording also governs recovery of improperly paid benefits, with exceptions for fraud or false declarations. Limitation must be checked under the applicable rule and facts; it is not an instruction to subtract any recorded debt from any current payment.

A dated snapshot

The December case contains these actual inputs; other assertions and the file header are left out:

    assert "af-brut": fr.pf.af::af_montant_du(entity_ref("urn:fr:case:famille:camille"), 320.00 EUR) { origin case_input; }
    assert "taux": fr.prestations.versement::prelevement_mensuel_declare(entity_ref("urn:fr:case:famille:camille"), 79.60 EUR) { origin case_input; }
    assert "taux-licite-0": fr.prestations.versement::report_rsa_sur_pf_licite(entity_ref("urn:fr:case:famille:camille")) { origin case_input; }
    assert "taux-licite-1": fr.prestations.versement::report_pa_sur_pf_licite(entity_ref("urn:fr:case:famille:camille")) { origin case_input; }
…

This excerpt supplies facts to the payment canon. It does not compute the household’s AF entitlement from ages and resources. Keeping that boundary explicit makes the sequence useful for reviewing deductions.

Recorded payment answers

Snapshot Supplied amount and context Established remaining amount
March 2024 AF gross €200, CRDS €199
August 2024 ARS gross €400, CRDS €398
July 2025 Birth-grant gross €1,000, CRDS €995
December 2025 AF gross €320, CRDS; recoverable overpayment €238.80
March 2026 AF gross €320, CRDS; earlier AF overpayment prescribed €318.40
March 2026 RSA €600 with PF debt carried into recovery €420
June 2026 PA amount before recovery: €280; own debt and RSA debt carried into recovery €210

Recorded on 11 October 2026 with law 0.1.12. The seven saved questions establish the proposed amounts in the model’s payment stage. Gross amounts and the served PA are inputs, not an end-to-end calculation of entitlement. The housing → RSA → PA calculation is a separate scenario and is not claimed as executed by this household run.

Seven checkpoints from March 2024 to June 2026, each pairing a supplied input with the remaining amount: AF €200 gives €199; ARS €400 gives €398; birth grant €1,000 gives €995; AF €318.40 with a recoverable overpayment gives €238.80; AF €318.40 with recovery time-barred gives €318.40; RSA €600 with a debt carried into recovery gives €420; PA €280 with two debts gives €210.
Seven dated checkpoints in the payment stage: supplied inputs on the left, the amounts the payment rules establish on the right.

Change one thing

Compare the December recovery question with the March prescribed-debt question. The household files have different dates and inputs; this is a sequence of checkpoints rather than an experiment changing the date alone. The March case supplies action_prescrite, stating that recovery of the AF overpayment is time-barred, and supplies zero RSA and PA debts carried over for recovery. The payment rules therefore preserve the full net instalment of €318.40 (€320 gross after CRDS). This case applies the supplied limitation finding; it does not calculate the limitation period.

What this gives the fund

A caseworker can distinguish the right calculated by a benefit owner, the amount passed into the payment stage and the supplied levy and deduction applied there. Review of an overpayment can focus on the grounds for recovery, the limitation finding and the deduction amount rather than treating a lower transfer as an unexplained change in entitlement.

Where Catala stands on this

Catala provides exact arithmetic and date operations, including explicit behaviour for ambiguous month additions (Catala book, ch. 5.2). Arxo supplies dated cases, normative positions and proof-bearing questions within the same model. Catala 1.3.0 has no dedicated built-in form for duties and their assessment states; an application can model its payment workflow around computed values. For the fund, a payment checkpoint can preserve the amount and its recovery grounds together, while a separate query examines what action is due next. The date alone does not prove a recovery is lawful.

Record the snapshots

From a local checkout with law installed, start at the repository root:

cd corpus/laws/fr/prestations-versement/examples
cd famille-dans-le-temps
python3 check.py --law "$(command -v law)" --out "$(mktemp -d)"
law ask . --case Famille2025_12 --query-json queries/af-rec-2025-12.json --out "$(mktemp -d)"

The package README identifies all seven queries and their supplied inputs. The local run uses the dependencies of a checkout of the Arxo repository (Appendix D).

Exercise

  1. Is the €1,000 birth grant newly derived here from BMAF?
  2. Which snapshot preserves the full AF instalment because of limitation?
  3. Does the June answer demonstrate the complete RSA-to-PA entitlement calculation?

Contents · PDF · EPUB · Free under CC BY 4.0

Law as Code in Practice: French Family Benefits

Contents

You’re reading · Part IV

After the Amount

Reading settings

Text size
Appearance

Preferences and your reading place are saved only in this browser.