# bilan guide — the complete operator reference bilan is the deterministic financial ledger + tax radar for professionnels pluri-actifs (multi-income: salary + micro-BNC/BIC + crypto + trading + rent + dividends). Humans own the money; their AI assistants (YOU, probably) operate everything through this CLI. Read this once and you know the full surface. ## The one design rule There is NO LLM inside bilan — by design, not by omission. Tax and money math must be deterministic and auditable, so bilan only STORES and COMPUTES; it never guesses. The intelligence is yours: you parse the messy exports your human hands you, you explain the JSON, you plan around the numbers. If a CSV doesn't fit a connector, YOU normalize it (with your own LLM powers) into the generic schema before importing. The platform never sees a prompt and runs no inference. ## Quickstart (local, one binary + one SQLite file) export BILAN_DB=~/.bilan.db # or any path; the file IS the ledger bilan demo # seed a deterministic pluri-actif ledger (salary+bnc+crypto+rent) bilan stats --year 2026 # per-kind totals, net bilan tax --year 2026 # the radar: abattements, PFU, exemption (or hand-author: bilan stream add freelance --kind bnc; bilan tx add freelance 2026-03-15 1200 --label "mission conseil") ## Concepts - STREAM: one income/activity line of the foyer (salary, bnc, bic, rent, crypto, trading, dividends, other). The kind drives which tax regime math applies. - TX: one money event (date, signed cents, label). Positive = income, negative = expense/loss. Crypto/trading streams expect SIGNED REALIZED P/L per closed position (what form 2086 needs), not gross buys/sells. - TAX RULES: the rate card is DATA in the db (regime, param, value per year), not code — a loi de finances change is `bilan rule set`, never a new binary. - IMPORTS are idempotent: re-importing the same file inserts nothing (ext_id is derived from row content). Safe to retry. ## Command reference stream add --kind [--currency EUR] new activity stream stream list all streams tx add [--label L --source S --ext-id X] tx list [--stream S] [--year Y] [--limit N] latest first import --stream S file "-" reads stdin. generic wants date/amount/label headers (fr montant ok). etoro: Close Date + Profit(EUR). revolut: Completed Date. stats [--year Y] per-kind signed totals + net tax [--year Y] the radar (see Tax model) rule list [--year Y] the rate card rule set override a rate (rates are DATA) move add --kind controle|securite|construction|patrimoine --action '...' --pourquoi '...' --impact '...' [--horizon today|week|month] propose a move (Brian's format: Action + Pourquoi + Impact). The human approves on the dashboard (/app) or `bilan move done `. move list [--status proposed|done|dismissed] the move store move done | move dismiss close a move brief [--year Y] the morning digest: provision, stream momentum (actif/tiede/silencieux), moves en attente. Deterministic — the AGENT narrates it; bilan only states what the ledger says. brian print the Brian persona — install it into any harness (claude-code/pi/opencode) and the agent becomes the copilote demo seed a deterministic pluri-actif ledger (salary+bnc+crypto+rent) so a cold agent can run the radar in one command (idempotent) telemetry aggregate usage + errors across tenants (hosted operator only; local mode records none — usage + errors only, NO financial data) start the HUMAN first run: what bilan is and the exact next command, branching on whether the ledger is empty. Prose, not JSON — point your human at it, then go back to help-json yourself. guide this document feedback [--kind bug|idea|praise] report a bug/idea (never fails) version | update release info / self-update serve [--port N] HTTP JSON API (see below) ## The human surface (--text) stats, tax and brief accept --text: the SAME numbers rendered as French prose for the human who owns the money, instead of JSON. Nothing is recomputed — the text is a rendering of the JSON core, so the two can never disagree. bilan tax --text --year 2026 the radar, line by line, in euros bilan brief --text the morning image bilan stats --text where the money came from Use them when your human asks to SEE something. Keep parsing the JSON form yourself — --text is display, not a contract, and its layout may change. The dashboard (GET /app) is the same image as a page, and shows a first-run panel instead of a wall of zeros while the ledger is empty. ## The rate card (seeded for the current year; override per year) Sources: BOFiP (bofip.impots.gouv.fr), impots.gouv.fr, legifiscal.fr — see notes. micro_bnc: abattement 34% · social 24.6% (regime rows micro_bnc) micro_bic_services: abattement 50% · social 21.2% micro_foncier: abattement 30% · social 17.2% (on net after abattement) capital (crypto/trading): PFU 31.4% on positive net gains crypto exemption: net gains under 305.00 EUR -> not declarable (form 2086) dividends: PFU on the positive sum salary: 10% frais abattement (min 509 / max 14555 EUR per member) on gross; net enters the IR base. Source: art. 83 CGI. IR barème: 5 progressive brackets on net imposable (0/11/30/41/45%); 2025 barème on 2024 income (loi de finances 2025, art. 2, revalorisation +1.8%). Source: BOFiP BOI-IR-LIQ-20-20-30. décote: plafond 889 EUR (célibataire) / 1470 EUR (couple) - 45.25% × IR; applies when IR < ~1965 EUR (single) / 3249 EUR (couple). Source: art. 197 CGI 4°I, BOFiP BOI-IR-LIQ-20-20-30-20250414. quotient familial: ir_bareme parts (default 1; couple = 2, +0.5/child). For fractional parts use demi_parts (couple+1 child = 5). base_parts = 1 (célibataire) or 2 (couple) — the base the plafonnement compares against. Override: bilan rule set 2026 ir_bareme parts 2; base_parts 2 plafonnement QF: the tax advantage from demi-parts beyond the base is capped at 1,791 EUR per demi-part (2024 income). Source: art. 197 CGI I.2, BOFiP BOI-IR-LIQ-20-20-20. deficits: BNC/BIC deficits carried forward 6 years (computed from history, not stored). Source: CGI, report en avant. déficit foncier: rent net negative -> up to 10,700 EUR imputed on revenu global (reduces the IR base), excess carried 10y on foncier. Source: art. 156 CGI I.3°, BOFiP BOI-RFPI-BASE-30-20. TVA franchise: franchise en base art. 293 B CGI — services 36,800 EUR, vente 91,900 EUR (2024-2025). The radar checks whether the year's BNC+BIC gross falls under the threshold. Source: BOFiP BOI-TVA-DECLA-40-10-10. PAS taux neutre: prélèvement à la source, taux neutre mensuel (art. 204 H CGI, métropole 2024). The radar projects net salary / 12 and applies the grid to estimate the monthly prepayment. Source: BOFiP BOI-BAREME-000037-20240228. réductions d'impôt: dons (art. 200 CGI) — 75% to 1,000 EUR (aide aux personnes en difficulté, plafond dérogatoire 2024-2026), then 66% up to 20% of revenu imposable. Record dons as negative txs in a 'dons' stream. Source: BOFiP BOI-IR-RICI-250-30, impots.gouv.fr. QF special caps: plafonnement par situation (art. 197 IV/V CGI). Set the 'situation' rule on ir_bareme: default (1,791 EUR/demi- part), parent_isole (4,262 EUR total cap), veuf (1,807 EUR/demi-part + 2,011 EUR complementary), personne_seule_ invalide (3,608 EUR for the single demi-part). Source: service-public.gouv.fr F35120/F35127/F2702, BOFiP BOI-IR-LIQ-20-20-20. emploi à domicile: crédit d'impôt (art. 199 sexdecies CGI) — 50% of dépenses, plafond 12,000 EUR (+1,500 EUR per personne à charge, max 15,000 EUR). Record dépenses as negative txs in an 'emploi_domicile' stream. This is a CRÉDIT (refundable if it exceeds IR), not a réduction. Source: impots.gouv.fr, BOFiP BOI-IR-RICI-150. PINEL: réduction d'impôt (art. 199 novovicies CGI) — 12% (6y), 18% (9y), 21% (12y) on the investment, capped at 300,000 EUR. The annual reduction = investment × rate / years. Record the investment as a positive tx in a 'pinel' stream; set the engagement via 'engagement_years' rule. Dispositif ended 31/12/2024 but existing engagements continue. Source: service-public.gouv.fr F31151, BOFiP BOI-IR-RICI-360. DENORMANDIE: réduction d'impôt (art. 199 novovicies IV bis CGI) — same rates as PINEL (12/18/21% by engagement, cap 300,000 EUR) but for ANCien with works (≥25% of total cost). Open until 31/12/2027. Record the operation cost as a positive tx in a 'denormandie' stream. Source: service-public.gouv.fr F35011, BOFiP BOI-IR-RICI-360. MALRAUX: réduction d'impôt (art. 199 tervicies CGI) — restoration of immeubles in sites patrimoniaux remarquables. Rate: 30% (PSMV approved) or 22% (PVAP approved), cap 400,000 EUR of dépenses. NOT subject to plafonnement niches. Record dépenses as positive txs in a 'malraux' stream; set the zone via 'zone' rule (psmv / pvap). Source: BOFiP BOI-IR-RICI-200-30. Régime réel foncier: art. 29-31 CGI — if a 'foncier_reel' stream exists, the radar computes net = loyer (positive txs) - charges (negative txs: intérêts d'emprunt, travaux, assurances, taxe foncière) with NO 30% abattement. Combined with the micro-foncier 'rent' stream. The net réel deficit uses the same 10,700 imputation + 10y carry. Source: BOFiP BOI-RFPI-BASE-20-80. PAS taux personnalisé: art. 204 H CGI — the personalized rate = IR (before reductions/crédits) / revenu imposable, expressed in tenths of a percent. This is a v1 simplification of the BOFiP formula (which weights revenus in the PAS champ vs RNI). It gives a taux moyen d'imposition, not a TMI. LMNP micro-BIC: art. 50 CGI — location meublée non professionnelle. A 'lmnp' stream uses micro-BIC with 50% abattement, threshold 77,700 EUR (2024 income). Deficit carry 6y (like BNC/BIC). Source: BOFiP BOI-BIC-DECLA-10. LMNP régime réel: art. 39 CGI — a 'lmnp_reel' stream computes net = loyer (positive txs) - charges (negative txs: intérêts d'emprunt, taxe foncière, frais de gestion, amortissement) with NO 50% abattement. Deficit carries 6y (NOT 10y like foncier, and NO 10,700 global imputation — that's foncier-only). Source: BOFiP BOI-BIC-BASE-10. CENSI-BOUVARD: art. 199 sexvicies CGI — réduction d'impôt for LMNP in résidences de services (EHPAD, étudiants). 11% of investment, capped at 300,000 EUR, spread over 9 years. Dispositif ended 31/12/2022 but existing engagements continue. Record the investment as a positive tx in a 'censi_bouvard' stream. Source: BOFiP BOI-IR-RICI-220-10. TVA régime simplifié: art. 302 septies A CGI / L. 162-1 CIBS — eligibility: CA HT between franchise threshold and RSI threshold (services 254,000 / vente 840,000 EUR), AND TVA due < 15,000 EUR. The radar reports rsi_eligible. Source: BOFiP BOI-BAREME-000036, service-public.gouv.fr F23566. TVA collectée / art. 271 CGI — record TVA facturée aux clients as déductible: positive txs in a 'tva_collectee' stream and TVA payée aux fournisseurs as positive txs in a 'tva_deductible' stream. TVA à payer = collectée - déductible. If negative, crédit de TVA (reportable ou remboursable). Frais de garde: art. 200 quater B CGI — crédit d'impôt for frais de garde d'enfants de moins de 6 ans. 50% of dépenses, capped at 3,500 EUR per child (1,750 in garde alternée). REFUNDABLE (crédit, not réduction). Record dépenses as positive txs in a 'frais_garde' stream. Source: BOFiP BOI-IR-RICI-300, service-public.gouv.fr F8. Scolarité: art. 199 quater F CGI — réduction d'impôt forfaitaire for enfants scolarisés: 61 EUR collège, 153 EUR lycée, 183 EUR supérieur per child (half in garde alternée). RÉDUCTION (non-refundable). Record the TOTAL forfaitaire reduction as a positive tx in a 'scolarite' stream. Source: BOFiP BOI-IR-RICI-150, service-public.gouv.fr F9. Pension alimentaire: art. 156 II.2° CGI — deductible from revenu global (reduces IR base, not IR directly). Capped at 6,794 EUR per child for 2024 income (declaration 2025). Record the pension versée as a positive tx in a 'pension_alimentaire' stream. Source: BOFiP BOI-IR-BASE-20-30-10. IR-PME / Madelin: art. 199 terdecies-0 A CGI — réduction d'impôt for souscriptions au capital de PME. 18% of versements, capped at 50,000 EUR single / 100,000 EUR couple. 25% for ESUS (until 30/09/2026). RÉDUCTION (non-refundable). Subject to plafonnement global des avantages fiscaux (10,000 EUR) — NOT modeled in v1. Record versements as positive txs in an 'ir_pme' stream. Source: BOFiP BOI-IR-RICI-290. Override any of them: bilan rule set 2027 micro_bnc deduction_pct_tenths 340 (rates are DECIPERCENT tenths: 340 = 34.0%; all math is integer cents) ## PER — plan d'épargne retraite (art. 163 quatervicies CGI) Record versements as positive txs in a 'per' stream. DEDUCTION from revenu global (reduces IR base, like pension alimentaire). 10% of revenus professionnels N-1, capped at 8x PASS (35,194 EUR for 2024 income) or 10% PASS minimum (4,399 EUR). Simplified: cap at the seeded value (35,194 EUR). For TNS the article 154 bis regime (10% bénéfice + 15% between 1-8 PASS) is more generous but not modeled separately — record versements in 'per' and the radar applies the 163 quatervicies cap. Source: BOFiP BOI-IR-BASE-20-50. ## FCPI/FIP (art. 199 terdecies-0 A VI CGI) Record versements as positive txs in a 'fcpi_fip' stream. 18% RÉDUCTION (non-refundable), capped at 12,000 EUR single / 24,000 EUR couple. 25% for FIP Corse/Outre-Mer (until 2026). Subject to plafonnement global niches. Source: BOFiP BOI-IR-RICI-90. ## SOFICA (art. 199 quater E CGI) Record versements as positive txs in a 'sofica' stream. 30% RÉDUCTION (36% under conditions), capped at 18,000 EUR OR 25% of revenu net global (whichever is lower). Subject to plafonnement global with the 18,000 EUR cap (not the 10,000 default). Source: BOFiP BOI-IR-RICI-120. ## FOREST — investissement forestier (art. 199 decies HA CGI) Record versements as positive txs in a 'forest' stream. 22% RÉDUCTION (18% for groupements, 25% for contrats de plantation), capped at 5,700 EUR single / 6,250 EUR couple. Subject to plafonnement global niches. Source: BOFiP BOI-IR-RICI-50. ## Plafonnement global des avantages fiscaux (art. 200-0 A CGI) Caps the TOTAL niche tax advantage at 10,000 EUR per year (18,000 EUR when SOFICA or outre-mer reductions are present). Applies to: pinel, denormandie, censi_bouvard, ir_pme, fcpi_fip, forest, sofica, emploi_domicile, frais_garde. Does NOT apply to: dons, scolarite, pension, PER (deductions or non-niche). If the sum of niche reductions+credits exceeds the cap, the excess is added back to ir_after_credit (the advantage is capped). Source: BOFiP BOI-IR-LIQ-20-20-10, service-public.gouv.fr F31179. ## TVA régime normal (art. 287 CGI) When CA > RSI upper threshold (254,000 EUR services / 840,000 EUR vente), the business must declare TVA via CA3 mensuel (or trimestriel if TVA < 4,000 EUR/year). The TVA math (collectée - déductible) is the same as RSI; only the declaration frequency changes. The radar reports rn_eligible + rn_threshold_* in the tva block. Source: BOFiP BOI-TVA-DECLA-20. ## Plus-values immobilières (art. 150 U à 150 VH CGI) Record the plus-value BRUTE as a positive tx in a 'plus_value_immo' stream. Flat tax: 19% IR + 17.2% prélèvements sociaux = 36.2% total. Abattement for durée de détention: IR 6%/year years 6-21, 4% year 22 → 100% after 22y; social 1.65%/year years 6-21, 1.6% year 22, 9%/year years 23-30 → 100% after 30y. Set detention years: bilan rule set 2026 plus_value_immo detention_years 10. Exonération if cession price ≤ 15,000 EUR (don't record). New plus_values.immo JSON block + totals.pv_immo_cents. Source: BOFiP BOI-RFPI-PVI-20. ## IFI — impôt sur la fortune immobilière (art. 977 CGI) Record the net taxable patrimoine value as a positive tx in an 'ifi_patrimoine' stream. Barème progressif: 0-800k: 0%, 800k-1.3M: 0.5%, 1.3M-2.57M: 0.7%, 2.57M-5M: 1%, 5M-10M: 1.25%, >10M: 1.5%. Seuil déclenchement: 1.3M (but taxation starts at 800k). Décote for 1.3M-1.4M: 17,500 - 1.25% × P. New ifi JSON block + totals.ifi_cents. Source: BOFiP BOI-PAT-ISF-40. ## Heures supplémentaires (art. 81 quater CGI) Record the net imposable amount of heures supplémentaires as a positive tx in a 'heures_sup' stream. Exonération d'IR up to 7,500 EUR/year (cap overridable: bilan rule set 2026 heures_sup cap_cents ). The radar subtracts the exempt amount (capped) from net_salary before ir_base. Source: BOFiP BOI-RSA-CHAMP-20-50-20. ## CFE — cotisation foncière des entreprises (art. 1647 D CGI) The radar estimates the CFE cotisation minimum from the BNC + BIC gross CA. Base minimum by CA bracket (midpoint of the legal range, overridable via cfe.bracket*_base_cents). Communal rate default 20% (overridable via bilan rule set 2026 cfe rate_pct_tenths ). Exonération if CA ≤ 5,000 EUR. CFE = base × rate / 1000. New cfe JSON block + totals.cfe_cents. Source: BOFiP BOI-IF-CFE-20-20-40-10. ## CVAE — cotisation sur la valeur ajoutée des entreprises (art. 1586 ter CGI) Progressive effective rate based on CA: 0% < 500k, 0.25% at 3M, 0.7% at 10M, 0.75% > 50M. Assujettie if CA > 152,500 EUR but franchise if CA ≤ 500,000 EUR. VA approximated as 45% of CA (simplified). 2024 reduction 25% (art. 79 LF 2024). Being phased out (suppression 2027). New cvae JSON block + totals.cvae_cents. Source: BOFiP BOI-CVAE-LIQ-10. ## Plus-values mobilières (art. 200 A CGI) PFU flat tax 12.8% IR + 17.2% social = 30% by default. Option for barème progressif (case 2OP) — global, applies to all capitaux mobiliers. For titres acquired before 2018 with the barème option, abattement durée de détention: 50% (2-8y), 65% (>8y). Set detention: bilan rule set 2026 pvm detention_years . The radar computes BOTH PFU and barème option and reports the lower (optimal field). New pvm JSON block + totals.pvm_cents. Source: BOFiP BOI-RPPM-PVMC-20. ## Surtaxe sur plus-values immobilières élevées (art. 1609 nonies G CGI) Progressive surtaxe on PV nette imposable > 50,000 EUR. Applies to immeubles bâtis only (not terrains à bâtir). Brackets: 2% (50k-60k), 3% (60k-100k), 4% (100k-150k), 5% (150k-200k), 6% (200k-250k), 6% (> 250k). Computed on pv_ir_base (net imposable after abattement). New plus_values.immo.surtaxe_cents + totals.pv_immo_surtaxe_cents. Source: BOFiP BOI-RFPI-TPVIE-20. ## Taxe forfaitaire sur métaux précieux et objets d'art (art. 150 VI/VK CGI) Cessions or exports outside EU of: métaux précieux (11%), bijoux/objets d'art/collection/antiquité (6%). The radar computes the taxe forfaitaire on the gross cession price (not the plus-value). Record cessions in a 'metaux' or 'objets_art' stream. Option art. 150 VL for régime plus-values mobilières (not modeled — the radar uses the forfaitaire by default). New metaux_precieux JSON block + totals.metaux_precieux_cents. New stream kinds: metaux, objets_art. Source: BOFiP BOI-RPPM-PVMC-30. ## Monuments historiques (art. 156 I-3° et II-1° ter CGI) Déduction des charges foncières du revenu global — 100% if open to public, 50% otherwise. No cap (hors plafonnement global des niches). 15-year conservation engagement. Record charges as negative txs in a 'monument_historique' stream. Set openness: bilan rule set 2026 monuments_historiques ouvert_public 1. New monuments_historiques JSON block + ir.mh_deduction_cents. Source: BOFiP BOI-IR-BASE-20-40. ## Démembrement — barème de l'usufruit viager (art. 669 CGI) Valeur de l'usufruit selon l'âge de l'usufruitier au jour de l'acte. La nue-propriété vaut le complément à 100%. S'applique aux DMTG, droits d'enregistrement, et IFI. Set age: bilan rule set 2026 demembrement usufruitier_age . The radar reports the valuation (informational — for DMTG/IFI planning). New demembrement JSON block. Source: BOFiP BOI-ENR-DMTG-10-20-20-10. ## PER TNS — article 154 bis CGI Plafond de déduction des cotisations retraite du bénéfice catégoriel (BIC/BNC). 10% du bénéfice (limité à 8 PASS) + 15% de la fraction du bénéfice comprise entre 1 et 8 PASS. Plancher 10% du PASS. The radar uses 154 bis when there is TNS income (net_bnc + net_bic > 0), else 163 quatervicies (10% revenus N-1, cap 8 PASS). A single cotisation can't be deducted on both. New ir fields: per_regime, per_tns_plafond_cents, per_163_quatervicies_cap_cents. Source: BOFiP BOI-IR-BASE-20-50. ## Abattement départ retraite dirigeants — article 150-0 D ter CGI Abattement fixe de 500000 EUR sur les gains nets de cession de titres de PME par un dirigeant partant à la retraite. Conditions: cession de l'intégralité des titres (ou >50% droits de vote), détention ≥ 1 an, fonctions de direction continues 5 ans avant cession, détention ≥ 25% droits de vote/bénéfices. Prélèvements sociaux dus sur la PV avant abattement (social on full gain, IR on gain after abattement). Set: bilan rule set 2026 pvm_depart_retraite eligible 1. New pvm fields: depart_retraite_eligible, depart_retraite_abattement_cents, ir_base_after_abattement_cents. Source: BOFiP BOI-RPPM-PVBMI-20-40-10. ## LMNP amortissement — article 39 C CGI Amortissement linéaire par composants for LMNP régime réel. The radar computes the annual dotation based on property value and component durations (gros œuvre 50y, toiture 30y, réseaux 25y, agencements 12y, mobilier 7y). Terrain is never amortissable (default 15% of property value). Plafonnement art. 39 C: the dotation can't exceed the loyer net of other charges (can't create a deficit); the excess is reportable (ARD). Set: bilan rule set 2026 lmnp_amortissement property_value_cents and mobilier_value_cents . New lmnp_amortissement JSON block. Source: BOFiP BOI-BIC-AMT-10-40. ## Option art. 150 VL — régime plus-values for métaux/objets d'art The seller of métaux précieux or objets d'art can opt for the régime des plus-values (art. 150 UA) instead of the taxe forfaitaire (art. 150 VI). PV = prix cession - prix acquisition. Abattement 5% per year of detention beyond year 2, exonération after 22 years. Tax: 19% IR + 17.2% social on the net PV after abattement. The radar computes both and reports the lower. Set: bilan rule set 2026 metaux_precieux option_150vl_eligible 1, option_150vl_acquisition_cents , option_150vl_detention_years . New metaux_precieux fields: option_150vl_*, optimal, forfaitaire_total_cents. Source: BOFiP BOI-RPPM-PVBMC-20-20. ## Quasi-usufruit — article 774 bis CGI (LF 2024) Dettes de restitution on sums of money whose deceased reserved the usufruit are NOT deductible from the actif successoral, with exceptions: (1) dettes on cession price of a bien (if not principally tax-motivated), (2) usufruits légaux art. 757/1094-1 C. civ. (conjoint survivant). The radar computes the deductible portion. Set: bilan rule set 2026 quasi_usufruit creance_restitution_cents + exception flags. New quasi_usufruit JSON block. Source: BOFiP BOI-ENR-DMTG-10-40-20-20. ## Démembrement temporaire — article 669 II + art. 13-5 1° CGI Usufruit temporaire = 23% per 10-year period (pro rata), capped at the viager value for the same usufruitier age (art. 669 I). Article 13-5 1°: the cession price of a temporary usufruit on a bien producteur de revenus is taxed as revenu catégoriel (foncier, BIC), not as plus-value. The radar reports the fiscal valuation (informational). Set: bilan rule set 2026 demembrement_temporaire duree_years + bien_valeur_cents + usufruitier_age . New demembrement_temporaire JSON block. Source: BOFiP BOI-RPPM-PVMC-20-20. ## LMNP ARD carry-forward — article 39 C II.2 CGI Amortissements réputés différés (ARD) are the fraction of the dotation that exceeded the plafond in prior years, reportable sans limite de durée. The radar walks prior years (10y lookback) to compute the ARD stock: each year, if the loyer net was positive, the dotation was capped and the excess was added to the stock; if the loyer net was negative, the full dotation was deferred. The stock is consumed when a future year's plafond exceeds the dotation brute. New lmnp_amortissement fields: ard_stock_prior_cents, ard_consumed_cents, ard_stock_after_cents. Source: BOFiP BOI-BIC-AMT-20-40-10. ## PAS taux individualisé — article 204 M CGI (LF 2024) For couples mariés/PACS soumis à imposition commune, the taux individualisé becomes the default (instead of taux du foyer) from 1er septembre 2025. The conjoint with the lowest revenus personnels gets taux1 = IR1 / (rev_perso1 + ½ rev_communs), where IR1 is computed on rev_perso1 + ½ rev_communs with ½ parts. The other conjoint gets taux2 = (IR_foyer - IR1 - IR_communs) / rev_perso2. Set: bilan rule set 2026 pas_individualise conjoint1_revenu_perso_cents + conjoint2_revenu_perso_cents + revenus_communs_cents . New pas_individualise JSON block. Source: BOFiP BOI-IR-PAS-20-20-20. ## DMTG — droits de mutation à titre gratuit (art. 777 CGI) Barème by degree of parenté. Ligne directe: 5/10/15/20/30/40/45% after 100000 EUR abattement. Conjoint/PACS: exonération totale (successions depuis 22/08/2007). Frères-sœurs: 35% < 24430, 45% > after 15932 EUR abattement. 4e degré: 55%. Tiers: 60% after 1594 EUR abattement. Art. 774 bis II: DMTG on non-deductible quasi-usufruit créance, calculated by degree of parenté between nu-propriétaire and usufruitier. Set: bilan rule set 2026 dmtg actif_taxable_cents + degre_parente . New dmtg JSON block. Source: BOFiP BOI-ENR-DMTG-20-30. ## Assurance-vie succession — articles 990 I + 757 B CGI Two regimes by date of versement. Art. 990 I (primes versées avant 70 ans): prélèvement per bénéficiaire, abattement fixe 152500 EUR, puis 20% on fraction ≤ 700000 EUR, 31.25% >. Independent of degree of parenté (except exonérations: conjoint, PACS, frère-sœur under conditions). Art. 757 B (primes versées après 70 ans): primes enter the succession and follow the DMTG barème (art. 777), after a global abattement of 30500 EUR (shared among all beneficiaries). Set: bilan rule set 2026 assurance_vie capital_avant_70_cents + primes_apres_70_cents . New assurance_vie JSON block. Source: BOFiP BOI-ENR-ASSUR-10/20. ## PER TNS cumul — articles 154 bis + 163 quatervicies CGI A TNS can cumulate both ceilings for the same year (if no prior versements): 154 bis (10% bénéfice N + 15% 1-8 PASS, plancher 10% PASS N) + 163 quatervicies (10% revenus N-1, plancher 10% PASS N-1). The same cotisation can't be deducted twice. The radar computes the combined ceiling. Set: bilan rule set 2026 per_cumul revenus_n1_cents . New per_cumul JSON block. Source: BOFiP BOI-RPPM-RCM-20-20. ## Assurance-vie démembrement clause bénéficiaire — art. 669 prorata When the clause is démembrée (usufruitier + nus-propriétaires), the abattement 990 I (152500) is réparti between usufruitier and NP according to the art. 669 barème by age of usufruitier. The usufruitier (conjoint) is exoneré, so only the NP share is taxed. Set: bilan rule set 2026 assurance_vie demembrement_eligible 1 + demembrement_usufruitier_age + demembrement_np_count . New assurance_vie.demembrement JSON sub-block. Source: BOFiP BOI-TCAS-AUT-60 §310. ## PV professionnelles de cession — art. 151 septies + 151 septies B Article 151 septies: exonération totale des PV de cession pour petites entreprises (activité ≥ 5 ans, recettes < seuils: commerce 250000, artisanat 90000, libéral/agricole 350000 EUR). Article 151 septies B: abattement de 10% par année de détention au-delà de la 5ème année, sur biens immobiliers bâtis/non bâtis affectés à l'exploitation (plafond 10 ans = exonération totale après 15 ans). Set: bilan rule set 2026 pv_pro plus_value_cents + duree_activite_years + recettes_cents + activite_type . New pv_pro JSON block. Source: BOFiP BOI-BIC-PVMV-40-10-10/20. ## DMTG donation — art. 777 CGI (Tableau II conjoint) Same barème as succession for ligne directe/frère-sœur/4e degré/ tiers, but conjoint/PACS follows Tableau II (NOT exoneré for donations, abattement 80724 EUR). Art. 789 bis: abattement 500000 EUR sur donation de fonds de commerce/entreprise individuelle. Abattements renouvelables tous les 15 ans (art. 779). Set: bilan rule set 2026 dmtg_donation actif_taxable_cents + degre_parente + abattement_789_bis_eligible <0|1>. New dmtg_donation JSON block. Source: BOFiP BOI-ENR-DMTG-20-30. ## PV sur valeurs mobilières — art. 150-0 A + 150-0 D CGI Article 150-0 A: gain net = prix cession - prix acquisition. Article 150-0 D 1 ter: abattement 50% >2 ans, 65% >8 ans (sociétés non-PME). Article 150-0 D 1 quater: abattement 50% >1 an, 75% >5 ans (PME). Set: bilan rule set 2026 pv_mobiliere prix_acquisition_cents + prix_cession_cents + duree_detention_years + is_pme <0|1>. New pv_mobiliere JSON block. Source: BOFiP BOI-RPPM-PVMC-20. ## DMTG handicap — art. 779 II CGI Abattement 159325 EUR pour héritier/légataire/donataire handicapé (incapable de travailler dans des conditions normales de rentabilité). Cumulable avec les autres abattements. Set: bilan rule set 2026 dmtg handicap_eligible 1. New dmtg_handicap JSON block. Source: BOFiP BOI-ENR-DMTG-10-50-20. ## Pacte Dutreil — art. 787 B CGI Abattement 75% sur la valeur de l'entreprise transmise (engagement collectif 2y + individuel 4y). Réduction 50% sur les droits restants si donateur < 70 ans et donation en pleine propriété (art. 790). Set: bilan rule set 2026 dmtg dutreil_eligible 1 + dutreil_donateur_age + dutreil_pleine_propriete 1. New dmtg_dutreil JSON block. Source: BOFiP BOI-ENR-DMTG-20-30-50. ## Donation démembrement — art. 669 CGI Le donateur transmet la nue-propriété et conserve l'usufruit. La base taxable est la valeur de la nue-propriété, déterminée par le barème art. 669 selon l'âge du donateur (<21: NP 10%, 21-30: 20%, 31-40: 30%, 41-50: 40%, 51-60: 50%, 61-70: 60%, 71-80: 70%, 81-90: 80%, 91+: 90%). Au décès de l'usufruitier, la pleine propriété se reconstitute sans DMTG supplémentaire (art. 1133). Set: bilan rule set 2026 dmtg_donation demembrement_eligible 1 + demembrement_donateur_age . New dmtg_donation_demembrement JSON block. Source: BOFiP BOI-ENR-DMTG-10-30. ## PV pro exonération partielle — art. 151 septies II 2° CGI Entre le seuil d'exonération totale et le seuil d'exonération partielle, un abattement dégressif s'applique: taux = (seuil_partiel - recettes) / (seuil_partiel - seuil_total). Commerce: 250k-350k. Artisanat/libéral: 90k-126k. Agricole: 350k-450k. Le pv_pro JSON block expose maintenant exoneration_partielle et le taux dégressif. Source: BOFiP BOI-BIC-PVMV-40-10-10-30. ## Donation temporaire d'usufruit — art. 669 II CGI Le donateur transmet l'usufruit temporaire (durée fixe). Valeur usufruit = 23% par tranche de 10 ans entamée (1-10y: 23%, 11-20y: 46%, 21-30y: 69%, 31-40y: 92%), plafonné au viager (art. 669 I by âge donateur). DMTG on usufruit value. Set: bilan rule set 2026 dmtg_donation usufruit_temporaire_eligible 1 + usufruit_temporaire_duree_years + usufruit_temporaire_donateur_age . New dmtg_donation_usufruit_temporaire JSON block. Source: BOFiP BOI-ENR-DMTG-10-30. ## PV mobilière report d'imposition — art. 150-0 D bis CGI Cession de titres qualifiés (≥10% droits détenus 8y), réinvestissement ≥50% de la plus-value nette dans souscription PME dans 24 mois → report d'imposition (imposition différée). Le report suspend l'imposition; aucun abattement durée détention ne s'applique pendant le report. Le pv_mobiliere JSON block expose maintenant report.eligible, report.reinvesti_pct, report.gain_reporte et report.gain_imposable. Set: bilan rule set 2026 pv_mobiliere report_eligible 1 + report_reinvesti_pct . Source: BOFiP BOI-RPPM-PVBMI-30-10-60-10. ## IFI démembrement — art. 968 CGI Règle par défaut: l'usufruitier déclare la pleine propriété (le nu-propriétaire ne déclare rien). Exception: si le démembrement résulte de dispositions spécifiques (art. 757/767 Cciv, vente avec réserve d'usufruit, don/legs à l'État), alors répartition par les proportions de l'article 669. Le ifi JSON block expose maintenant demembrement.usufruit_pct, demembrement.nue_propriete_pct, demembrement.usufruit_value, demembrement.nue_propriete_value. Set: bilan rule set 2026 ifi demembrement_eligible 1 + demembrement_usufruitier_age + demembrement_exception <0|1> + demembrement_bien_valeur_cents . Source: BOFiP BOI-PAT-IFI-20-20-30-10. ## IFI plafonnement 75% — art. 979 CGI (bouclier fiscal) IFI + impôts sur les revenus N-1 limités à 75% des revenus mondiaux nets N-1. Réduction = MAX(0, (IFI net + impôts revenus N-1) - 75% × revenus mondiaux nets N-1). Le ifi JSON block expose maintenant plafonnement.eligible, plafonnement.reduction_cents, plafonnement.ifi_apres_plafonnement_cents. Set: bilan rule set 2026 ifi plafonnement_eligible 1 + plafonnement_revenus_n1_cents + plafonnement_impots_n1_cents . Source: BOFiP BOI-PAT-IFI-40-30-10. ## IFI réduction dons — art. 978 CGI 75% des dons aux organismes d'intérêt général, plafond 50000 EUR par redevable et par an. Appliquée AVANT le plafonnement (art. 979). Le ifi JSON block expose maintenant dons.eligible, dons.reduction_cents, dons.ifi_avant_dons_cents. Set: bilan rule set 2026 ifi dons_eligible 1 + dons_montant_cents . Source: BOFiP BOI-PAT-IFI-40-20. ## DMTG abattement renouvelable 15 ans — art. 779 CGI Les abattements (ligne directe 100000, conjoint 80724, etc.) sont renouvelables tous les 15 ans. Pour une donation dans les 15 ans suivant une donation précédente, l'abattement est réduit du montant déjà utilisé. Le dmtg_donation JSON block expose maintenant abattement_renouvellement.deja_utilise_cents, abattement_renouvellement.derniere_donation_year, abattement_renouvellement.abattement_reduit_cents, abattement_renouvellement.renewed. Set: bilan rule set 2026 dmtg_donation abattement_deja_utilise_cents + derniere_donation_year . Source: BOFiP BOI-ENR-DMTG-10-30-10. ## Crédit d'impôt adaptation du logement — art. 200 quater A CGI 25% des dépenses d'adaptation du logement à la perte d'autonomie ou au handicap, plafond 5000 EUR (célibataire) / 10000 EUR (couple) sur 5 ans. CRÉDIT REMBOURSABLE (refundable si > IR). Dépenses enregistrées comme tx positifs dans un stream 'adaptation_logement'. Le radar expose ir.adaptation_logement_credit_cents + reductions.adaptation_logement.credit_cents. Set: bilan rule set 2026 adaptation_logement situation . Source: BOFiP BOI-IR-RICI-290, service-public.gouv.fr F10752. ## Crédit d'impôt borne de recharge VE — art. 200 quater C CGI 75% des dépenses d'installation d'une borne de recharge pilotable, plafond 500 EUR par système. 2025 uniquement (supprimé pour dépenses payées à compter du 01/01/2026). CRÉDIT REMBOURSABLE. Dépenses enregistrées comme tx positifs dans un stream 'borne_recharge'. Le radar expose ir.borne_recharge_credit_cents + reductions.borne_recharge.credit_cents. Source: BOFiP BOI-IR-RICI-360. ## Taxe sur les salaires — art. 231 CGI Taxe progressive sur les employeurs NON assujettis à la TVA (ou TVA < 90% du CA). Barème 2025: 4.25% ≤9147 EUR, 8.5% 9147-18258 EUR, 13.6% >18258 EUR. Décote art. 1679: si taxe 1200-2040 EUR, décote = 3/4 × (2040 - taxe). Abattement associations art. 1679 A: 24041 EUR (2025). Le radar expose taxe_salaires.salaires_bruts_cents, taxe_salaires.tax_cents, taxe_salaires.abattement_cents, taxe_salaires.decote_cents. Set: bilan rule set 2026 taxe_salaires salaires_bruts_cents + abattement_eligible <0|1>. Source: BOFiP BOI-RPPM-TXS-10, legisocial.fr. ## Taxe d'apprentissage — art. 1599 CGI 0.68% de la masse salariale (0.59% part principale + 0.09% solde). Alsace-Moselle taux réduit 0.44% (0.36% + 0.08%). Exonération si base ≤ 6×SMIC annuel (≈ 139000 EUR en 2025). Le radar expose taxe_apprentissage.masse_salariale_cents, taxe_apprentissage.part_principale_cents, taxe_apprentissage.solde_cents, taxe_apprentissage.tax_cents. Set: bilan rule set 2026 taxe_apprentissage masse_salariale_cents + region . Source: BOFiP BOI-TPA-TA-10, economie.gouv.fr. ## Contribution supplémentaire à l'apprentissage (CSA) Pour entreprises ≥250 salariés avec <5% d'alternants. Taux progressif par ratio d'alternants: <1% → 0.4% (0.6% si ≥2000 salariés), 1-2% → 0.2%, 2-3% → 0.1%, 3-5% → 0.05%, ≥5% → exonéré. Le radar expose taxe_apprentissage.csa.tax_cents. Set: bilan rule set 2026 taxe_apprentissage csa_eligible 1 + csa_effectif_moyen + csa_alternants_pct_tenths . Source: BOFiP BOI-TPA-CSA-10, urssaf.fr. ## Crédit d'impôt recherche (CIR) — art. 244 quater B CGI 30% des dépenses de recherche ≤ 100M EUR, 5% au-delà. DOM: 50% ≤ 100M, 5% au-delà. Remboursable pour JEI (Jeune Entreprise Innovante), sinon imputable sur l'IS/IR. Le radar expose cir.depenses_cents, cir.credit_cents, cir.jei_eligible. Set: bilan rule set 2026 cir depenses_cents + dom_eligible <0|1> + jei_eligible <0|1>. Source: BOFiP BOI-BIC-RICI-10-10-30, entreprises.gouv.fr. ## Crédit d'impôt innovation (CII) — art. 244 quater B bis CGI 20% des dépenses d'innovation (60% DOM), plafond 400000 EUR/an pour PME. Le radar expose cir.cii.credit_cents. Set: bilan rule set 2026 cir cii_depenses_cents + cii_dom_eligible <0|1>. Source: BOFiP BOI-BIC-RICI-10-15-20. ## Forfait social — art. L 137-15 CSS Contribution patronale sur rémunérations soumises à la CSG mais exonérées de cotisations Sécurité sociale. Taux général 20% (retraite supplémentaire, épargne salariale, prévoyance ≥11 salariés), 16% (prévoyance certains cas), 10% (intéressement <250 salariés), 8% (participation/abondements <50 salariés). Le radar expose forfait_social.tax_cents. Set: bilan rule set 2026 forfait_social base_taux_20_cents + base_taux_16_cents + base_taux_10_cents + base_taux_8_cents . Source: BOFiP BOI-CS-CIR, urssaf.fr. ## PEEC — art. L 313-1 CCH Participation des employeurs à l'effort de construction (1% logement). Employeurs ≥50 salariés assujettis taxe sur les salaires art. 231. Taux 0.45% de la masse salariale (N-1). Cotisation 2% si non investi dans délai 1 an. Seuil 20 salariés: dispense 3 ans + réduction 75%/50%/25% années suivantes. Le radar expose peec.tax_cents. Set: bilan rule set 2026 peec effectif_moyen + masse_salariale_cents + non_investi <0|1>. Source: BOFiP BOI-TPS-PEEC-20. ## Contribution au dialogue social — art. L 2135-15-1 C trav Charge patronale 0.016% de la masse salariale brute (soumise à cotisations SS). Due par tous les employeurs de droit privé dès le premier salarié. Finance le fonds paritaire national pour l'indépendance des organisations syndicales et patronales. Le radar expose dialogue_social.tax_cents. Set: bilan rule set 2026 dialogue_social masse_salariale_cents . Source: BOFiP, urssaf.fr. ## Fnal — art. L 314-12 CSS Fonds national d'aide au logement. <50 salariés: 0.10% sur rémunérations limitées au PASS (48060 EUR 2026). ≥50 salariés: 0.50% sur totalité des rémunérations (Fnal supplémentaire, sans plafond). Seuil franchissement: maintien 0.10% 5 premières années, passage 0.50% à la 6e. Le radar expose fnal.tax_cents. Set: bilan rule set 2026 fnal effectif_moyen + remunerations_cents . Source: BOFiP, urssaf.fr. ## AGS — art. L 3253-6 et suivants C trav Assurance garantie des salaires. Cotisation patronale 0.25% des salaires servant de base aux cotisations d'assurance chômage. Plafond 4 PASS mensuels (16020 EUR/mois 2026). Garantit le paiement des salaires en cas de procédure collective (sauvegarde, redressement, liquidation judiciaire). Le radar expose ags.tax_cents. Set: bilan rule set 2026 ags salaires_base_cents . Source: BOFiP, urssaf.fr, ags-garantie-salaires.org. ## Assurance chômage — art. L 5424-1 C trav Cotisation patronale 4.00% (depuis 1er mai 2025, auparavant 4.05%) sur salaire brut plafonné à 4 PMSS (16020 EUR/mois 2026, 192240 EUR/an). Part salariale supprimée depuis 2018. Bonus-malus 6 secteurs (plancher 2.95%, plafond 5.00% depuis mars 2026) pour entreprises ≥11 salariés. Le radar expose assurance_chomage.tax_cents. Set: bilan rule set 2026 assurance_chomage salaires_base_cents + taux_pct_hundredths . Source: Unédic, BOFiP, urssaf.fr. ## CSA solidarité autonomie — art. L 14-10-4 CASF Contribution solidarité autonomie. Cotisation patronale 0.30% sur même assiette que cotisations patronales d'assurance maladie (salaire total, sans plafond). Due par tous les employeurs soumis à la cotisation patronale d'assurance maladie. Finance la Caisse nationale de solidarité pour l'autonomie (CNSA). Distinct du CSA apprentissage (déjà dans taxe_apprentissage). Le radar expose csa_solidarite.tax_cents. Set: bilan rule set 2026 csa_solidarite salaires_base_cents . Source: BOFiP, urssaf.fr. ## Formation professionnelle (CPF) — art. L 6331-1 et L 6331-3 Contribution à la formation professionnelle. <11 salariés: 0.55% (art. L 6331-1). ≥11 salariés: 1.00% (art. L 6331-3). Assiette = revenu d'activité retenu pour calcul cotisations SS (masse salariale brute). Apprentis exonérés. Seuil franchissement: maintien 0.55% 5 années consécutives, passage 1% à la 6e. Le radar expose formation_pro.tax_cents. Set: bilan rule set 2026 formation_pro effectif_moyen + masse_salariale_cents . Source: BOFiP, code.travail.gouv.fr. ## CPF-CDD — art. L 6331-6 C trav Contribution dédiée au financement du CPF pour les titulaires d'un CDD. 1% des salaires versés aux titulaires d'un CDD (assiette = revenu d'activité retenu pour cotisations SS des CDD). Exonérations: apprentissage, professionnalisation, accompagnement dans l'emploi, saisonniers. Le radar expose cpf_cdd.tax_cents. Set: bilan rule set 2026 cpf_cdd salaires_cdd_cents . Source: BOFiP, code.travail.gouv.fr. ## CASA retraite — art. L 14-10-4 1° bis CASF / art. L 137-40 CSS Contribution additionnelle de solidarité pour l'autonomie. 0.30% sur pensions de retraite, invalidité, préretraite (brut). Cotisation personnelle (pas employeur). Exonérations: Aspa, Asi, RFR sous seuils, majoration tierce personne, rentes Perco. Distinct de csa_solidarite (employeur). Le radar expose casa_retraite.tax_cents. Set: bilan rule set 2026 casa_retraite pensions_brutes_cents . Source: BOFiP, service-public.gouv.fr. ## Plafonnement de la CET — art. 1647 B sexies CGI Si CFE + CVAE > taux × valeur ajoutée, dégrèvement = CET - plafond. Taux 1.438% (2025), 1.531% (2026/2027). Floor: CET après dégrèvement ≥ cotisation minimum CFE (art. 1647 D). Le radar expose cet_plafonnement.cet_cents, cet_plafonnement.plafond_cents, cet_plafonnement.degrevement_cents, cet_plafonnement.cet_after_degrevement_cents. Set: bilan rule set 2026 cet_plafonnement valeur_ajoutee_cents + cfe_minimum_cents . Source: BOFiP BOI-IF-CFE-40-30-20-30. ## Taxe annuelle sur les bureaux (TSB) — art. 231 ter + 1599 quater C Taxe par m² sur bureaux, locaux commerciaux, stockage, stationnement en Île-de-France (4 circonscriptions) et PACA. Tarifs 2025 IDF: bureaux 25.77€ (c1) / 21.70€ (c2) / 11.87€ (c3) / 5.74€ (c4). PACA: bureaux 0.99€/m². Exonérations: bureaux <100m², commercial <2500m², stockage <5000m², stationnement <500m². TSS additionnelle sur stationnement ≥500m² en IDF. Le radar expose tsb.tax_cents, tsb.tss.tax_cents. Set: bilan rule set 2026 tsb surface_m2 + category + region + circonscription <1-4>. Source: BOFiP BOI-IF-TF-10, service-public.gouv.fr. ## Contribution sur les revenus locatifs (CRL) — art. 234 nonies CGI 2.5% sur loyers perçus par personnes morales sur immeubles achevés ≥15 ans. Exonération: loyer <1830 EUR/local/an, ou soumis à TVA. Le radar expose crl.tax_cents. Set: bilan rule set 2026 crl loyers_cents + tva_assujettie <0|1>. Source: BOFiP BOI-RFPI-CTRL-20. ## Versement mobilité (VM) — art. L52-53 code des transports Contribution patronale pour employeurs ≥11 salariés dans zone AOM. Taux configurable (IDF 1.5-2.95%, VMRR 0.15% max hors IDF 2025). Base = rémunérations soumises à cotisations sociales. Le radar expose versement_mobilite.tax_cents. Set: bilan rule set 2026 versement_mobilite effectif_moyen + remunerations_cents + taux_pct_hundredths . Source: urssaf.fr. ## Retenue à la source non-résidents (PASNR) — art. 182 A CGI Barème 2025: 0% ≤17122, 12% 17122-49667, 20% >49667. DOM: 0%/8%/14.4%. Abattement 10% frais professionnels. Le radar expose pasnr.tax_cents. Set: bilan rule set 2026 pasnr revenus_bruts_cents + dom_eligible <0|1>. Source: BOFiP BOI-IR-DOMIC-10-20-20. ## Prélèvement de solidarité — art. 119 bis 2 CGI 25% sur dividendes versés à non-résidents. 12.8% IR + 17.2% social = 30% PFU sur intérêts. Le radar expose prelevement_solidarite.total_cents. Set: bilan rule set 2026 prelevement_solidarite dividendes_cents + interets_cents . Source: BOFiP BOI-IR-DOMIC-10-20-50. ## Taxes sur cession de terrains nus devenus constructibles — art. 1529 + 1605 nonies CGI Art. 1529: taxe forfaitaire 10% sur PV (prix cession - prix acquisition actualisé). Forfaitaire 2/3 prix si pas de référence. Art. 1605 nonies: taxe 5% si ratio cession/acquisition 10-30, 10% au-delà. Abattement 1/10 par an au-delà de la 8e année (exonération 18 ans). Exonération: prix cession <15000 EUR, ratio <10. Le radar expose terrains_constructibles.art_1529.tax_cents, terrains_constructibles.art_1605_nonies.tax_cents. Set: bilan rule set 2026 terrains_constructibles prix_cession_cents + prix_acquisition_cents + annees_apres_constructible + forfaitaire_sans_reference <0|1>. Source: BOFiP BOI-RFPI-TDC-20. ## Taxe sur les conventions d'assurances (TSCA) — art. 1001 CGI Taxe sur primes d'assurance. Incendie 30% (general), 24% caisses départementales, 7% agricole, 12% professionnel; pertes d'exploitation 33%; automobile 33%; toutes autres assurances 9%; assurance-vie 3.5%. Le radar expose tsca.tax_cents. Set: bilan rule set 2026 tsca prime_cents + category . Source: BOFiP BOI-TCAS-ASSUR-30. ## Taxe de solidarité transport aérien (TTAP) — art. L. 422-20 CIBS Ex-art. 302 bis K CGI. Taxe par passager selon destination et classe: <1000km 120/60/10 EUR (business/economy/autre), 1000-2200km 360/180/30, >2200km 1200/400/60. Fret: 50 EUR/tonne. Le radar expose ttap_solidarite.total_cents. Set: bilan rule set 2026 ttap_solidarite passagers_cents + classe + distance + fret_tonnes_cents . Source: BOFiP, ecologie.gouv.fr. ## IFER — art. 1599 quater B CGI Imposition forfaitaire sur les entreprises de réseaux. Tarif par ligne en service au 1er janvier. 3 composantes: répartiteurs cuivre, points de mutualisation fibre, nœuds raccordement coaxial. 2025 tarif 24.21 EUR/ligne (Arcep). Revalorisation annuelle + majoration garantie 400M EUR. Le radar expose ifer.tax_cents. Set: bilan rule set 2026 ifer lignes_en_service + tarif_ligne_cents . Source: BOFiP BOI-TFP-IFER-90. ## Contribution sociale sur IS — art. 235 ter ZC CGI 3.3% sur IS calculé sur résultats imposables, diminué abattement 763000 EUR/12 mois. Exonération: CA <7630000 EUR. Le radar expose contribution_sociale_is.tax_cents. Set: bilan rule set 2026 contribution_sociale_is is_cents + chiffre_affaires_cents . Source: BOFiP BOI-IS-AUT-10-30. ## Contribution exceptionnelle — art. 235 ter ZAA CGI Contribution exceptionnelle sur bénéfices grandes entreprises (loi 2025-127 art. 48). Seuil CA >1Mds EUR. Taux 20.6% si CA <3Mds, 41.2% si CA >=3Mds. Assiette = moyenne IS dû exercice courant + précédent. Le radar expose contribution_exceptionnelle.tax_cents. Set: bilan rule set 2026 contribution_exceptionnelle is_exercice_courant_cents + is_exercice_precedent_cents + chiffre_affaires_cents . Source: BOFiP BOI-IS-AUT-60. ## Taxe sur l'édition — art. 1609 undecies + duodecies CGI Redevance 0.20% sur ventes d'ouvrages de librairie par les éditeurs. Exonération: CA <= seuil. Le radar expose taxe_edition.tax_cents. Set: bilan rule set 2026 taxe_edition ventes_cents + chiffre_affaires_cents . Source: BOFiP BOI-TCA-EOL. ## IFER centrales — art. 1519 F CGI IFER sur centrales production électricité photovoltaïque/hydraulique. 2026 tarif: hydraulique 3.588 EUR/kW, photovoltaïque avant 2021 8.62 EUR/kW, photovoltaïque après 2021 3.588 EUR/kW (20 premières années). Seuil: puissance >=100 kW. Le radar expose ifer_centrales.tax_cents. Set: bilan rule set 2026 ifer_centrales type_centrale + puissance_kw + tarif_kw_cents . Source: BOFiP BOI-TFP-IFER-30. ## IFER éoliennes — art. 1519 D CGI IFER sur éoliennes terrestres + hydroliennes. 2026 tarif 8.62 EUR/kW puissance installée. Seuil: >=100 kW. Le radar expose ifer_eoliennes.tax_cents. Set: bilan rule set 2026 ifer_eoliennes puissance_kw + tarif_kw_cents . Source: BOFiP BOI-TFP-IFER-10. ## IFER nucléaire/thermique — art. 1519 E CGI IFER sur installations production électricité nucléaire ou thermique à flamme. 2026 tarif 3588 EUR/MW (mégawatt, pas kW). Seuil: >=50 MW. Le radar expose ifer_nucleaire.tax_cents. Set: bilan rule set 2026 ifer_nucleaire puissance_mw + tarif_mw_cents . Source: BOFiP BOI-TFP-IFER-20. ## IFER ferroviaire — art. 1599 quater A CGI IFER sur matériel roulant réseau ferré national transport voyageurs. 9 catégories tarifs 2026: automoteur 36950, loco diesel 36950, automotrice 28329, loco électrique 24635, motrice GV 43110, automotrice tram-train 14167, remorque passagers 5913, remorque GV 12316, remorque tram-train 2956 EUR. Le radar expose ifer_ferroviaire.tax_cents. Set: bilan rule set 2026 ifer_ferroviaire nb_automoteur + nb_locomotive_diesel + nb_automotrice + ... Source: BOFiP BOI-TFP-IFER-70. ## IFER stations radio — art. 1519 H CGI IFER sur stations radioélectriques (puissance imposant avis/accord/déclaration ANFR). Tarif 1884 EUR/station. Réductions: 75% nouvelles stations (3 premières années), 50% zones sans haut débit, 10% émetteurs couverture sans accord ANFR. Le radar expose ifer_stations_radio.tax_cents. Set: bilan rule set 2026 ifer_stations_radio nb_stations + tarif_station_cents . Source: BOFiP BOI-TFP-IFER-50. ## IFER pylônes — art. 1519 A CGI Imposition forfaitaire annuelle sur pylônes supportant lignes électriques >=200 kV. 2026 tarifs: 3322 EUR/pylône (200-350 kV), 6635 EUR/pylône (>350 kV). Révisés chaque année proportionnellement à la variation du produit de la taxe foncière sur les propriétés bâties. Le radar expose ifer_pylones.tax_cents. Set: bilan rule set 2026 ifer_pylones nb_pylones_200_350_kv + nb_pylones_sup_350_kv . Source: BOFiP BOI-TFP-PYL. ## IFER transformateurs — art. 1519 G CGI IFER sur transformateurs électriques des réseaux publics transport/distribution électricité. 2026 tarifs par transformateur selon tension en amont: >350 kV = 170587 EUR, >130-350 kV = 57890 EUR, >50-130 kV = 16627 EUR. Seuil: >50 kV (<=50 kV non imposés). Le radar expose ifer_transformateurs.tax_cents. Set: bilan rule set 2026 ifer_transformateurs nb_sup_350_kv + nb_130_350_kv + nb_50_130_kv . Source: BOFiP BOI-TFP-IFER-40. ## IFER gaz — art. 1519 HA CGI IFER sur installations gazières et canalisations transport gaz naturel/hydrocarbures/produits chimiques. 7 catégories tarifs 2026: GNL <=100000 m³ 675431 EUR, GNL >100000 m³ 3079204 EUR, stockage souterrain 615840 EUR/site, canalisation gaz 616 EUR/km, station compression 123168 EUR, canalisation hydrocarbures 616 EUR/km, canalisation produits chimiques 597 EUR/km. Le radar expose ifer_gaz.tax_cents. Set: bilan rule set 2026 ifer_gaz nb_gnl_le_100000_m3 + nb_gnl_gt_100000_m3 + nb_stockage_souterrain + km_canalisation_gaz + nb_station_compression + km_canalisation_hydrocarbures + km_canalisation_chimiques . Source: BOFiP BOI-TFP-IFER-60. ## What the radar is NOT It computes regime math + the progressive IR barème + plafonnement QF (situation-aware) + décote + 10% frais per salary stream + BNC/BIC/LMNP deficit carry-forward (6y) + déficit foncier imputation (10700 on global, 10y on foncier, micro + réel) + pension alimentaire deduction (art. 156) + PER deduction (art. 163 quatervicies) + TVA franchise + régime simplifié + régime normal (CA3) + TVA collectée/déductible (à payer / crédit) + PAS taux neutre + taux personnalisé + dons reduction (art. 200) + PINEL/DENORMANDIE (art. 199 novovicies) + MALRAUX (art. 199 tervicies) + CENSI-BOUVARD (art. 199 sexvicies) + scolarité (art. 199 quater F) + IR-PME (art. 199 terdecies) + FCPI/FIP (art. 199 terdecies-0 A VI) + SOFICA (art. 199 quater E) + FOREST (art. 199 decies HA) + LMNP micro-BIC + LMNP régime réel + emploi à domicile crédit (art. 199 sexdecies) + frais de garde crédit (art. 200 quater B) + plafonnement global des avantages fiscaux (art. 200-0 A, 10k / 18k SOFICA cap) + plus-values immobilières (art. 150 U à 150 VH, 19% IR + 17.2% social, abattement détention 22y IR / 30y social) + IFI (art. 977, barème 0.5%-1.5%, seuil 1.3M, décote 1.3M-1.4M) + heures supplémentaires exonération (art. 81 quater, 7500 EUR cap) + CFE cotisation minimum (art. 1647 D, base × communal rate, exonération CA ≤ 5000) + CVAE (art. 1586 ter, progressive effective rate 0%-0.75%, VA ≈ 45% of CA, 2024 reduction 25%, being phased out) + plus-values mobilières (art. 200 A, PFU 12.8%+17.2% vs barème option with abattement durée de détention 50%/65%, radar reports the lower) + surtaxe PV immo élevées (art. 1609 nonies G, 2%-6% on PV > 50k, immeubles bâtis) + taxe forfaitaire métaux précieux/objets d'art (art. 150 VI/VK, 11%/6%) + monuments historiques (art. 156, déduction 100%/50% charges, sans plafond, hors niche) + démembrement barème (art. 669, usufruit/nue-propriété par âge) + PER TNS (art. 154 bis, 10% bénéfice + 15% 1-8 PASS) + abattement départ retraite dirigeants (art. 150-0 D ter, 500k fixe sur PV mobilières) + LMNP amortissement par composants (art. 39 C, plafonné au loyer net, ARD) + option art. 150 VL pour métaux/objets d'art (régime PV art. 150 UA, 5%/an abattement, 22y exonération, radar reports the lower) + quasi-usufruit art. 774 bis (déductibilité créance de restitution, LF 2024) + démembrement temporaire art. 669 II (23%/10y plafonné viager) + art. 13-5 1° (cession = revenu catégoriel) + DMTG progressive barème FIXED v0.2.26 (bottom-up brackets with correct thresholds 552324/902838/1805677 EUR, replaces broken top-down loop). It does NOT model: deficits beyond their windows, the full BOFiP PAS taux personnalisé formula (radar uses grille neutre + simplified personalized + taux individualisé art. 204 M), or barème économique DCF for démembrement temporaire (radar uses fiscal 669 II). Output is an estimate to reason from, not tax advice — say so to the human. ## Brian — the cheap copilote (no inference in the platform) Brian is a PERSONA, not a service: install it into the harness your human already pays for (claude-code, pi, opencode) and the agent becomes the financial copilote. Install: run `bilan brian` and paste the output into the harness's instructions (CLAUDE.md / AGENTS.md / system prompt). The persona's rules: never invent a number (only bilan output), max 3 moves per day, each with Action + Pourquoi + Impact, French, not an advisor. The human watches the moves land on the dashboard: GET /app (local: open; hosted: /app -> paste your token once, signed session cookie). ## Output contract (cli-output-spec) stdout = data only: one JSON object per command ({"ok":true,...}). stderr = errors as {"ok":false,"error":"..."} — context/progress never pollutes data. exit codes: 0 ok · 80s bad input · 90s not-found/resource · 100s upstream · 110s internal. help-json = the machine-readable command catalog. ## HTTP endpoints (when the CLI is elsewhere) bilan serve --port 8791 binds all interfaces; /v1/* requires 'Authorization: Bearer ' (a token is generated and printed to stderr at startup when BILAN_TOKEN is unset). Open routes: GET /_health, GET /guide, GET /llms.txt. POST /_shutdown (token-gated) stops the server. /v1/streams (GET list, POST create {name,kind,currency}), /v1/tx (GET list ?stream=&year=&limit=, POST {stream,date,amount,label}), /v1/import (POST {source,csv,stream}), /v1/stats?year=, /v1/tax?year=. ## Hosted (pay as you go — no subscription exists) Point the CLI at the hosted rail and every domain command hits the API: export BILAN_URL=https://bilan.intrane.fr BILAN_TOKEN= Same commands, same JSON — but the ledger lives server-side, one per token. GIFT: your first calls are free (BILAN_GIFT_CALLS, default 50). Past the gift, each /v1/* call costs 1 peage cent charged to the wallet you send in the X-Peage-Wallet header. No wallet (or an empty one) => HTTP 402 whose JSON body carries a pay object: {"pay":{"rail":"peage","price_cents":1,"header":"X-Peage-Wallet", "wallet_create":"POST https://peage.intrane.fr/v1/wallets", "topup":"POST https://peage.intrane.fr/v1/topup"}} YOUR MOVE as the operating agent: create the wallet (POST /v1/wallets — it ships with free starter credit, that is the gift), pass it as X-Peage-Wallet, and when IT runs dry, POST /v1/topup and hand the Stripe link to the human. Create the wallet (copy-paste; save the token — shown once): curl -s -X POST https://peage.intrane.fr/v1/wallets Then drive the hosted API with the wallet + your bilan bearer: export BILAN_URL=https://bilan.intrane.fr BILAN_TOKEN= bilan stream add freelance --kind bnc # uses gift credit first Local mode (no BILAN_URL) is and stays free — the OSS binary owes nobody. ## Environment BILAN_URL hosted API base (set it => CLI drives hosted; also the feedback target) BILAN_TOKEN your token: bearer for the hosted API / for /v1/* and /_shutdown when serving BILAN_DB local ledger path (default ~/.bilan.db; local mode is free, no account) BILAN_HOSTED "1" on the server = multi-tenant PAYG (bearer = tenant, gift calls, peage) BILAN_GIFT_CALLS free metered calls per new hosted tenant (default 50) BILAN_MERCHANT_KEY operator's peage merchant key (pm_...) — charges wallets past the gift BILAN_PORT default serve port (8791; --port overrides) FEEDBACK_RELAY central relay (default https://feedback.intrane.fr; "off" disables) ## Typical agent loops Year-end radar: bilan import -> bilan stats --year Y -> bilan tax --year Y -> explain the notes to the human in plain French. Monthly check-in: bilan stats -> compare by_kind vs last month -> flag anomalies (a stream that went quiet, a duplicate-looking import). Filing prep: bilan tax --year Y -> walk the human through 2042-C-PRO cases (5HQ/5HY for BNC) and the 2086 decision from crypto.exempt.