diff --git a/Dockerfile b/Dockerfile index a9824174..6debd5c2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ FROM dev-build-context ADD --chown=ocaml:ocaml . . # Prepare extra local dependencies -RUN opam exec -- make dependencies-python dependencies-js pygments +RUN opam exec -- make dependencies-python pygments # OCaml backtraces may be useful on failure ENV OCAMLRUNPARAM=b diff --git a/INSTALL.md b/INSTALL.md index 91f192c5..074b005f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -151,16 +151,6 @@ repository. pages, as well as the `rsync` executable to transfer files (preferred to `cp`) because it also works with a remote server. -#### Updating [`@catala-lang/french-law`](https://www.npmjs.com/package/@catala-lang/french-law) - -When a new version of the `french_law.js` (see the [dedicated -README](https://github.com/CatalaLang/catala/tree/master/french_law/js#generating-the-source-files) -to generate the lib) needs to be published, you need to execute from the -`french_law/js` directory, the following commands: - - npm version patch -m "Patch message" - npm publish - ## Syntax highlighting See the [dedicated `README.md`](./syntax_highlighting/README.md). diff --git a/Makefile b/Makefile index e840093e..f6cbb233 100644 --- a/Makefile +++ b/Makefile @@ -29,9 +29,6 @@ dependencies-ocaml-with-z3: OPAMVAR_cataladevmode=1 OPAMVAR_catalaz3mode=1 $(OPAM) install . --with-doc --with-test --update-invariant --depext-only OPAMVAR_cataladevmode=1 OPAMVAR_catalaz3mode=1 $(OPAM) install . --with-doc --with-test --update-invariant --deps-only -dependencies-js: - $(MAKE) -C $(FRENCH_LAW_JS_LIB_DIR) dependencies - PY_VENV_DIR = _python_venv PY_VENV_ACTIVATE = . $(PY_VENV_DIR)/bin/activate; @@ -167,136 +164,8 @@ vscode: vscode_fr vscode_en syntax: $(MAKE) -C doc/syntax - -########################################## -# Literate programming and examples -########################################## - -EXAMPLES_DIR=examples -ALLOCATIONS_FAMILIALES_DIR=$(EXAMPLES_DIR)/allocations_familiales -AIDES_LOGEMENT_DIR=$(EXAMPLES_DIR)/aides_logement -US_TAX_CODE_DIR=$(EXAMPLES_DIR)/us_tax_code -TUTORIAL_EN_DIR=$(EXAMPLES_DIR)/tutorial_en -TUTORIEL_FR_DIR=$(EXAMPLES_DIR)/tutoriel_fr -POLISH_TAXES_DIR=$(EXAMPLES_DIR)/polish_taxes - -literate_aides_logement: build $(PY_VENV_DIR) - $(MAKE) -C $(AIDES_LOGEMENT_DIR) aides_logement.tex - $(MAKE) -C $(AIDES_LOGEMENT_DIR) aides_logement.html - -literate_allocations_familiales: build - $(MAKE) -C $(ALLOCATIONS_FAMILIALES_DIR) allocations_familiales.tex - $(MAKE) -C $(ALLOCATIONS_FAMILIALES_DIR) allocations_familiales.html - -literate_us_tax_code: build - $(MAKE) -C $(US_TAX_CODE_DIR) us_tax_code.tex - $(MAKE) -C $(US_TAX_CODE_DIR) us_tax_code.html - -literate_tutorial_en: build - $(MAKE) -C $(TUTORIAL_EN_DIR) tutorial_en.tex - $(MAKE) -C $(TUTORIAL_EN_DIR) tutorial_en.html - -literate_tutoriel_fr: build - $(MAKE) -C $(TUTORIEL_FR_DIR) tutoriel_fr.tex - $(MAKE) -C $(TUTORIEL_FR_DIR) tutoriel_fr.html - -literate_polish_taxes: build - $(MAKE) -C $(POLISH_TAXES_DIR) polish_taxes.tex - $(MAKE) -C $(POLISH_TAXES_DIR) polish_taxes.html - -#> literate_examples : Builds the .tex and .html versions of the examples code. Needs pygments to be installed and patched with Catala. -literate_examples: literate_allocations_familiales \ - literate_us_tax_code literate_tutorial_en literate_tutoriel_fr \ - literate_polish_taxes literate_aides_logement - -########################################## -# French law library -########################################## - -#----------------------------------------- -# OCaml -#----------------------------------------- - -FRENCH_LAW_OCAML_LIB_DIR = french_law/ocaml - -FRENCH_LAW_LIBRARY_OCAML = \ - $(FRENCH_LAW_OCAML_LIB_DIR)/law_source/allocations_familiales_api_web.ml \ - $(FRENCH_LAW_OCAML_LIB_DIR)/law_source/unit_tests/tests_allocations_familiales.ml \ - $(FRENCH_LAW_OCAML_LIB_DIR)/law_source/aides_logement_api_web.ml - -$(addprefix _build/default/,$(FRENCH_LAW_LIBRARY_OCAML)) : - dune build $@ - -#> generate_french_law_library_ocaml : Generates the French law library OCaml sources from Catala -generate_french_law_library_ocaml: - dune build $(FRENCH_LAW_LIBRARY_OCAML) - -#> build_french_law_library_ocaml : Builds the OCaml French law library -build_french_law_library_ocaml: - dune build $(FRENCH_LAW_OCAML_LIB_DIR)/api.a - -run_french_law_library_benchmark_ocaml: - dune exec $(FRENCH_LAW_OCAML_LIB_DIR)/bench.exe - -run_french_law_library_ocaml_tests: - dune exec $(FRENCH_LAW_OCAML_LIB_DIR)/law_source/unit_tests/run_tests.exe - -#----------------------------------------- -# JSON schemas -#----------------------------------------- - -JSON_SCHEMAS = \ - $(AIDES_LOGEMENT_DIR)/aides_logement_schema.json \ - $(ALLOCATIONS_FAMILIALES_DIR)/allocations_familiales_schema.json - -#> generate_french_law_json_schemas : Generates the French law library JSON schemas -$(addprefix _build/default/,$(JSON_SCHEMAS)): - dune build $@ - -generate_french_law_json_schemas: - dune build $(JSON_SCHEMAS) - -#----------------------------------------- -# JS -#----------------------------------------- - -FRENCH_LAW_JS_LIB_DIR=french_law/js - -run_french_law_library_benchmark_js: build_french_law_library_js $(MAKE) -C $(FRENCH_LAW_JS_LIB_DIR) bench -#> build_french_law_library_js : Builds the JS version of the OCaml French law library -build_french_law_library_js: - dune build $(FRENCH_LAW_JS_LIB_DIR)/src/french_law.js - $(MAKE) -C $(FRENCH_LAW_JS_LIB_DIR) bench - -#> build_french_law_library_web_api : Builds the web API of the French law library -build_french_law_library_web_api: build_french_law_library_js generate_french_law_json_schemas - -#----------------------------------------- -# Python -#----------------------------------------- - -FRENCH_LAW_PYTHON_LIB_DIR=french_law/python - -FRENCH_LAW_LIBRARY_PYTHON = \ - $(FRENCH_LAW_PYTHON_LIB_DIR)/src/allocations_familiales.py \ - $(FRENCH_LAW_PYTHON_LIB_DIR)/src/aides_logement.py - -$(FRENCH_LAW_LIBRARY_PYTHON): - dune build $@ - -#> generate_french_law_library_python : Generates the French law library Python sources from Catala -generate_french_law_library_python: - dune build $(FRENCH_LAW_LIBRARY_PYTHON) - -#> type_french_law_library_python : Types the French law library Python sources with mypy -type_french_law_library_python: $(PY_VENV_DIR) generate_french_law_library_python - $(PY_VENV_ACTIVATE) $(MAKE) -C $(FRENCH_LAW_PYTHON_LIB_DIR) type - -run_french_law_library_benchmark_python: $(PY_ENV_DIR) type_french_law_library_python - $(PY_VENV_ACTIVATE) $(MAKE) -C $(FRENCH_LAW_PYTHON_LIB_DIR) bench - ########################################## # High-level test and benchmarks commands ########################################## diff --git a/README.md b/README.md index f0ed89a3..c1687bdc 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ To explore the different programs written in Catala, see ## API To know how to use the code generated by the Catala compiler in your favorite -programming language, head to the [readme of the French law library](french_law/README.md). The corresponding pre-built examples are also [available](https://catalalang.github.io/catala/). +programming language, head to the [readme of the French law library](https://github.com/catalalang/french_law/README.md). The corresponding pre-built examples are also [available](https://catalalang.github.io/catala/). ## Contributing diff --git a/build_system/dune b/build_system/dune index b558514e..4e6ad5f5 100644 --- a/build_system/dune +++ b/build_system/dune @@ -6,7 +6,7 @@ (library (name clerk_driver) - (public_name clerk.driver) + (public_name catala.clerk_driver) (libraries catala.runtime_ocaml catala.catala_utils @@ -31,9 +31,9 @@ (flags (:standard (:include custom_linking.sexp))) - (libraries clerk.driver) + (libraries clerk_driver) (link_deps (package catala)) ; not a real dependency, but when running clerk in practice you always want the catala binary to be up-to-date (e.g. `dune exec -- ckerk test`) (modules clerk) - (package clerk)) + (package catala)) diff --git a/catala.opam b/catala.opam index f7be0a05..eab948dc 100644 --- a/catala.opam +++ b/catala.opam @@ -44,12 +44,14 @@ depends: [ "zarith_stubs_js" {>= "v0.14.1"} "crunch" {>= "3.0.0"} "alcotest" {>= "1.5.0"} + "ninja_utils" {= version} "odoc" {with-doc} "ocamlformat" {cataladevmode & = "0.26.0"} "obelisk" {cataladevmode} "conf-npm" {cataladevmode} "conf-python-3-dev" {cataladevmode} "cpdf" {cataladevmode} + "conf-diffutils" {cataladevmode} "z3" {catalaz3mode} ] depopts: ["z3"] @@ -58,7 +60,6 @@ conflicts: [ "base" {>= "v0.16.0"} ] build: [ - ["dune" "subst"] {dev} [ "dune" "build" @@ -79,4 +80,9 @@ depexts: [ {cataladevmode & os-distribution = "alpine"} ["groff" "latex-mk" "python-pygments" "pandoc"] {cataladevmode & os-family = "arch"} + # The following should be replaced by a dependency upon `conf-ninja` once that + # is published + ["ninja-build"] {os-family = "debian" | os-family = "fedora"} + ["samurai"] {os-distribution = "alpine"} + ["ninja"] {os-family = "arch" | os-family = "suse" | os-family = "opensuse" | os-family = "bsd"} ] diff --git a/clerk.opam b/clerk.opam deleted file mode 100644 index c359713e..00000000 --- a/clerk.opam +++ /dev/null @@ -1,43 +0,0 @@ -opam-version: "2.0" -version: "0.8.0" -synopsis: - "Build system for Catala, a specification language for tax and social benefits computation rules" -description: - "Clerk is a build system for Catala, a specification language for tax and social benefits computation rules, see https://catala-lang.org" -maintainer: ["contact@catala-lang.org"] -authors: ["Emile Rolley" "Denis Merigoux"] -license: "Apache-2.0" -homepage: "https://github.com/CatalaLang/catala" -bug-reports: "https://github.com/CatalaLang/catala/issues" -depends: [ - "dune" {>= "2.8"} - "dune-build-info" {>= "2.8"} - "ocaml" {>= "4.14.0"} - "cmdliner" {>= "1.1.0"} - "re" {>= "1.9.0"} - "ocolor" {>= "1.3.0"} - "alcotest" {with-test & >= "1.5.0"} - "catala" {= version} - "ninja_utils" {= version} - "odoc" {with-doc} - "conf-diffutils" {cataladevmode} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/CatalaLang/catala.git" -depexts: [ - ["ninja-build"] {os-family = "debian"} - ["samurai"] {os-distribution = "alpine"} -] diff --git a/dune b/dune index 82204c15..6d118933 100644 --- a/dune +++ b/dune @@ -1,4 +1,4 @@ -(dirs runtimes compiler french_law build_system examples) +(dirs runtimes compiler build_system) (data_only_dirs tests syntax_highlighting) @@ -50,16 +50,8 @@ (rule (alias runtest) - (package clerk) + (package catala) (deps (source_tree tests)) (action (run clerk --exe %{bin:catala} test tests))) - -(rule - (alias runtest) - (package clerk) - (deps - (source_tree examples)) - (action - (run clerk --exe %{bin:catala} test examples))) diff --git a/examples/Makefile b/examples/Makefile deleted file mode 100644 index 29c30ed5..00000000 --- a/examples/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -CATALA_OPTS?= -CLERK_OPTS?=--makeflags="$(MAKEFLAGS)" - -CLERK=_build/default/build_system/clerk.exe test --exe "_build/default/compiler/catala.exe" \ - $(CLERK_OPTS) $(if $(CATALA_OPTS),--catala-opts=$(CATALA_OPTS),) - -################################ -# Running legislation unit tests -################################ - -pass_all_tests: - @cd ..; $(CLERK) examples - -reset_all_tests: CLERK_OPTS+=--reset -reset_all_tests: - @cd ..; $(CLERK) examples - -%.catala_en %.catala_fr %.catala_pl: .FORCE - # Here we cd to the root of the Catala repository such that the paths \ - # displayed in error messages start with `examples/` uniformly. - @cd ..; $(CLERK) examples/$@ - -.FORCE: - -.PHONY: pass_all_tests reset_all_tests diff --git a/examples/Makefile.common.mk b/examples/Makefile.common.mk deleted file mode 100644 index 746adcb6..00000000 --- a/examples/Makefile.common.mk +++ /dev/null @@ -1,97 +0,0 @@ -########################################## -# Variables -########################################## - -LATEXMK?=latexmk - -CURR_DIR=examples/$(shell basename $(shell pwd))/ - -CATALA=cd ../../; _build/default/compiler/catala.exe -CATALA_OPTS := $(CATALA_OPTS) --language=$(CATALA_LANG) - -PLUGIN_DIR=_build/default/compiler/plugins - -help : ../Makefile.common.mk - @sed -n 's/^#> //p' $< - -########################################## -# Targets -########################################## - -#> SCOPE= .run : Runs the interpeter for the scope of the file -%.run: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) Interpret $(CATALA_OPTS) \ - -s $(SCOPE) \ - $(CURR_DIR)$< - -#> .ml : Compiles the file to OCaml -%.ml: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) OCaml $(CATALA_OPTS) \ - $(CURR_DIR)$< - -#> _api_web.ml : Compiles the file to OCaml + generates the API web -%_api_web.ml: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) api_web $(CATALA_OPTS) \ - --plugin-dir=$(PLUGIN_DIR) \ - $(CURR_DIR)$< - -#> SCOPE= _api_web.ml : Generates the JSON schema -%_schema.json: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) json_schema $(CATALA_OPTS) \ - --plugin-dir=$(PLUGIN_DIR) \ - -s $(SCOPE) \ - $(CURR_DIR)$< - -#> .py : Compiles the file to Python -%.py: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) Python $(CATALA_OPTS) \ - $(CURR_DIR)$< - -#> .tex : Weaves the file to LaTeX -%.tex: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) LaTeX $(CATALA_OPTS) \ - --wrap \ - $(CURR_DIR)$< - -#> .pdf : Weaves the file to PDF (via XeLaTeX) -%.pdf: %.tex - cd $(@D) && $(LATEXMK) -g -xelatex -halt-on-error -shell-escape $(%F) - -#> .html : Weaves the file to HTML -%.html: %.catala_$(CATALA_LANG) - @$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$< - $(CATALA) HTML $(CATALA_OPTS) \ - --wrap \ - $(CURR_DIR)$< - -%.spellok: %.catala_$(CATALA_LANG) ../whitelist.$(CATALA_LANG) - aspell list --lang=$(CATALA_LANG) --mode=markdown --camel-case --add-wordlists=../whitelist.$(CATALA_LANG) <$< | tee "$<".errors - @# list of mispelled words must be empty - @test ! -s "$<".errors - @touch $@ - - -########################################## -# Misceallenous -########################################## - -#> clean : Removes intermediate files -clean: - $(LATEXMK) -f -C $(SRC:.catala_$(CATALA_LANG)=.tex) - rm -rf $(SRC:.catala_$(CATALA_LANG)=.tex) \ - $(SRC:.catala_$(CATALA_LANG)=.d) \ - _minted-$(SRC:.catala_$(CATALA_LANG)=) \ - $(SRC:.catala_$(CATALA_LANG)=.html) \ - $(SRC:.catala_$(CATALA_LANG)=.ml) \ - $(SRC:.catala_$(CATALA_LANG)=_api_web.ml) \ - $(SRC:.catala_$(CATALA_LANG)=_schema.json) - -include $(wildcard $(SRC:.catala_$(CATALA_LANG)=.d)) - -.SECONDARY: diff --git a/examples/NSW_community_gaming/.gitignore b/examples/NSW_community_gaming/.gitignore deleted file mode 100644 index 5304e283..00000000 --- a/examples/NSW_community_gaming/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -_minted* -*.toc -*.pyg -*.d -*.ml \ No newline at end of file diff --git a/examples/NSW_community_gaming/Makefile b/examples/NSW_community_gaming/Makefile deleted file mode 100644 index d0982877..00000000 --- a/examples/NSW_community_gaming/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=en -SRC=nsw_communit_gaming.catala_en - -include ../Makefile.common.mk diff --git a/examples/NSW_community_gaming/nsw_art_union.catala_en b/examples/NSW_community_gaming/nsw_art_union.catala_en deleted file mode 100644 index d95ef888..00000000 --- a/examples/NSW_community_gaming/nsw_art_union.catala_en +++ /dev/null @@ -1,70 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` -```catala-metadata -declaration enumeration BenefitingOrganisation : - -- Charitable - -- NonProfit - --ObjectOfPublicOrCharitableCharacter - --NonCharitable - --ProfitOrg - --PrivatePurspose - -declaration structure ArtUnion: - data grossProceeds content money - data typeOrg content BenefitingOrganisation - data proceedsToBenefitingOrg content money - data totalValueOfThePrizes content money - data maxAmountMoneyAsSeparatePrize content money - data holdsAuthority content boolean - -declaration scope GamingAuthorized: - input artUnion content ArtUnion - internal minimumProceeds content boolean - internal benefitingOrg content boolean - internal valueOfPrizes content boolean - internal separatePrizeMaxValue content boolean - internal authority content boolean - output authorized condition -``` - -Art union gaming activities -The awarding of prizes by lot by an art union (an art union gaming activity) is a -permitted gaming activity for the purposes of section 10 of the Act if the following -requirements are complied with— - - -(a) not less than 30% of the gross proceeds of the gaming activity are paid to the -benefiting organisation, -```catala -scope GamingAuthorized: -definition minimumProceeds equals (artUnion.proceedsToBenefitingOrg >= artUnion.grossProceeds * 30 %) - -definition benefitingOrg equals artUnion.typeOrg with pattern BenefitingOrganisation.Charitable or - artUnion.typeOrg with pattern BenefitingOrganisation.NonProfit or artUnion.typeOrg with pattern BenefitingOrganisation.ObjectOfPublicOrCharitableCharacter - - ``` -(b) the total value of all the prizes exceeds $30,000, -```catala -scope GamingAuthorized: -definition valueOfPrizes equals (artUnion.totalValueOfThePrizes >= $30,000) - -``` -(c) the maximum amount of money payable as a separate prize does not exceed -$30,000, -```catala -scope GamingAuthorized: -definition separatePrizeMaxValue equals (artUnion.maxAmountMoneyAsSeparatePrize <= $30,000) -``` -(d) the person conducting the activity holds an authority to do so that is in force -and the activity is conducted in accordance with the authority -```catala -scope GamingAuthorized: -definition authority equals artUnion.holdsAuthority - -scope GamingAuthorized: - rule authorized - under condition minimumProceeds and benefitingOrg and valueOfPrizes and separatePrizeMaxValue and authority - consequence fulfilled - -``` diff --git a/examples/NSW_community_gaming/nsw_charity_housie.catala_en b/examples/NSW_community_gaming/nsw_charity_housie.catala_en deleted file mode 100644 index e6565df2..00000000 --- a/examples/NSW_community_gaming/nsw_charity_housie.catala_en +++ /dev/null @@ -1,63 +0,0 @@ -### -```catala-metadata - -declaration enumeration OrganisationType : - -- Charitable - -- NonCharitable - -declaration structure CharityHousie : - data typeOrg content OrganisationType - data grossProceeds content money - data totalValueOfThePrizes content money - data totalValueOfExpenses content money - data maxTicketsPerParticipant content integer - data proceedsToBenefitingOrganisation content money - -declaration scope GamingAuthorized: - input charityHousie content CharityHousie - output authorized condition - #context benefitingOrg content Charitable - internal benefitingOrg content boolean - internal minimumProceeds content boolean - internal expenses content boolean - internal prizesTotal content boolean - internal maxTickets content boolean -``` - -(a) the gaming activity is conducted by or on behalf of a charitable organisation, -```catala -scope GamingAuthorized: -definition benefitingOrg equals (charityHousie.typeOrg with pattern OrganisationType.Charitable) -#definition benefitingOrg equals Charitable -#benefitingOrg = (charityHousie.typeOrg = Charitable) -``` -(b) not less than 12.5% of the gross proceeds of the gaming activity are paid to the benefiting org -```catala -scope GamingAuthorized: -definition minimumProceeds equals charityHousie.proceedsToBenefitingOrganisation >= charityHousie.grossProceeds * 12.5 % -``` -(c)the total value of the expenses of conducting the gaming activity (excluding -the cost of prizes) does not exceed 12.5% of the gross proceeds of the gaming activity -```catala -scope GamingAuthorized: -definition expenses equals (charityHousie.totalValueOfExpenses - charityHousie.totalValueOfThePrizes)<= charityHousie.grossProceeds * 12.5 % -``` -(d) the total value of all of the prizes for 1 session of the gaming activity does not -exceed $10,000 and does not exceed 75% of the gross proceeds from the gaming activity -```catala -scope GamingAuthorized: -definition prizesTotal equals (charityHousie.totalValueOfThePrizes <= $10,000) -and (charityHousie.totalValueOfThePrizes <= charityHousie.grossProceeds* 75 %) -#definition prizesTotal equals (charityHousie.totalValuePrizePerSession <= 10.000) -#and (charityHousie.totalValuePrizePerSession <= (charityHousie.grossProceeds* 75%)) -``` -(e)no more than 48 tickets are permitted to be sold to the same participant -```catala -scope GamingAuthorized: -definition maxTickets equals charityHousie.maxTicketsPerParticipant <= 48 - -scope GamingAuthorized: - rule authorized - under condition benefitingOrg and minimumProceeds and expenses and prizesTotal and maxTickets - consequence fulfilled -``` diff --git a/examples/NSW_community_gaming/nsw_club_bingo.catala_en b/examples/NSW_community_gaming/nsw_club_bingo.catala_en deleted file mode 100644 index 6171ac25..00000000 --- a/examples/NSW_community_gaming/nsw_club_bingo.catala_en +++ /dev/null @@ -1,48 +0,0 @@ -### -```catala-metadata - -declaration structure ClubBingo: - data registeredClub content boolean - data totalValuePrizePerGame content money - data bonusPrizeMaxValue content money - data bonusPrizeOffered content boolean - data prizeContent content boolean - -declaration scope GamingAuthorized: - input clubBingo content ClubBingo - output authorized condition - internal conductor content boolean - internal prizeValueIsSmall content boolean - internal bonusPrize content boolean - internal contentPrize content boolean -``` -(4) Club bingo Club bingo is a permitted gaming activity for the purposes of section 10 of the Act if the following requirements are complied with— - - (a) it is conducted by or on the authority of a registered club on the registered club premises for the purpose of attracting patronage to the club’s facilities, -```catala -scope GamingAuthorized: - definition conductor equals clubBingo.registeredClub -``` - (b) except as provided by paragraph (c), the total value of all of the available prizes for 1 game of the gaming activity does not exceed $70, - -```catala -scope GamingAuthorized: - definition prizeValueIsSmall equals (clubBingo.totalValuePrizePerGame <= $70) -``` - -(c) if a bonus prize is offered at the end of a session of club bingo, only 1 prize of a value not exceeding $70 may be offered, -```catala -scope GamingAuthorized: - definition bonusPrize equals - ( (clubBingo.bonusPrizeMaxValue <= $70) or (not clubBingo.bonusPrizeOffered) ) -``` - -(d) none of the prizes consist of or include money. -```catala -scope GamingAuthorized: - definition contentPrize equals not clubBingo.prizeContent - -rule authorized under condition - conductor and prizeValueIsSmall and bonusPrize and contentPrize -consequence fulfilled -``` diff --git a/examples/NSW_community_gaming/nsw_draw_lottery.catala_en b/examples/NSW_community_gaming/nsw_draw_lottery.catala_en deleted file mode 100644 index e6f9fbd1..00000000 --- a/examples/NSW_community_gaming/nsw_draw_lottery.catala_en +++ /dev/null @@ -1,52 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` -```catala-metadata -declaration enumeration OrganisationType: --- Charitable ---NonProfit ---NonCharitable ---ProfitOrg - -declaration structure DrawLottery: - data typeOrg content OrganisationType - data grossProceeds content money - data totalValueOfThePrizes content money - data proceedsToBenefitingOrg content money - -declaration scope GamingAuthorized: - input drawLottery content DrawLottery - output authorized condition - internal benefitingOrg content boolean - internal minimumProceeds content boolean - internal maxValueOfPrizes content boolean - -``` - - -A draw lottery is a permitted gaming activity for the purposes of section 10 of the Act -if the following requirements are complied with— - -(a) the gaming activity is conducted by or on behalf of a charitable organisation -or a non-profit organisation, -```catala -scope GamingAuthorized: -definition benefitingOrg equals drawLottery.typeOrg with pattern OrganisationType.Charitable or drawLottery.typeOrg with pattern OrganisationType.NonProfit -``` -(b) not less than 40% of the gross proceeds of the gaming activity are paid to the -benefiting organisation, -```catala -scope GamingAuthorized: -definition minimumProceeds equals drawLottery.proceedsToBenefitingOrg >= drawLottery.grossProceeds * 40 % -``` - -(c) the total value of all of the prizes does not exceed $30,000. -```catala -scope GamingAuthorized: -definition maxValueOfPrizes equals drawLottery.totalValueOfThePrizes <= $30,000 - -scope GamingAuthorized: - rule authorized - under condition benefitingOrg and minimumProceeds and maxValueOfPrizes - consequence fulfilled -``` diff --git a/examples/NSW_community_gaming/nsw_no_draw_lottery.catala_en b/examples/NSW_community_gaming/nsw_no_draw_lottery.catala_en deleted file mode 100644 index 546f3642..00000000 --- a/examples/NSW_community_gaming/nsw_no_draw_lottery.catala_en +++ /dev/null @@ -1,59 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` -```catala-metadata -declaration enumeration OrganisationType: --- Charitable ---NonProfit ---NonCharitable ---ProfitOrg - -declaration structure NoDrawLottery: - data typeOrg content OrganisationType - data grossProceeds content money - data totalValueOfThePrizes content money - data proceedsToBenefitingOrg content money - data maxTickets content integer - -declaration scope GamingAuthorized: - input noDrawLottery content NoDrawLottery - output authorized condition - internal benefitingOrg content boolean - internal minimumProceeds content boolean - internal maxValueOfPrizes content boolean - internal maxTicketsProduced content boolean -``` - -A no-draw lottery is a permitted gaming activity for the purposes of section 10 of the -Act if the following requirements are complied with— -(a) the gaming activity is conducted by or on behalf of a charitable organisation -or a non-profit organisation, -```catala -scope GamingAuthorized: -definition benefitingOrg equals noDrawLottery.typeOrg with pattern OrganisationType.Charitable -or noDrawLottery.typeOrg with pattern OrganisationType.NonProfit - -``` -(b) not less than 40% of the gross proceeds of the gaming activity are paid to the -benefiting organisation, -```catala -scope GamingAuthorized: -definition minimumProceeds equals noDrawLottery.proceedsToBenefitingOrg >= noDrawLottery.grossProceeds * 40 % - -``` -(c) the total value of all of the prizes does not exceed $5,000, -```catala -scope GamingAuthorized: -definition maxValueOfPrizes equals noDrawLottery.totalValueOfThePrizes <= $5,000 -``` -(d) the total number of tickets produced or obtained for sale for the lottery does -not exceed 3,000. -```catala -scope GamingAuthorized: -definition maxTicketsProduced equals noDrawLottery.maxTickets <= 3000 - -scope GamingAuthorized: - rule authorized - under condition benefitingOrg and minimumProceeds and maxValueOfPrizes and maxTicketsProduced - consequence fulfilled -``` diff --git a/examples/NSW_community_gaming/nsw_progressive_lottery.catala_en b/examples/NSW_community_gaming/nsw_progressive_lottery.catala_en deleted file mode 100644 index da0e59dd..00000000 --- a/examples/NSW_community_gaming/nsw_progressive_lottery.catala_en +++ /dev/null @@ -1,40 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -```catala-metadata -declaration structure ProgressiveLottery: - data maxAmountPayable content money - data totalValueOfThePrizes content money - data holdsAuthority content boolean - -declaration scope GamingAuthorized: - input progressiveLottery content ProgressiveLottery - output authorized condition - internal maxCashPrize content boolean - #context maxValueOfPrizes content boolean - #context authority content boolean - internal amountOfPrizesGreaterThan30000 content boolean - -``` - A progressive lottery is a permitted gaming activity for the purposes of section 10 of - the Act if the following requirements are complied with— - (a) the maximum amount of money payable as a prize does not exceed $7,000, -```catala -scope GamingAuthorized: - definition maxCashPrize equals (progressiveLottery.maxAmountPayable <= $7000) -``` - (b) if the total value of all the prizes exceeds $30,000, the person conducting the - activity holds an authority to do so that is in force and the activity is conducted - in accordance with the authority. -```catala -scope GamingAuthorized: - definition amountOfPrizesGreaterThan30000 equals - (progressiveLottery.totalValueOfThePrizes < $30000 - or progressiveLottery.holdsAuthority) - -scope GamingAuthorized: - rule authorized - under condition maxCashPrize and amountOfPrizesGreaterThan30000 - consequence fulfilled -``` diff --git a/examples/NSW_community_gaming/nsw_social_housie.catala_en b/examples/NSW_community_gaming/nsw_social_housie.catala_en deleted file mode 100644 index 17f143c5..00000000 --- a/examples/NSW_community_gaming/nsw_social_housie.catala_en +++ /dev/null @@ -1,73 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim -- LaBRI/Université de Nantes -``` - -# Community Gaming Regulation - -## Part 2: Permitted gaming activities - -```catala-metadata -declaration structure SocialHousie: - data socialPurposeOnly content boolean - data totalValuePrizePerSession content money - data applicationOf2007Licence content boolean - data jackpotPrizeValue content money - data totalValueExpenses content money - data totalInvestmentPerParticipant content money - data investmentReturn content boolean - -declaration scope GamingAuthorized: - input socialHousie content SocialHousie - output authorized condition - internal purpose content boolean - internal licence content boolean - internal prizePrice content boolean - internal maxJackpotValue content boolean - internal returnInvestment content boolean -``` - -### 5 Housie or bingo - -#### (3) Social housie - -Social housie is a permitted gaming activity for the purposes of section 10 of -the Act if the following requirements are complied with— - -(a) the gaming activity is conducted solely for social purposes, -```catala -scope GamingAuthorized : - definition purpose equals socialHousie.socialPurposeOnly -``` - -(b) the gaming activity is not conducted on premises to which a licence -under theLiquor Act 2007 relates, -```catala -scope GamingAuthorized : - definition licence equals not socialHousie.applicationOf2007Licence -``` - -(c) except as provided by paragraph (d), the total value of all of the - available prizes for 1 session of the gaming activity does not exceed $40, -```catala -scope GamingAuthorized : - definition prizePrice equals socialHousie.totalValuePrizePerSession <= $40 -``` - -(d) if 1 or more individual prizes are not won, the value of any jackpot prize -does not exceed $200, -```catala -scope GamingAuthorized : - definition maxJackpotValue equals socialHousie.jackpotPrizeValue <= $200 -``` - -(e) the total amount invested by participants in a session of the gaming -activity,after the costs of prizes and expenses of conducting the session are -deducted,is returned to participants. -```catala -scope GamingAuthorized : - definition returnInvestment equals socialHousie.investmentReturn - - rule authorized under condition - purpose and licence and prizePrice and maxJackpotValue and returnInvestment - consequence fulfilled -``` diff --git a/examples/NSW_community_gaming/tests/test_nsw_art_union.catala_en b/examples/NSW_community_gaming/tests/test_nsw_art_union.catala_en deleted file mode 100644 index a06485da..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_art_union.catala_en +++ /dev/null @@ -1,107 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_art_union.catala_en - -## Test1 -```catala -declaration scope Test1: - my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.artUnion - equals - ArtUnion { - -- grossProceeds: $50000 - -- typeOrg: NonProfit - -- proceedsToBenefitingOrg: $25000 - -- totalValueOfThePrizes: $45000 - -- maxAmountMoneyAsSeparatePrize: $100 - -- holdsAuthority: true - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - -## Test2 -```catala -declaration scope Test2: - my_gaming scope GamingAuthorized - -scope Test2: - definition - my_gaming.artUnion - equals - ArtUnion { - -- grossProceeds: $50000 - -- typeOrg: Charitable - -- proceedsToBenefitingOrg: $5000 - -- totalValueOfThePrizes: $15000 - -- maxAmountMoneyAsSeparatePrize: $1000 - -- holdsAuthority: true - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` - - -## Test3 -```catala -declaration scope Test3: - my_gaming scope GamingAuthorized - -scope Test3: - definition - my_gaming.artUnion - equals - ArtUnion { - -- grossProceeds: $15000 - -- typeOrg: Charitable - -- proceedsToBenefitingOrg: $6000 - -- totalValueOfThePrizes: $30500 - -- maxAmountMoneyAsSeparatePrize: $0 - -- holdsAuthority: true - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` - - -## Test4 -```catala -declaration scope Test4: - my_gaming scope GamingAuthorized - -scope Test4: - definition - my_gaming.artUnion - equals - ArtUnion { - -- grossProceeds: $20000 - -- typeOrg: Charitable - -- proceedsToBenefitingOrg: $6000 - -- totalValueOfThePrizes: $1500 - -- maxAmountMoneyAsSeparatePrize: $0 - -- holdsAuthority: false - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` diff --git a/examples/NSW_community_gaming/tests/test_nsw_charity_housie.catala_en b/examples/NSW_community_gaming/tests/test_nsw_charity_housie.catala_en deleted file mode 100644 index e6458b46..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_charity_housie.catala_en +++ /dev/null @@ -1,111 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_charity_housie.catala_en - -## Test1 - -```catala - -declaration scope Test1: - my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.charityHousie - equals - CharityHousie { - -- typeOrg: Charitable - -- grossProceeds: $200 - -- totalValueOfThePrizes: $10 - -- totalValueOfExpenses: $10 - -- maxTicketsPerParticipant: 5 - -- proceedsToBenefitingOrganisation: $80 - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - -## Test2 - -```catala - -declaration scope Test2: - my_gaming scope GamingAuthorized - -scope Test2: - definition - my_gaming.charityHousie - equals - CharityHousie { - -- typeOrg: Charitable - -- grossProceeds: $200 - -- totalValueOfThePrizes: $200 - -- totalValueOfExpenses: $10 - -- maxTicketsPerParticipant: 5 - -- proceedsToBenefitingOrganisation: $0 - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` -## Test3 - -```catala - -declaration scope Test3: - my_gaming scope GamingAuthorized - -scope Test3: - definition - my_gaming.charityHousie - equals - CharityHousie { - -- typeOrg: Charitable - -- grossProceeds: $400 - -- totalValueOfThePrizes: $10 - -- totalValueOfExpenses: $10 - -- maxTicketsPerParticipant: 5 - -- proceedsToBenefitingOrganisation: $100 - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` -## Test4 - -```catala - -declaration scope Test4: - my_gaming scope GamingAuthorized - -scope Test4: - definition - my_gaming.charityHousie - equals - CharityHousie { - -- typeOrg: Charitable - -- grossProceeds: $200 - -- totalValueOfThePrizes: $1000 - -- totalValueOfExpenses: $10 - -- maxTicketsPerParticipant: 5 - -- proceedsToBenefitingOrganisation: $80 - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` diff --git a/examples/NSW_community_gaming/tests/test_nsw_club_bingo.catala_en b/examples/NSW_community_gaming/tests/test_nsw_club_bingo.catala_en deleted file mode 100644 index b3aafcc7..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_club_bingo.catala_en +++ /dev/null @@ -1,134 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_club_bingo.catala_en - -## Test1 - -```catala -declaration scope Test1: - my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.clubBingo - equals - ClubBingo { - -- registeredClub: true - -- totalValuePrizePerGame: $60 - -- bonusPrizeMaxValue: $5 - -- bonusPrizeOffered: true - -- prizeContent: true - } - assertion my_gaming.authorized = false -``` - - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - -## Test2 - -```catala -declaration scope Test2: - my_gaming scope GamingAuthorized - -scope Test2: - definition - my_gaming.clubBingo - equals - ClubBingo { - -- registeredClub: true - -- totalValuePrizePerGame: $60 - -- bonusPrizeMaxValue: $5 - -- bonusPrizeOffered: true - -- prizeContent: false - } - assertion my_gaming.authorized = true -``` - - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` - -## Test3 - -```catala -declaration scope Test3: - my_gaming scope GamingAuthorized - -scope Test3: - definition - my_gaming.clubBingo - equals - ClubBingo { - -- registeredClub: false - -- totalValuePrizePerGame: $60 - -- bonusPrizeMaxValue: $5 - -- bonusPrizeOffered: true - -- prizeContent: false - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` - -## Test4 - -```catala -declaration scope Test4: - my_gaming scope GamingAuthorized - -scope Test4: - definition - my_gaming.clubBingo - equals - ClubBingo { - -- registeredClub: false - -- totalValuePrizePerGame: $80 - -- bonusPrizeMaxValue: $10 - -- bonusPrizeOffered: true - -- prizeContent: true - } - assertion my_gaming.authorized = false -``` - - -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` - -## Test5 - -```catala -declaration scope Test5: - my_gaming scope GamingAuthorized - -scope Test5: - definition - my_gaming.clubBingo - equals - ClubBingo { - -- registeredClub: true - -- totalValuePrizePerGame: $60 - -- bonusPrizeMaxValue: $100 - -- bonusPrizeOffered: true - -- prizeContent: false - } - assertion my_gaming.authorized = false -``` - - -```catala-test-inline -$ catala Interpret -s Test5 -[RESULT] Computation successful! -``` diff --git a/examples/NSW_community_gaming/tests/test_nsw_draw_lottery.catala_en b/examples/NSW_community_gaming/tests/test_nsw_draw_lottery.catala_en deleted file mode 100644 index 418cfe16..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_draw_lottery.catala_en +++ /dev/null @@ -1,98 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_draw_lottery.catala_en - -## Test1 -```catala -declaration scope Test1: - my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.drawLottery - equals - DrawLottery { - -- typeOrg: NonProfit - -- grossProceeds: $3000 - -- proceedsToBenefitingOrg: $1500 - -- totalValueOfThePrizes: $4000 - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - - -## Test2 -```catala -declaration scope Test2: - my_gaming scope GamingAuthorized - -scope Test2: - definition - my_gaming.drawLottery - equals - DrawLottery { - -- typeOrg: NonProfit - -- grossProceeds: $3000 - -- proceedsToBenefitingOrg: $500 - -- totalValueOfThePrizes: $4000 - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` - -## Test3 -```catala -declaration scope Test3: - my_gaming scope GamingAuthorized - -scope Test3: - definition - my_gaming.drawLottery - equals - DrawLottery { - -- typeOrg: Charitable - -- grossProceeds: $35000 - -- proceedsToBenefitingOrg: $25000 - -- totalValueOfThePrizes: $44000 - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` - -## Test4 -```catala -declaration scope Test4: - my_gaming scope GamingAuthorized - -scope Test4: - definition - my_gaming.drawLottery - equals - DrawLottery { - -- typeOrg: Charitable - -- grossProceeds: $3500 - -- proceedsToBenefitingOrg: $2500 - -- totalValueOfThePrizes: $400 - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` diff --git a/examples/NSW_community_gaming/tests/test_nsw_no_draw_lottery.catala_en b/examples/NSW_community_gaming/tests/test_nsw_no_draw_lottery.catala_en deleted file mode 100644 index c43e4d36..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_no_draw_lottery.catala_en +++ /dev/null @@ -1,102 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_no_draw_lottery.catala_en - -## Test1 -```catala -declaration scope Test1: - my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.noDrawLottery - equals - NoDrawLottery { - -- typeOrg: NonProfit - -- grossProceeds: $3000 - -- proceedsToBenefitingOrg: $1500 - -- totalValueOfThePrizes: $4000 - -- maxTickets: 2500 - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - - -## Test2 -```catala -declaration scope Test2: - my_gaming scope GamingAuthorized - -scope Test2: - definition - my_gaming.noDrawLottery - equals - NoDrawLottery { - -- typeOrg: Charitable - -- grossProceeds: $3000 - -- proceedsToBenefitingOrg: $500 - -- totalValueOfThePrizes: $4000 - -- maxTickets: 2500 - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` - -## Test3 -```catala -declaration scope Test3: - my_gaming scope GamingAuthorized - -scope Test3: - definition - my_gaming.noDrawLottery - equals - NoDrawLottery { - -- typeOrg: ProfitOrg - -- grossProceeds: $2000 - -- proceedsToBenefitingOrg: $1500 - -- totalValueOfThePrizes: $4000 - -- maxTickets: 2500 - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` - -## Test4 -```catala -declaration scope Test4: - my_gaming scope GamingAuthorized - -scope Test4: - definition - my_gaming.noDrawLottery - equals - NoDrawLottery { - -- typeOrg: Charitable - -- grossProceeds: $9000 - -- proceedsToBenefitingOrg: $6000 - -- totalValueOfThePrizes: $4999 - -- maxTickets: 2500 - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` diff --git a/examples/NSW_community_gaming/tests/test_nsw_progressive_lottery.catala_en b/examples/NSW_community_gaming/tests/test_nsw_progressive_lottery.catala_en deleted file mode 100644 index a9bd3e7a..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_progressive_lottery.catala_en +++ /dev/null @@ -1,95 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_progressive_lottery.catala_en - -## Test1 -```catala -declaration scope Test1: - my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.progressiveLottery - equals - ProgressiveLottery { - -- maxAmountPayable: $6000 - -- totalValueOfThePrizes: $31000 - -- holdsAuthority: true - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - - -## Test2 -```catala -declaration scope Test2: - my_gaming scope GamingAuthorized - - scope Test2: - definition - my_gaming.progressiveLottery - equals - ProgressiveLottery { - -- maxAmountPayable: $6000 - -- totalValueOfThePrizes: $5000 - -- holdsAuthority: false - } - assertion my_gaming.authorized = true -``` - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` - - -## Test3 -```catala -declaration scope Test3: - my_gaming scope GamingAuthorized - - scope Test3: - definition - my_gaming.progressiveLottery - equals - ProgressiveLottery { - -- maxAmountPayable: $9000 - -- totalValueOfThePrizes: $10000 - -- holdsAuthority: false - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` - -## Test4 -```catala -declaration scope Test4: - my_gaming scope GamingAuthorized - - scope Test4: - definition - my_gaming.progressiveLottery - equals - ProgressiveLottery { - -- maxAmountPayable: $0 - -- totalValueOfThePrizes: $31000 - -- holdsAuthority: false - } - assertion my_gaming.authorized = false -``` -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` - diff --git a/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en b/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en deleted file mode 100644 index dc2c2c27..00000000 --- a/examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en +++ /dev/null @@ -1,183 +0,0 @@ -```catala -# Copyright © Aïda Ibrahim and Hugo Gimbert -- LaBRI/CNRS/Université de Bordeaux/Université de Nantes -``` - -> Include: ../nsw_social_housie.catala_en - -## Test1 - -```catala -declaration scope Test1: - context my_gaming scope GamingAuthorized - -scope Test1: - definition - my_gaming.socialHousie - equals - SocialHousie { - -- socialPurposeOnly: true - -- totalValuePrizePerSession: $200000 - -- applicationOf2007Licence: false - -- jackpotPrizeValue: $0 - -- totalValueExpenses: $0 - -- totalInvestmentPerParticipant: $0 - -- investmentReturn: true - } - assertion my_gaming.authorized = false -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[ERROR] -Syntax error at token "scope" -Message: expected either 'condition', or 'content' followed by the expected variable type -You could have written : "condition", -or "content" - -Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.21-11.26: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾ - -Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.11-11.20: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾‾‾‾‾ -#return code 123# -``` - - -## Test2 -```catala - -declaration scope Test2: - my_gaming scope GamingAuthorized - -scope Test2: - definition - my_gaming.socialHousie - equals - SocialHousie { - -- socialPurposeOnly: true - -- totalValuePrizePerSession: $20 - -- applicationOf2007Licence: false - -- jackpotPrizeValue: $140 - -- totalValueExpenses: $140 - -- totalInvestmentPerParticipant: $0 - -- investmentReturn: true - } - assertion my_gaming.authorized -``` -```catala-test-inline -$ catala Interpret -s Test2 -[ERROR] -Syntax error at token "scope" -Message: expected either 'condition', or 'content' followed by the expected variable type -You could have written : "condition", -or "content" - -Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.21-11.26: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾ - -Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.11-11.20: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾‾‾‾‾ -#return code 123# -``` - - -## Test3 - -```catala -declaration scope Test3: - my_gaming scope GamingAuthorized - -scope Test3: - definition - my_gaming.socialHousie - equals - SocialHousie { - -- socialPurposeOnly: true - -- totalValuePrizePerSession: $2 - -- applicationOf2007Licence: false - -- jackpotPrizeValue: $345 - -- totalValueExpenses: $0 - -- totalInvestmentPerParticipant: $0 - -- investmentReturn: true - } - assertion not my_gaming.authorized -``` -```catala-test-inline -$ catala Interpret -s Test3 -[ERROR] -Syntax error at token "scope" -Message: expected either 'condition', or 'content' followed by the expected variable type -You could have written : "condition", -or "content" - -Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.21-11.26: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾ - -Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.11-11.20: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾‾‾‾‾ -#return code 123# -``` - - -## Test4 - -```catala - -declaration scope Test4: - my_gaming scope GamingAuthorized - -scope Test4: - definition - my_gaming.socialHousie - equals - SocialHousie { - -- socialPurposeOnly: true - -- totalValuePrizePerSession: $40 - -- applicationOf2007Licence: false - -- jackpotPrizeValue: $160 - -- totalValueExpenses: $240 - -- totalInvestmentPerParticipant: $60 - -- investmentReturn: true - } - assertion my_gaming.authorized -``` - -```catala-test-inline -$ catala Interpret -s Test4 -[ERROR] -Syntax error at token "scope" -Message: expected either 'condition', or 'content' followed by the expected variable type -You could have written : "condition", -or "content" - -Error token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.21-11.26: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾ - -Last good token: -┌─⯈ examples/NSW_community_gaming/tests/test_nsw_social_housie.catala_en:11.11-11.20: -└──┐ -11 │ context my_gaming scope GamingAuthorized - │ ‾‾‾‾‾‾‾‾‾ -#return code 123# -``` diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index 1e69c10f..00000000 --- a/examples/README.md +++ /dev/null @@ -1,143 +0,0 @@ -# Catala examples - -This directory contains examples of Catala programs. It is highly recommended -to locate your own Catala programs in this directory, since programs in this -directory will receive first-class support during the alpha and beta stage -of the Catala programming language development. - -[Browse examples online »](https://catala-lang.org/en/examples) - -## List of examples - -- `allocations_familiales/`: computation of the French family benefits, based - on the _Code de la sécurité sociale_. -- `aides_logement`: computation of the French housing benefits, based on the - _Code de la construction et de l'habitation_. This case study is the biggest and - most ambitious for Catala so far. -- `tutorial_/`: Catala language tutorial for developers of tech-savvy lawyers. - The tutorial is written like a piece of legislation that gets annotated by - Catala snippets. -- `us_tax_code/`: contains the Catala formalization of several sections of the - US Tax Code. - -## Building and running examples - -Building and running examples is done via Makefiles. Each example directory -contains its own Makefile, which includes `Makefile.common.mk`. This common -Makefiles defines a list of targets that call the Catala compiler with the -right options. Each of these targets can be called from the root of the -repository with: - - make -C examples/ - -The `` can be replaced with the following (we assume an example -file `examples/foo/foo.catala_en`) list. - -- `foo.run`: interprets the Catala program contained in `foo.catala_en`. Note - that you have to pass in the scope that you want to interpret via the `SCOPE` - Makefile variable (`SCOPE=FooScope make -C examples/foo foo.run`). -- `foo.tex`: builds the LaTeX literate programming output from the Catala program -- `foo.pdf`: compiles `foo.tex` using `latexmk` -- `foo.html`: builds the HTML literate programming output from the Catala program -- `foo.spell.ok`: runs aspell on the file, given the `whitelist.` files. - -When invoking any of these targets, additional options to the Catala compiler -can be passed using the `CATALA_OPTS` Makefile variable. - -Important - -: Before trying to generates LaTex or PDF files: - -1. don't forget to run `make pygments`, -2. and you need to have the font - [Marianne](https://gouvfr.atlassian.net/wiki/spaces/DB/pages/223019527/Typographie+-+Typography) - installed in your machine. - -> Note: the OCaml, Javascript and Python artifacts that are generated here and -> used in ../french_law are generated using `dune` rules instead. See the -> examples in `aides_logement/dune` and `allocations_familiales/dune`. This -> allows the compilation of `french_law` to be streamlined from the compilation -> of the Catala compiler itself, and without polluting the source tree. - -## Testing examples - -Unit testing is important, and we encourage Catala developers to write lots -of tests for their programs. Again, the Makefile system provides a way to -collect tests into a regression test suite. - -In order to enjoy the benefits of this system, you have to create a `tests/` -directory in your examples directory, for instance `examples/foo/tests`. Then, -create a test file `foo_tests.catala_en` inside that directory. - -Inside `foo_tests.catala_en`, declare one ore more test scopes. Then, you can -provide the expected output for the interpretation of these scopes or the -compilation of the whole program using the standard expected by `clerk test`: -enter `make help_clerk` from the root of the Catala repository to know more. - -Once your tests are written, then will automatically be added to the regression -suite executed using: - - # From the root of the Catala repository - make test_examples - # From the examples/ folder - make pass_all_tests - -You can isolate a part of the regression suite by invoking: - - make -C examples foo/tests/foo_tests.catala_en - -## Adding an example - -This section describes what to do to setup a working directory for a new Catala -example, as well as the development cycle. Let us suppose that you want to -create a new example named `foo`. - -First, follow the instructions of [the installation readme](../INSTALL.md) to -get the compiler up and working up to `make build`. You can also set up the -syntax highlighting for your editor. - -Then, create the directory `examples/foo`. In there, create a master source -file `foo.catala_en` (or `foo.catala_fr`, etc. depending on your language) -that will be the root of your Catala program. You can then start programming -in `foo.catala_en`, or split up your example into multiple files. In the later case, -`foo.catala_en` must only contain -something like this: - -```markdown -# Master file - -> Include: bar.catala_en -``` - -where `examples/bar.catala_en` is another source file containing code for your -example. Make sure you start by including some content in the source files, -like - -``` -Hello, world! -``` - -To build and run the example, create a `Makefile` in `foo/` -with the following contents: - -```Makefile -CATALA_LANG=en # or fr/pl if your source code is in French/Polish -SRC=foo.catala_en - -include ../Makefile.common.mk -``` - -The `include` creates automatically all the targets you will need for your example. For instance, after making sure the compiler is built, you can launch - -``` -make -C examples/foo foo.tex -``` - -from the repository root to create the LaTeX weaving output of your source -program. `Hello, world!` should appear in `examples/foo/foo.tex`. - -Finally, please add a rule for your example in the repository root -`Makefile` in the section "Examples-related rules", following the pattern -for other examples. This will ensure that your example is built every -time the compiler is modified; if a change in the compiler breaks your example, -the authors will be notified and find a solution. diff --git a/examples/aides_logement/.gitignore b/examples/aides_logement/.gitignore deleted file mode 100644 index 69ff37e1..00000000 --- a/examples/aides_logement/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -*.html -_minted* -*.toc -*.pyg -*.d -*.new -*.ml -*.py -*.xdv -*.json diff --git a/examples/aides_logement/Makefile b/examples/aides_logement/Makefile deleted file mode 100644 index ff6d22be..00000000 --- a/examples/aides_logement/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=aides_logement.catala_fr - -include ../Makefile.common.mk diff --git a/examples/aides_logement/aides_logement.catala_fr b/examples/aides_logement/aides_logement.catala_fr deleted file mode 100644 index eb33182a..00000000 --- a/examples/aides_logement/aides_logement.catala_fr +++ /dev/null @@ -1,19 +0,0 @@ -> Inclusion: prologue.catala_fr - -# Code de la construction et de l'habitation - -> Inclusion: code_construction_legislatif.catala_fr - -> Inclusion: code_construction_reglementaire.catala_fr - -> Inclusion: code_sécurité_sociale.catala_fr - -> Inclusion: arrete_2019-09-27.catala_fr - -> Inclusion: autres_sources.catala_fr - -> Inclusion: ../base_mensuelle_allocations_familiales/bmaf.catala_fr - -> Inclusion: ../prestations_familiales/prestations_familiales.catala_fr - -> Inclusion: archives.catala_fr diff --git a/examples/aides_logement/archives.catala_fr b/examples/aides_logement/archives.catala_fr deleted file mode 100644 index c660ec08..00000000 --- a/examples/aides_logement/archives.catala_fr +++ /dev/null @@ -1,4941 +0,0 @@ -# Archives du code de la construction et de l'habitation - -## Articles en vigueur du 1er septembre 2019 au 1er septembre 2023 - -### Article R823-4 | LEGIARTI000038878933 [archive] - -Sont considérés comme personnes à charge, sous réserve qu'ils vivent -habituellement au foyer : - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= |2019-09-01| et date_courante < |2023-09-01|: - définition personnes_à_charge_prises_en_compte égal à - personne_à_charge parmi ménage.personnes_à_charge tel que - prise_en_compte_personne_à_charge de personne_à_charge -``` - -1° Les enfants de moins de vingt et un ans et considérés comme à charge au -sens des 1° et 2° de l'article L. 512-3 du code de la sécurité sociale et de -l'article L. 823-2 du présent code ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= |2019-09-01| et date_courante < |2023-09-01|: - # L'âge limite de 21 ans établi ici vient écraser la valeur de l'âge limite - # prévue par L512-3 du CSS et définie par défaut par R512-2 du CSS. - étiquette r823_4_enfants - définition prestations_familiales.âge_l512_3_2 égal à 21 an - - étiquette r823_4_enfants - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: - # Pour être considéré à charge pour les aides personnelles au logement, - # l'enfant doit en plus d'avoir moins de 21 ans mais aussi selon le - # 7e alinéa de L823-1 être éligible aux prestations familiales. - prestations_familiales.droit_ouvert de - EnfantPrestationsFamiliales { - -- identifiant: enfant.identifiant - -- obligation_scolaire: enfant.obligation_scolaire - -- rémuneration_mensuelle: enfant.rémuneration_mensuelle - -- date_de_naissance: enfant.date_de_naissance - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.a_déjà_ouvert_droit_aux_allocations_familiales - } - -- AutrePersonneÀCharge de parent: faux - conséquence rempli -``` - -2° Les ascendants du bénéficiaire ou de son conjoint dont les ressources -déterminées dans les conditions prévues aux articles R. 822-3 à R. 822-6 -n'excèdent pas le plafond individuel prévu à l' article L. 815-9 du code de -la sécurité sociale , en vigueur au 31 décembre de l'année de référence -multiplié par 1,25 : - -a) Ayant au moins l'âge prévu par le 1° de l'article L. 351-8 du code de la -sécurité sociale ou, s'ils sont titulaires de l'allocation de solidarité aux -personnes âgées, soixante-cinq ans ; - -b) Ayant au moins l'âge prévu par l' article L. 161-17-2 du code de la sécurité -sociale et bénéficiaires des articles L. 161-19 , L. 351-8 ou L. 643-3 du même -code ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement : - règle condition_2_r823_4 de personne_à_charge sous condition - date_courante >= |2019-09-01| et date_courante < |2023-09-01| et - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: faux - -- AutrePersonneÀCharge de parent: - parent.parenté = Ascendant et - parent.ressources <= - plafond_individuel_l815_9_sécu * 1,25 et - ( - # VERIF: parent.date_naissance + âge_l351_8_1_sécu est ambiguë, - # à détecter - (parent.date_naissance + - âge_l351_8_1_sécu <= date_courante ou - (parent.titulaire_allocation_personne_âgée et - (résultat de VérificationÂgeInférieurOuÉgalÀ avec - { -- date_naissance: parent.date_naissance - -- date_courante: date_courante - -- années: 65 an }).est_inférieur_ou_égal - ) - ) ou - # VERIF: parent.date_naissance + âge_l161_17_2_sécu est ambiguë, - # à détecter - (parent.date_naissance + - âge_l161_17_2_sécu <= date_courante et - parent.bénéficiaire_l161_19_l351_8_l643_3_sécu) - ) - conséquence rempli - - étiquette r823_4_2 - règle prise_en_compte_personne_à_charge de personne_à_charge - sous condition - # On utilise le si ... alors ... sinon pour éviter que l'appel de - # la fonction "condition_2_r823_4" soit loggué deux fois lors - # de l'évaluation des différentes justifications de l'arbre de défauts - # avec les différentes dates. - si date_courante >= |2019-09-01| et date_courante < |2023-09-01| alors - condition_2_r823_4 de personne_à_charge - sinon faux - conséquence rempli -``` - -3° Les ascendants, descendants ou collatéraux au deuxième ou au troisième degré -du bénéficiaire ou de son conjoint dont l'incapacité permanente est au moins -égale à 80 % ou qui présentent, compte tenu de leur handicap, une restriction -substantielle et durable dans l'accès à l'emploi au sens de l' article L. 821-2 -du code de la sécurité sociale reconnue par la commission des droits et de -l'autonomie des personnes handicapées prévue par l' article L. 146-9 du code -de l'action sociale et des familles , et dont les ressources déterminées dans -les conditions prévues aux articles R. 822-3 à R. 822-6 n'excèdent pas le plafond -individuel prévu à l'article L. 815-9 du code de la sécurité sociale en vigueur -au 31 décembre de l'année de référence multiplié par 1,25. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= |2019-09-01| et date_courante < |2023-09-01|: - exception r823_4_2 - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: faux - -- AutrePersonneÀCharge de parent: - (parent.parenté sous forme Ascendant ou - parent.parenté sous forme Descendant ou - parent.parenté sous forme CollatéralDeuxièmeTroisièmeDegré) et - parent.incapacité_80_pourcent_ou_restriction_emploi et - parent.ressources <= - plafond_individuel_l815_9_sécu * 1,25 - conséquence rempli -``` - -# Archives de l'arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement - -```catala -# Nous décidons de remonter jusqu'à l'arrêté du 3 janvier 2020 -# relatif au calcul des aides personnelles au logement pour l'année -# 2020. -``` - -## Articles en vigueur à partir du 1er janvier 2023 - Arrêté du 26 décembre 2022 relatif au calcul des aides personnelles au logement pour l'année 2023 NOR : TREL2226772A - -### Article 46 | LEGIARTI000046834756 [archive] - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à -Mayotte, à Saint-Barthélemy et à Saint-Martin des dispositions des chapitres -III, VI et VII du présent arrêté : - -1° La valeur fixée à l'article 15 du forfait -" R0 ", visé au 5° de l'article D. 823-17 du même code, pour un ménage ayant un -enfant à charge, est remplacée par " 8 181 euros " ; - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre R0 est défini dans le calcul des APL, -# pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 8 181 € -``` - -2° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles -D. 842-6 et D. 842-15 du même code, dont les valeurs sont fixées aux articles 9, -34 et 40, sont remplacés par les valeurs suivantes (en euros) : - - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 37,67 -Par personne supplémentaire à charge 9,69 - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre du montant des charges est défini dans le -# calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - 37,67€ + 9,69€ * multiplicateur_majoration_charges_d823_16 - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - 37,67 € + 9,69 € * multiplicateur_majoration_charges - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - 37,67 € + 9,69 € * multiplicateur_majoration_charges -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement -aux articles D. 823-18 et D. 842-10 du même code, dont les valeurs sont fixées -aux articles 16 et 37, sont remplacés par les valeurs suivantes (en euros) : - -Composition du ménage Montant --------------------------------- ------- -Bénéficiaire isolé 19,38 -Couple sans personne à charge 37,67 -Majoration par personne à charge 9,69 - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre du montant des charges colocation est défini -# dans le calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - colocation - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 19,38€ - -- Couple: 37,67€) + - 9,69€ * multiplicateur_majoration_charges_d823_16 - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 19,38€ - -- Couple: 37,67€) + - 9,69€ * multiplicateur_majoration_charges -``` - -3° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille -de la famille visé au 3° de l'article D. 823-17 du même code, sont -remplacées par les valeurs suivantes : - -VALEURS DE TF - -Bénéficiaires TF ---------------------------------------------------- ------ -Isolé 2,81 % -Couple sans enfant 2,99 % -Personne seule ou couple ayant 1 personne à charge 2,38 % -Personne seule ou couple ayant 2 personnes à charge 2,17 % -Personne seule ou couple ayant 3 personnes à charge 1,94 % -Personne seule ou couple ayant 4 personnes à charge 1,80 % -Personne seule ou couple ayant 5 personnes à charge 1,69 % -Personne seule ou couple ayant 6 personnes à charge 1,62 % -Personne seule ou couple ayant 7 personnes à charge 1,67 % -Majoration par personne à charge supplémentaire -0,06 % - -```catala -# Ici bizarrerie, à la ligne pour 7 personnes on a un TF plus grand que la -# ligne à 6 personnes alors que partout ailleurs on a une décroissance. -# Cette bizarrerie a été introduite avec la dernière version de l'arrêté de 2019 -# (arrêté du 26 décembre 2022). Une justification nous en a été donnée par -# DGALN/DHUP/FE4 dans un mail en date du 21/04/2023 : -# "Le calcul du TF est plus avantageux en outre-mer par rapport à la métropole. -# Si la limite de 6 enfants a été supprimée, le barème applicable à l’outre-mer -# n’a pas été modifié pour les six premiers enfants. Par contre, à compter du -# 7ème enfant à charge, le barème applicable est identique à celui applicable en -# métropole (voir l’article 14 de l’arrêté : TF pour 6 personnes à charge de -# 1,73%, majoration par personne supplémentaire : -0,06% - TF applicable pour 7 -# personnes à charge : 1,73 – 0,06 = 1,67%). Il ne s’agit donc pas d’un -# incohérence numérique mais d’un alignement avec le barème métropolitain." - -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre TF est défini -# dans le calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-01-01| et date_courante < |2023-10-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon si nombre_personnes_à_charge = 6 alors - 1,62% - sinon si nombre_personnes_à_charge = 7 alors - 1,67% - sinon ( - 1,67% - 0,06% * (décimal de (nombre_personnes_à_charge - 7))) -``` - -4° A compter du 1er janvier 2022, pour l'application du 5° de l'article -D. 823-17 du même code, le forfait “ R0 ” applicable à Mayotte est identique -à celui applicable en outre-mer. - -```catala -# Rien à coder. -``` - -NOTA : - -Conformément à l’article 3 de -l’arrêté du 26 décembre 2022 (NOR : TREL2226772A), ces dispositions sont -applicables pour les prestations dues à compter du 1er janvier 2023. - - -## Articles en vigueur à partir du 1er juillet 2022 - Arrêté du 29 juillet 2022 relatif au calcul des aides personnelles au logement NOR : TREL2220748A - Arrêté du 16 août 2022 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer - NOR : TREL2220744A - -### Article 7 | LEGIARTI000046206217 [archive] - -Les plafonds de loyers visés au 2° de l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ---------------------------------------------------------------------------------------------------- -Zone Personne seule Couple sans personne à charge Personne seule ou couple Par personne à - ayant une personne à charge charge supplémentaire ----- -------------- ----------------------------- --------------------------- --------------------- -I 308,50 372,07 420,52 61,01 - -II 268,87 329,10 370,32 53,90 - -III 252,00 305,48 342,52 49,09 ---------------------------------------------------------------------------------------------------- - - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), -ces dispositions sont applicables pour les prestations dues à compter du 1er juillet 2022. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - - # Colonne 1 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 308,50€ - -- Zone2: 268,87€ - -- Zone3: 252,00€ - - # Colonne 2 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 372,07€ - --Zone2: 329,10€ - --Zone3: 305,48€ - - étiquette métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 égal à - décimal de (nombre_personnes_à_charge - 1) - - # Colonnes 3 et 4 - étiquette base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 420,52€ + 61,01€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 370,32€ + 53,90€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 342,52€ + 49,09€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - - -### Article 8 | LEGIARTI000046206214 [archive] - -Dans le cas où le logement occupé est une chambre, les plafonds -de loyers visés au 2° de l'article D. 823-16 du même code sont -fixés comme suit, quelle que soit la taille de la famille (en euros) : - -- 90 % des loyers plafonds de location pour une personne isolée ; -- 75 % des loyers plafonds de location pour une personne isolée, -dans le cas des personnes âgées ou handicapées adultes hébergées -à titre onéreux chez des particuliers. - -On obtient les loyers plafonds suivants (en euros) : - -MONTANTS DES LOYERS PLAFONDS CHAMBRE EN APL ET EN AL -(arrondis au centime d'euros le plus proche) - ----------------------------------------- -Bénéficiaires Zones Montants -------------------------- ----- -------- -Cas général I 277,65 - - II 241,98 - - III 226,80 - - -Cas des personnes âgées I 231,38 -ou handicapées adultes -hébergées à titre onéreux -chez des particuliers - - II 201,65 - - III 189,00 ----------------------------------------- - - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), -ces dispositions sont applicables pour les prestations dues à compter du 1er juillet 2022. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition - date_courante >= |2022-07-01| et date_courante < |2023-10-01| et - logement_est_chambre: - - étiquette chambre exception base - définition plafond_loyer_d823_16_2 égal à - selon zone sous forme - -- Zone1: 277,65€ - -- Zone2: 241,98€ - -- Zone3: 226,80€ - - exception chambre définition plafond_loyer_d823_16_2 sous condition - âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - conséquence égal à - selon zone sous forme - -- Zone1: 231,38€ - -- Zone2: 201,65€ - -- Zone3: 189,00€ -``` - -### Article 9 | LEGIARTI000046206211 [archive] - -Les montants forfaitaires au titre des charges visés au 3° de -l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ----------------------------------- -Désignation Toutes zones ---------------------- ------------ -Bénéficiaire isolé ou 56,12 -couple sans personne -à charge - -Par personne 12,72 -supplémentaire -à charge ----------------------------------- - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), -ces dispositions sont applicables pour les prestations dues à compter du -1er juillet 2022. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - - étiquette métropole - définition multiplicateur_majoration_charges_d823_16 égal à - décimal de nombre_personnes_à_charge - - étiquette base_métropole - définition montant_forfaitaire_charges_d823_16 égal à - 56,12€ + 12,72€ * multiplicateur_majoration_charges_d823_16 -``` - -### Article 13 | LEGIARTI000046206225 [archive] - -La participation minimale P0 définie au 2° de l'article D. 823-17 du même code est -égale à la plus élevée des deux valeurs suivantes : 8,5 % de la somme du loyer éligible -défini au 2° de l'article D. 823-16 du même code et du forfait charge ou 36,63 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition participation_minimale égal à - si - (loyer_éligible + montant_forfaitaire_charges_d823_16) - * 8,5% >= 36,63 € - alors - (loyer_éligible + montant_forfaitaire_charges_d823_16) * 8,5% - sinon - 36,63 € -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du -1er juillet 2022. - - -### Article 14 | LEGIARTI000046206208 [archive] - -Pour l'application de l'article D. 823-17 du même code, le taux de participation -personnelle Tp du ménage, exprimé en pourcentage, est calculé selon la formule suivante : - -$$\textrm{Tp} = \textrm{TF} + \textrm{TL}$$ - -dans laquelle : - -1° TF représente un taux fonction de la taille de la famille donné par le tableau suivant : - - -VALEURS DE TF - -Bénéficiaires TF ----------------------------------------------------- ------ -Isolé 2,83 % -Couple sans personne à charge 3,15 % -Personne seule ou couple ayant: -une personne à charge 2,70 % -2 personnes à charge 2,38 % -3 personnes à charge 2,01 % -4 personnes à charge 1,85 % -5 personnes à charge 1,79 % -6 personnes à charge 1,73 % -Majoration par personne à charge supplémentaire -0,06 % - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - étiquette base définition taux_composition_familiale égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,83% - -- Couple: 3,15% - sinon si nombre_personnes_à_charge = 1 alors - 2,70% - sinon si nombre_personnes_à_charge = 2 alors - 2,38% - sinon si nombre_personnes_à_charge = 3 alors - 2,01% - sinon si nombre_personnes_à_charge = 4 alors - 1,85% - sinon si nombre_personnes_à_charge = 5 alors - 1,79% - sinon si nombre_personnes_à_charge = 6 alors - 1,73% - sinon - 1,73% - (0,06% * (décimal de - (nombre_personnes_à_charge - 6))) -``` - -2° TL représente un taux complémentaire fixé ci-dessous en fonction de la valeur du rapport -RL entre le loyer retenu dans la limite du plafond L et un loyer de référence LR : $\textrm{RL} = \textrm{L} / \textrm{LR}$. - -RL est exprimé en pourcentage et arrondi à la deuxième décimale. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition rapport_loyers égal à - arrondi de ((loyer_éligible / loyer_référence) * 100,0) / 100,0 -``` - -Pour la détermination de TL , les taux progressifs et les tranches successives de RL mentionnés -au 3° de l'article D. 823-17 du même code sont fixés comme suit : - -- 0 % pour la tranche de RL inférieure à 45 % ; - -- 0,45 % pour la tranche de RL entre 45 % et 75 % ; - -- 0,68 % pour la tranche de RL supérieure à 75 %. - -TL est exprimé en pourcentage et arrondi à la troisième décimale. -Le tableau suivant traduit cette formule : - -Si $\textrm{RL}<45\%$ Si $45\% < \textrm{RL} < 75\%$ Si $\textrm{RL} >75 \%$ ---------------------- ---------------------------------------------- --------------------------------------------------------------- -$\textrm{TL}=0 \%$ $\textrm{TL}=0,45 \%\times (\textrm{RL}-45\%)$ $\textrm{TL}=0,45\%\times30 \%+0,68 \%\times(\textrm{RL}-75\%)$ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - # Ici on choisit de mettre des >= pour inclure le résultat sur la crête - # dans la case de droite ; nous avons bien vérifié que sur la crête le - # résultat est le même à gauche et à droite. - définition taux_loyer_éligible état formule égal à - si rapport_loyers < 45% alors 0% sinon ( - si rapport_loyers >= 45% et rapport_loyers < 75% alors - 0,45% * (rapport_loyers - 45%) - sinon (si rapport_loyers >= 75% alors - 0,45% * 30% + 0,68% * (rapport_loyers - 75%) - sinon 0,0)) - définition taux_loyer_éligible état taux_arrondi égal à - # La troisième décimale en pourcentage est en fait la cinquième décimale - (arrondi de (taux_loyer_éligible * 100000,0)) / 100000,0 -``` - -Le loyer de référence LR est défini selon le tableau suivant (en euros) : - -Composition du ménage Montant ----------------------------------------------------- -------- -Bénéficiaire isolé 268,87 -Couple sans personne à charge 329,10 -Personne seule ou couple ayant une personne à charge 370,32 -Majoration par personne à charge 53,90 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - - étiquette base - définition multiplicateur_majoration_loyer_référence égal à - décimal de (nombre_personnes_à_charge - 1) - - définition loyer_référence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 268,87€ - -- Couple: 329,10€ - sinon 370,32€ + 53,90€ * multiplicateur_majoration_loyer_référence -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -### Article 15 | LEGIARTI000046126962 [archive] - -Pour l'application du 5° de l'article D. 823-17 du même code, le forfait " R0 " est fixé selon -le tableau suivant (en euros) : - -Composition du foyer MONTANT (en euros) ------------------------------------------ ------------------- -Personne seule sans personne à charge 4 870 -Couple sans personne à charge 6 977 -Personne seule ou couple ayant : - -une personne à charge 8 322 - -deux personnes à charge 8 509 - -trois personnes à charge 8 834 - -quatre personnes à charge 9 163 - -cinq personnes à charge 9 488 - -six personnes à charge 9 816 - -par personne à charge supplémentaire 323 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et - date_courante <= |2022-12-31|: - - étiquette métropole - définition multiplicateur_majoration_r0 égal à - décimal de (nombre_personnes_à_charge - 6) - - étiquette métropole - définition abattement_forfaitaire_d823_17 égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 4 870 € - -- Couple: 6 977 € - sinon si nombre_personnes_à_charge = 1 alors - 8 322 € - sinon si nombre_personnes_à_charge = 2 alors - 8 509 € - sinon si nombre_personnes_à_charge = 3 alors - 8 834 € - sinon si nombre_personnes_à_charge = 4 alors - 9 163 € - sinon si nombre_personnes_à_charge = 5 alors - 9 488 € - sinon si nombre_personnes_à_charge = 6 alors - 9 816 € - sinon - 9 816€ + 323 € * multiplicateur_majoration_r0 -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 29 juillet 2022 (NOR : TREL2220748A), -ces dispositions sont applicables pour les prestations dues à compter du 1 er juillet 2022. - -### Article 16 | LEGIARTI000046206205 [archive] - -Dans le cas des colocataires prévus à l'article D. 823-18 du même code : - -1° Les plafonds de loyers sont fixés à 75 % des plafonds de loyers définis au 2° de l'article -D. 823-16 du même code et fixés à l'article 7. - -Les montants obtenus par l'application de ces pourcentages sont arrondis au centime d'euro le plus proche. -On obtient les loyers plafonds suivants (en euros) : - --------------------------------------------------------- -Zone I II III ----------------------------------- ------- ------ ------ -Personne seule 231,38 201,65 189,00 - -Couple sans personne à charge 279,05 246,83 229,11 - -Personne seule ou couple ayant une -personne à charge 315,39 277,74 256,89 - -Par personne à -charge supplémentaire 45,76 40,43 36,82 --------------------------------------------------------- - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01| - et colocation: - - # Ici l'exception est rapportée au cas de base puisqu'on suppose - # qu'on ne peut pas être en colocation dans un logement constitué - # d'une seule chambre. - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 231,38€ - -- Zone2: 201,65€ - -- Zone3: 189,00€ - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 279,05€ - --Zone2: 246,83€ - --Zone3: 229,11€ - - exception base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 315,39€ + 45,76€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 277,74€ + 40,43€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 256,89€ + 36,82€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 28,05 -Couple sans personne à charge 56,12 -Majoration par personne à charge 12,72 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01| - et colocation: - étiquette colocation_métropole - exception base_outre_mer - définition montant_forfaitaire_charges_d823_16 égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 28,05€ - -- Couple: 56,12€) + - 12,72€ * multiplicateur_majoration_charges_d823_16 -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -### Article 19 | LEGIARTI000046206220 [archive] - -Pour l'application du 4° de l'article D. 832-10 du code de la construction et -de l'habitation , le montant forfaitaire des charges est fixé comme suit -(en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 56,12 -Par personne supplémentaire à charge 12,72 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - - étiquette base définition montant_forfaitaire_charges_d832_10 égal à - 56,12 € + 12,72 € * (décimal de nombre_personnes_à_charge) -``` - - -### Article 24 | LEGIARTI000046206202 [archive] - -Dans le cas des copropriétaires prévus à l'article D. 832-16 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés aux articles 17 et 18 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition plafond_mensualité_d832_10_3 état copropriétaires égal à - si copropriété alors - plafond_mensualité_d832_10_3 * 75% - sinon - plafond_mensualité_d832_10_3 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 28,05 -Couple sans personne à charge 56,12 -Majoration par personne à charge 12,72 - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - exception base définition montant_forfaitaire_charges_d832_10 sous condition - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 28,05€ - -- Couple: 56,12€) + - 12,72 € * (décimal de nombre_personnes_à_charge) -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter -du 1er juillet 2022. - - -### Article 27 | LEGIARTI000046206199 [archive] - -Pour l'application de l'article D. 832-24 du même code, les équivalences de loyer et de charges locatives plafonds -sont fixées comme suit (en euros) : - -Désignation Zone I Zone II Zone III ------------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 461,92 422,42 400,96 -Couple sans personne à charge 541,52 492,99 466,34 -Bénéficiaire isolé ou couple ayant une personne à charge 577,41 525,65 494,75 -Bénéficiaire isolé ou couple ayant deux personnes à charge 617,94 562,68 527,40 -Bénéficiaire isolé ou couple ayant trois personnes à charge 658,62 599,57 560,04 -Bénéficiaire isolé ou couple ayant quatre personnes à charge 710,39 638,87 596,75 -Par personne supplémentaire à charge 73,68 66,59 61,80 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du -1er juillet 2022. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer sous condition - date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition plafond_équivalence_loyer_éligible égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 461,92 € - -- Couple: 541,52€) - sinon (si nombre_personnes_à_charge = 1 alors - 577,41 € - sinon (si nombre_personnes_à_charge = 2 alors - 617,94 € - sinon (si nombre_personnes_à_charge = 3 alors - 658,62 € - sinon - (710,39 € + - 73,68€ * (décimal de (nombre_personnes_à_charge - 4))))))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 422,42 € - -- Couple: 492,99€) - sinon (si nombre_personnes_à_charge = 1 alors - 525,65 € - sinon (si nombre_personnes_à_charge = 2 alors - 562,68 € - sinon (si nombre_personnes_à_charge = 3 alors - 599,57 € - sinon - (638,87 € + - 66,59€ * (décimal de (nombre_personnes_à_charge - 4))))))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 400,96 € - -- Couple: 466,34€) - sinon (si nombre_personnes_à_charge = 1 alors - 494,75 € - sinon (si nombre_personnes_à_charge = 2 alors - 527,40 € - sinon (si nombre_personnes_à_charge = 3 alors - 560,04 € - sinon - (596,75 € + - 61,80€ * (décimal de (nombre_personnes_à_charge - 4))))))) - ) -``` - -### Article 34 | LEGIARTI000046206196 [archive] - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-6 du même code sont fixés comme -suit (en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 56,12 -Par personne supplémentaire à charge 12,72 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - - étiquette métropole - définition multiplicateur_majoration_charges égal à - décimal de nombre_personnes_à_charge - - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 56,12 € - sinon 56,12 € + 12,72 € * multiplicateur_majoration_charges -``` - -### Article 37 | LEGIARTI000046206193 [archive] - -Dans le cas des copropriétaires prévus à l'article D. 842-10 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés à l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_copropriété sous condition - copropriété - conséquence égal à - (calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge) * 75% -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du ménage Montant ---------------------------------------------------- ---------------- -Bénéficiaire isolé 28,05 -Couple sans personne à charge 56,12 -Majoration par personne à charge 12,72 - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - étiquette copropriété exception base - définition montant_forfaitaire_charges sous condition copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 28,05 € - -- Couple : 56,12€) + 12,72 € * multiplicateur_majoration_charges -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -### Article 40 | LEGIARTI000046206190 [archive] - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-15 -du même code sont fixés comme suit (en euros) : - -Composition du ménage Toutes zones ------------------------------------------------------------- -------------------- -Bénéficiaire isolé ou couple sans personne à charge 56,12 -Par personne supplémentaire à charge 12,72 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - - étiquette métropole - définition multiplicateur_majoration_charges égal à - décimal de nombre_personnes_à_charge - - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 56,12 € - sinon 56,12 € + 12,72 € * multiplicateur_majoration_charges -``` - -### Article 43 | LEGIARTI000046206187 [archive] - -L'équivalence de loyer L pour chacune des catégories de personnes mentionnées à l'article -D. 842-16 du même code est égal à : - -1° Pour les étudiants logés en chambre : - -a) 87,08 euros lorsqu'il s'agit d'une personne seule ; - -b) 135,59 euros euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme ÉtudiantLogéEnChambreCROUS - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 87,08 € - -- Couple: 135,59 € -``` - -2° Pour les étudiants logés dans une chambre ayant fait l'objet d'une réhabilitation : - -a) 176,07 euros lorsqu'il s'agit d'une personne seule ; - -b) 273,65 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - ÉtudiantLogéEnChambreCROUSRéhabilitée - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 176,07 € - -- Couple: 273,65 € -``` - -3° Pour les personnes mentionnées au 3° : - -a) 213,62 euros lorsqu'il s'agit d'une personne seule ; - -b) 331,96 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - PersonnesÂgéesSelon3DeD842_16 - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 213,62 € - -- Couple: 331,96 € -``` - -4° Pour les autres personnes : - -a) 176,07 euros lorsqu'il s'agit d'une personne seule ; - -b) 273,65 euros lorsqu'il s'agit d'un couple. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - AutresPersonnes - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 176,07 € - -- Couple: 273,65 € -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces -dispositions sont applicables pour les prestations dues à compter du 1er -juillet 2022. - -### Article 46 | LEGIARTI000046206183 [archive] - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Mayotte, à Saint-Barthélemy -et à Saint-Martin des dispositions des chapitres III, VI et VII du présent arrêté : - -1° La majoration pour personne à charge est limitée à 6 personnes. -Les paramètres suivants sont impactés : - -a) Les plafonds de loyers visés au 2° de l'article D. 823-16 du code de la -construction et de l'habitation, dont les valeurs sont fixées à l'article 7 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -# Cette limitation à 6 personnes à charge s'applique également aux exceptions à -# l'article 7 que sont les articles 8 et 16 de l'arrêté pour les chambres et la -# colocation. Cependant le barème chambre ne dépend pas du nombre de personnes à -# charge donc rien à faire. Par contre dans l'article 16 il faut bien appliquer -# la limitation, ce qui est fait de la manière qu'à l'article 7 via l'emploi de -# la variable "multiplicateur_majoration_plafond_loyer_d823_16_2". Ceci nous a -# été confirmé par un mail du 21/04/2023 de DGALN/DHUP/FE4 : -# "Il convient de ne pas faire de lecture trop extensive des textes, il est en -# effet factuellement impossible de loger sept ou huit personnes dans une simple -# chambre. De plus l’article 8 de l’arrêté, relatif aux chambres, précise que le -# barème applicable est identique quelle que soit la taille de la famille et est -# basé sur celui applicable à une personne isolée. -# Concernant la colocation, il convient de faire une lecture groupée de l’arrêté -# : -# - Le 1° de l’article 46 précisait que la majoration était limitée à six -# personnes à charge et selon les termes du a) cette majoration impactait les -# loyers plafonds dont les valeurs sont fixées à l’article 7 de l’arrêté. -# L’article 7 était donc applicable dans la limite de six personnes à charge -# et pas au-delà. -# - L’article 16 qui concerne la colocation précise que les loyers plafonds -# applicables représentent 75% de ceux fixés à l’article 7. -# De fait, le plafonnement applicable à la colocation (article 16) découle de -# l’article 7 et était limité à six personnes à charge par le a) du 1° de -# l’article 46." -``` - -b) Les montants forfaitaires au titre des charges visés au 3° de l'article -D. 823-16, au 4° des articles D. 842-6 et D. 842-15 du même code, dont les -valeurs sont fixées respectivement aux articles 9, 34 et 40 ; - -```catala -# Le montant des valeurs de l'article 9 en outre-mer est donné explicitement -# au 3° de cet article. - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 -``` - -c) Le loyer de référence " LR ", dont les valeurs sont fixées à l'article 14, -intervenant dans le calcul de " TL ", terme du taux de la participation -personnelle (" Tp ") visé au 3° de l'article D. 823-17 du même code ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception base - définition multiplicateur_majoration_loyer_référence sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -``` - -d) Le forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, dont -les valeurs sont fixées à l'article 15 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception métropole - définition multiplicateur_majoration_r0 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 0,0 -``` - -e) Les mensualités plafonds visées à l'article D. 842-6 du même code, dont les -valeurs sont fixées à l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_limitation_dom_tom sous condition - nombre_personnes_à_charge >= 6 et - selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence égal à - calcul_plafond_mensualité_d842_6 de date_calcul, 6 -``` - -2° La valeur fixée à l'article 15 du forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, pour -un ménage ayant un enfant à charge, est remplacée par " 8 051 euros " ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 8 051 € -``` - -3° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles D. 842-6 et D. 842-15 du même code, -dont les valeurs sont fixées aux articles 9, 34 et 40, sont remplacés par les valeurs suivantes (en euros) : - -Désignation Toutes zones ------------------------------------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 37,67 -Par personne supplémentaire à charge dans la limite de six personnes à charge 9,69 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 37,67€ + 9,69€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 37,67€ + 9,69€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 37,67€ + 9,69€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 37,67€ + 9,69€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 37,67€ + 9,69€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 37,67€ + 9,69€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement aux articles D. 823-18 et -D. 842-10 du même code, dont les valeurs sont fixées aux articles 16 et 37, sont remplacés par les valeurs -suivantes (en euros) : - -Composition du ménage Montant -------------------------------------------------------------------------- ------- -Bénéficiaire isolé 19,38 -Couple sans personne à charge 37,67 -Majoration par personne à charge dans la limite de six personnes à charge 9,69 - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 19,38€ - -- Couple: 37,67€) + - 9,69€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 19,38€ - -- Couple: 37,67€) + - 9,69€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 19,38€ - -- Couple: 37,67€) + - 9,69€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 19,38€ - -- Couple: 37,67€) + - 9,69€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -4° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille de la famille visé au 3° -de l'article D. 823-17 du même code, sont remplacées par les valeurs suivantes : - -VALEURS DE TF - -Bénéficiaires TF ------------------------------------------------------------ ------ -Isolé 2,81 % -Couple sans enfant 2,99 % -Personne seule ou couple ayant 1 personne à charge 2,38 % -Personne seule ou couple ayant 2 personnes à charge 2,17 % -Personne seule ou couple ayant 3 personnes à charge 1,94 % -Personne seule ou couple ayant 4 personnes à charge 1,80 % -Personne seule ou couple ayant 5 personnes à charge 1,69 % -Personne seule ou couple ayant 6 personnes à charge et plus 1,62 % - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon # si nombre_personnes_à_charge >= 6 alors - 1,62% -``` - -5° A compter du 1er janvier 2022, pour l'application du 5° de l'article D. 823-17 du même code, le forfait -“ R0 ” applicable à Mayotte est identique à celui applicable en outre-mer. - -```catala -# Rien à coder -``` - -NOTA : Conformément à l’article 3 de l’arrêté du 16 août 2022 (TREL2220744A), ces dispositions sont -applicables pour les prestations dues à compter du 1er juillet 2022. - -```catala -# Cet article a été modifié par l'arrêté du 16 août 2022 et celui du 29 juillet -# 2022. Ces deux arrêts apportent des changements différents, mais ont la même -# date d'entrée en vigueur. La rédaction ci-dessus est issue de ces deux -# arrêtés. -``` - -### Article 47 | LEGIARTI000046126954 [archive] - -Pour l'application du chapitre VII du présent arrêté à Saint-Pierre-et-Miquelon, le calcul de l'allocation -de logement pour les logements-foyers repose sur les valeurs fixées au chapitre III relatif au calcul des -aides personnelles au logement en secteur locatif. - -Pour l'application du 5° de l'article D. 823-17 à Saint-Pierre-et-Miquelon, le forfait “ R0 ” est fixé -selon le tableau suivant : - -Composition du foyer MONTANT (en euros) --------------------------------------- ------------------ -Personne seule sans personne à charge 4 870 -Couple sans personne à charge 6 977 -Personne seule ou couple ayant : --une personne à charge 8 322 --deux personnes à charge 8 509 --trois personnes à charge 8 834 --quatre personnes à charge 9 163 --cinq personnes à charge 9 488 --six personnes à charge 9 816 --par personne à charge supplémentaire 323 - -NOTA : Conformément à l’article 3 de l’arrêté du 29 juillet 2022 (NOR : TREL2220748A), ces dispositions -sont applicables pour les prestations dues à compter du 1 er juillet 2022. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-07-01| et date_courante < |2023-01-01|: - exception métropole - définition abattement_forfaitaire_d823_17 sous condition - selon résidence sous forme - -- SaintPierreEtMiquelon: vrai - -- n'importe quel: faux - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 4 870 € - -- Couple: 6 977 € - sinon si nombre_personnes_à_charge = 1 alors - 8 322 € - sinon si nombre_personnes_à_charge = 2 alors - 8 509 € - sinon si nombre_personnes_à_charge = 3 alors - 8 834 € - sinon si nombre_personnes_à_charge = 4 alors - 9 163 € - sinon si nombre_personnes_à_charge = 5 alors - 9 488 € - sinon si nombre_personnes_à_charge = 6 alors - 9 816 € - sinon - 9 816 € + 350 € * (décimal de (nombre_personnes_à_charge - 6)) -``` - -## Articles en vigueur à partir du 1er janvier 2022 - Arrêté du 20 décembre 2021 relatif au calcul des aides personnelles au logement pour l'année 2022 NOR : LOGL2134477A - -### Article 6 | LEGIARTI000045011471 [archive] - -Pour l'application de l'article D. 822-21 du même code, le montant forfaitaire auquel sont réputées -égales les ressources du bénéficiaire et, le cas échéant, de son conjoint, est fixé à 7 800 euros -pour la location et à 6 000 euros pour la résidence en logement-foyer. - -Toutefois, lorsque le demandeur est titulaire d'une bourse de l'enseignement supérieur qui n'est -pas assujettie à l'impôt sur le revenu, le montant forfaitaire de ressources est fixé à 6 300 euros -pour la location et à 4 900 euros pour la résidence en logement-foyer. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -NOTA : - -Conformément à l’article 2 de l’arrêté du 20 décembre 2021 (NOR : LOGL2134477A), -ces dispositions sont applicables pour les prestations dues à compter du 1 er janvier 2022. - -### Article 15 | LEGIARTI000045011468 [archive] - -Pour l'application du 5° de l'article D. 823-17 du même code, le forfait " R0 " est fixé selon -le tableau suivant (en euros) : - -Composition du foyer MONTANT (en euros) ------------------------------------------ ------------------- -Personne seule sans personne à charge 4 683 -Couple sans personne à charge 6 709 -Personne seule ou couple ayant : - -une personne à charge 8 002 - -deux personnes à charge 8 182 - -trois personnes à charge 8 495 - -quatre personnes à charge 8 811 - -cinq personnes à charge 9 124 - -six personnes à charge 9 439 - -par personne à charge supplémentaire 311 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et - date_courante < |2022-07-01|: - - étiquette métropole - définition multiplicateur_majoration_r0 égal à - décimal de (nombre_personnes_à_charge - 6) - - étiquette métropole - définition abattement_forfaitaire_d823_17 égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 4 683 € - -- Couple: 6709 € - sinon si nombre_personnes_à_charge = 1 alors - 8 002 € - sinon si nombre_personnes_à_charge = 2 alors - 8 192 € - sinon si nombre_personnes_à_charge = 3 alors - 8 495 € - sinon si nombre_personnes_à_charge = 4 alors - 8 811 € - sinon si nombre_personnes_à_charge = 5 alors - 9 124 € - sinon si nombre_personnes_à_charge = 6 alors - 9 439 € - sinon - 9 439€ + 311 € * multiplicateur_majoration_r0 -``` - -NOTA : -Conformément à l’article 2 de l’arrêté du 20 décembre 2021 (NOR : LOGL2134477A), -ces dispositions sont applicables pour les prestations dues à compter du 1 er janvier 2022. - -### Article 46 | LEGIARTI000045011463 [archive] - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Mayotte, à Saint-Barthélemy -et à Saint-Martin des dispositions des chapitres III, VI et VII du présent arrêté : - -1° La majoration pour personne à charge est limitée à 6 personnes. Les paramètres suivants sont impactés : - -a) Les plafonds de loyers visés au 2° de l'article D. 823-16 du code de la construction et de l'habitation , -dont les valeurs sont fixées à l'article 7 ; - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -# Cette limitation à 6 personnes à charge s'applique également aux exceptions à -# l'article 7 que sont les articles 8 et 16 de l'arrêté pour les chambres et la -# colocation. Cependant le barème chambre ne dépend pas du nombre de personnes à -# charge donc rien à faire. Par contre dans l'article 16 il faut bien appliquer -# la limitation, ce qui est fait de la manière qu'à l'article 7 via l'emploi de -# la variable "multiplicateur_majoration_plafond_loyer_d823_16_2". Ceci nous a -# été confirmé par un mail du 21/04/2023 de DGALN/DHUP/FE4 : -# "Il convient de ne pas faire de lecture trop extensive des textes, il est en -# effet factuellement impossible de loger sept ou huit personnes dans une simple -# chambre. De plus l’article 8 de l’arrêté, relatif aux chambres, précise que le -# barème applicable est identique quelle que soit la taille de la famille et est -# basé sur celui applicable à une personne isolée. -# Concernant la colocation, il convient de faire une lecture groupée de l’arrêté -# : -# - Le 1° de l’article 46 précisait que la majoration était limitée à six -# personnes à charge et selon les termes du a) cette majoration impactait les -# loyers plafonds dont les valeurs sont fixées à l’article 7 de l’arrêté. -# L’article 7 était donc applicable dans la limite de six personnes à charge -# et pas au-delà. -# - L’article 16 qui concerne la colocation précise que les loyers plafonds -# applicables représentent 75% de ceux fixés à l’article 7. -# De fait, le plafonnement applicable à la colocation (article 16) découle de -# l’article 7 et était limité à six personnes à charge par le a) du 1° de -# l’article 46." -``` - -b) Les montants forfaitaires au titre des charges visés au 3° de l'article D. 823-16, au 4° des articles -D. 842-6 et D. 842-15 du même code, dont les valeurs sont fixées respectivement aux articles 9, 34 et 40 ; - - -```catala -# Le montant des valeurs de l'article 9 en outre-mer est donné explicitement -# au 3° de cet article. - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 -``` - -c) Le loyer de référence " LR ", dont les valeurs sont fixées à l'article 14, intervenant dans le calcul de -" TL ", terme du taux de la participation personnelle (" Tp ") visé au 3° de l'article D. 823-17 du même -code ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception base - définition multiplicateur_majoration_loyer_référence sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -``` - -d) Le forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, dont les valeurs sont fixées à -l'article 15 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - - exception métropole - définition multiplicateur_majoration_r0 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 0,0 -``` - -e) Les mensualités plafonds visées à l'article D. 842-6 du même code, dont les valeurs sont fixées à -l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_limitation_dom_tom sous condition - nombre_personnes_à_charge >= 6 et - selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence égal à - calcul_plafond_mensualité_d842_6 de date_calcul, 6 -``` - - -2° La valeur fixée à l'article 15 du forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, pour -un ménage ayant un enfant à charge, est remplacée par " 7 742 euros " ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 7 742 € -``` - -3° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles D. 842-6 et D. 842-15 du même code, -dont les valeurs sont fixées aux articles 9, 34 et 40, sont remplacés par les valeurs suivantes (en euros) : - -Désignation Toutes zones ------------------------------------------------------------------------------ ------------ -Bénéficiaire isolé ou couple sans personne à charge 36,40 -Par personne supplémentaire à charge dans la limite de six personnes à charge 9,36 - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,40€ + 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,40€ + 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,40€ + 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,40€ + 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,40€ + 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,40€ + 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement aux articles D. 823-18 et -D. 842-10 du même code, dont les valeurs sont fixées aux articles 16 et 37, sont remplacés par les valeurs -suivantes (en euros) : - -Composition du ménage Montant ------------------------------------------------------------------------- ------- -Bénéficiaire isolé 18,72 -Couple sans personne à charge 36,40 -Majoration par personne à charge dans la limite de six personnes à charge 9,36 - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -4° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille de la famille visé au 3° de -l'article D. 823-17 du même code, sont remplacées par les valeurs suivantes : - -VALEURS DE TF - -Bénéficiaires TF ---------------------------------- ----- -Isolé 2,81% -Couple sans enfant 2,99% -1 enfant ou 1 personne 2,38% -2 enfants ou 2 personnes 2,17% -3 enfants ou 3 personnes 1,94% -4 enfants ou 4 personnes 1,80% -5 enfants ou 5 personnes 1,69% -6 enfants ou 6 personnes et plus 1,62% - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2022-01-01| et date_courante < |2022-07-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon # si nombre_personnes_à_charge >= 6 alors - 1,62% -``` - -5° A compter du 1er janvier 2022, pour l'application du 5° de l'article D. 823-17 du même code, le forfait -“ R0 ” applicable à Mayotte est identique à celui applicable en outre-mer. - -NOTA : Conformément à l’article 2 de l’arrêté du 20 décembre 2021 (NOR : LOGL2134477A), ces dispositions sont -applicables pour les prestations dues à compter du 1 er janvier 2022. - -### Article 47 | LEGIARTI000045011460 [archive] - -Pour l'application du chapitre VII du présent arrêté à Saint-Pierre-et-Miquelon, le calcul de l'allocation de -logement pour les logements-foyers repose sur les valeurs fixées au chapitre III relatif au calcul des aides -personnelles au logement en secteur locatif. - - -```catala -# On regarde si les montants fixés pour les APL en secteur locatif (chapitre -# III, art. 9, 11, 12) sont les mêmes que ceux des allocations foyers (chapitre -# VII, art. 40 à 44) - -# Article 40 montant forfaitaire des charges : valeurs identiques à partir du -# 1er janvier 2023 à celles de l'article 9 donc rien à coder. - -# Article 41 minoration forfaitaire : valeurs identiques à partir du -# 1er janvier 2023 à celles de l'article 11 donc rien à coder. - -# Article 42 seuil de versement : valeurs identiques à partir du -# 1er janvier 2023 à celles de l'article 12 donc rien à coder. - -# L'article 43 parle de l'équivalence loyer en secteur -# logement-foyer mais à Saint-Pierre-et-Miquelon on calcule le secteur -# logement-foyer avec la formule du secteur locatif, ici pas besoin de prendre -# en compte. Idem pour l'article 44 et et le montant minimal de dépense nette -# de loyer. -``` - -NOTA : Conformément à l’article 2 de l’arrêté du 20 décembre 2021 (NOR : LOGL2134477A), ces dispositions sont -applicables pour les prestations dues à compter du 1 er janvier 2022. - -## Articles en vigueur à partir du 1er octobre 2021 - Arrêté du 23 septembre 2021 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2123452A - -### Article 7 | LEGIARTI000044137432 [archive] - -Les plafonds de loyers visés au 2° de l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ---------------------------------------------------------------------------------------------------- -Zone Personne seule Couple sans personne à charge Personne seule ou couple Par personne à - ayant une personne à charge charge supplémentaire ----- -------------- ----------------------------- --------------------------- --------------------- -I 298,07 359,49 406,30 58,95 - -II 259,78 317,97 357,80 52,08 - -III 243,48 295,15 330,94 47,43 ---------------------------------------------------------------------------------------------------- - - -NOTA : - -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont applicables -pour les prestations dues à compter du 1er octobre 2021. - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - - # Colonne 1 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 298,07€ - -- Zone2: 259,78€ - -- Zone3: 243,48€ - - # Colonne 2 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 359,49€ - --Zone2: 317,97€ - --Zone3: 295,15€ - - étiquette métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 égal à - décimal de (nombre_personnes_à_charge - 1) - - # Colonnes 3 et 4 - étiquette base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 406,30€ + 58,95€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 357,80€ + 52,08€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 330,94€ + 47,43€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -### Article 8 | LEGIARTI000044137429 [archive] - -Dans le cas où le logement occupé est une chambre, les plafonds -de loyers visés au 2° de l'article D. 823-16 du même code sont -fixés comme suit, quelle que soit la taille de la famille (en euros) : - -- 90 % des loyers plafonds de location pour une personne isolée ; -- 75 % des loyers plafonds de location pour une personne isolée, -dans le cas des personnes âgées ou handicapées adultes hébergées -à titre onéreux chez des particuliers. - -On obtient les loyers plafonds suivants (en euros) : - -MONTANTS DES LOYERS PLAFONDS CHAMBRE EN APL ET EN AL -(arrondis au centime d'euro le plus proche) - ----------------------------------------- -Bénéficiaires Zones Montants -------------------------- ----- -------- -Cas général I 268,26 - - II 233,80 - - III 219,13 - - -Cas des personnes âgées I 223,55 -ou handicapées adultes -hébergées à titre onéreux -chez des particuliers - - II 194,84 - - III 182,61 ----------------------------------------- - - -NOTA : - -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, -ces dispositions sont applicables pour les prestations dues à -compter du 1er octobre 2021. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition - date_courante >= |2021-10-01| et date_courante < |2022-07-01| et - logement_est_chambre: - - étiquette chambre exception base - définition plafond_loyer_d823_16_2 égal à - selon zone sous forme - -- Zone1: 268,26€ - -- Zone2: 233,80€ - -- Zone3: 219,13€ - - exception chambre définition plafond_loyer_d823_16_2 sous condition - âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - conséquence égal à - selon zone sous forme - -- Zone1: 223,55€ - -- Zone2: 194,84€ - -- Zone3: 182,61€ -``` - -### Article 9 | LEGIARTI000044137426 [archive] - -Les montants forfaitaires au titre des charges visés au 3° de -l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ----------------------------------- -Désignation Toutes zones ---------------------- ------------ -Bénéficiaire isolé ou 54,22 -couple sans personne -à charge - -Par personne 12,29 -supplémentaire -à charge ----------------------------------- - -NOTA : - -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, -ces dispositions sont applicables pour les prestations dues à compter -du 1er octobre 2021. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - - étiquette métropole - définition multiplicateur_majoration_charges_d823_16 égal à - décimal de nombre_personnes_à_charge - - étiquette base_métropole - définition montant_forfaitaire_charges_d823_16 égal à - 54,22€ + 12,29€ * multiplicateur_majoration_charges_d823_16 -``` - -### Article 13 | LEGIARTI000044137423 [archive] - -La participation minimale P0 définie au 2° de l'article D. 823-17 du même code est -égale à la plus élevée des deux valeurs suivantes : 8,5 % de la somme du loyer éligible -défini au 2° de l'article D. 823-16 du même code et du forfait charge ou 35,39 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition participation_minimale égal à - si - (loyer_éligible + montant_forfaitaire_charges_d823_16) - * 8,5% >= 35,39 € - alors - (loyer_éligible + montant_forfaitaire_charges_d823_16) * 8,5% - sinon - 35,39 € -``` - -NOTA : - -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2021. - -### Article 14 | LEGIARTI000044137420 [archive] - -Pour l'application de l'article D. 823-17 du même code, le taux de participation -personnelle Tp du ménage, exprimé en pourcentage, est calculé selon la formule suivante : - -$$\textrm{Tp} = \textrm{TF} + \textrm{TL}$$ - -dans laquelle : - -1° TF représente un taux fonction de la taille de la famille donné par le tableau suivant : - -VALEURS DE TF - -Bénéficiaires TF ----------------------------------------------------- ------ -Isolé 2,83% -Couple sans personne à charge 3,15% -Personne seule ou couple ayant une personne à charge 2,70% -2 enfants ou 2 personnes 2,38% -3 enfants ou 3 personnes 2,01% -4 enfants ou 4 personnes 1,85% -5 enfants ou 5 personnes 1,79% -6 enfants ou 6 personnes 1,73% -Majoration par personne à charge -0,06% - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - étiquette base définition taux_composition_familiale égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,83% - -- Couple: 3,15% - sinon si nombre_personnes_à_charge = 1 alors - 2,70% - sinon si nombre_personnes_à_charge = 2 alors - 2,38% - sinon si nombre_personnes_à_charge = 3 alors - 2,01% - sinon si nombre_personnes_à_charge = 4 alors - 1,85% - sinon si nombre_personnes_à_charge = 5 alors - 1,79% - sinon si nombre_personnes_à_charge = 6 alors - 1,73% - sinon - 1,73% - 0,06% * (décimal de (nombre_personnes_à_charge - 6)) -``` - -2° TL représente un taux complémentaire fixé ci-dessous en fonction de la valeur du rapport -RL entre le loyer retenu dans la limite du plafond L et un loyer de référence LR : $\textrm{RL} = \textrm{L} / \textrm{LR}$. - -RL est exprimé en pourcentage et arrondi à la deuxième décimale. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition rapport_loyers égal à - arrondi de ((loyer_éligible / loyer_référence) * 100,0) / 100,0 -``` - -Pour la détermination de TL , les taux progressifs et les tranches successives de RL mentionnés -au 3° de l'article D. 823-17 du même code sont fixés comme suit : - -- 0 % pour la tranche de RL inférieure à 45 % ; - -- 0,45 % pour la tranche de RL entre 45 % et 75 % ; - -- 0,68 % pour la tranche de RL supérieure à 75 %. - -TL est exprimé en pourcentage et arrondi à la troisième décimale. -Le tableau suivant traduit cette formule : - -Si $\textrm{RL}<45\%$ Si $45\% < \textrm{RL} < 75\%$ Si $\textrm{RL} >75 \%$ ---------------------- ---------------------------------------------- --------------------------------------------------------------- -$\textrm{TL}=0 \%$ $\textrm{TL}=0,45 \%\times (\textrm{RL}-45\%)$ $\textrm{TL}=0,45\%\times30 \%+0,68 \%\times(\textrm{RL}-75\%)$ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - # Ici on choisit de mettre des >= pour inclure le résultat sur la crête - # dans la case de droite ; nous avons bien vérifié que sur la crête le - # résultat est le même à gauche et à droite. - définition taux_loyer_éligible état formule égal à - si rapport_loyers < 45% alors 0% sinon ( - si rapport_loyers >= 45% et rapport_loyers < 75% alors - 0,45% * (rapport_loyers - 45%) - sinon (si rapport_loyers >= 75% alors - 0,45% * 30% + 0,68% * (rapport_loyers - 75%) - sinon 0,0)) - définition taux_loyer_éligible état taux_arrondi égal à - # La troisième décimale en pourcentage est en fait la cinquième décimale - (arrondi de (taux_loyer_éligible * 100000,0)) / 100000,0 -``` - -Le loyer de référence LR est défini selon le tableau suivant (en euros) : - -Composition du ménage Montant ----------------------------------------------------- -------- -Bénéficiaire isolé 259,78 -Couple sans personne à charge 317,97 -Personne seule ou couple ayant une personne à charge 357,80 -Majoration par personne à charge 52,08 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - - étiquette base - définition multiplicateur_majoration_loyer_référence égal à - décimal de (nombre_personnes_à_charge - 1) - - définition loyer_référence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 259,78€ - -- Couple: 317,97€ - sinon 357,80€ + 52,08€ * multiplicateur_majoration_loyer_référence -``` - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2021. - -### Article 16 | LEGIARTI000044137417 [archive] - -Dans le cas des colocataires prévus à l'article D. 823-18 du même code : - -1° Les plafonds de loyers sont fixés à 75 % des plafonds de loyers définis au 2° de l'article -D. 823-16 du même code et fixés à l'article 7. - -Les montants obtenus par l'application de ces pourcentages sont arrondis au centime d'euro le plus proche. -On obtient les loyers plafonds suivants (en euros) : - --------------------------------------------------------- -Zone I II III ----------------------------------- ------- ------ ------ -Personne seule 223,55 194,84 182,61 - -Couple sans personne à charge 269,62 238,48 221,36 - -Personne seule ou couple ayant une -personne à charge 304,73 268,35 248,21 - -Par personne à -charge supplémentaire 44,21 39,06 35,57 --------------------------------------------------------- - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01| et colocation: - - # Ici l'exception est rapportée au cas de base puisqu'on suppose - # qu'on ne peut pas être en colocation dans un logement constitué - # d'une seule chambre. - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 223,55€ - -- Zone2: 194,84€ - -- Zone3: 182,61€ - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 269,62€ - --Zone2: 238,48€ - --Zone3: 221,36€ - - étiquette métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 égal à - décimal de (nombre_personnes_à_charge - 1) - - exception base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 304,73€ + 44,21€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 268,35€ + 39,06€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 248,21€ + 35,57€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 27,10 -Couple sans personne à charge 54,22 -Majoration par personne à charge 12,29 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01| et colocation: - étiquette colocation_métropole exception base_outre_mer - définition montant_forfaitaire_charges_d823_16 égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 27,10€ - -- Couple: 54,22€) + - 12,29€ * multiplicateur_majoration_charges_d823_16 -``` - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2021. - -### Article 19 | LEGIARTI000044137412 [archive] - -Pour l'application du 4° de l'article D. 832-10 du code de la construction et -de l'habitation , le montant forfaitaire des charges est fixé comme suit -(en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 54,22 -Par personne supplémentaire à charge 12,29 - -NOTA : - -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces -dispositions sont applicables pour les prestations dues à compter -du 1er octobre 2021. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - - étiquette base définition montant_forfaitaire_charges_d832_10 égal à - 54,22 € + 12,29 € * (décimal de nombre_personnes_à_charge) -``` - -### Article 24 | LEGIARTI000044137409 [archive] - -Dans le cas des copropriétaires prévus à l'article D. 832-16 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés aux articles 17 et 18 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition plafond_mensualité_d832_10_3 état copropriétaires égal à - si copropriété alors - plafond_mensualité_d832_10_3 * 75% - sinon - plafond_mensualité_d832_10_3 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 27,10 -Couple sans personne à charge 54,22 -Majoration par personne à charge 12,29 - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - exception base définition montant_forfaitaire_charges_d832_10 sous condition - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 27,10€ - -- Couple: 54,22€) + - 12,29 € * (décimal de nombre_personnes_à_charge) -``` - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont applicables pour -les prestations dues à compter du 1er octobre 2021. - -### Article 27 | LEGIARTI000044137406 [archive] - -Pour l'application de l'article D. 832-24 du même code, les équivalences de loyer et de charges locatives plafonds -sont fixées comme suit (en euros) : - -Désignation Zone I Zone II Zone III ------------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 446,3 408,14 387,4 -Couple sans personne à charge 523,21 476,32 450,57 -Bénéficiaire isolé ou couple ayant une personne à charge 557,88 507,87 478,02 -Bénéficiaire isolé ou couple ayant deux personnes à charge 597,04 543,65 509,57 -Bénéficiaire isolé ou couple ayant trois personnes à charge 636,35 579,29 541,1 -Bénéficiaire isolé ou couple ayant quatre personnes à charge 686,37 617,27 576,57 -Par personne supplémentaire à charge 71,19 64,34 59,71 - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont applicables -pour les prestations dues à compter du 1er octobre 2021. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer sous condition - date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition plafond_équivalence_loyer_éligible égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 446,30 € - -- Couple: 523,21€) - sinon si nombre_personnes_à_charge = 1 alors - 557,88 € - sinon si nombre_personnes_à_charge = 2 alors - 597,04 € - sinon si nombre_personnes_à_charge = 3 alors - 636,35 € - sinon - 686,37 € + 71,19€ * (décimal de (nombre_personnes_à_charge - 4))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 408,14 € - -- Couple: 476,32€) - sinon si nombre_personnes_à_charge = 1 alors - 507,87 € - sinon si nombre_personnes_à_charge = 2 alors - 543,65 € - sinon si nombre_personnes_à_charge = 3 alors - 579,29 € - sinon - 617,27 € + 64,34€ * (décimal de (nombre_personnes_à_charge - 4))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 387,40 € - -- Couple: 450,57€) - sinon si nombre_personnes_à_charge = 1 alors - 478,02 € - sinon si nombre_personnes_à_charge = 2 alors - 509,57 € - sinon si nombre_personnes_à_charge = 3 alors - 541,10 € - sinon - 576,57 € + 59,71€ * (décimal de (nombre_personnes_à_charge - 4))) -``` - -### Article 34 | LEGIARTI000044137403 [archive] - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-6 du même code sont fixés comme -suit (en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 54,22 -Par personne supplémentaire à charge 12,29 - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont applicables pour -les prestations dues à compter du 1er octobre 2021. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - - étiquette métropole - définition multiplicateur_majoration_charges égal à - décimal de nombre_personnes_à_charge - - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 54,22 € - sinon 54,22 € + 12,29 € * multiplicateur_majoration_charges -``` - -### Article 37 | LEGIARTI000044137400 [archive] - -Dans le cas des copropriétaires prévus à l'article D. 842-10 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés à l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_copropriété sous condition - copropriété - conséquence égal à - (calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge) * 75% -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du ménage Montant ---------------------------------------------------- ---------------- -Bénéficiaire isolé 27,10 -Couple sans personne à charge 54,22 -Majoration par personne à charge 12,29 - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - étiquette copropriété exception base - définition montant_forfaitaire_charges sous condition - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 27,10 € - -- Couple : 54,22€) + (12,29 € * ( - décimal de nombre_personnes_à_charge)) -``` - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont applicables -pour les prestations dues à compter du 1er octobre 2021. - - -### Article 40 | LEGIARTI000044137397 [archive] - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-15 -du même code sont fixés comme suit (en euros) : - -Composition du ménage Toutes zones ------------------------------------------------------------- -------------------- -Bénéficiaire isolé ou couple sans personne à charge 54,22 -Par personne supplémentaire à charge 12,29 - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2021. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - - étiquette métropole - définition multiplicateur_majoration_charges égal à - décimal de nombre_personnes_à_charge - - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 54,22 € - sinon 54,22 € + 12,29 € * multiplicateur_majoration_charges -``` - - -### Article 43 | LEGIARTI000044137394 [archive] - -L'équivalence de loyer L pour chacune des catégories de personnes mentionnées à l'article -D. 842-16 du même code est égal à : - -1° Pour les étudiants logés en chambre : - -a) 84,14 euros lorsqu'il s'agit d'une personne seule ; - -b) 131,00 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme ÉtudiantLogéEnChambreCROUS - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 84,14 € - -- Couple: 131,00 € -``` - -2° Pour les étudiants logés dans une chambre ayant fait l'objet d'une réhabilitation : - -a) 170,12 euros lorsqu'il s'agit d'une personne seule ; - -b) 264,40 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - ÉtudiantLogéEnChambreCROUSRéhabilitée - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 170,12 € - -- Couple: 264,40 € -``` - -3° Pour les personnes mentionnées au 3° : - -a) 206,40 euros lorsqu'il s'agit d'une personne seule ; - -b) 320,73 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - PersonnesÂgéesSelon3DeD842_16 - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 206,40 € - -- Couple: 320,73 € -``` - -4° Pour les autres personnes : - -a) 170,12 euros lorsqu'il s'agit d'une personne seule ; - -b) 264,40 euros lorsqu'il s'agit d'un couple. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et - date_courante < |2022-07-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - AutresPersonnes - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 170,12 € - -- Couple: 264,40 € -``` - -NOTA : -Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont -applicables pour les prestations dues à compter du 1er octobre 2021. - -### Article 46 | LEGIARTI000044137389 [archive] - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Mayotte, à Saint-Barthélemy -et à Saint-Martin des dispositions des chapitres III, VI et VII du présent arrêté : - -1° La majoration pour personne à charge est limitée à 6 personnes. Les paramètres suivants sont impactés : - -a) Les plafonds de loyers visés au 2° de l'article D. 823-16 du code de la construction et de l'habitation , -dont les valeurs sont fixées à l'article 7 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -# Cette limitation à 6 personnes à charge s'applique également aux exceptions à -# l'article 7 que sont les articles 8 et 16 de l'arrêté pour les chambres et la -# colocation. Cependant le barème chambre ne dépend pas du nombre de personnes à -# charge donc rien à faire. Par contre dans l'article 16 il faut bien appliquer -# la limitation, ce qui est fait de la manière qu'à l'article 7 via l'emploi de -# la variable "multiplicateur_majoration_plafond_loyer_d823_16_2". Ceci nous a -# été confirmé par un mail du 21/04/2023 de DGALN/DHUP/FE4 : -# "Il convient de ne pas faire de lecture trop extensive des textes, il est en -# effet factuellement impossible de loger sept ou huit personnes dans une simple -# chambre. De plus l’article 8 de l’arrêté, relatif aux chambres, précise que le -# barème applicable est identique quelle que soit la taille de la famille et est -# basé sur celui applicable à une personne isolée. -# Concernant la colocation, il convient de faire une lecture groupée de l’arrêté -# : -# - Le 1° de l’article 46 précisait que la majoration était limitée à six -# personnes à charge et selon les termes du a) cette majoration impactait les -# loyers plafonds dont les valeurs sont fixées à l’article 7 de l’arrêté. -# L’article 7 était donc applicable dans la limite de six personnes à charge -# et pas au-delà. -# - L’article 16 qui concerne la colocation précise que les loyers plafonds -# applicables représentent 75% de ceux fixés à l’article 7. -# De fait, le plafonnement applicable à la colocation (article 16) découle de -# l’article 7 et était limité à six personnes à charge par le a) du 1° de -# l’article 46." -``` - -b) Les montants forfaitaires au titre des charges visés au 3° de l'article D. 823-16, au 4° des articles -D. 842-6 et D. 842-15 du même code, dont les valeurs sont fixées respectivement aux articles 9, 34 et 40 ; - -```catala -# Le montant des valeurs de l'article 9 en outre-mer est donné explicitement -# au 3° de cet article. - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 -``` - -c) Le loyer de référence " LR ", dont les valeurs sont fixées à l'article 14, intervenant dans le calcul -de " TL ", terme du taux de la participation personnelle (" Tp ") visé au 3° de l'article D. 823-17 du même -code ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception base - définition multiplicateur_majoration_loyer_référence sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -``` - -d) Le forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, dont les valeurs sont fixées à -l'article 15 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception métropole - définition multiplicateur_majoration_r0 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 0,0 -``` - -e) Les mensualités plafonds visées à l'article D. 842-6 du même code, dont les valeurs sont fixées à -l'article 33 ; - - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_limitation_dom_tom sous condition - nombre_personnes_à_charge >= 6 et - selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence égal à - calcul_plafond_mensualité_d842_6 de date_calcul, 6 -``` - -2° La valeur fixée à l'article 15 du forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, -pour un ménage ayant un enfant à charge, est remplacée par " 7 584 euros " ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - étiquette article_46 - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 7 584 € -``` - -3° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles D. 842-6 et D. 842-15 du même code, -dont les valeurs sont fixées aux articles 9, 34 et 40, sont remplacés par les valeurs suivantes (en euros) : - -Désignation Toutes zones ------------------------------------------------------------------------------ ------------ -Bénéficiaire isolé ou couple sans personne à charge 36,40 -Par personne supplémentaire à charge dans la limite de six personnes à charge 9,36 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,40€ + 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,40€ + 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,40€ + 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,40€ + 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,40€ + 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,40€ + 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement aux articles D. 823-18 et -D. 842-10 du même code, dont les valeurs sont fixées aux articles 16 et 37, sont remplacés par les valeurs -suivantes (en euros) : - -Composition du ménage Montant --------------------------------------------------------------------------- ------- -Bénéficiaire isolé 18,72 -Couple sans personne à charge 36,40 -Majoration par personne à charge dans la limite de six personnes à charge 9,36 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,72€ - -- Couple: 36,40€) + - 9,36€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -4° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille de la famille visé au 3° -de l'article D. 823-17 du même code, sont remplacées par les valeurs suivantes : - -VALEURS DE TF -Bénéficiaires TF ---------------------------------- ----- -Isolé 2,81% -Couple sans enfant 2,99% -1 enfant ou 1 personne 2,38% -2 enfants ou 2 personnes 2,17% -3 enfants ou 3 personnes 1,94% -4 enfants ou 4 personnes 1,80% -5 enfants ou 5 personnes 1,69% -6 enfants ou 6 personnes et plus 1,62% - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-10-01| et date_courante < |2022-01-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon # si nombre_personnes_à_charge >= 6 alors - 1,62% -``` - -NOTA : Conformément au I de l’article 3 de l’arrêté du 23 septembre 2021, ces dispositions sont applicables -pour les prestations dues à compter du 1er octobre 2021. - - -## Articles en vigueur à partir du du 1er octobre 2020 - Arrêté du 25 septembre 2020 relatif au calcul des aides personnelles au logement et de l'aide à l'accession sociale et à la sortie de l'insalubrité spécifique à l'outre-mer NOR : LOGL2020835A - -### Article 7 | LEGIARTI000042378448 [archive] - -Les plafonds de loyers visés au 2° de l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ---------------------------------------------------------------------------------------------------- -Zone Personne seule Couple sans personne à charge Personne seule ou couple Par personne à - ayant une personne à charge charge supplémentaire ----- -------------- ----------------------------- --------------------------- --------------------- -I 296,82 357,99 404,60 58,70 - -II 258,69 316,64 356,30 51,86 - -III 242,46 293,92 329,56 47,23 ---------------------------------------------------------------------------------------------------- - - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, -ces dispositions sont applicables pour les prestations dues à compter du 1er -octobre 2020. - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01|: - - # Colonne 1 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 296,82€ - -- Zone2: 258,59€ - -- Zone3: 242,46€ - - # Colonne 2 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 357,99€ - --Zone2: 316,64€ - --Zone3: 293,92€ - - étiquette métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 égal à - décimal de (nombre_personnes_à_charge - 1) - - # Colonnes 3 et 4 - étiquette base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 404,60€ + 58,70€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 356,30€ + 51,86€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 329,56€ + 47,23€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -### Article 8 | LEGIARTI000042378446 [archive] - -Dans le cas où le logement occupé est une chambre, les plafonds -de loyers visés au 2° de l'article D. 823-16 du même code sont -fixés comme suit, quelle que soit la taille de la famille (en euros) : - -- 90 % des loyers plafonds de location pour une personne isolée ; -- 75 % des loyers plafonds de location pour une personne isolée, -dans le cas des personnes âgées ou handicapées adultes hébergées -à titre onéreux chez des particuliers. - -On obtient les loyers plafonds suivants (en euros) : - -MONTANTS DES LOYERS PLAFONDS CHAMBRE EN APL ET EN AL -(arrondis au centime d'euros le plus proche) - ----------------------------------------- -Bénéficiaires Zones Montants -------------------------- ----- -------- -Cas général I 267,14 - - II 232,82 - - III 218,21 - - -Cas des personnes âgées I 222,62 -ou handicapées adultes -hébergées à titre onéreux -chez des particuliers - - II 194,02 - - III 181,85 ----------------------------------------- - - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2020. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition - date_courante < |2021-10-01| et date_courante >= |2020-10-01| et - logement_est_chambre: - - étiquette chambre exception base - définition plafond_loyer_d823_16_2 égal à - selon zone sous forme - -- Zone1: 267,14€ - -- Zone2: 232,82€ - -- Zone3: 218,21€ - - exception chambre définition plafond_loyer_d823_16_2 sous condition - âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - conséquence égal à - selon zone sous forme - -- Zone1: 222,62€ - -- Zone2: 194,02€ - -- Zone3: 181,85€ -``` - -### Article 9 | LEGIARTI000042378444 [archive] - -Les montants forfaitaires au titre des charges visés au 3° de -l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ----------------------------------- -Désignation Toutes zones ---------------------- ------------ -Bénéficiaire isolé ou 53,99 -couple sans personne -à charge - -Par personne 12,24 -supplémentaire -à charge ----------------------------------- - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, -ces dispositions sont applicables pour les prestations dues à -compter du 1er octobre 2020. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01|: - - étiquette métropole - définition multiplicateur_majoration_charges_d823_16 égal à - décimal de nombre_personnes_à_charge - - étiquette base_métropole - définition montant_forfaitaire_charges_d823_16 égal à - 53,99€ + 12,24€ * multiplicateur_majoration_charges_d823_16 -``` - -### Article 13 | LEGIARTI000042378442 [archive] - -La participation minimale P0 définie au 2° de l'article D. 823-17 du même code est -égale à la plus élevée des deux valeurs suivantes : 8,5 % de la somme du loyer éligible -défini au 2° de l'article D. 823-16 du même code et du forfait charge ou 35,24 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01|: - définition participation_minimale égal à - si - (loyer_éligible + montant_forfaitaire_charges_d823_16) - * 8,5% >= 35,24 € - alors - (loyer_éligible + montant_forfaitaire_charges_d823_16) * 8,5% - sinon - 35,24 € -``` - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2020. - -### Article 14 | LEGIARTI000042378440 [archive] - -Pour l'application de l'article D. 823-17 du même code, le taux de participation -personnelle Tp du ménage, exprimé en pourcentage, est calculé selon la formule suivante : - -$$\text{Tp} = \text{TF} + \text{TL}$$ - -dans laquelle : - -1° TF représente un taux fonction de la taille de la famille donné par le tableau suivant : - - -VALEURS DE TF - -Bénéficiaires TF ----------------------------------------------------- ------ -Isolé 2,83% -Couple sans personne à charge 3,15% -Personne seule ou couple ayant une personne à charge 2,70% -2 enfants ou 2 personnes 2,38% -3 enfants ou 3 personnes 2,01% -4 enfants ou 4 personnes 1,85% -5 enfants ou 5 personnes 1,79% -6 enfants ou 6 personnes 1,73% -Majoration par personne à charge -0,06% - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - étiquette base définition taux_composition_familiale égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,83% - -- Couple: 3,15% - sinon si nombre_personnes_à_charge = 1 alors - 2,70% - sinon si nombre_personnes_à_charge = 2 alors - 2,38% - sinon si nombre_personnes_à_charge = 3 alors - 2,01% - sinon si nombre_personnes_à_charge = 4 alors - 1,85% - sinon si nombre_personnes_à_charge = 5 alors - 1,79% - sinon si nombre_personnes_à_charge = 6 alors - 1,73% - sinon - 1,73% - 0,06% * (décimal de (nombre_personnes_à_charge - 6)) -``` - -2° TL représente un taux complémentaire fixé ci-dessous en fonction de la valeur du rapport -RL entre le loyer retenu dans la limite du plafond L et un loyer de référence LR : $\text{RL} = \text{L} / \text{LR}$. - -RL est exprimé en pourcentage et arrondi à la deuxième décimale. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - définition rapport_loyers égal à - arrondi de ((loyer_éligible / loyer_référence) * 100,0) / 100,0 -``` - -Pour la détermination de TL , les taux progressifs et les tranches successives de RL mentionnés -au 3° de l'article D. 823-17 du même code sont fixés comme suit : - -- 0 % pour la tranche de RL inférieure à 45 % ; - -- 0,45 % pour la tranche de RL entre 45 % et 75 % ; - -- 0,68 % pour la tranche de RL supérieure à 75 %. - -TL est exprimé en pourcentage et arrondi à la troisième décimale. -Le tableau suivant traduit cette formule : - -Si $\text{RL}<45\%$ Si $45\% < \text{RL} < 75\%$ Si $\text{RL} >75 \%$ -------------------- ------------------------------------------ ----------------------------------------------------------- -$\text{TL}=0 \%$ $\text{TL}=0,45 \%\times (\text{RL}-45\%)$ $\text{TL}=0,45\%\times30 \%+0,68 \%\times(\text{RL}-75\%)$ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - définition taux_loyer_éligible état formule égal à - si rapport_loyers < 45% alors 0% sinon ( - si rapport_loyers >= 45% et rapport_loyers < 75% alors - 0,45% * (rapport_loyers - 45%) - sinon (si rapport_loyers >= 75% alors - 0,45% * 30% + 0,68% * (rapport_loyers - 75%) - sinon 0,0)) - définition taux_loyer_éligible état taux_arrondi égal à - # La troisième décimale en pourcentage est en fait la cinquième décimale - (arrondi de (taux_loyer_éligible * 100000,0)) / 100000,0 -``` - -Le loyer de référence LR est défini selon le tableau suivant (en euros) : - -Composition du ménage Montant ----------------------------------------------------- -------- -Bénéficiaire isolé 258,69 -Couple sans personne à charge 316,64 -Personne seule ou couple ayant une personne à charge 356,3 -Majoration par personne à charge 51,86 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - - étiquette base - définition multiplicateur_majoration_loyer_référence égal à - décimal de (nombre_personnes_à_charge - 1) - - définition loyer_référence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 258,69€ - -- Couple: 316,64€ - sinon 356,30€ + 51,86€ * multiplicateur_majoration_loyer_référence -``` - -NOTA : -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces -dispositions sont applicables pour les prestations dues à compter du -1er octobre 2020. - - -### Article 16 | LEGIARTI000042378438 [archive] - -Dans le cas des colocataires prévus à l'article D. 823-18 du même code : - -1° Les plafonds de loyers sont fixés à 75 % des plafonds de loyers définis au 2° de l'article -D. 823-16 du même code et fixés à l'article 7. - -Les montants obtenus par l'application de ces pourcentages sont arrondis au centime d'euro le plus proche. -On obtient les loyers plafonds suivants (en euros) : - -------------------------------------------------------- -Zone I II III ----------------------------------- ------ ------ ------ -Personne seule 222,62 194,02 181,85 - -Couple sans personne à charge 268,49 237,48 220,44 - -Personne seule ou couple ayant une -personne à charge 303,45 267,23 247,17 - -Par personne à -charge supplémentaire 44,03 38,90 35,42 --------------------------------------------------------- - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01| et colocation: - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 222,62€ - -- Zone2: 194,02€ - -- Zone3: 181,85€ - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 268,49€ - --Zone2: 237,48€ - --Zone3: 220,44€ - - étiquette métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 égal à - décimal de (nombre_personnes_à_charge - 1) - - exception base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 303,45€ + 44,03€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 267,23€ + 38,90€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 247,17€ + 35,42€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 26,99 -Couple sans personne à charge 53,99 -Majoration par personne à charge 12,24 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01| et colocation: - étiquette colocation_métropole - exception base_outre_mer - définition montant_forfaitaire_charges_d823_16 égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 26,99€ - -- Couple: 53,99€) + - 12,24€ * multiplicateur_majoration_charges_d823_16 -``` - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces -dispositions sont applicables pour les prestations dues à compter du -1er octobre 2020. - -### Article 19 | LEGIARTI000042378432 [archive] - -Pour l'application du 4° de l'article D. 832-10 du code de la construction et -de l'habitation , le montant forfaitaire des charges est fixé comme suit -(en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 53,99 -Par personne supplémentaire à charge 12,24 - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2020. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01|: - - étiquette base définition montant_forfaitaire_charges_d832_10 égal à - 53,99 € + 12,24 € * (décimal de nombre_personnes_à_charge) -``` - -### Article 24 | LEGIARTI000042378430 [archive] - -Dans le cas des copropriétaires prévus à l'article D. 832-16 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés aux articles 17 et 18 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01|: - définition plafond_mensualité_d832_10_3 état copropriétaires égal à - si copropriété alors - plafond_mensualité_d832_10_3 * 75% - sinon - plafond_mensualité_d832_10_3 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 26,99 -Couple sans personne à charge 53,99 -Majoration par personne à charge 12,24 - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante < |2021-10-01| et - date_courante >= |2020-10-01|: - exception base définition montant_forfaitaire_charges_d832_10 sous condition - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 26,99€ - -- Couple: 53,99€) + - 12,24 € * (décimal de nombre_personnes_à_charge) -``` - -NOTA : - -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2020. - -### Article 27 | LEGIARTI000042378428 [archive] - -Pour l'application de l'article D. 832-24 du même code, les équivalences de loyer et de charges locatives plafonds -sont fixées comme suit (en euros) : - -Désignation Zone I Zone II Zone III ------------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 444,43 406,43 385,78 -Couple sans personne à charge 521,02 474,33 448,69 -Bénéficiaire isolé ou couple ayant une personne à charge 555,55 505,75 476,02 -Bénéficiaire isolé ou couple ayant deux personnes à charge 594,54 541,38 507,44 -Bénéficiaire isolé ou couple ayant trois personnes à charge 633,69 576,87 538,84 -Bénéficiaire isolé ou couple ayant quatre personnes à charge 683,5 614,69 574,16 -Par personne supplémentaire à charge 70,89 64,07 59,46 - -NOTA : -Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions -sont applicables pour les prestations dues à compter du 1er octobre 2020. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer sous condition - date_courante < |2021-10-01| et date_courante >= |2020-10-01|: - définition plafond_équivalence_loyer_éligible égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 444,43 € - -- Couple: 521,01€) - sinon si nombre_personnes_à_charge = 1 alors - 555,55 € - sinon si nombre_personnes_à_charge = 2 alors - 594,54 € - sinon si nombre_personnes_à_charge = 3 alors - 633,69 € - sinon - 683,5 € + 70,89€ * (décimal de (nombre_personnes_à_charge - 4))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 406,43 € - -- Couple: 474,33€) - sinon si nombre_personnes_à_charge = 1 alors - 505,75 € - sinon si nombre_personnes_à_charge = 2 alors - 541,38 € - sinon si nombre_personnes_à_charge = 3 alors - 576,87 € - sinon - 614,69 € + 64,07€ * (décimal de (nombre_personnes_à_charge - 4))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 385,78 € - -- Couple: 448,69€) - sinon si nombre_personnes_à_charge = 1 alors - 476,02 € - sinon si nombre_personnes_à_charge = 2 alors - 507,44 € - sinon si nombre_personnes_à_charge = 3 alors - 538,84 € - sinon - 574,16 € + 59,46€ * (décimal de (nombre_personnes_à_charge - 4))) -``` - -### Article 34 | LEGIARTI000042378426 [archive] - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-6 du même code sont -fixés comme suit (en euros) : - -Désignation Toutes zones ----------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 53,99 -Par personne supplémentaire à charge 12,24 - -NOTA : Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions sont -applicables pour les prestations dues à compter du 1er octobre 2020. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 53,99 € - sinon 53,99 € + (12,24 € * ( - décimal de nombre_personnes_à_charge)) -``` - -### Article 37 | LEGIARTI000042378424 [archive] - -Dans le cas des copropriétaires prévus à l'article D. 842-10 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés à -l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_copropriété sous condition - copropriété - conséquence égal à - (calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge) * 75% -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du ménage Montant ---------------------------------- ------- -Bénéficiaire isolé 26,99 -Couple sans personne à charge 53,99 -Majoration par personne à charge 12,24 - - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - étiquette copropriété exception base - définition montant_forfaitaire_charges sous condition - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 26,99 € - -- Couple : 53,99€) + (12,24€ * ( - décimal de nombre_personnes_à_charge)) -``` - -NOTA : Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions sont -applicables pour les prestations dues à compter du 1er octobre 2020. - -### Article 40 | LEGIARTI000042378422 [archive] - -Les montants forfaitaires au titre des charges visés au 4° de l'article -D. 842-15 du même code sont fixés comme suit (en euros) : - -Composition du ménage Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 53,99 -Par personne supplémentaire à charge 12,24 - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 53,99 € - sinon 53,99 € + (12,24 € * ( - décimal de nombre_personnes_à_charge)) -``` - -NOTA : Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions sont applicables -pour les prestations dues à compter du 1er octobre 2020. - -### Article 43 | LEGIARTI000042378420 [archive] - -L'équivalence de loyer L pour chacune des catégories de personnes mentionnées à l'article D. 842-16 du -même code est égal à : - -1° Pour les étudiants logés en chambre : - -a) 83,79 euros lorsqu'il s'agit d'une personne seule ; - -b) 130,45 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme ÉtudiantLogéEnChambreCROUS - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 83,79 € - -- Couple: 130,45 € -``` - -2° Pour les étudiants logés dans une chambre ayant fait l'objet d'une réhabilitation : - -a) 169,41 euros lorsqu'il s'agit d'une personne seule ; - -b) 263,29 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - ÉtudiantLogéEnChambreCROUSRéhabilitée - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 169,41 € - -- Couple: 263,29 € -``` - -3° Pour les personnes mentionnées au 3° : - -a) 205,54 euros lorsqu'il s'agit d'une personne seule ; - -b) 319,39 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - PersonnesÂgéesSelon3DeD842_16 - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 205,54 € - -- Couple: 319,39 € -``` - -4° Pour les autres personnes : - -a) 169,41 euros lorsqu'il s'agit d'une personne seule ; - -b) 263,29 euros lorsqu'il s'agit d'un couple. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et - date_courante < |2021-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - AutresPersonnes - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 169,41 € - -- Couple: 263,29 € -``` - -NOTA : Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions sont applicables -pour les prestations dues à compter du 1er octobre 2020. - -### Article 46 | LEGIARTI000042378415 [archive] - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Mayotte, à -Saint-Barthélemy et à Saint-Martin des dispositions des chapitres III, VI et VII du présent -arrêté : - -1° La majoration pour personne à charge est limitée à 6 personnes. Les paramètres suivants sont -impactés : - -a) Les plafonds de loyers visés au 2° de l'article D. 823-16 du code de la construction et de -l'habitation , dont les valeurs sont fixées à l'article 7 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -# Cette limitation à 6 personnes à charge s'applique également aux exceptions à -# l'article 7 que sont les articles 8 et 16 de l'arrêté pour les chambres et la -# colocation. Cependant le barème chambre ne dépend pas du nombre de personnes à -# charge donc rien à faire. Par contre dans l'article 16 il faut bien appliquer -# la limitation, ce qui est fait de la manière qu'à l'article 7 via l'emploi de -# la variable "multiplicateur_majoration_plafond_loyer_d823_16_2". Ceci nous a -# été confirmé par un mail du 21/04/2023 de DGALN/DHUP/FE4 : -# "Il convient de ne pas faire de lecture trop extensive des textes, il est en -# effet factuellement impossible de loger sept ou huit personnes dans une simple -# chambre. De plus l’article 8 de l’arrêté, relatif aux chambres, précise que le -# barème applicable est identique quelle que soit la taille de la famille et est -# basé sur celui applicable à une personne isolée. -# Concernant la colocation, il convient de faire une lecture groupée de l’arrêté -# : -# - Le 1° de l’article 46 précisait que la majoration était limitée à six -# personnes à charge et selon les termes du a) cette majoration impactait les -# loyers plafonds dont les valeurs sont fixées à l’article 7 de l’arrêté. -# L’article 7 était donc applicable dans la limite de six personnes à charge -# et pas au-delà. -# - L’article 16 qui concerne la colocation précise que les loyers plafonds -# applicables représentent 75% de ceux fixés à l’article 7. -# De fait, le plafonnement applicable à la colocation (article 16) découle de -# l’article 7 et était limité à six personnes à charge par le a) du 1° de -# l’article 46." -``` - -b) Les montants forfaitaires au titre des charges visés au 3° de l'article D. 823-16, au 4° des -articles D. 842-6 et D. 842-15 du même code, dont les valeurs sont fixées respectivement aux -articles 9, 34 et 40 ; - -```catala -# Le montant des valeurs de l'article 9 en outre-mer est donné explicitement -# au 3° de cet article. - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 -``` - -c) Le loyer de référence " LR ", dont les valeurs sont fixées à l'article 14, intervenant dans -le calcul de " TL ", terme du taux de la participation personnelle (" Tp ") visé au 3° de l'article -D. 823-17 du même code ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception base - définition multiplicateur_majoration_loyer_référence sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -``` - -d) Le forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, dont les valeurs sont -fixées à l'article 15 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception métropole - définition multiplicateur_majoration_r0 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 0,0 -``` - -e) Les mensualités plafonds visées à l'article D. 842-6 du même code, dont les valeurs sont -fixées à l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_limitation_dom_tom sous condition - nombre_personnes_à_charge >= 6 et - selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence égal à - calcul_plafond_mensualité_d842_6 de date_calcul, 6 -``` - -2° La valeur fixée à l'article 15 du forfait " R0 ", visé au 5° de l'article D. 823-17 du même -code, pour un ménage ayant un enfant à charge, est remplacée par " 7 584 euros " ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - étiquette article_46 - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 7 584 € -``` - -3° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles D. 842-6 et D. 842-15 -du même code, dont les valeurs sont fixées aux articles 9, 34 et 40, sont remplacés par les -valeurs suivantes (en euros) : - -Désignation Toutes zones ------------------------------------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 36,25 -Par personne supplémentaire à charge dans la limite de six personnes à charge 9,32 - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,25€ + 9,32€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,25€ + 9,32€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,25€ + 9,32€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,25€ + 9,32€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,25€ + 9,32€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,25€ + 9,32€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement aux articles D. 823-18 -et D. 842-10 du même code, dont les valeurs sont fixées aux articles 16 et 37, sont remplacés -par les valeurs suivantes (en euros) : - -Composition du ménage Montant ---------------------------------------------------------------------------- ------- -Bénéficiaire isolé 18,64 -Couple sans personne à charge 36,25 -Majoration par personne à charge dans la limite de six personnes à charge 9,32 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,64€ - -- Couple: 36,25€) + - 9,32€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,64€ - -- Couple: 36,25€) + - 9,32€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,64€ - -- Couple: 36,25€) + - 9,32€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,64€ - -- Couple: 36,25€) + - 9,32€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -4° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille de la famille -visé au 3° de l'article D. 823-17 du même code, sont remplacées par les valeurs suivantes : - -VALEURS DE TF - -Bénéficiaires TF ---------------------------------- ----- -Isolé 2,81% -Couple sans enfant 2,99% -1 enfant ou 1 personne 2,38% -2 enfants ou 2 personnes 2,17% -3 enfants ou 3 personnes 1,94% -4 enfants ou 4 personnes 1,80% -5 enfants ou 5 personnes 1,69% -6 enfants ou 6 personnes et plus 1,62% - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-10-01| et date_courante < |2021-10-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon # si nombre_personnes_à_charge >= 6 alors - 1,62% -``` - -NOTA : Conformément à l’article 3, I de l’arrêté du 25 septembre 2020, ces dispositions sont -applicables pour les prestations dues à compter du 1er octobre 2020. - -## Articles en vigueur à partir du 01 janvier 2021 - Arrêté du 31 décembre 2020 relatif au calcul des aides personnelles au logement pour l'année 2021 NOR : LOGL2028351A - -### Article 6 | LEGIARTI000039160737 [archive] - -Pour l'application de l'article R. 822-21 du même code, le montant auquel sont réputées égales -les ressources du bénéficiaire et, le cas échéant, de son conjoint, en cas de ressources inférieures -audit montant, est fixé à 7 700 euros pour la location et à 6 000 euros pour la résidence en -logement-foyer. - -Toutefois, lorsque le demandeur est titulaire d'une bourse de l'enseignement supérieur qui n'est pas -assujettie à l'impôt sur le revenu, le montant minimal de ressources est fixé à 6 200 euros pour la -location et à 4 900 euros pour la résidence en logement-foyer. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -# -# Modifications non subsantielles mais qui peuvent améliorer la compréhension et -# la précision des dispositions par rapport à la version initiale. -# TODO informatique et juridique: traduire cet article qui vient définir -# ressources_forfaitaires_r822_20 La version du 1er janvier 2021 au 31 décembre -# 2021 de l'art. 6 est la même que celle applicable depuis 2019 (donc 1er -# janvier 2020, date à laquelle on fait remonter les archvies). Il est donc -# possible de traduire cet article et de faire remonter l'application à une date -# antérieure au 1er janvier 2021. -``` - -### Article 47 | LEGIARTI000043044380 [archive] - -En application de l'article 31 du décret du 24 juillet 2019 susvisé, l'abattement forfaitaire “ R0 ”, -mentionné au 5° de l'article D. 823-17 du code de la construction et de l'habitation, est fixé dans -les conditions suivantes : - -1° A la date du 1er octobre 2017, les valeurs de base sont fixées par le tableau suivant (en euros) : - -Composition du foyer MONTANT --------------------------------------- ------- -Personne seule sans personne à charge 2 690 -Couple sans personne à charge 3 852 -Personne seule ou couple ayant : --une personne à charge 3 997 --deux personnes à charge 4 490 --trois personnes à charge 5 481 --quatre personnes à charge 6 506 --cinq personnes à charge 7 531 --six personnes à charge ou plus 8 555 - -2° Les montants du forfait, cités dans le tableau précédent, sont augmentés et arrondis au centime le -plus proche, au 1er octobre 2017 puis au 1er janvier de chaque année, jusqu'en 2022 inclus, selon la -formule suivante : - -R0 (Mayotte) N = R0 (Mayotte) N-1 + [R0 (DOM) N-1-R0 (Mayotte) N-1]/ [2022-(N-1)] - -Dans laquelle : - --“ N ” est l'année d'augmentation ; - --“ R0 (Mayotte) N ” est le forfait applicable à Mayotte pour un type de ménage donné en année “ N ” -avant revalorisation éventuelle ; - --“ R0 (Mayotte) N-1 ” est le forfait applicable à Mayotte pour ce même type de ménage à la veille de -l'augmentation ; - --“ R0 (DOM) N-1 ” est le forfait applicable en Guadeloupe, en Guyane, en Martinique, à La Réunion, à -Saint-Barthélemy et à Saint-Martin à la veille de l'augmentation ; - -3° Au 1er janvier de chaque année, il est appliqué aux montants issus de cette formule les règles de -revalorisation et d'arrondi prévues au 5° de l'article D. 823-17 du même code. - -Le tableau de l'abattement forfaitaire “ R0 ” issu des règles de revalorisation définies ci-dessus et qui -se substitue à celui de l'article 15 est le suivant : - -COMPOSITION DU FOYER MONTANT (en euros) -------------------------------------- ---------- -Personne seule sans personne à charge 4 274 -Couple sans personne à charge 6 122 -Personne seule ou couple ayant : --une personne à charge 6 990 --deux personnes à charge 7 432 --trois personnes à charge 7 854 --quatre personnes à charge 8 283 --cinq personnes à charge 8 711 --six personnes à charge ou plus 9 139 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2021-01-01| et date_courante < |2022-01-01|: - exception article_46 - # Normalement la règle suivante aurait du être une exception à l'étiquette - # "métropole". Cependant, la version de l'article 46 de l'arrêté du 27 - # septembre 2019 en vigueur du 1er janvier 2020 au 31 décembre 2020 prévoit - # également dans le cas de l'outre-mer un remplacement du de la valeur de R0 - # de l'article 15 dans le cas de une personne à charge. Pour faire exister - # cette règle plus précise valable uniquement pour Mayotte, nous la codons ici - # comme une exception au tableau de l'article 46 afin d'éviter le conflit - # entre deux règles qui s'activent en même temps. - définition abattement_forfaitaire_d823_17 sous condition - résidence sous forme Mayotte - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 4 274 € - -- Couple: 6 122 € - sinon si nombre_personnes_à_charge = 1 alors - 6 990 € - sinon si nombre_personnes_à_charge = 2 alors - 7 432 € - sinon si nombre_personnes_à_charge = 3 alors - 7 854 € - sinon si nombre_personnes_à_charge = 4 alors - 8 283 € - sinon si nombre_personnes_à_charge = 5 alors - 8 711 € - sinon # si nombre_personnes_à_charge = 6 alors - 9 139 € -``` - -NOTA : Conformément à l’article 2 de l’arrêté du 31 décembre 2020 (NOR : LOGL2028351A), ces dispositions sont -applicables pour les prestations dues à compter du 1 er janvier 2021. - -## Articles en vigueur à partir du 1er janvier 2020 - Arrêté du 3 janvier 2020 relatif au calcul des aides personnelles au logement pour l'année 2020 NOR : LOGL1934006A - -### Article 15 | LEGIARTI000041489192 [archive] - -Pour l'application du 5° de l'article D. 823-17 du même code, le forfait " R0 " est fixé selon -le tableau suivant (en euros) : - -COMPOSITION DU FOYER MONTANT (en euros) ------------------------------------------ ------------------- -Personne seule sans personne à charge 4588 -Couple sans personne à charge 6572 -Personne seule ou couple ayant : - -une personne à charge 7839 - -deux personnes à charge 8015 - -trois personnes à charge 8322 - -quatre personnes à charge 8631 - -cinq personnes à charge 8938 - -six personnes à charge 9246 - -par personne à charge supplémentaire 305 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante < |2022-01-01| et - date_courante >= |2020-01-01|: - - étiquette métropole - définition multiplicateur_majoration_r0 égal à - décimal de (nombre_personnes_à_charge - 6) - - étiquette métropole - définition abattement_forfaitaire_d823_17 égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 4 588 € - -- Couple: 6 572 € - sinon si nombre_personnes_à_charge = 1 alors - 7 839 € - sinon si nombre_personnes_à_charge = 2 alors - 8 015 € - sinon si nombre_personnes_à_charge = 3 alors - 8 322 € - sinon si nombre_personnes_à_charge = 4 alors - 8 631 € - sinon si nombre_personnes_à_charge = 5 alors - 8 938 € - sinon si nombre_personnes_à_charge = 6 alors - 9 246 € - sinon - 9 246€ + 305 € * (décimal de (nombre_personnes_à_charge - 6)) -``` - -NOTA : -Conformément à l'article 2 de l'arrêté du 3 janvier 2020 ( NOR : LOGL1934006A ), -ces dispositions sont applicables pour les prestations dues à compter -du 1er janvier 2020. - -### Article 33 | LEGIARTI000041489184 [archive] - -```catala -# Modifications non subsantielles mais qui peuvent améliorer la compréhension et -# la précision des dispositions par rapport à la version initiale. -# TODO juridique et informatique : vérifier par rapport à la version initiale -# (version 2019) -``` - -### Article 46 | LEGIARTI000041489188 [archive] - - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Mayotte, à -Saint-Barthélemy et à Saint-Martin des dispositions des chapitres III, VI et VII du présent -arrêté : - -1° La majoration pour personne à charge est limitée à 6 personnes. Les paramètres suivants -sont impactés : - -a) Les plafonds de loyers visés au 2° de l'article D. 823-16 du code de la construction et -de l'habitation , dont les valeurs sont fixées à l'article 7 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -# Cette limitation à 6 personnes à charge s'applique également aux exceptions à -# l'article 7 que sont les articles 8 et 16 de l'arrêté pour les chambres et la -# colocation. Cependant le barème chambre ne dépend pas du nombre de personnes à -# charge donc rien à faire. Par contre dans l'article 16 il faut bien appliquer -# la limitation, ce qui est fait de la manière qu'à l'article 7 via l'emploi de -# la variable "multiplicateur_majoration_plafond_loyer_d823_16_2". Ceci nous a -# été confirmé par un mail du 21/04/2023 de DGALN/DHUP/FE4 : -# "Il convient de ne pas faire de lecture trop extensive des textes, il est en -# effet factuellement impossible de loger sept ou huit personnes dans une simple -# chambre. De plus l’article 8 de l’arrêté, relatif aux chambres, précise que le -# barème applicable est identique quelle que soit la taille de la famille et est -# basé sur celui applicable à une personne isolée. -# Concernant la colocation, il convient de faire une lecture groupée de l’arrêté -# : -# - Le 1° de l’article 46 précisait que la majoration était limitée à six -# personnes à charge et selon les termes du a) cette majoration impactait les -# loyers plafonds dont les valeurs sont fixées à l’article 7 de l’arrêté. -# L’article 7 était donc applicable dans la limite de six personnes à charge -# et pas au-delà. -# - L’article 16 qui concerne la colocation précise que les loyers plafonds -# applicables représentent 75% de ceux fixés à l’article 7. -# De fait, le plafonnement applicable à la colocation (article 16) découle de -# l’article 7 et était limité à six personnes à charge par le a) du 1° de -# l’article 46." -``` - -b) Les montants forfaitaires au titre des charges visés au 3° de l'article D. 823-16, au -4° des articles D. 842-6 et D. 842-15 du même code, dont les valeurs sont fixées respectivement -aux articles 9, 34 et 40 ; - -```catala -# Le montant des valeurs de l'article 9 en outre-mer est donné explicitement -# au 3° de cet article. - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception métropole - définition multiplicateur_majoration_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 6,0 -``` - -c) Le loyer de référence " LR ", dont les valeurs sont fixées à l'article 14, intervenant -dans le calcul de " TL ", terme du taux de la participation personnelle (" Tp ") visé au 3° -de l'article D. 823-17 du même code ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception base - définition multiplicateur_majoration_loyer_référence sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 5,0 -``` - -d) Le forfait " R0 ", visé au 5° de l'article D. 823-17 du même code, dont les valeurs sont -fixées à l'article 15 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - - exception métropole - définition multiplicateur_majoration_r0 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge >= 6 - conséquence égal à 0,0 -``` - -e) Les mensualités plafonds visées à l'article D. 842-6 du même code, dont les valeurs sont -fixées à l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_limitation_dom_tom sous condition - nombre_personnes_à_charge >= 6 et - selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence égal à - calcul_plafond_mensualité_d842_6 de date_calcul, 6 -``` - -2° La valeur fixée à l'article 15 du forfait " R0 ", visé au 5° de l'article D. 823-17 du -même code, pour un ménage ayant un enfant à charge, est remplacée par " 7 584 euros " ; - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 7 584 € -``` - -3° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles D. 842-6 et D. 842-15 -du même code, dont les valeurs sont fixées aux articles 9, 34 et 40, sont remplacés par les -valeurs suivantes (en euros) : - -Désignation Toutes zones ------------------------------------------------------------------------------ ------------ -Bénéficiaire isolé ou couple sans personne à charge 36,14 -Par personne supplémentaire à charge dans la limite de six personnes à charge 9,29 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,14€ + 9,29€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,14€ + 9,29€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,14€ + 9,29€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,14€ + 9,29€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - 36,14€ + 9,29€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - 36,14€ + 9,29€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement aux articles -D. 823-18 et D. 842-10 du même code, dont les valeurs sont fixées aux articles 16 et 37, sont -remplacés par les valeurs suivantes (en euros) : - -Composition du ménage Montant ---------------------------------------------------------------------------- ------- -Bénéficiaire isolé 18,58 -Couple sans personne à charge 36,14 -Majoration par personne à charge dans la limite de six personnes à charge 9,29 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,58€ - -- Couple: 36,14€) + - 9,29€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,58€ - -- Couple: 36,14€) + - 9,29€ * 6,0 - dans - si montant > limite alors limite sinon montant - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - soit montant égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,58€ - -- Couple: 36,14€) + - 9,29€ * (décimal de nombre_personnes_à_charge) - dans - soit limite égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 18,58€ - -- Couple: 36,14€) + - 9,29€ * 6,0 - dans - si montant > limite alors limite sinon montant -``` - -4° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille de la famille -visé au 3° de l'article D. 823-17 du même code, sont remplacées par les valeurs suivantes : - -VALEURS DE TF - -Bénéficiaires TF ------------------------------------ ----- -Isolé 2,81% -Couple sans enfant 2,99% -1 enfant ou 1 personne 2,38% -2 enfants ou 2 personnes 2,17% -3 enfants ou 3 personnes 1,94% -4 enfants ou 4 personnes 1,80% -5 enfants ou 5 personnes 1,69% -6 enfants ou 6 personnes et plus 1,62% - - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2020-10-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon # si nombre_personnes_à_charge >= 6 alors - 1,62% -``` - -NOTA : Conformément à l'article 2 de l'arrêté du 3 janvier 2020 ( NOR : LOGL1934006A ), ces -dispositions sont applicables pour les prestations dues à compter du 1er janvier 2020. - -### Article 47 | LEGIARTI000041489186 [archive] - -En application de l'article 31 du décret du 24 juillet 2019 susvisé, le tableau de l'article 15 -fixant les valeurs de l'abattement forfaitaire " R0 ", visé au 5° de l'article D. 823-17 du même -code, est remplacé par le tableau suivant (en euros) : - -COMPOSITION DU FOYER MONTANT (en euros) --------------------------------------- ---------- -Personne seule sans personne à charge 4588 -Couple sans personne à charge 6572 -Personne seule ou couple ayant : --une personne à charge 7584 --deux personnes à charge 8015 --trois personnes à charge 8322 --quatre personnes à charge 8631 --cinq personnes à charge 8938 --six personnes à charge ou plus 9246 - -Les montants du forfait, cités dans le tableau précédent, sont augmentés et arrondis au centime -le plus proche, au 1er octobre 2017 puis au 1er janvier de chaque année, jusqu'en 2022 inclus, -selon la formule suivante : - -" R0 (Mayotte) N = R0 (Mayotte) N-1 + R0 (DOM) N-1 - R0 (Mayotte) N-1 / 2022 - (N - 1) " - -dans laquelle : - -- " N " est l'année d'augmentation. - -- " R0 (Mayotte) N " est le forfait applicable à Mayotte pour un type de ménage donné en année -" N " avant revalorisation éventuelle. - -- " R0 (Mayotte) N-1 " est le forfait applicable à Mayotte pour ce même type de ménage à la veille -de l'augmentation. - -- " R0 (DOM) N-1 " est le forfait applicable en Guadeloupe, en Guyane, en Martinique, à La Réunion, -à Saint-Barthélemy et à Saint-Martin à la veille de l'augmentation. - -Au 1er janvier de chaque année, il est appliqué aux montants issus de cette formule les règles de -revalorisation et d'arrondi prévues au 5° de l'article D. 823-17 du même code. - -Le tableau du forfait " R0 " issu des règles de revalorisation définies ci-dessus est le suivant : - -COMPOSITION DU FOYER MONTANT (en euros) --------------------------------------- ---------- -Personne seule sans personne à charge 3960 -Couple sans personne à charge 5673 -Personne seule ou couple ayant : --une personne à charge 6396 --deux personnes à charge 6849 --trois personnes à charge 7386 --quatre personnes à charge 7935 --cinq personnes à charge 8484 --six personnes à charge ou plus 9032 - -NOTA : Conformément à l'article 2 de l'arrêté du 3 janvier 2020 ( NOR : LOGL1934006A ), ces -dispositions sont applicables pour les prestations dues à compter du 1er janvier 2020. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2020-01-01| et date_courante < |2021-01-01|: - exception article_46 - # Normalement la règle suivante aurait du être une exception à l'étiquette - # "métropole". Cependant, la version de l'article 46 de l'arrêté du 27 - # septembre 2019 en vigueur du 1er janvier 2020 au 31 décembre 2020 prévoit - # également dans le cas de l'outre-mer un remplacement du de la valeur de R0 - # de l'article 15 dans le cas de une personne à charge. Pour faire exister - # cette règle plus précise valable uniquement pour Mayotte, nous la codons ici - # comme une exception au tableau de l'article 46 afin d'éviter le conflit - # entre deux règles qui s'activent en même temps. - définition abattement_forfaitaire_d823_17 sous condition - résidence sous forme Mayotte - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 3 960 € - -- Couple: 5 673 € - sinon si nombre_personnes_à_charge = 1 alors - 6 396 € - sinon si nombre_personnes_à_charge = 2 alors - 6 849 € - sinon si nombre_personnes_à_charge = 3 alors - 7 386 € - sinon si nombre_personnes_à_charge = 4 alors - 7 935 € - sinon si nombre_personnes_à_charge = 5 alors - 8 484 € - sinon # si nombre_personnes_à_charge = 6 alors - 9 032 € -``` diff --git a/examples/aides_logement/arrete_2019-09-27.catala_fr b/examples/aides_logement/arrete_2019-09-27.catala_fr deleted file mode 100644 index 6607610c..00000000 --- a/examples/aides_logement/arrete_2019-09-27.catala_fr +++ /dev/null @@ -1,4772 +0,0 @@ -# Arrêté du 27 septembre 2019 relatif au calcul des aides personnelles au logement et de la prime de déménagement - -## Chapitre II : Dispositions applicables aux ressources - -### Article 3 | LEGIARTI000039160731 - -L'abattement forfaitaire prévu par l'article R. 822-7 du même code est fixé à 95 euros. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -### Article 4 | LEGIARTI000039160733 - -L'abattement forfaitaire prévu par l'article R. 822-8 du même code est fixé à 2 589 euros. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -### Article 6 | LEGIARTI000046126949 - -Pour l'application de l'article D. 822-21 du même code, le montant forfaitaire auquel sont réputées -égales les ressources du bénéficiaire et, le cas échéant, de son conjoint, est fixé à 8 100 euros -pour la location et à 6 200 euros pour la résidence en logement-foyer. - -Toutefois, lorsque le demandeur est titulaire d'une bourse de l'enseignement supérieur qui n'est -pas assujettie à l'impôt sur le revenu, le montant forfaitaire de ressources est fixé à 6 500 euros -pour la location et à 5 100 euros pour la résidence en logement-foyer. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 29 juillet 2022 (NOR : TREL2220748A), -ces dispositions sont applicables pour les prestations dues à compter du 1 er juillet 2022. - -## Chapitre III : Calcul des aides personnelles au logement en secteur locatif - -### Article 7 | LEGIARTI000048109313 - -Les plafonds de loyers visés au 2° de l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ---------------------------------------------------------------------------------------------------- -Zone Personne seule Couple sans personne à charge Personne seule ou couple Par personne à - ayant une personne à charge charge supplémentaire ----- -------------- ----------------------------- --------------------------- --------------------- -I 319,30 385,09 435,24 63,15 - -II 278,28 340,62 383,28 55,79 - -III 260,82 316,17 354,51 50,81 ---------------------------------------------------------------------------------------------------- - - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala-metadata -# Dans la suite de l'arrêté, il n'est pas fait référence à la situation -# familiale dans toute sa complexité (voir énumération SituationFamiliale) -# mais uniquement à la distinction entre une personne seule, un couple et -# un nombre de personnes à charge. Pour ne pas avoir à répéter du code -# nous définissons donc cette situation familiale simplifiée ici. -déclaration énumération SituationFamilialeCalculAPL: - -- PersonneSeule - -- Couple - -champ d'application CalculAidePersonnaliséeLogement: - définition situation_familiale_calcul_apl égal à - selon situation_familiale sous forme - -- Célibataire: PersonneSeule - -- Mariés: Couple - -- Pacsés: Couple - -- Concubins: Couple - -- CélibataireSéparéDeFait: PersonneSeule - -- ConcubinageDontSéparéDeFait: Couple - -champ d'application CalculAllocationLogement: - définition situation_familiale_calcul_apl égal à - selon situation_familiale sous forme - -- Célibataire: PersonneSeule - -- Mariés: Couple - -- Pacsés: Couple - -- Concubins: Couple - -- CélibataireSéparéDeFait: PersonneSeule - -- ConcubinageDontSéparéDeFait: Couple -``` - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - - # Colonne 1 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 319,30€ - -- Zone2: 278,28€ - -- Zone3: 260,82€ - - # Colonne 2 - étiquette base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 385,09€ - --Zone2: 340,62€ - --Zone3: 316,17€ - - étiquette métropole - définition multiplicateur_majoration_plafond_loyer_d823_16_2 égal à - décimal de (nombre_personnes_à_charge - 1) - - # Colonnes 3 et 4 - étiquette base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 435,24€ + 63,15€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 383,28€ + 55,79€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 354,51€ + 50,81€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -### Article 8 | LEGIARTI000048109313 - -Dans le cas où le logement occupé est une chambre, les plafonds -de loyers visés au 2° de l'article D. 823-16 du même code sont -fixés comme suit, quelle que soit la taille de la famille (en euros) : - -- 90 % des loyers plafonds de location pour une personne isolée ; -- 75 % des loyers plafonds de location pour une personne isolée, -dans le cas des personnes âgées ou handicapées adultes hébergées -à titre onéreux chez des particuliers. - -On obtient les loyers plafonds suivants (en euros) : - -MONTANTS DES LOYERS PLAFONDS CHAMBRE EN APL ET EN AL -(arrondis au centime d'euros le plus proche) - ----------------------------------------- -Bénéficiaires Zones Montants -------------------------- ----- -------- -Cas général I 287,37 - - II 250,45 - - III 234,74 - - -Cas des personnes âgées I 239,48 -ou handicapées adultes -hébergées à titre onéreux -chez des particuliers - - II 208,71 - - III 195,62 ----------------------------------------- - - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition - date_courante >= |2023-10-01| et - logement_est_chambre: - - étiquette chambre exception base - définition plafond_loyer_d823_16_2 égal à - selon zone sous forme - -- Zone1: 287,37€ - -- Zone2: 250,45€ - -- Zone3: 234,74€ - - exception chambre définition plafond_loyer_d823_16_2 sous condition - âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - conséquence égal à - selon zone sous forme - -- Zone1: 239,48€ - -- Zone2: 208,71€ - -- Zone3: 195,62€ -``` - -### Article 9 | LEGIARTI000048109307 - -Les montants forfaitaires au titre des charges visés au 3° de -l'article D. 823-16 du même code sont fixés comme suit (en euros) : - ----------------------------------- -Désignation Toutes zones ---------------------- ------------ -Bénéficiaire isolé ou 58,08 -couple sans personne -à charge - -Par personne 13,17 -supplémentaire -à charge ----------------------------------- - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - - étiquette métropole - définition multiplicateur_majoration_charges_d823_16 égal à - décimal de nombre_personnes_à_charge - - étiquette base_métropole - définition montant_forfaitaire_charges_d823_16 égal à - 58,08€ + 13,17€ * multiplicateur_majoration_charges_d823_16 -``` - -### Article 10 | LEGIARTI000039160745 - -Les coefficients appliqués au plafond de loyer prévu par l'article -D. 823-16 du même code, permettant de déterminer les premier et second -plafonds de loyer mentionnés au même article, sont établis selon le tableau -comme suit : - ------------------------------------------------------ -ZONE PREMIER PLAFOND DE LOYER SECOND PLAFOND DE LOYER ----- ------------------------ ----------------------- -I 3,4 4 - -II 2,5 3,1 - -III 2,5 3,1 ------------------------------------------------------ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition plafond_dégressivité_d823_16 égal à - selon zone sous forme - -- Zone1: plafond_loyer_d823_16_2 * 3,4 - -- Zone2: plafond_loyer_d823_16_2 * 2,5 - -- Zone3: plafond_loyer_d823_16_2 * 2,5 - - définition plafond_suppression_d823_16 égal à - selon zone sous forme - -- Zone1: plafond_loyer_d823_16_2 * 4,0 - -- Zone2: plafond_loyer_d823_16_2 * 3,1 - -- Zone3: plafond_loyer_d823_16_2 * 3,1 -``` - - -### Article 11 | LEGIARTI000039160747 - -Le montant de minoration forfaitaire prévu au 9e alinéa de l'article D. 823-16 -du même code est fixé à 5 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d823_16 égal à 5 € -``` - -### Article 12 | LEGIARTI000039160749 - -Le seuil de versement prévu au dernier alinéa de l'article D. 823-16 du même code, -avant application de la contribution pour le remboursement de la dette sociale, -est fixé à 10 euros pour les allocations de logement et à 0 euro pour l'aide -personnalisée au logement. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_minimal_aide_d823_16 égal à - selon type_aide sous forme - -- AidePersonnaliséeLogement: 0 € - -- TypeAidesPersonnelleLogement.AllocationLogementFamiliale: 10 € - -- TypeAidesPersonnelleLogement.AllocationLogementSociale: 10 € -``` - -### Article 13 | LEGIARTI000048109304 - -La participation minimale P0 définie au 2° de l'article D. 823-17 du même code est -égale à la plus élevée des deux valeurs suivantes : 8,5 % de la somme du loyer éligible -défini au 2° de l'article D. 823-16 du même code et du forfait charge ou 37,91 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - définition participation_minimale égal à - si - (loyer_éligible + montant_forfaitaire_charges_d823_16) - * 8,5% >= 37,91 € - alors - (loyer_éligible + montant_forfaitaire_charges_d823_16) * 8,5% - sinon - 37,91 € -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -### Article 14 | LEGIARTI000048109301 - -Pour l'application de l'article D. 823-17 du même code, le taux de participation -personnelle Tp du ménage, exprimé en pourcentage, est calculé selon la formule suivante : - -$$\textrm{Tp} = \textrm{TF} + \textrm{TL}$$ - -dans laquelle : - -1° TF représente un taux fonction de la taille de la famille donné par le tableau suivant : - - -VALEURS DE TF - -Bénéficiaires TF ----------------------------------------------------- ------ -Isolé 2,83 % -Couple sans personne à charge 3,15 % -Personne seule ou couple ayant: -une personne à charge 2,70 % -2 personnes à charge 2,38 % -3 personnes à charge 2,01 % -4 personnes à charge 1,85 % -5 personnes à charge 1,79 % -6 personnes à charge 1,73 % -Majoration par personne à charge supplémentaire -0,06 % - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - étiquette base définition taux_composition_familiale égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,83% - -- Couple: 3,15% - sinon si nombre_personnes_à_charge = 1 alors - 2,70% - sinon si nombre_personnes_à_charge = 2 alors - 2,38% - sinon si nombre_personnes_à_charge = 3 alors - 2,01% - sinon si nombre_personnes_à_charge = 4 alors - 1,85% - sinon si nombre_personnes_à_charge = 5 alors - 1,79% - sinon si nombre_personnes_à_charge = 6 alors - 1,73% - sinon - 1,73% - (0,06% * (décimal de - (nombre_personnes_à_charge - 6))) -``` - -2° TL représente un taux complémentaire fixé ci-dessous en fonction de la valeur du rapport -RL entre le loyer retenu dans la limite du plafond L et un loyer de référence LR : $\textrm{RL} = \textrm{L} / \textrm{LR}$. - -RL est exprimé en pourcentage et arrondi à la deuxième décimale. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - définition rapport_loyers égal à - arrondi de ((loyer_éligible / loyer_référence) * 100,0) / 100,0 -``` - -Pour la détermination de TL , les taux progressifs et les tranches successives de RL mentionnés -au 3° de l'article D. 823-17 du même code sont fixés comme suit : - -- 0 % pour la tranche de RL inférieure à 45 % ; - -- 0,45 % pour la tranche de RL entre 45 % et 75 % ; - -- 0,68 % pour la tranche de RL supérieure à 75 %. - -TL est exprimé en pourcentage et arrondi à la troisième décimale. -Le tableau suivant traduit cette formule : - -Si $\textrm{RL}<45\%$ Si $45\% < \textrm{RL} < 75\%$ Si $\textrm{RL} >75 \%$ ---------------------- ---------------------------------------------- --------------------------------------------------------------- -$\textrm{TL}=0 \%$ $\textrm{TL}=0,45 \%\times (\textrm{RL}-45\%)$ $\textrm{TL}=0,45\%\times30 \%+0,68 \%\times(\textrm{RL}-75\%)$ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - # Ici on choisit de mettre des >= pour inclure le résultat sur la crête - # dans la case de droite ; nous avons bien vérifié que sur la crête le - # résultat est le même à gauche et à droite. - définition taux_loyer_éligible état formule égal à - si rapport_loyers < 45% alors 0% sinon ( - si rapport_loyers >= 45% et rapport_loyers < 75% alors - 0,45% * (rapport_loyers - 45%) - sinon (si rapport_loyers >= 75% alors - 0,45% * 30% + 0,68% * (rapport_loyers - 75%) - sinon 0,0)) - définition taux_loyer_éligible état taux_arrondi égal à - # La troisième décimale en pourcentage est en fait la cinquième décimale - (arrondi de (taux_loyer_éligible * 100000,0)) / 100000,0 -``` - -Le loyer de référence LR est défini selon le tableau suivant (en euros) : - -Composition du ménage Montant ----------------------------------------------------- -------- -Bénéficiaire isolé 278,28 -Couple sans personne à charge 340,62 -Personne seule ou couple ayant une personne à charge 383,28 -Majoration par personne à charge 55,79 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - - étiquette base - définition multiplicateur_majoration_loyer_référence égal à - décimal de (nombre_personnes_à_charge - 1) - - définition loyer_référence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 278,28€ - -- Couple: 340,62€ - sinon 383,28€ + 55,79€ * multiplicateur_majoration_loyer_référence -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -### Article 15 | LEGIARTI000046834762 - -Pour l'application du 5° de l'article D. 823-17 du même code, le forfait " R0 " est fixé selon -le tableau suivant (en euros) : - -Composition du foyer MONTANT (en euros) ------------------------------------------ ------------------- -Personne seule sans personne à charge 4 949 -Couple sans personne à charge 7 090 -Personne seule ou couple ayant : - -une personne à charge 8 456 - -deux personnes à charge 8 646 - -trois personnes à charge 8 977 - -quatre personnes à charge 9 311 - -cinq personnes à charge 9 642 - -six personnes à charge 9 975 - -par personne à charge supplémentaire 328 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-01-01|: - - étiquette métropole - définition multiplicateur_majoration_r0 égal à - décimal de (nombre_personnes_à_charge - 6) - - étiquette métropole - définition abattement_forfaitaire_d823_17 égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 4 949 € - -- Couple: 7 090 € - sinon si nombre_personnes_à_charge = 1 alors - 8 456 € - sinon si nombre_personnes_à_charge = 2 alors - 8 646 € - sinon si nombre_personnes_à_charge = 3 alors - 8 977 € - sinon si nombre_personnes_à_charge = 4 alors - 9 311 € - sinon si nombre_personnes_à_charge = 5 alors - 9 642 € - sinon si nombre_personnes_à_charge = 6 alors - 9 975 € - sinon - 9 975€ + 328 € * multiplicateur_majoration_r0 -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 26 décembre 2022 (NOR : TREL2226772A), -ces dispositions sont applicables pour les prestations dues à compter du -1er janvier 2023. - -### Article 16 | LEGIARTI000048109298 - -Dans le cas des colocataires prévus à l'article D. 823-18 du même code : - -1° Les plafonds de loyers sont fixés à 75 % des plafonds de loyers définis au 2° de l'article -D. 823-16 du même code et fixés à l'article 7. - -Les montants obtenus par l'application de ces pourcentages sont arrondis au centime d'euro le plus proche. -On obtient les loyers plafonds suivants (en euros) : - --------------------------------------------------------- -Zone I II III ----------------------------------- ------- ------ ------ -Personne seule 239,48 208,71 195,62 - -Couple sans personne à charge 288,82 255,47 237,13 - -Personne seule ou couple ayant une -personne à charge 326,43 287,46 265,88 - -Par personne à -charge supplémentaire 47,36 41,84 38,11 --------------------------------------------------------- - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01| et colocation: - - # Ici l'exception est rapportée au cas de base puisqu'on suppose - # qu'on ne peut pas être en colocation dans un logement constitué - # d'une seule chambre. - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme PersonneSeule) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - -- Zone1: 239,48€ - -- Zone2: 208,71€ - -- Zone3: 195,62€ - - exception base définition plafond_loyer_d823_16_2 sous condition - (situation_familiale_calcul_apl sous forme Couple) et - nombre_personnes_à_charge = 0 - conséquence égal à - selon zone sous forme - --Zone1: 288,82€ - --Zone2: 255,47€ - --Zone3: 237,13€ - - exception base définition plafond_loyer_d823_16_2 sous condition - nombre_personnes_à_charge >= 1 - conséquence égal à - selon zone sous forme - --Zone1: - 326,43€ + 47,36€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone2: - 287,46€ + 41,84€ * multiplicateur_majoration_plafond_loyer_d823_16_2 - --Zone3: - 265,88€ + 38,11€ * multiplicateur_majoration_plafond_loyer_d823_16_2 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 29,03 -Couple sans personne à charge 58,08 -Majoration par personne à charge 13,17 - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01| et colocation: - étiquette colocation_métropole - exception base_outre_mer - définition montant_forfaitaire_charges_d823_16 égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 29,03€ - -- Couple: 58,08€) + - 13,17€ * multiplicateur_majoration_charges_d823_16 -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -## Chapitre IV : Calcul de l'aide personnalisée au logement en secteur accession - -### Article 17 | LEGIARTI000039160759 - -Pour l'application du 3° de l'article D. 832-10 du même code, les mensualités plafonds pour -les logements occupés par leur propriétaire, et financés par les prêts mentionnés au 1° de -l'article R. 832-5 du même code sont fixées, comme suit compte tenu de la date de signature -du contrat de prêt figurant sur le certificat daté prévu au 1° du I de l'article D. 832-12 du même code : - -```catala -# L'article R. 832-5 distingue les prêts régis par D331-32 et ceux régis par -# D331-63 et D331-64. Dans cet article 17, nous parlons bien des prêts régis -# par D331-32. -``` - -1° Lorsque la date de signature du contrat de prêt est intervenue après le 30 juin 1992 - -a) Logements neufs construits ou acquis par l'accédant à la propriété (en francs) : - -DÉSIGNATION ZONE I ZONE II ZONE III --------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 2 085 1 860 1 736 -Couple sans personne à charge 2 515 2 239 2 082 -Bénéficiaire isolé ou couple ayant une personne à charge 2 945 2 618 2 428 -Par personne supplémentaire à charge 430 379 346 - -```catala -# Ici les montants des mensualités sont en francs car signées avant -# l'avènement de l'euro mais pour le calcul des APL en euros il faut -# que la mensualité plafond soit exprimée en euros. Donc nous convertissons. -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_signature_prêt >= |1992-06-30| et - date_signature_prêt < |1994-11-27| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_32 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2085 € - -- Couple: 2515€) - sinon (2945 € + - 430€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1860 € - -- Couple: 2239€) - sinon (2618 € + - 379€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1736 € - -- Couple: 2082€) - sinon (2428 € + - 356€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros -``` - -b) Logements agrandis ou aménagés à partir de locaux non destinés à l'habitation ou acquis et améliorés (en francs) : - -DÉSIGNATION ZONE I ZONE II ZONE III --------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 1 678 1 496 1 397 -Couple sans personne à charge 2 025 1 801 1 676 -Bénéficiaire isolé ou couple ayant une personne à charge 2 372 2 106 1 955 -Par personne supplémentaire à charge 347 305 279 - - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_signature_prêt >= |1992-06-30| et - date_signature_prêt < |1994-11-27| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_32 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1678 € - -- Couple: 2025€) - sinon (2372 € + - 347€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1496 € - -- Couple: 1801€) - sinon (2106 € + - 305€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1397 € - -- Couple: 1676€) - sinon (1955 € + - 279€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros -``` - -2° Lorsque la date de signature du contrat de prêt est intervenue après le 27 novembre 1994 : - -a) Logements neufs construits ou acquis par l'accédant à la propriété (en francs) : - -DÉSIGNATION ZONE I ZONE II ZONE III --------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 1 840 1 642 1 532 -Couple sans personne à charge 2 220 1 977 1 837 -Bénéficiaire isolé ou couple ayant une personne à charge 2 600 2 312 2 142 -Par personne supplémentaire à charge 380 335 305 - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_signature_prêt >= |1994-11-27| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_32 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1840 € - -- Couple: 2200€) - sinon (2600 € + - 380€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1642 € - -- Couple: 1977€) - sinon (2312 € + - 335€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1532 € - -- Couple: 1837€) - sinon (2142 € + - 305€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros -``` - -b) Logements agrandis ou aménagés à partir de locaux non destinés à l'habitation ou logements existants -acquis et améliorés (en francs) : - -DÉSIGNATION ZONE I ZONE II ZONE III --------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 1 481 1 320 1 233 -Couple sans personne à charge 1 787 1 589 1 479 -Bénéficiaire isolé ou couple ayant une personne à charge 2 093 1 858 1 725 -Par personne supplémentaire à charge 306 269 246 - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_signature_prêt >= |1994-11-27| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_32 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1481 € - -- Couple: 1787€) - sinon (2093 € + - 306€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1320 € - -- Couple: 1589€) - sinon (1858 € + - 269€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1233 € - -- Couple: 1479€) - sinon (1725 € + - 246€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros -``` - -### Article 18 | LEGIARTI000046834759 - -Pour l'application du 3° de l'article D. 832-10, les mensualités plafonds pour -les logements occupés par leur propriétaire, et financés par les prêts mentionnés -au 2° de l'article R. 832-5, sont fixées comme suit compte tenu de la date de -signature du contrat de prêt figurant sur le certificat daté prévu au 1° du I -de l'article D. 832-12 : - -1° Lorsque la date de signature du contrat de prêt est -intervenue après le 30 juin 1992 : - -Logements améliorés par leur propriétaire -occupant (en francs) : - -DÉSIGNATION TOUTES ZONES --------------------------------------------------------- ------------ -Bénéficiaire isolé 869 -Couple sans personne à charge 971 -Bénéficiaire isolé ou couple ayant une personne à charge 1 073 -Par personne supplémentaire à charge 102 - - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - exception petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2023-01-01| et - date_signature_prêt >= |1992-06-30| et - date_signature_prêt <= |1994-11-27| et - # La borne supérieure de la date de signature du prêt est implicite dans - # la rédaction actuelle mais confirmée par un mail de DGALN/DHUP/FE4 le - # 19/01/2023: "sur l'article 18, la nouvelle rédaction reprend l'ancienne : - # dans l'ancienne, nous avions un 1° qui prévoyait, à partir du 30/06/1992, - # un a), un b) et un c). Le 2° prévoyait à partir du 27/11/1994 un a) et - # un b). Le c) n'était plus mentionné, ce qui est également le cas à - # présent". Les anciennes et nouvelles version font référence aux - # changements introduits par l’arrêté du 26 décembre 2022. - (selon ancienneté_logement sous forme - -- Ancien de amélioré_par_occupant: - amélioré_par_occupant sous forme AmélioréParOccupant.Oui - -- Neuf: faux) et - type_prêt sous forme D331_63_64 - conséquence égal à - (si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 869 € - -- Couple: 971€) - sinon (1073 € + - 102€ * (décimal de (nombre_personnes_à_charge - 1)))) - * taux_francs_vers_euros -``` - -2° Pour, d'une part, les logements neufs construits ou acquis par l'accédant -à la propriété et, d'autre part, les logements agrandis ou aménagés à -partir de locaux non destinés à l'habitation ou les logements existants -acquis et, le cas échéant, améliorés : - ------------ ---- -------------------- ----------- --------------- -------------- ---------------------- ----------- --------------- -------------- - logements neufs logements agrandis - construits ou acquis ou aménagés à partir - par l'accédant à de locaux non destinés - la propriété à l'habitation ou - logements existants - acquis et, le cas - échéant, améliorés - - isolé isolé ou - ou couple couple - -Date de Zone isolé couple sans avec 1 personne par personne isolé couple sans avec 1 personne par personne -signature personne à charge à charge personne à à charge à charge -du contrat à charge supplémentaire charge supplémentaire -de prêt - -entre le I 2 085 2 515 2 945 430 1 678 2 025 2 372 347 -01/07/92 et -le 27/11/94 -(en francs) - - II 1 860 2 239 2 618 379 1 496 1 801 2 106 305 - - III 1 736 2 082 2 428 346 1 397 1 676 1 955 279 - -entre le I 1 981 2 390 2 799 409 1 595 1 925 2 255 330 -28/11/94 -et le -30/06/00 -(en -francs) - - II 1 768 2 128 2 488 360 1 422 1 712 2 002 290 - - III 1 650 1 979 2 308 329 1 328 1 593 1 858 265 - -entre le I 2 001 2 414 2 827 413 1 611 1 944 2 277 333 -01/07/00 -et le -30/06/01 -(en francs) - - II 1 786 2 150 2 514 364 1 436 1 729 2 022 293 - - III 1 667 1 999 2 331 332 1341 1 609 1 877 268 - -entre le I 2 025 2 443 2 861 418 1 630 1 967 2 304 337 -01/07/01 -et le -31/12/01 -(en francs) - - II 1 807 2 175 2 543 368 1 453 1 750 2 047 297 - - III 1 687 2 023 2 359 336 1 357 1 628 1 899 271 - -entre le I 308,71 372,43 436,15 63,72 248,49 299,87 351,25 51,38 -01/01/02 -et le -30/06/02 -(en euros) - - II 275,48 331,58 387,68 56,10 221,51 266,79 312,07 45,28 - - III 257,18 308,40 359,62 51,22 206,87 248,18 289,49 41,31 - -entre le I 312,41 376,89 441,37 64,48 251,47 303,47 355,47 52,00 -01/07/02 -et le -30/06/03 -(en euros) - - II 278,79 335,56 392,33 56,77 224,17 269,99 315,81 45,82 - III 260,27 312,10 363,93 51,83 209,35 251,16 292,97 41,81 - -entre le I 316,16 381,41 446,66 65,25 254,49 307,11 359,73 52,62 -01/07/03 -et le -31/08/05 -(en euros) - - II 282,14 339,59 397,04 57,45 226,86 273,23 319,60 46,37 - - III 263,39 315,84 368,29 52,45 211,86 254,17 296,48 42,31 - -entre le I 321,85 388,27 454,69 66,42 259,07 312,64 366,21 53,57 -01/09/05 -et le -31/12/06 -(en euros) - - II 287,22 345,70 404,18 58,48 230,94 278,14 325,34 47,20 - - III 268,13 321,52 374,91 53,39 215,67 258,74 301,81 43,07 - -entre le I 330,86 399,14 467,42 68,28 266,32 321,39 376,46 55,07 -01/01/07 -et le -31/12/07 -(en euros) - - II 295,26 355,38 415,50 60,12 237,41 285,93 334,45 48,52 - - III 275,64 330,52 385,41 54,88 221,71 265,98 310,26 44,28 - -entre le I 339,99 410,16 480,32 70,16 273,67 330,26 386,85 56,59 -01/01/08 -et le -31/12/08 -(en euros) - - II 303,41 365,19 426,97 61,78 243,96 293,82 343,68 49,86 - - III 283,25 339,64 396,05 56,39 227,83 273,32 318,82 45,50 - -entre le I 350,02 422,26 494,49 72,23 281,74 340,00 398,26 58,26 -01/01/09 -et le -31/12/09 -(en euros) - - II 312,36 375,96 439,57 63,60 251,16 302,49 353,82 51,33 - - III 291,61 349,66 407,73 58,05 234,55 281,38 328,23 46,84 - -entre le I 351,14 423,61 496,07 72,46 282,64 341,09 399,53 58,45 -01/01/10 -et le -31/12/10 -(en euros) - - II 313,36 377,16 440,98 63,80 251,96 303,46 354,95 51,49 - - III 292,54 350,78 409,03 58,24 235,30 282,28 329,28 46,99 - -entre le I 355,00 428,27 501,53 73,26 285,75 344,84 403,92 59,09 -01/01/11 -et le -31/12/11 -(en euros) - - II 316,81 381,31 445,83 64,50 254,73 306,80 358,85 52,06 - - III 295,76 354,64 413,53 58,88 237,89 285,39 332,90 47,51 - -entre le I 358,55 432,55 506,55 73,99 288,61 348,29 407,96 59,68 -01/01/12 -et le -31/12/12 -(en euros) - - II 319,98 385,12 450,29 65,15 257,28 309,87 362,44 52,58 - - III 298,72 358,19 417,67 59,47 240,27 288,24 336,23 47,99 - -entre le I 366,26 441,85 517,44 75,58 294,82 355,78 416,73 60,96 -01/01/13 -et le -30/09/14 -(en euros) - - II 326,86 393,40 459,97 66,55 262,81 316,53 370,23 53,71 - - III 305,14 365,89 426,65 60,75 245,44 294,44 343,46 49,02 - -entre le I 368,35 444,37 520,39 76,01 296,50 357,81 419,11 61,31 -01/10/14 -et le -30/09/15 -(en euros) - - II 328,72 395,64 462,59 66,93 264,31 318,33 372,34 54,02 - - III 306,88 367,98 429,08 61,10 246,84 296,12 345,42 49,30 - -entre le I 368,64 444,73 520,81 76,07 296,74 358,10 419,45 61,36 -01/10/15 -et le -30/09/17 -(en euros) - - II 328,98 395,96 462,96 66,98 264,52 318,58 372,64 54,06 - - III 307,13 368,27 429,42 61,15 247,04 296,36 345,7 4 9,34 - -entre le I 371,40 448,07 524,72 76,64 298,97 360,79 422,60 61,82 -01/10/17 -et le -30/09/19 -(en euros) - - II 331,45 398,93 466,43 67,48 266,50 320,97 375,43 54,47 - - III 309,43 371,03 432,64 61,61 248,89 298,58 348,29 49,71 - -à partir I 372,52 449,41 526,29 76,87 299,86 361,87 423,86 62,01 -du -01/10/19 -(en euros) - - II 332,44 400,13 467,83 67,68 267,30 321,93 376,56 54,63 - - III 310,36 372,15 433,94 61,79 249,64 299,48 349,34 49,86 ------------ ---- -------------------- ----------- --------------- -------------- ---------------------- ----------- --------------- -------------- - -NOTA : - -Conformément à l’article 3 de l’arrêté du 26 décembre 2022 (NOR : TREL2226772A), -ces dispositions sont applicables pour les prestations dues à compter du 1er janvier 2023. - -```catala -# Cette version du décret ainsi que la précédente introduite par l'arrêté du 29 -# juillet 2022 ne changent pas les valeurs utilisées pour le calcul du plafond -# de mensualité en vigueur depuis le 1er octobre 2020. Les tableaux de cet -# article ont d'abord subit une correction d'erreurs factuelles, puis une -# réorganisation sans changement des valeurs de calcul. -``` - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |1992-06-30| et - date_signature_prêt < |1994-11-27| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2085 € - -- Couple: 2515€) - sinon (2945 € + - 430€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1860 € - -- Couple: 2239€) - sinon (2618 € + - 379€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1736 € - -- Couple: 2082€) - sinon (2428 € + - 346€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |1992-06-30| et - date_signature_prêt < |1994-11-27| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1678 € - -- Couple: 2025€) - sinon (2372 € + - 347€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1496 € - -- Couple: 1801€) - sinon (2106 € + - 305€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1397 € - -- Couple: 1676 €) - sinon (1955 € + - 279€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |1994-11-27| et - date_signature_prêt < |2000-06-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1981 € - -- Couple: 2390€) - sinon (2799 € + - 409€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1768 € - -- Couple: 2128€) - sinon (2488 € + - 360€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1650 € - -- Couple: 1979€) - sinon (2308 € + - 329€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |1994-11-27| et - date_signature_prêt < |2000-06-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1595 € - -- Couple: 1925€) - sinon (2255 € + - 330€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1422 € - -- Couple: 1712€) - sinon (2002 € + - 290€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1328 € - -- Couple: 1593€) - sinon (1858 € + - 265€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2000-06-30| et - date_signature_prêt <= |2001-06-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2001 € - -- Couple: 1414€) - sinon (1827 € + - 413€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1786 € - -- Couple: 2150€) - sinon (2514 € + - 364€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1667 € - -- Couple: 1999€) - sinon (2331 € + - 332€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2000-06-30| et - date_signature_prêt <= |2001-06-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1611 € - -- Couple: 1944€) - sinon (2277 € + - 333€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1436 € - -- Couple: 1729€) - sinon (2022 € + - 293€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1341 € - -- Couple: 1609€) - sinon (1877 € + - 268€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2001-07-01| et - date_signature_prêt < |2001-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2025 € - -- Couple: 2443€) - sinon (2861 € + - 418€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1807 € - -- Couple: 2175€) - sinon (2543 € + - 368€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1687 € - -- Couple: 2023€) - sinon (2359 € + - 336€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2002-01-01| et - date_signature_prêt < |2002-06-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 308,71€ - -- Couple: 372,43€) - sinon (436,15€ + - 63,72€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 275,48€ - -- Couple: 331,48€) - sinon (387,68€ + - 56,1€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 257,18€ - -- Couple: 308,4€) - sinon (359,62€ + - 51,22€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2001-07-01| et - date_signature_prêt < |2001-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1630€ - -- Couple: 1967€) - sinon (2304€ + - 337€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1453€ - -- Couple: 1750€) - sinon (2047€ + - 297€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1357€ - -- Couple: 1628€) - sinon (1899€ + - 271€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) * taux_francs_vers_euros - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2002-01-01| et - date_signature_prêt < |2002-06-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 248,49€ - -- Couple: 299,87€) - sinon (351,25€ + - 51,38€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 221,51€ - -- Couple: 266,79€) - sinon (312,07€ + - 45,28€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 206,87€ - -- Couple: 248,18€) - sinon (289,49€ + - 41,31€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2002-06-30| et - date_signature_prêt < |2003-06-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 312,41€ - -- Couple: 376,89€) - sinon (441,37€ + - 64,48€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 278,79€ - -- Couple: 335,56€) - sinon (392,33€ + - 56,77€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 260,27€ - -- Couple: 312,1€) - sinon (363,93€ + - 51,83€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2002-06-30| et - date_signature_prêt < |2003-06-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 251,47€ - -- Couple: 303,47€) - sinon (355,47€ + - 52€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 224,17€ - -- Couple: 269,99€) - sinon (315,81€ + - 45,82€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 209,35€ - -- Couple: 251,16€) - sinon (292,97€ + - 41,81€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2003-06-30| et - date_signature_prêt < |2005-08-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 316,16€ - -- Couple: 381,41€) - sinon (446,66€ + - 65,25€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 282,14€ - -- Couple: 339,59€) - sinon (397,04€ + - 57,45€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 263,39€ - -- Couple: 315,84€) - sinon (368,29€ + - 52,45€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2003-06-30| et - date_signature_prêt < |2005-08-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 254,49€ - -- Couple: 307,11€) - sinon (359,73€ + - 52,62€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 226,86€ - -- Couple: 273,23€) - sinon (319,6€ + - 46,37€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 211,86€ - -- Couple: 254,17€) - sinon (296,48€ + - 42,31€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2005-08-31| et - date_signature_prêt < |2006-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 321,85€ - -- Couple: 388,27€) - sinon (454,69€ + - 66,42€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 287,22€ - -- Couple: 345,7€) - sinon (404,18€ + - 58,48€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 268,13€ - -- Couple: 321,52€) - sinon (374,91€ + - 53,39€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2005-08-31| et - date_signature_prêt < |2006-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 259,07€ - -- Couple: 312,64€) - sinon (366,21€ + - 53,57€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 230,94€ - -- Couple: 278,14€) - sinon (325,34€ + - 47,2€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 215,67€ - -- Couple: 258,74€) - sinon (301,81€ + - 43,07€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2006-12-31| et - date_signature_prêt < |2007-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 330,86€ - -- Couple: 399,14€) - sinon (467,42€ + - 68,28€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 295,26€ - -- Couple: 355,38€) - sinon (415,5€ + - 60,12€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 275,64€ - -- Couple: 330,52€) - sinon (385,41€ + - 54,88€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2006-12-31| et - date_signature_prêt < |2007-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 266,32€ - -- Couple: 321,39€) - sinon (376,46€ + - 55,07€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 237,41€ - -- Couple: 285,93€) - sinon (334,45€ + - 48,52€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 221,71€ - -- Couple: 365,98€) - sinon (310,26€ + - 44,28€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2007-12-31| et - date_signature_prêt < |2008-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 339,99€ - -- Couple: 410,16€) - sinon (480,32€ + - 70,16€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 303,41€ - -- Couple: 365,19€) - sinon (426,97€ + - 61,78€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 283,25€ - -- Couple: 339,64€) - sinon (396,05€ + - 56,39€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2007-12-31| et - date_signature_prêt < |2008-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 273,67€ - -- Couple: 330,26€) - sinon (386,85€ + - 56,59€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 243,96€ - -- Couple: 293,82€) - sinon (343,68€ + - 49,86€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 227,83€ - -- Couple: 273,32€) - sinon (318,82€ + - 45,5€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2008-12-31| et - date_signature_prêt < |2009-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 350,02€ - -- Couple: 422,26€) - sinon (494,49€ + - 72,23€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 312,36€ - -- Couple: 375,96€) - sinon (439,57€ + - 63,6€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 291,61€ - -- Couple: 349,66€) - sinon (407,73€ + - 58,05€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2008-12-31| et - date_signature_prêt < |2009-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 281,74€ - -- Couple: 340€) - sinon (398,26€ + - 58,26€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 251,16€ - -- Couple: 302,49€) - sinon (353,82€ + - 51,33€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 234,55€ - -- Couple: 281,38€) - sinon (328,23€ + - 46,84€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2009-12-31| et - date_signature_prêt < |2010-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 351,14€ - -- Couple: 423,61€) - sinon (496,07€ + - 72,46€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 313,36€ - -- Couple: 377,16€) - sinon (440,98€ + - 63,8€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 292,54€ - -- Couple: 350,78€) - sinon (409,03€ + - 58,24€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2009-12-31| et - date_signature_prêt < |2010-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 282,64€ - -- Couple: 341,09€) - sinon (399,53€ + - 58,45€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 251,96€ - -- Couple: 303,46€) - sinon (354,95€ + - 51,49€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 235,3€ - -- Couple: 282,28€) - sinon (329,28€ + - 46,99€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2010-12-31| et - date_signature_prêt < |2011-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 355€ - -- Couple: 428,27€) - sinon (501,53€ + - 73,26€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 316,81€ - -- Couple: 381,31€) - sinon (445,83€ + - 64,5€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 295,76€ - -- Couple: 354,64€) - sinon (413,53€ + - 58,88€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2010-12-31| et - date_signature_prêt < |2011-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 285,75€ - -- Couple: 344,84€) - sinon (403,92€ + - 59,09€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 254,73€ - -- Couple: 306,8€) - sinon (358,85€ + - 52,06€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 237,89€ - -- Couple: 285,39€) - sinon (332,9€ + - 47,51€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2011-12-31| et - date_signature_prêt < |2012-12-31| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 358,55€ - -- Couple: 432,55€) - sinon (506,55€ + - 73,99€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 319,98€ - -- Couple: 385,12€) - sinon (450,29€ + - 65,15€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 298,72€ - -- Couple: 358,19€) - sinon (417,67€ + - 59,47€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2011-12-31| et - date_signature_prêt < |2012-12-31| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 288,61€ - -- Couple: 348,29€) - sinon (407,96€ + - 59,68€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 257,28€ - -- Couple: 309,87€) - sinon (362,44€ + - 52,58€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 240,27€ - -- Couple: 288,24€) - sinon (336,23€ + - 47,99€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2012-12-31| et - date_signature_prêt < |2014-09-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 366,26€ - -- Couple: 441,85€) - sinon (517,44€ + - 75,58€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 326,86€ - -- Couple: 393,4€) - sinon (459,97€ + - 66,55€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 305,14€ - -- Couple: 365,89€) - sinon (426,65€ + - 60,75€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2012-12-31| et - date_signature_prêt < |2014-09-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 294,82€ - -- Couple: 355,78€) - sinon (416,73€ + - 60,96€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 262,81€ - -- Couple: 316,53€) - sinon (370,23€ + - 53,71€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 245,44€ - -- Couple: 294,44€) - sinon (343,46€ + - 49,02€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2014-09-30| et - date_signature_prêt < |2015-09-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 368,35€ - -- Couple: 444,37€) - sinon (520,39€ + - 76,01€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 328,72€ - -- Couple: 395,64€) - sinon (462,59€ + - 66,93€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 306,88€ - -- Couple: 367,98€) - sinon (429,08€ + - 61,1€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2014-09-30| et - date_signature_prêt < |2015-09-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 296,5€ - -- Couple: 357,81€) - sinon (419,11€ + - 61,31€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 264,31€ - -- Couple: 318,33€) - sinon (372,34€ + - 54,02€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 246,84€ - -- Couple: 296,12€) - sinon (345,42€ + - 49,3€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2015-09-30| et - date_signature_prêt < |2017-09-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 368,64€ - -- Couple: 444,73€) - sinon (520,81€ + - 76,07€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 328,98€ - -- Couple: 395,96€) - sinon (462,96€ + - 66,98€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 307,13€ - -- Couple: 368,27€) - sinon (429,42€ + - 61,15€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2015-09-30| et - date_signature_prêt < |2017-09-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 296,74€ - -- Couple: 358,1€) - sinon (419,45€ + - 61,36€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 264,52€ - -- Couple: 318,58€) - sinon (372,64€ + - 54,06€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 247,04€ - -- Couple: 296,36€) - sinon (345,7€ + - 49,34€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2017-09-30| et - date_signature_prêt < |2019-09-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 371,4€ - -- Couple: 448,07€) - sinon (524,72€ + - 76,64€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 331,45€ - -- Couple: 398,93€) - sinon (466,43€ + - 67,48€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 309,43€ - -- Couple: 371,03€) - sinon (432,64€ + - 61,61€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2017-09-30| et - date_signature_prêt < |2019-09-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 298,97€ - -- Couple: 360,79€) - sinon (422,6€ + - 61,82€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 266,5€ - -- Couple: 320,97€) - sinon (375,43€ + - 54,47€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 248,89€ - -- Couple: 298,58€) - sinon (348,29€ + - 49,71€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2019-09-30| et - ancienneté_logement sous forme Neuf et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 372,52€ - -- Couple: 449,41€) - sinon (526,29€ + - 76,87€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 332,44€ - -- Couple: 400,13€) - sinon (467,83€ + - 67,68€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 310,36€ - -- Couple: 372,15€) - sinon (433,94€ + - 61,79€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) - - étiquette petit_2 - définition calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - sous condition - date_courante >= |2020-10-01| et - date_signature_prêt >= |2019-09-30| et - ancienneté_logement sous forme Ancien et - type_prêt sous forme D331_63_64 - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 299,86€ - -- Couple: 361,87€) - sinon (423,86€ + - 62,01€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 267,30€ - -- Couple: 321,93€) - sinon (376,56€ + - 54,63€ * (décimal de (nombre_personnes_à_charge - 1)))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 249,64€ - -- Couple: 299,48€) - sinon (349,34€ + - 49,86€ * (décimal de (nombre_personnes_à_charge - 1)))) - ) -``` - - -### Article 19 | LEGIARTI000048109293 - -Pour l'application du 4° de l'article D. 832-10 du code de la construction et -de l'habitation , le montant forfaitaire des charges est fixé comme suit -(en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 58,08 -Par personne supplémentaire à charge 13,17 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2023-10-01|: - - étiquette base définition montant_forfaitaire_charges_d832_10 égal à - 58,08 € + 13,17 € * (décimal de nombre_personnes_à_charge) -``` - -### Article 20 | LEGIARTI000039160765 - -Le montant de minoration forfaitaire prévu au 9e alinéa de l'article D. 832-10 -du même code est fixé à 5 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d832_10 égal à 5€ -``` - -### Article 21 | LEGIARTI000039160767 - -Le seuil de versement prévu au dernier alinéa de l'article D. 832-10 du même code, -avant application de la contribution pour le remboursement de la dette sociale, -est fixé à 10 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_minimal_aide_d832_10 égal à 10€ -``` - -### Article 22 | LEGIARTI000039160769 - -Le coefficient « cm » défini au 3° de l'article D. 832-11 du même code est fixé à 22 111,33 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition coefficient_multiplicateur_d832_11 égal à 22 111,33€ -``` - -### Article 23 | LEGIARTI000039160771 - -Pour le calcul de la mensualité minimale « L0 » prévu au 1° de l'article D. 832-15 du même code, -les pourcentages et les tranches de ressources sont fixés comme suit, lorsque la date de signature -du contrat de prêt ou de location-accession est postérieure au 30 juin 1992 : - -1° 20,80 % pour la tranche de ressources inférieures ou égales à 5 600,85 euros ; - -2° 41,60 % pour la tranche de ressources supérieures à 5 600,85 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_limite_tranches_d832_15_1 égal à 5 600,85 € - définition taux_tranche_inférieure_d832_15_1 égal à 20,80% - définition taux_tranche_supérieure_d832_15_1 égal à 41,60% -``` - -### Article 24 | LEGIARTI000048109290 - -Dans le cas des copropriétaires prévus à l'article D. 832-16 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés aux articles 17 et 18 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2022-07-01|: - définition plafond_mensualité_d832_10_3 état copropriétaires égal à - si copropriété alors - plafond_mensualité_d832_10_3 * 75% - sinon - plafond_mensualité_d832_10_3 -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du foyer Montant --------------------------------- ------- -Bénéficiaire isolé 29,03 -Couple sans personne à charge 58,08 -Majoration par personne à charge 13,17 - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2022-07-01|: - exception base définition montant_forfaitaire_charges_d832_10 sous condition - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 29,03€ - -- Couple: 58,08€) + - 13,17 € * (décimal de nombre_personnes_à_charge) -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -### Article 25 | LEGIARTI000039160775 - -Le coefficient relatif au calcul de la dépense nette minimale prévu par l'article D. 832-17 du même code est fixé à : - -1° 0,0172 dans le cas des logements améliorés par leur propriétaire occupant ; - -2° Dans les autres cas : - -a) 0,0226 pour les prêts souscrits avant le 1er octobre 1998 ; - -b) 0,0234 pour les prêts souscrits à compter de cette dernière date. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition coefficient_multiplicateur_d832_17_3 égal à - selon ancienneté_logement sous forme - -- Neuf: - (si date_signature_prêt <= |1998-10-01| alors 0,0226 sinon 0,0234) - -- Ancien de amélioré_par_occupant: - (selon amélioré_par_occupant sous forme - -- AmélioréParOccupant.Oui: 0,0172 - -- AmélioréParOccupant.Non: - (si date_signature_prêt <= |1998-10-01| alors 0,0226 sinon 0,0234)) -``` - -### Article 26 | LEGIARTI000039160777 - -Pour déterminer le plancher de ressources, le coefficient prévu à l'article -D. 832-18 du même code est fixé à 16,25. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition coefficient_multiplicateur_d832_18 égal à 16,25 -``` - -## Chapitre V : Calcul de l'aide personnalisée au logement en secteur logement-foyer - -### Article 27 | LEGIARTI000048109287 - -Pour l'application de l'article D. 832-24 du même code, les équivalences de loyer et de charges locatives plafonds -sont fixées comme suit (en euros) : - -Désignation Zone I Zone II Zone III ------------------------------------------------------------- ------ ------- -------- -Bénéficiaire isolé 478,09 437,20 414,99 -Couple sans personne à charge 560,47 510,24 482,66 -Bénéficiaire isolé ou couple ayant une personne à charge 597,62 544,05 512,07 -Bénéficiaire isolé ou couple ayant deux personnes à charge 639,57 582,37 545,86 -Bénéficiaire isolé ou couple ayant trois personnes à charge 681,67 620,55 579,64 -Bénéficiaire isolé ou couple ayant quatre personnes à charge 735,25 661,23 617,64 -Par personne supplémentaire à charge 76,26 68,92 63,96 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer sous condition - date_courante >= |2023-10-01|: - définition plafond_équivalence_loyer_éligible égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 478,09 € - -- Couple: 560,47€) - sinon (si nombre_personnes_à_charge = 1 alors - 597,62 € - sinon (si nombre_personnes_à_charge = 2 alors - 639,57 € - sinon (si nombre_personnes_à_charge = 3 alors - 681,67 € - sinon - (735,25 € + - 76,26€ * (décimal de (nombre_personnes_à_charge - 4))))))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 437,20 € - -- Couple: 510,24€) - sinon (si nombre_personnes_à_charge = 1 alors - 544,05 € - sinon (si nombre_personnes_à_charge = 2 alors - 582,37 € - sinon (si nombre_personnes_à_charge = 3 alors - 620,55 € - sinon - (661,23 € + - 68,92€ * (décimal de (nombre_personnes_à_charge - 4))))))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 414,99 € - -- Couple: 482,66€) - sinon (si nombre_personnes_à_charge = 1 alors - 512,07 € - sinon (si nombre_personnes_à_charge = 2 alors - 545,86 € - sinon (si nombre_personnes_à_charge = 3 alors - 579,64 € - sinon - (617,64 € + - 63,96€ * (décimal de (nombre_personnes_à_charge - 4))))))) - ) -``` - -### Article 28 | LEGIARTI000039160781 - -Le montant de minoration forfaitaire prévu au 8e alinéa de l'article D. 832-24 -du même code est fixé à 5 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d832_24 égal à 5 € -``` - -### Article 29 | LEGIARTI000039160783 - -Le seuil de versement prévu au dernier alinéa de l'article D. 832-24 du même code, -avant application de la contribution pour le remboursement de la dette sociale, -est fixé à 10 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_minimal_aide_d823_24 égal à 10 € -``` - -### Article 30 | LEGIARTI000039160785 - -Les valeurs des coefficients définis à l'article D. 832-25 du même code intervenant -dans la formule de calcul du coefficient de prise en charge « K » sont fixées ainsi : - -1° 1 217,26 pour le coefficient « r » défini au c du 1° ; - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - # Attention par homogénéité de la formule du D832-25 il faut que cm soit - # un montant d'argent. - définition coefficient_r_d832_25 égal à 1217,26 € -``` - -2° 13 393,40 et 21 420,91 pour le coefficient multiplicateur « cm » défini -respectivement au d du 1° et au c du 2°. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - # Attention par homogénéité de la formule du D832-25 il faut que cm soit - # un montant d'argent. - définition coefficient_multiplicateur_d832_25 égal à - si condition_2_du_832_25 alors 21 420,91 € sinon 13 393,40 € -``` - -### Article 31 | LEGIARTI000046126968 - -I.-Les pourcentages et les tranches de ressources intervenant dans le calcul de l'équivalence de loyer et -de charges locatives minimale “ E0 ”, mentionnés aux premier et deuxième alinéa de -l'article D. 832-26 du même code, sont fixés comme suit : - -a) Au premier alinéa : - -1° 4,00 % pour la tranche de ressources inférieure ou égale à 1 948,10 euros ; - -2° 10,40 % pour la tranche de ressources comprise entre 1 948,10 euros et 2 678,71 euros ; - -3° 21,60 % pour la tranche de ressources comprise entre 2 678,71 euros et 3 896,18 euros ; - -4° 26,40 % pour la tranche de ressources comprise entre 3 896,18 euros et 5 357,44 euros ; - -5° 32,00 % pour la tranche de ressources comprise entre 5 357,44 euros et 6 331,29 euros ; - -6° 48,00 % pour la tranche de ressources supérieure à 6 331,29 euros ; - -```catala -champ d'application CalculÉquivalenceLoyerMinimale - sous condition date_courante > |2019-10-01|: - définition tranches_revenus_d832_26 égal à [ - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 1948,10€ - -- bas: 0€ - -- taux: 4% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 2678,71€ - -- bas: 1948,10€ - -- taux: 10,40% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 3896,18€ - -- bas: 2678,71€ - -- taux: 21,60% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 5 357,44€ - -- bas: 3896,18€ - -- taux: 26,40% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 6 331,29€ - -- bas: 5 357,44€ - -- taux: 32% - }; - TrancheRevenu { - -- haut: LimiteTranche.Infini - -- bas: 6 331,29€ - -- taux: 48% - } - ] -``` - -b) Au deuxième alinéa : - -1° 0 % pour la tranche de ressources inférieure ou égale à 1 423,03 euros ; - -2° 2,40 % pour la tranche de ressources comprise entre 1 423,03 euros et 2 047,61 euros ; - -3° 20,80 % pour la tranche de ressources comprise entre 2 047,61 et 2 629,85 euros ; - -4° 23,20 % pour la tranche de ressources comprise entre 2 629,85 euros et 4 095,05 euros ; - -5° 32,80 % pour la tranche de ressources supérieure à 4 095,05 euros. - -```catala -champ d'application CalculÉquivalenceLoyerMinimale - sous condition date_courante > |2019-10-01|: - exception définition tranches_revenus_d832_26 sous condition - condition_2_du_832_25 - conséquence égal à [ - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 1423,03€ - -- bas: 0€ - -- taux: 0% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 2047,61€ - -- bas: 1423,03€ - -- taux: 2,40% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 2629,85€ - -- bas: 2047,61€ - -- taux: 20,80% - }; - TrancheRevenu { - -- haut: LimiteTranche.Revenu contenu 4095,05€ - -- bas: 2629,85€ - -- taux: 23,20% - }; - TrancheRevenu { - -- haut: LimiteTranche.Infini - -- bas: 4095,05€ - -- taux: 32,80% - } - ] -``` - -II.-Les montants forfaitaires mentionnés aux premier et deuxième alinéas sont -fixés respectivement à 45,57 et 76,32. - -```catala -champ d'application CalculÉquivalenceLoyerMinimale - sous condition date_courante > |2019-10-01|: - définition montant_forfaitaire_d832_26 égal à - si condition_2_du_832_25 alors 76,32 € sinon 45,57 € -``` - -NOTA : Conformément à l’article 3 de l’arrêté du 29 juillet 2022 -(NOR : TREL2220748A), ces dispositions sont applicables pour les prestations -dues à compter du 1 er juillet 2022. - - -```catala -# Cette NOTA fait référence à l'article 3 de l'arrêté du 29 juillet 2022 qui -# contient précisément des corrections pointées par les auteurs de ce code -# source (il manquait le "b)"). Selon cette NOTA, il faudrait donc -# garder également l'ancienne version erronnée de ce tableau et basculer entre -# la version erronnée et la version corrigée selon que l'on soit avant ou après -# le premier juillet 2022. Ici, nous décidons de ne pas faire cela et de ne -# garder que la version corrigée pour simplicité et parceque DGALN/DHUP/FE4 -# nous a confirmé que la CAF a toujours utilisé une version "corrigée" de -# cet article. -# La précédente version erronnée de cet article était valable pour les -# prestations à partir du 1er octobre 2019 donc nous retenons cette date de -# début de validité pour les calculs pour la version corrigée (qui ne change -# rien des montants). -``` - -### Article 32 | LEGIARTI000039160687 - -Le montant minimum de dépense nette de logement défini à l'article D. 832-27 du même code est fixé à 26,68 euros sauf -pour les logements-foyers de jeunes travailleurs et les résidences sociales visés au deuxième alinéa de l'article -D. 832-25 du même code pour lesquels ce montant est fixé à 15 euros. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d832_27 égal à - si condition_2_du_832_25 alors 15 € sinon 26,68€ -``` - -## Chapitre IV : Calcul des allocations de logement en secteur accession - -### Article 33 | LEGIARTI000046126965 - -Pour l'application de l'article D. 842-6 du même code, la mensualité plafonds à prendre en considération est fixée -selon le tableau suivant (en francs jusqu'au 31 décembre 2001 et en euros à compter du 1er janvier 2002), quelle que -soit la date de construction ou d'achèvement du logement, conformément au certificat daté prévu au 1° de l'article -D. 842-7 du même code : - ---------------------------------------------------------------------------------------------------------------------- -Date du certificat daté zones isolé couples C+1 C+2 C+3 C+4 C+5 Par pers supp ------------------------- ------- --------- ----------- -------- -------- -------- -------- -------- ----------------- -Certificats datés I 1587 1913 2055 2113 2171 2229 2280 198 -à partir du -01/07/92 - - II 1393 1706 1847 1912 1977 2042 2187 191 - - III 1306 1584 1726 1798 1870 1942 2086 182 - -Certificats datés I 1604 1934 2078 2137 2196 2255 2305 200 -à partir du -01/07/94 - - II 1408 1725 1867 1933 1999 2065 2211 193 - - III 1320 1601 1745 1818 1891 1964 2109 184 - -Certificats datés I 1633 1969 2116 2176 2236 2296 2346 204 -à partir du -01/07/97 - - II 1433 1756 1901 1968 2035 2102 2251 196 - - III 1344 1630 1777 1851 1925 1999 2147 187 - -Certificats datés I 1672 2016 2167 2228 2290 2351 2402 209 -à partir du -01/07/98 - - II 1467 1798 1947 2015 2084 2152 2305 201 - - III 1376 1669 1820 1895 1971 2047 2199 191 - -Certificats datés I 1674 2018 2169 2230 2292 2353 2404 209 -à partir du -01/07/99 - - II 1468 1800 1949 2017 2086 2154 2307 201 - - III 1377 1671 1822 1897 1973 2049 2201 191 - -Certificats datés I 1691 2038 2191 2252 2315 2377 2428 211 -à partir du -01/07/00 - - II 1483 1818 1968 2037 2107 2176 2330 203 - - III 1391 1688 1840 1916 1993 2069 2223 193 - -Certificats datés I 1711 2062 2217 2279 2343 2406 2457 214 -à partir du -01/07/01 - - II 1501 1840 1992 2061 2132 2202 2358 205 - - III 1408 1708 1862 1939 2017 2094 2250 195 - -Certificats datés I 260,84 314,35 337,98 347,43 357,19 366,79 374,57 32,62 -à partir du -01/01/02 - - II 228,83 280,51 303,68 314,20 325,02 335,69 359,47 31,25 - - III 214,65 260,38 283,86 295,60 307,49 319,23 343,01 29,73 - -Certificats datés I 263,97 318,12 342,04 351,60 361,48 371,19 379,06 33,01 -à partir du -01/07/02 - - II 231,58 283,88 307,32 317,97 328,92 339,72 363,78 31,63 - - III 217,23 263,50 287,27 299,15 311,18 323,06 347,13 30,09 - -Certificats datés I 267,14 321,94 346,14 355,82 365,82 375,64 383,61 33,41 -à partir du -01/07/03 - - II 234,36 287,29 311,01 321,79 332,87 343,80 368,15 32,01 - - III 219,84 266,66 290,72 302,74 314,91 326,94 351,30 30,45 - -Certificats datés I 271,95 327,73 352,37 362,22 372,40 382,40 390,51 34,01 -à partir du -01/09/05 - - II 238,58 292,46 316,61 327,58 338,86 349,99 374,78 32,59 - - III 223,80 271,46 295,95 308,19 320,58 332,82 357,62 31,00 - -Certificats datés I 279,56 336,91 362,24 372,36 382,83 393,11 401,44 34,96 -à partir du -01/01/07 - - II 245,26 300,65 325,48 336,75 348,65 359,79 385,27 33,50 - - III 230,07 279,06 304,24 316,82 329,56 342,14 367,33 31,87 - -Certificats datés I 287,28 346,21 372,24 382,64 393,40 403,96 412,52 35,92 -à partir du -01/01/08 - - II 252,03 308,95 334,46 346,04 357,96 369,72 395,90 34,42 - - III 236,42 286,76 312,64 325,56 338,66 351,58 377,78 32,75 - -Certificats datés I 295,75 356,42 383,22 393,93 405,01 415,88 424,69 36,98 -à partir du -01/01/09 - - II 259,46 318,06 344,33 356,25 368,52 380,63 407,58 35,44 - - III 243,39 295,22 321,86 335,16 348,65 361,95 388,92 33,72 - -Certificats datés I 296,70 357,56 384,45 395,19 406,31 417,21 426,05 37,10 -à partir du -01/01/10 - - II 260,29 319,08 346,43 357,39 369,70 381,85 408,88 35,55 - - III 244,17 296,16 322,89 336,23 349,77 363,11 390,16 33,83 - -Certificats datés I 299,96 361,49 388,68 399,54 410,78 421,80 430,74 37,51 -à partir du -01/01/11 - - II 263,15 322,59 349,23 361,32 373,77 386,05 413,38 35,94 - - III 246,86 299,42 326,44 339,93 353,62 367,10 394,45 34,20 - -Certificats datés I 302,96 365,10 392,57 403,54 414,89 426,02 435,05 37,89 -à partir du -01/01/12 - - II 265,78 325,82 352,72 364,93 377,51 389,91 417,51 36,30 - - III 249,33 302,41 329,70 343,33 357,16 370,77 398,39 34,54 - -Certificats datés I 309,47 372,95 401,01 412,22 423,81 435,18 444,4 38,7 -à partir du -01/01/13 - - II 271,49 332,83 360,3 372,78 385,63 398,29 426,49 37,08 - - III 254,69 308,91 336,79 350,71 364,84 378,74 406,96 35,28 - -Certificats datés I 311,23 375,08 403,30 414,57 426,23 437,66 446,93 38,92 -à partir du -01/10/14 - - II 273,04 334,73 362,35 374,90 387,83 400,56 428,92 37,29 - - III 256,14 310,67 338,71 352,71 366,92 380,90 409,28 35,48 - -Certificats datés I 311,48 375,38 403,62 414,9 426,57 438,01 447,29 38,95 -à partir du -01/10/15 - - II 273,26 335 362,64 375,2 388,14 400,88 429,26 37,32 - - III 256,34 310,92 338,98 352,99 367,21 381,2 409,61 35,51 - -Certificats datés I 313,82 378,2 406,65 418,01 429,77 441,3 450,64 39,24 -à partir du -01/10/17 - - II 275,31 337,51 365,36 378,01 391,05 403,89 432,48 37,6 - - III 258,26 313,25 341,52 355,64 369,96 384,06 412,68 35,78 - -Certificats datés I 314,76 379,33 407,87 419,27 431,06 442,62 452,00 39,36 -à partir du -01/10/19 - - II 276,14 338,53 366,46 379,15 392,22 405,10 433,78 37,71 - - III 259,04 314,19 342,55 356,70 371,07 385,21 413,92 35,88 -------------------------------------------------------------------------------------------------------------------- - -```catala -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2020-01-01|: - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |1992-07-01| et date_calcul < |1994-07-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1587€ - -- Couple: 1913€) - sinon - si nombre_personnes_à_charge = 1 alors 2055 € sinon - si nombre_personnes_à_charge = 2 alors 2113 € sinon - si nombre_personnes_à_charge = 3 alors 2171 € sinon - si nombre_personnes_à_charge = 4 alors 2229 € sinon - si nombre_personnes_à_charge = 5 alors 2280 € sinon - 2280€ + 198€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1393 € - -- Couple: 1706€) - sinon - si nombre_personnes_à_charge = 1 alors 1847 € sinon - si nombre_personnes_à_charge = 2 alors 1912 € sinon - si nombre_personnes_à_charge = 3 alors 1977 € sinon - si nombre_personnes_à_charge = 4 alors 2042 € sinon - si nombre_personnes_à_charge = 5 alors 2187 € sinon - 2187€ + 191€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1306 € - -- Couple: 1584€) - sinon - si nombre_personnes_à_charge = 1 alors 1726 € sinon - si nombre_personnes_à_charge = 2 alors 1798 € sinon - si nombre_personnes_à_charge = 3 alors 1870 € sinon - si nombre_personnes_à_charge = 4 alors 1942 € sinon - si nombre_personnes_à_charge = 5 alors 2086 € sinon - 2086€ + 182€ * (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |1994-07-01| et date_calcul < |1997-07-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1604€ - -- Couple: 1934€) - sinon - si nombre_personnes_à_charge = 1 alors 2078 € sinon - si nombre_personnes_à_charge = 2 alors 2137 € sinon - si nombre_personnes_à_charge = 3 alors 2196 € sinon - si nombre_personnes_à_charge = 4 alors 2255 € sinon - si nombre_personnes_à_charge = 5 alors 2305 € sinon - 2305€ + 200€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1408 € - -- Couple: 1725€) - sinon - si nombre_personnes_à_charge = 1 alors 1867 € sinon - si nombre_personnes_à_charge = 2 alors 1933 € sinon - si nombre_personnes_à_charge = 3 alors 1999 € sinon - si nombre_personnes_à_charge = 4 alors 2065 € sinon - si nombre_personnes_à_charge = 5 alors 2211 € sinon - 2211 € + 193€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1320 € - -- Couple: 1801€) - sinon - si nombre_personnes_à_charge = 1 alors 1745 € sinon - si nombre_personnes_à_charge = 2 alors 1818 € sinon - si nombre_personnes_à_charge = 3 alors 1891 € sinon - si nombre_personnes_à_charge = 4 alors 1964 € sinon - si nombre_personnes_à_charge = 5 alors 2109 € sinon - 2109€ + 184€ * (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |1997-07-01| et date_calcul < |1998-07-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1633€ - -- Couple: 1969€) - sinon - si nombre_personnes_à_charge = 1 alors 2116 € sinon - si nombre_personnes_à_charge = 2 alors 2176 € sinon - si nombre_personnes_à_charge = 3 alors 2236 € sinon - si nombre_personnes_à_charge = 4 alors 2296 € sinon - si nombre_personnes_à_charge = 5 alors 2346 € sinon - 2346€ + 204€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1433 € - -- Couple: 1756€) - sinon - si nombre_personnes_à_charge = 1 alors 1901 € sinon - si nombre_personnes_à_charge = 2 alors 1966 € sinon - si nombre_personnes_à_charge = 3 alors 2035 € sinon - si nombre_personnes_à_charge = 4 alors 2102 € sinon - si nombre_personnes_à_charge = 5 alors 2251 € sinon - 2251 € + 196€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1344 € - -- Couple: 1630€) - sinon - si nombre_personnes_à_charge = 1 alors 1777 € sinon - si nombre_personnes_à_charge = 2 alors 1851 € sinon - si nombre_personnes_à_charge = 3 alors 1925 € sinon - si nombre_personnes_à_charge = 4 alors 1999 € sinon - si nombre_personnes_à_charge = 5 alors 2147 € sinon - 2147€ + 187€ * (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |1998-07-01| et date_calcul < |1999-07-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1672€ - -- Couple: 2016€) - sinon - si nombre_personnes_à_charge = 1 alors 2167 € sinon - si nombre_personnes_à_charge = 2 alors 2228 € sinon - si nombre_personnes_à_charge = 3 alors 2290 € sinon - si nombre_personnes_à_charge = 4 alors 2351 € sinon - si nombre_personnes_à_charge = 5 alors 2402 € sinon - 2402€ + 209€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1467 € - -- Couple: 1798€) - sinon - si nombre_personnes_à_charge = 1 alors 1947 € sinon - si nombre_personnes_à_charge = 2 alors 2015 € sinon - si nombre_personnes_à_charge = 3 alors 2084 € sinon - si nombre_personnes_à_charge = 4 alors 2152 € sinon - si nombre_personnes_à_charge = 5 alors 2305 € sinon - 2305 € + 201€ * (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1376 € - -- Couple: 1669€) - sinon - si nombre_personnes_à_charge = 1 alors 1820 € sinon - si nombre_personnes_à_charge = 2 alors 1895 € sinon - si nombre_personnes_à_charge = 3 alors 1971 € sinon - si nombre_personnes_à_charge = 4 alors 2047 € sinon - si nombre_personnes_à_charge = 5 alors 2199 € sinon - 2199€ + 191€ * (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |1999-07-01| et date_calcul < |2000-07-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1674€ - -- Couple: 2018€) - sinon - si nombre_personnes_à_charge = 1 alors 2169 € sinon - si nombre_personnes_à_charge = 2 alors 2230 € sinon - si nombre_personnes_à_charge = 3 alors 2292 € sinon - si nombre_personnes_à_charge = 4 alors 2353 € sinon - si nombre_personnes_à_charge = 5 alors 2404 € sinon - 2404€ + 209€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1468 € - -- Couple: 1800€) - sinon - si nombre_personnes_à_charge = 1 alors 1949 € sinon - si nombre_personnes_à_charge = 2 alors 2017 € sinon - si nombre_personnes_à_charge = 3 alors 2086 € sinon - si nombre_personnes_à_charge = 4 alors 2154 € sinon - si nombre_personnes_à_charge = 5 alors 2307 € sinon - 2307 € + 201€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1377 € - -- Couple: 1671€) - sinon - si nombre_personnes_à_charge = 1 alors 1822 € sinon - si nombre_personnes_à_charge = 2 alors 1897 € sinon - si nombre_personnes_à_charge = 3 alors 1973 € sinon - si nombre_personnes_à_charge = 4 alors 2049 € sinon - si nombre_personnes_à_charge = 5 alors 2201 € sinon - 2201€ + 191€ * - (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2000-07-01| et date_calcul < |2001-07-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1691€ - -- Couple: 2038€) - sinon - si nombre_personnes_à_charge = 1 alors 2191 € sinon - si nombre_personnes_à_charge = 2 alors 2252 € sinon - si nombre_personnes_à_charge = 3 alors 2315 € sinon - si nombre_personnes_à_charge = 4 alors 2377 € sinon - si nombre_personnes_à_charge = 5 alors 2428 € sinon - 2428€ + 211€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1483 € - -- Couple: 1818€) - sinon - si nombre_personnes_à_charge = 1 alors 1968 € sinon - si nombre_personnes_à_charge = 2 alors 2037 € sinon - si nombre_personnes_à_charge = 3 alors 2107 € sinon - si nombre_personnes_à_charge = 4 alors 2176 € sinon - si nombre_personnes_à_charge = 5 alors 2330 € sinon - 2330 € + 203€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1391 € - -- Couple: 1688€) - sinon - si nombre_personnes_à_charge = 1 alors 1840 € sinon - si nombre_personnes_à_charge = 2 alors 1916 € sinon - si nombre_personnes_à_charge = 3 alors 1993 € sinon - si nombre_personnes_à_charge = 4 alors 2069 € sinon - si nombre_personnes_à_charge = 5 alors 2223 € sinon - 2223€ + 193€ * - (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2001-07-01| et date_calcul < |2002-01-01| - conséquence égal à - (selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1711€ - -- Couple: 2062€) - sinon - si nombre_personnes_à_charge = 1 alors 2217 € sinon - si nombre_personnes_à_charge = 2 alors 2279 € sinon - si nombre_personnes_à_charge = 3 alors 2343 € sinon - si nombre_personnes_à_charge = 4 alors 2406 € sinon - si nombre_personnes_à_charge = 5 alors 2457 € sinon - 2457€ + 214€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1501 € - -- Couple: 1840€) - sinon - si nombre_personnes_à_charge = 1 alors 1992 € sinon - si nombre_personnes_à_charge = 2 alors 2061 € sinon - si nombre_personnes_à_charge = 3 alors 2132 € sinon - si nombre_personnes_à_charge = 4 alors 2202 € sinon - si nombre_personnes_à_charge = 5 alors 2358 € sinon - 2358 € + 205€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1408 € - -- Couple: 1708€) - sinon - si nombre_personnes_à_charge = 1 alors 1862 € sinon - si nombre_personnes_à_charge = 2 alors 1939 € sinon - si nombre_personnes_à_charge = 3 alors 2017 € sinon - si nombre_personnes_à_charge = 4 alors 2094 € sinon - si nombre_personnes_à_charge = 5 alors 2250 € sinon - 2250€ + 195€ * - (décimal de (nombre_personnes_à_charge - 5))) - ) * taux_francs_vers_euros - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2002-01-01| et date_calcul < |2002-07-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 260,84€ - -- Couple: 314,35€) - sinon - si nombre_personnes_à_charge = 1 alors 337,98 € sinon - si nombre_personnes_à_charge = 2 alors 347,43 € sinon - si nombre_personnes_à_charge = 3 alors 357,19 € sinon - si nombre_personnes_à_charge = 4 alors 366,79 € sinon - si nombre_personnes_à_charge = 5 alors 374,57 € sinon - 374,57€ + 32,62€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 228,83 € - -- Couple: 280,51€) - sinon - si nombre_personnes_à_charge = 1 alors 303,68 € sinon - si nombre_personnes_à_charge = 2 alors 314,20 € sinon - si nombre_personnes_à_charge = 3 alors 325,02 € sinon - si nombre_personnes_à_charge = 4 alors 335,69 € sinon - si nombre_personnes_à_charge = 5 alors 359,47 € sinon - 359,47 € + 31,25€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 214,65 € - -- Couple: 260,38€) - sinon - si nombre_personnes_à_charge = 1 alors 283,86 € sinon - si nombre_personnes_à_charge = 2 alors 295,60 € sinon - si nombre_personnes_à_charge = 3 alors 307,49 € sinon - si nombre_personnes_à_charge = 4 alors 319,23 € sinon - si nombre_personnes_à_charge = 5 alors 343,01 € sinon - 343,01€ + 29,73€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2002-07-01| et date_calcul < |2003-07-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 263,97€ - -- Couple: 318,12€) - sinon - si nombre_personnes_à_charge = 1 alors 342,04 € sinon - si nombre_personnes_à_charge = 2 alors 351,60 € sinon - si nombre_personnes_à_charge = 3 alors 361,48 € sinon - si nombre_personnes_à_charge = 4 alors 371,19 € sinon - si nombre_personnes_à_charge = 5 alors 379,06 € sinon - 379,06€ + 33,01€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 231,58 € - -- Couple: 283,88€) - sinon - si nombre_personnes_à_charge = 1 alors 307,32 € sinon - si nombre_personnes_à_charge = 2 alors 317,97 € sinon - si nombre_personnes_à_charge = 3 alors 328,92 € sinon - si nombre_personnes_à_charge = 4 alors 339,72 € sinon - si nombre_personnes_à_charge = 5 alors 363,78 € sinon - 363,78 € + 31,63€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 217,23 € - -- Couple: 263,50€) - sinon - si nombre_personnes_à_charge = 1 alors 287,27 € sinon - si nombre_personnes_à_charge = 2 alors 299,15 € sinon - si nombre_personnes_à_charge = 3 alors 311,18 € sinon - si nombre_personnes_à_charge = 4 alors 323,06 € sinon - si nombre_personnes_à_charge = 5 alors 347,13 € sinon - 347,13€ + 30,09€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2003-07-01| et date_calcul < |2005-09-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 267,14€ - -- Couple: 321,94€) - sinon - si nombre_personnes_à_charge = 1 alors 346,14 € sinon - si nombre_personnes_à_charge = 2 alors 355,82 € sinon - si nombre_personnes_à_charge = 3 alors 365,82 € sinon - si nombre_personnes_à_charge = 4 alors 375,64 € sinon - si nombre_personnes_à_charge = 5 alors 383,61 € sinon - 383,61€ + 33,41€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 234,36 € - -- Couple: 287,29€) - sinon - si nombre_personnes_à_charge = 1 alors 311,01 € sinon - si nombre_personnes_à_charge = 2 alors 321,79 € sinon - si nombre_personnes_à_charge = 3 alors 332,87 € sinon - si nombre_personnes_à_charge = 4 alors 343,80 € sinon - si nombre_personnes_à_charge = 5 alors 368,15 € sinon - 368,15 € + 32,01€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 219,84 € - -- Couple: 266,66€) - sinon - si nombre_personnes_à_charge = 1 alors 290,72 € sinon - si nombre_personnes_à_charge = 2 alors 302,74 € sinon - si nombre_personnes_à_charge = 3 alors 314,91 € sinon - si nombre_personnes_à_charge = 4 alors 326,94 € sinon - si nombre_personnes_à_charge = 5 alors 351,30 € sinon - 351,30€ + 30,45€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2005-09-01| et date_calcul < |2007-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 271,95€ - -- Couple: 327,73€) - sinon - si nombre_personnes_à_charge = 1 alors 352,37 € sinon - si nombre_personnes_à_charge = 2 alors 362,22 € sinon - si nombre_personnes_à_charge = 3 alors 372,40 € sinon - si nombre_personnes_à_charge = 4 alors 382,40 € sinon - si nombre_personnes_à_charge = 5 alors 390,51 € sinon - 390,51€ + 34,01€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 238,58 € - -- Couple: 292,46€) - sinon - si nombre_personnes_à_charge = 1 alors 316,61 € sinon - si nombre_personnes_à_charge = 2 alors 327,58 € sinon - si nombre_personnes_à_charge = 3 alors 338,86 € sinon - si nombre_personnes_à_charge = 4 alors 349,99 € sinon - si nombre_personnes_à_charge = 5 alors 374,78 € sinon - 374,78 € + 32,59€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 223,80 € - -- Couple: 271,46€) - sinon - si nombre_personnes_à_charge = 1 alors 295,95 € sinon - si nombre_personnes_à_charge = 2 alors 308,19 € sinon - si nombre_personnes_à_charge = 3 alors 320,58 € sinon - si nombre_personnes_à_charge = 4 alors 332,82 € sinon - si nombre_personnes_à_charge = 5 alors 357,62 € sinon - 357,62€ + 31,00€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2007-01-01| et date_calcul < |2008-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 279,56€ - -- Couple: 336,91€) - sinon - si nombre_personnes_à_charge = 1 alors 362,24 € sinon - si nombre_personnes_à_charge = 2 alors 372,36 € sinon - si nombre_personnes_à_charge = 3 alors 382,83 € sinon - si nombre_personnes_à_charge = 4 alors 393,11 € sinon - si nombre_personnes_à_charge = 5 alors 401,44 € sinon - 401,44€ + 34,96€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 245,26 € - -- Couple: 300,65€) - sinon - si nombre_personnes_à_charge = 1 alors 325,48 € sinon - si nombre_personnes_à_charge = 2 alors 336,75 € sinon - si nombre_personnes_à_charge = 3 alors 348,65 € sinon - si nombre_personnes_à_charge = 4 alors 359,79 € sinon - si nombre_personnes_à_charge = 5 alors 385,27 € sinon - 385,27 € + 33,50€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 230,07 € - -- Couple: 279,06€) - sinon - si nombre_personnes_à_charge = 1 alors 304,24 € sinon - si nombre_personnes_à_charge = 2 alors 316,82 € sinon - si nombre_personnes_à_charge = 3 alors 329,56 € sinon - si nombre_personnes_à_charge = 4 alors 342,14 € sinon - si nombre_personnes_à_charge = 5 alors 367,33 € sinon - 367,33€ + 31,87€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2008-01-01| et date_calcul < |2009-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 287,28€ - -- Couple: 346,21€) - sinon - si nombre_personnes_à_charge = 1 alors 372,24 € sinon - si nombre_personnes_à_charge = 2 alors 382,64 € sinon - si nombre_personnes_à_charge = 3 alors 393,40 € sinon - si nombre_personnes_à_charge = 4 alors 403,96 € sinon - si nombre_personnes_à_charge = 5 alors 412,52 € sinon - 412,52€ + 35,92€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 252,03 € - -- Couple: 308,95€) - sinon - si nombre_personnes_à_charge = 1 alors 334,46 € sinon - si nombre_personnes_à_charge = 2 alors 346,04 € sinon - si nombre_personnes_à_charge = 3 alors 357,96 € sinon - si nombre_personnes_à_charge = 4 alors 369,72 € sinon - si nombre_personnes_à_charge = 5 alors 395,90 € sinon - 395,90 € + 34,42€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 236,42 € - -- Couple: 286,76€) - sinon - si nombre_personnes_à_charge = 1 alors 312,64 € sinon - si nombre_personnes_à_charge = 2 alors 325,56 € sinon - si nombre_personnes_à_charge = 3 alors 338,66 € sinon - si nombre_personnes_à_charge = 4 alors 351,58 € sinon - si nombre_personnes_à_charge = 5 alors 377,78 € sinon - 377,78€ + 32,75€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2009-01-01| et date_calcul < |2010-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 295,75€ - -- Couple: 356,42€) - sinon - si nombre_personnes_à_charge = 1 alors 383,22 € sinon - si nombre_personnes_à_charge = 2 alors 393,93 € sinon - si nombre_personnes_à_charge = 3 alors 405,01 € sinon - si nombre_personnes_à_charge = 4 alors 415,88 € sinon - si nombre_personnes_à_charge = 5 alors 424,69 € sinon - 424,69€ + 36,98€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 259,46 € - -- Couple: 318,06 €) - sinon - si nombre_personnes_à_charge = 1 alors 344,33 € sinon - si nombre_personnes_à_charge = 2 alors 356,25 € sinon - si nombre_personnes_à_charge = 3 alors 368,52 € sinon - si nombre_personnes_à_charge = 4 alors 380,63 € sinon - si nombre_personnes_à_charge = 5 alors 407,58 € sinon - 407,58 € + 35,44€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 243,39 € - -- Couple: 295,22€) - sinon - si nombre_personnes_à_charge = 1 alors 321,86 € sinon - si nombre_personnes_à_charge = 2 alors 335,16 € sinon - si nombre_personnes_à_charge = 3 alors 348,65 € sinon - si nombre_personnes_à_charge = 4 alors 361,95 € sinon - si nombre_personnes_à_charge = 5 alors 388,92 € sinon - 388,92€ + 33,72€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2010-01-01| et date_calcul < |2011-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 296,70€ - -- Couple: 357,57€) - sinon - si nombre_personnes_à_charge = 1 alors 384,45 € sinon - si nombre_personnes_à_charge = 2 alors 395,19 € sinon - si nombre_personnes_à_charge = 3 alors 406,01 € sinon - si nombre_personnes_à_charge = 4 alors 417,21 € sinon - si nombre_personnes_à_charge = 5 alors 426,05 € sinon - 426,05€ + 37,10€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 260,29 € - -- Couple: 319,08 €) - sinon - si nombre_personnes_à_charge = 1 alors 346,43 € sinon - si nombre_personnes_à_charge = 2 alors 357,39 € sinon - si nombre_personnes_à_charge = 3 alors 369,70 € sinon - si nombre_personnes_à_charge = 4 alors 381,85 € sinon - si nombre_personnes_à_charge = 5 alors 408,88 € sinon - 408,88 € + 35,55€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 244,17 € - -- Couple: 296,16€) - sinon - si nombre_personnes_à_charge = 1 alors 322,89 € sinon - si nombre_personnes_à_charge = 2 alors 336,23 € sinon - si nombre_personnes_à_charge = 3 alors 349,77 € sinon - si nombre_personnes_à_charge = 4 alors 363,11 € sinon - si nombre_personnes_à_charge = 5 alors 390,16 € sinon - 390,16€ + 33,83€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2011-01-01| et date_calcul < |2012-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 299,96€ - -- Couple: 361,49€) - sinon - si nombre_personnes_à_charge = 1 alors 388,68 € sinon - si nombre_personnes_à_charge = 2 alors 399,54 € sinon - si nombre_personnes_à_charge = 3 alors 410,78 € sinon - si nombre_personnes_à_charge = 4 alors 421,80 € sinon - si nombre_personnes_à_charge = 5 alors 430,74 € sinon - 430,74€ + 37,51€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 263,15 € - -- Couple: 322,59 €) - sinon - si nombre_personnes_à_charge = 1 alors 349,23 € sinon - si nombre_personnes_à_charge = 2 alors 361,32 € sinon - si nombre_personnes_à_charge = 3 alors 373,73 € sinon - si nombre_personnes_à_charge = 4 alors 386,05 € sinon - si nombre_personnes_à_charge = 5 alors 413,38 € sinon - 413,38 € + 35,94€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 246,86 € - -- Couple: 299,42€) - sinon - si nombre_personnes_à_charge = 1 alors 326,44 € sinon - si nombre_personnes_à_charge = 2 alors 339,93 € sinon - si nombre_personnes_à_charge = 3 alors 353,62 € sinon - si nombre_personnes_à_charge = 4 alors 367,10 € sinon - si nombre_personnes_à_charge = 5 alors 394,45 € sinon - 394,45€ + 34,20€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2012-01-01| et date_calcul < |2013-01-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 302,96€ - -- Couple: 365,10€) - sinon - si nombre_personnes_à_charge = 1 alors 392,57 € sinon - si nombre_personnes_à_charge = 2 alors 403,54 € sinon - si nombre_personnes_à_charge = 3 alors 414,89 € sinon - si nombre_personnes_à_charge = 4 alors 426,02 € sinon - si nombre_personnes_à_charge = 5 alors 435,05 € sinon - 435,05€ + 37,89€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 265,78 € - -- Couple: 325,82 €) - sinon - si nombre_personnes_à_charge = 1 alors 352,72 € sinon - si nombre_personnes_à_charge = 2 alors 364,93 € sinon - si nombre_personnes_à_charge = 3 alors 377,51 € sinon - si nombre_personnes_à_charge = 4 alors 389,91 € sinon - si nombre_personnes_à_charge = 5 alors 417,51 € sinon - 417,51 € + 36,30€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 249,33 € - -- Couple: 302,41€) - sinon - si nombre_personnes_à_charge = 1 alors 329,70 € sinon - si nombre_personnes_à_charge = 2 alors 343,33 € sinon - si nombre_personnes_à_charge = 3 alors 357,16 € sinon - si nombre_personnes_à_charge = 4 alors 370,77 € sinon - si nombre_personnes_à_charge = 5 alors 398,39 € sinon - 398,39€ + 34,54€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2013-01-01| et date_calcul < |2014-10-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 309,47€ - -- Couple: 372,95€) - sinon - si nombre_personnes_à_charge = 1 alors 401,01 € sinon - si nombre_personnes_à_charge = 2 alors 412,22 € sinon - si nombre_personnes_à_charge = 3 alors 423,81 € sinon - si nombre_personnes_à_charge = 4 alors 435,18 € sinon - si nombre_personnes_à_charge = 5 alors 444,40 € sinon - 444,40€ + 38,70€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 271,49 € - -- Couple: 332,83 €) - sinon - si nombre_personnes_à_charge = 1 alors 360,30 € sinon - si nombre_personnes_à_charge = 2 alors 372,78 € sinon - si nombre_personnes_à_charge = 3 alors 385,63 € sinon - si nombre_personnes_à_charge = 4 alors 398,29 € sinon - si nombre_personnes_à_charge = 5 alors 426,49 € sinon - 426,59 € + 37,08€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 254,69 € - -- Couple: 308,91€) - sinon - si nombre_personnes_à_charge = 1 alors 336,79 € sinon - si nombre_personnes_à_charge = 2 alors 350,71 € sinon - si nombre_personnes_à_charge = 3 alors 364,84 € sinon - si nombre_personnes_à_charge = 4 alors 378,74 € sinon - si nombre_personnes_à_charge = 5 alors 406,96 € sinon - 406,96€ + 35,28€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2014-10-01| et date_calcul < |2015-10-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 311,23€ - -- Couple: 375,08€) - sinon - si nombre_personnes_à_charge = 1 alors 403,30 € sinon - si nombre_personnes_à_charge = 2 alors 414,57 € sinon - si nombre_personnes_à_charge = 3 alors 426,23 € sinon - si nombre_personnes_à_charge = 4 alors 437,66 € sinon - si nombre_personnes_à_charge = 5 alors 446,93 € sinon - 446,93€ + 38,92€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 273,04 € - -- Couple: 334,73 €) - sinon - si nombre_personnes_à_charge = 1 alors 362,35 € sinon - si nombre_personnes_à_charge = 2 alors 374,90 € sinon - si nombre_personnes_à_charge = 3 alors 387,83 € sinon - si nombre_personnes_à_charge = 4 alors 400,56 € sinon - si nombre_personnes_à_charge = 5 alors 428,92 € sinon - 428,92 € + 37,29€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 256,14 € - -- Couple: 310,67€) - sinon - si nombre_personnes_à_charge = 1 alors 338,71 € sinon - si nombre_personnes_à_charge = 2 alors 352,71 € sinon - si nombre_personnes_à_charge = 3 alors 366,92 € sinon - si nombre_personnes_à_charge = 4 alors 380,90 € sinon - si nombre_personnes_à_charge = 5 alors 409,28 € sinon - 409,28€ + 35,48€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2015-10-01| et date_calcul < |2017-10-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 311,48€ - -- Couple: 375,38€) - sinon - si nombre_personnes_à_charge = 1 alors 403,62 € sinon - si nombre_personnes_à_charge = 2 alors 414,90 € sinon - si nombre_personnes_à_charge = 3 alors 426,57 € sinon - si nombre_personnes_à_charge = 4 alors 438,01 € sinon - si nombre_personnes_à_charge = 5 alors 447,29 € sinon - 447,29€ + 38,95€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 273,26 € - -- Couple: 335 €) - sinon - si nombre_personnes_à_charge = 1 alors 362,64 € sinon - si nombre_personnes_à_charge = 2 alors 375,20 € sinon - si nombre_personnes_à_charge = 3 alors 388,14 € sinon - si nombre_personnes_à_charge = 4 alors 400,88 € sinon - si nombre_personnes_à_charge = 5 alors 429,26 € sinon - 429,26 € + 37,32€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 256,34 € - -- Couple: 310,92€) - sinon - si nombre_personnes_à_charge = 1 alors 338,98 € sinon - si nombre_personnes_à_charge = 2 alors 352,99 € sinon - si nombre_personnes_à_charge = 3 alors 367,21 € sinon - si nombre_personnes_à_charge = 4 alors 381,20 € sinon - si nombre_personnes_à_charge = 5 alors 409,61 € sinon - 409,61€ + 35,51€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2017-10-01| et date_calcul < |2019-10-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 313,82€ - -- Couple: 378,20€) - sinon - si nombre_personnes_à_charge = 1 alors 406,65 € sinon - si nombre_personnes_à_charge = 2 alors 418,01 € sinon - si nombre_personnes_à_charge = 3 alors 429,77 € sinon - si nombre_personnes_à_charge = 4 alors 441,30 € sinon - si nombre_personnes_à_charge = 5 alors 450,64 € sinon - 450,64€ + 39,24€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 275,31 € - -- Couple: 337,51 €) - sinon - si nombre_personnes_à_charge = 1 alors 365,36 € sinon - si nombre_personnes_à_charge = 2 alors 378,01 € sinon - si nombre_personnes_à_charge = 3 alors 391,05 € sinon - si nombre_personnes_à_charge = 4 alors 403,89 € sinon - si nombre_personnes_à_charge = 5 alors 432,48 € sinon - 432,48 € + 37,60€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 258,26 € - -- Couple: 313,25€) - sinon - si nombre_personnes_à_charge = 1 alors 341,52 € sinon - si nombre_personnes_à_charge = 2 alors 355,64 € sinon - si nombre_personnes_à_charge = 3 alors 369,96 € sinon - si nombre_personnes_à_charge = 4 alors 384,06 € sinon - si nombre_personnes_à_charge = 5 alors 412,68 € sinon - 412,68€ + 35,78€ * - (décimal de (nombre_personnes_à_charge - 5))) - - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état base - sous condition - date_calcul >= |2019-10-01| - conséquence égal à - selon zone sous forme - -- Zone1: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 314,76€ - -- Couple: 379,33€) - sinon - si nombre_personnes_à_charge = 1 alors 407,87 € sinon - si nombre_personnes_à_charge = 2 alors 419,27 € sinon - si nombre_personnes_à_charge = 3 alors 431,06 € sinon - si nombre_personnes_à_charge = 4 alors 442,62 € sinon - si nombre_personnes_à_charge = 5 alors 452,00 € sinon - 452,00€ + 39,36€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone2: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 276,14 € - -- Couple: 338,53 €) - sinon - si nombre_personnes_à_charge = 1 alors 366,46 € sinon - si nombre_personnes_à_charge = 2 alors 379,15 € sinon - si nombre_personnes_à_charge = 3 alors 392,22 € sinon - si nombre_personnes_à_charge = 4 alors 405,10 € sinon - si nombre_personnes_à_charge = 5 alors 433,78 € sinon - 433,78 € + 37,71€ * - (décimal de (nombre_personnes_à_charge - 5))) - -- Zone3: ( - si nombre_personnes_à_charge = 0 alors - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 259,04 € - -- Couple: 314,19€) - sinon - si nombre_personnes_à_charge = 1 alors 342,55 € sinon - si nombre_personnes_à_charge = 2 alors 356,70 € sinon - si nombre_personnes_à_charge = 3 alors 371,07 € sinon - si nombre_personnes_à_charge = 4 alors 385,21 € sinon - si nombre_personnes_à_charge = 5 alors 413,92 € sinon - 413,92€ + 35,88€ * - (décimal de (nombre_personnes_à_charge - 5))) - - # Une exception est à venir avec l'article 37 - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_copropriété égal à - calcul_plafond_mensualité_d842_6 de date_calcul, nombre_personnes_à_charge - - # Une exception est à venir dans les archives de l'article 46 - définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_limitation_dom_tom égal à - calcul_plafond_mensualité_d842_6 de date_calcul, nombre_personnes_à_charge -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 29 juillet 2022 (NOR : TREL2220748A), -ces dispositions sont applicables pour les prestations dues à compter du 1 er -juillet 2022. - -```catala -# Cette NOTA fait référence à l'article 3 de l'arrêté du 29 juillet 2022 qui -# contient précisément des corrections pointées par les auteurs de ce code -# (valeurs aberrantes dans le tableau). Selon cette NOTA, il faudrait donc -# garder également l'ancienne version erronnée de ce tableau et basculer entre -# la version erronnée et la version corrigée selon que l'on soit avant ou après -# le premier juillet 2022. Ici, nous décidons de ne pas faire cela et de ne -# garder que la version corrigée pour simplicité et parceque DGALN/DHUP/FE4 -# nous a confirmé que la CAF a toujours utilisé une version "corrigée" de -# cet article. -``` - -### Article 34 | LEGIARTI000048109284 - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-6 du même code sont fixés comme -suit (en euros) : - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 58,08 -Par personne supplémentaire à charge 13,17 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-10-01|: - - étiquette métropole - définition multiplicateur_majoration_charges égal à - décimal de nombre_personnes_à_charge - - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 58,08 € - sinon 58,08 € + 13,17 € * multiplicateur_majoration_charges -``` - -### Article 35 | LEGIARTI000039160693 - -Le montant de minoration forfaitaire prévu au 9e alinéa de l'article D. 842-6 du même code est fixé à 5 euros. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d842_6 égal à 5 € -``` - -### Article 36 | LEGIARTI000039160695 - -Le seuil de versement prévu au dernier alinéa de l'article D. 842-6 du même code, avant application de la -contribution pour le remboursement de la dette sociale, est fixé à 10 euros. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_minimal_aide_d842_6 égal à 10 € -``` - -### Article 37 | LEGIARTI000048109281 - -Dans le cas des copropriétaires prévus à l'article D. 842-10 du même code : - -1° Les plafonds de mensualités sont fixés à 75 % des plafonds de mensualités mentionnés à l'article 33 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-10-01|: - exception définition calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge - état avec_copropriété sous condition - copropriété - conséquence égal à - (calcul_plafond_mensualité_d842_6 de - date_calcul, nombre_personnes_à_charge) * 75% -``` - -2° Le montant forfaitaire au titre des charges est fixé comme suit (en euros) : - -Composition du ménage Montant ---------------------------------------------------- ---------------- -Bénéficiaire isolé 29,03 -Couple sans personne à charge 58,08 -Majoration par personne à charge 13,17 - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-10-01|: - étiquette copropriété exception base - définition montant_forfaitaire_charges sous condition copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 29,03 € - -- Couple : 58,08€) + 13,17 € * multiplicateur_majoration_charges -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -### Article 38 | LEGIARTI000039160699 - -Pour le calcul de la dépense nette minimale de logement définie à l'article D. 842-11 du même code : - -1° Le montant minimum mentionné au deuxième alinéa est fixé à 15 euros ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d842_11 égal à 15 € -``` - -2° Le coefficient mentionné au troisième alinéa est fixé à 0,0234. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition coefficient_d842_11 égal à 0,0234 -``` - -### Article 39 | LEGIARTI000039160701 - -Pour déterminer le plancher de ressources défini à l'article D. 842-12 du même code : - -1° Le coefficient prévu au 1° est fixé à 16,25 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition coefficient_d842_12 égal à 16,25 -``` - -2° Le montant forfaitaire prévu au 2° est fixé à 3 900 euros. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d842_12 égal à 3 900 € -``` - -## Chapitre VII : Calcul des allocations de logement en secteur logement-foyer - -### Article 40 | LEGIARTI000048109278 - -Les montants forfaitaires au titre des charges visés au 4° de l'article D. 842-15 -du même code sont fixés comme suit (en euros) : - -Composition du ménage Toutes zones ------------------------------------------------------------- -------------------- -Bénéficiaire isolé ou couple sans personne à charge 58,08 -Par personne supplémentaire à charge 13,17 - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-10-01| : - - étiquette métropole - définition multiplicateur_majoration_charges égal à - décimal de nombre_personnes_à_charge - - étiquette base définition montant_forfaitaire_charges égal à - si nombre_personnes_à_charge = 0 alors 58,08 € - sinon 56,12 € + 13,17 € * multiplicateur_majoration_charges -``` - -### Article 41 | LEGIARTI000039160703 - -Le montant de minoration forfaitaire prévu au 9e alinéa de l'article D. 842-15 du même code est -fixé à 5 euros. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_forfaitaire_d842_15 égal à 5 € -``` - -### Article 42 | LEGIARTI000039160707 - -Le seuil de versement prévu au dernier alinéa de l'article D. 842-15 du même code, -avant application de la contribution pour le remboursement de la dette sociale, -est fixé à 10 euros. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_minimal_aide_d842_15 égal à 10 € -``` - -### Article 43 | LEGIARTI000048109275 - -L'équivalence de loyer L pour chacune des catégories de personnes mentionnées à l'article -D. 842-16 du même code est égal à : - -1° Pour les étudiants logés en chambre : - -a) 90,13 euros lorsqu'il s'agit d'une personne seule ; - -b) 140,34 euros euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme ÉtudiantLogéEnChambreCROUS - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 90,13 € - -- Couple: 140,34 € -``` - -2° Pour les étudiants logés dans une chambre ayant fait l'objet d'une réhabilitation : - -a) 182,23 euros lorsqu'il s'agit d'une personne seule ; - -b) 283,23 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - ÉtudiantLogéEnChambreCROUSRéhabilitée - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 182,23 € - -- Couple: 283,23 € -``` - -3° Pour les personnes mentionnées au 3° : - -a) 221,10 euros lorsqu'il s'agit d'une personne seule ; - -b) 343,58 euros lorsqu'il s'agit d'un couple ; - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - PersonnesÂgéesSelon3DeD842_16 - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 221,10 € - -- Couple: 343,58 € -``` - -4° Pour les autres personnes : - -a) 182,23 euros lorsqu'il s'agit d'une personne seule ; - -b) 283,23 euros lorsqu'il s'agit d'un couple. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-10-01|: - définition équivalence_loyer sous condition - catégorie_équivalence_loyer_d842_16 sous forme - AutresPersonnes - conséquence égal à - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 182,23 € - -- Couple: 283,23 € -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -### Article 44 | LEGIARTI000039160711 - -Le montant minimum de dépense nette de logement défini à l'article D. 842-17 du même code -est fixé à 15 euros. - -```catala -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition montant_minimal_dépense_nette_d842_17 égal à 15 € -``` - -## Chapitre VIII : Prime de déménagement - -### Article 45 | LEGIARTI000039160713 - -Le plafond de dépenses ouvrant droit à la prime de déménagement défini -à l'article D. 823-22 du même code s'exprime en pourcentage de la base -mensuelle de calcul des allocations familiales. Il est égal à 240 % pour -les bénéficiaires isolés ou couples ayant trois enfants à charge et est -majoré de 20 % par enfant supplémentaire à charge. - -```catala -champ d'application ÉligibilitéPrimeDeDéménagement - sous condition date_courante >= |2019-10-01|: # Voir article 50 - définition plafond_d823_22 égal à - base_mensuelle_allocations_familiales.montant * 240% + - (si - nombre de (personne_à_charge parmi ménage.personnes_à_charge - tel que personne_à_charge sous forme EnfantÀCharge) > 3 - alors - base_mensuelle_allocations_familiales.montant * (décimal de ( - nombre de (personne_à_charge parmi ménage.personnes_à_charge - tel que personne_à_charge sous forme EnfantÀCharge) - 3) * 20%) - sinon 0€) -``` - -## Chapitre IX : Calcul des allocations de logement en outre-mer - -### Article 46 | LEGIARTI000048109272 - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion, à -Mayotte, à Saint-Barthélemy et à Saint-Martin des dispositions des chapitres -III, VI et VII du présent arrêté : - -1° La valeur fixée à l'article 15 du forfait -" R0 ", visé au 5° de l'article D. 823-17 du même code, pour un ménage ayant un -enfant à charge, est remplacée par " 8 181 euros " ; - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre R0 est défini dans le calcul des APL, -# pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - exception métropole - définition abattement_forfaitaire_d823_17 - sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - nombre_personnes_à_charge = 1 - conséquence égal à - 8 181 € -``` - -2° Les montants forfaitaires au titre des charges sont modifiés ainsi : - -a) Les montants visés au 3° de l'article D. 823-16, au 4° des articles -D. 842-6 et D. 842-15 du même code, dont les valeurs sont fixées aux articles 9, -34 et 40, sont remplacés par les valeurs suivantes (en euros) : - - -Désignation Toutes zones ---------------------------------------------------- ------------ -Bénéficiaire isolé ou couple sans personne à charge 38,99 -Par personne supplémentaire à charge 10,03 - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre du montant des charges est défini dans le -# calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - étiquette base_outre_mer exception base_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - 38,99€ + 10,03€ * multiplicateur_majoration_charges_d823_16 - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-10-01|: - étiquette outre_mer exception copropriété - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - 38,99 € + 10,03 € * multiplicateur_majoration_charges - -champ d'application CalculAllocationLogementFoyer - sous condition date_courante >= |2023-10-01| : - exception base définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - 38,99 € + 10,03 € * multiplicateur_majoration_charges -``` - -b) Les montants des colocataires et des copropriétaires prévus respectivement -aux articles D. 823-18 et D. 842-10 du même code, dont les valeurs sont fixées -aux articles 16 et 37, sont remplacés par les valeurs suivantes (en euros) : - -Composition du ménage Montant --------------------------------- ------- -Bénéficiaire isolé 20,06 -Couple sans personne à charge 38,99 -Majoration par personne à charge 10,03 - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre du montant des charges colocation est défini -# dans le calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - exception colocation_métropole - définition montant_forfaitaire_charges_d823_16 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - colocation - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 20,06€ - -- Couple: 38,99€) + - 10,03€ * multiplicateur_majoration_charges_d823_16 - -champ d'application CalculAllocationLogementAccessionPropriété - sous condition date_courante >= |2023-10-01|: - exception outre_mer - définition montant_forfaitaire_charges sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - copropriété - conséquence égal à - (selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 20,06€ - -- Couple: 38,99€) + - 10,03€ * multiplicateur_majoration_charges -``` - -3° Les valeurs du taux " TF " fixées à l'article 14, taux fonction de la taille -de la famille visé au 3° de l'article D. 823-17 du même code, sont -remplacées par les valeurs suivantes : - -VALEURS DE TF - -Bénéficiaires TF ---------------------------------------------------- ------ -Isolé 2,81 % -Couple sans enfant 2,99 % -Personne seule ou couple ayant 1 personne à charge 2,38 % -Personne seule ou couple ayant 2 personnes à charge 2,17 % -Personne seule ou couple ayant 3 personnes à charge 1,94 % -Personne seule ou couple ayant 4 personnes à charge 1,80 % -Personne seule ou couple ayant 5 personnes à charge 1,69 % -Personne seule ou couple ayant 6 personnes à charge 1,62 % -Personne seule ou couple ayant 7 personnes à charge 1,67 % -Majoration par personne à charge supplémentaire -0,06 % - -```catala -# Ici bizarrerie, à la ligne pour 7 personnes on a un TF plus grand que la -# ligne à 6 personnes alors que partout ailleurs on a une décroissance. -# Cette bizarrerie a été introduite avec la dernière version de l'arrêté de 2019 -# (arrêté du 26 décembre 2022). Une justification nous en a été donnée par -# DGALN/DHUP/FE4 dans un mail en date du 21/04/2023 : -# "Le calcul du TF est plus avantageux en outre-mer par rapport à la métropole. -# Si la limite de 6 enfants a été supprimée, le barème applicable à l’outre-mer -# n’a pas été modifié pour les six premiers enfants. Par contre, à compter du -# 7ème enfant à charge, le barème applicable est identique à celui applicable en -# métropole (voir l’article 14 de l’arrêté : TF pour 6 personnes à charge de -# 1,73%, majoration par personne supplémentaire : -0,06% - TF applicable pour 7 -# personnes à charge : 1,73 – 0,06 = 1,67%). Il ne s’agit donc pas d’un -# incohérence numérique mais d’un alignement avec le barème métropolitain." - -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre TF est défini -# dans le calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-10-01|: - exception base définition taux_composition_familiale sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 2,81% - -- Couple: 2,99% - sinon si nombre_personnes_à_charge = 1 alors - 2,38% - sinon si nombre_personnes_à_charge = 2 alors - 2,17% - sinon si nombre_personnes_à_charge = 3 alors - 1,94% - sinon si nombre_personnes_à_charge = 4 alors - 1,80% - sinon si nombre_personnes_à_charge = 5 alors - 1,69% - sinon si nombre_personnes_à_charge = 6 alors - 1,62% - sinon si nombre_personnes_à_charge = 7 alors - 1,67% - sinon ( - 1,67% - 0,06% * (décimal de (nombre_personnes_à_charge - 7))) -``` - -4° A compter du 1er janvier 2022, pour l'application du 5° de l'article -D. 823-17 du même code, le forfait “ R0 ” applicable à Mayotte est identique -à celui applicable en outre-mer. - -```catala -# Rien à coder. -``` - -NOTA : - -Conformément à l’article 3 de l’arrêté du 22 septembre 2023 (NOR : -TREL2321292A), ces dispositions sont applicables aux prestations dues à -compter du 1er octobre 2023. - -### Article 47 | LEGIARTI000046834753 - -Pour l'application du chapitre VII du présent arrêté à Saint-Pierre-et-Miquelon, -le calcul de l'allocation de logement pour les logements-foyers repose sur les -valeurs fixées au chapitre III relatif au calcul des aides personnelles au -logement en secteur locatif. - -```catala -# Cet alinéa est une recette de D863-7 où nous avons déjà codé ce changement -# de mode de calcul. -``` - -Pour l'application du 5° de l'article D. 823-17 à Saint-Pierre-et-Miquelon, -le forfait “ R0 ” est fixé selon le tableau suivant : - - -Composition du foyer MONTANT (en euros) ---------------------------------------------------- ------------------- -Personne seule sans personne à charge 5 272 -Couple sans personne à charge 7 552 -Personne seule ou couple ayant : --une personne à charge 9 008 --deux personnes à charge 9 211 --trois personnes à charge 9 563 --quatre personnes à charge 9 919 --cinq personnes à charge 10 271 --six personnes à charge 10 626 --par personne à charge supplémentaire 350 - -NOTA : Conformément à l’article 3 de l’arrêté du 26 décembre 2022 -(NOR : TREL2226772A), ces dispositions sont applicables pour les prestations -dues à compter du 1er janvier 2023. - -```catala -# Ici nous modifions le champ d'application -# "CalculAidePersonnaliséeLogementLocatif" au lieu de -# "CalculAllocationLogementLocatif", même si il n'existe pas de convention- -# nement locatif pour les APL dans les DROM. En effet le calcul des AL -# en secteur locatif repose essentiellement sur la formue des APL en secteur -# locatif. Notamment le paramètre RO est défini -# dans le calcul des APL pas celui des AL. -champ d'application CalculAidePersonnaliséeLogementLocatif - sous condition date_courante >= |2023-01-01|: - exception métropole - définition abattement_forfaitaire_d823_17 sous condition - selon résidence sous forme - -- SaintPierreEtMiquelon: vrai - -- n'importe quel: faux - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 5 272 € - -- Couple: 7 552 € - sinon si nombre_personnes_à_charge = 1 alors - 9 008 € - sinon si nombre_personnes_à_charge = 2 alors - 9 211 € - sinon si nombre_personnes_à_charge = 3 alors - 9 563 € - sinon si nombre_personnes_à_charge = 4 alors - 9 919 € - sinon si nombre_personnes_à_charge = 5 alors - 10 271 € - sinon si nombre_personnes_à_charge = 6 alors - 10 626 € - sinon - 10 626€ + 350 € * (décimal de (nombre_personnes_à_charge - 6)) -``` - -## Chapitre X : Calcul de l'aide personnalisée au logement en secteur logement-foyer pour la Guadeloupe, la Guyane, la Martinique, la Réunion et Mayotte - -### Article 48 | LEGIARTI000046838288 - -Le calcul de l'aide personnalisée au logement pour les logements-foyers en -Guadeloupe, en Guyane, en Martinique, à La Réunion et à Mayotte, repose sur -les valeurs fixées au chapitre V (relatif au calcul de l'aide personnalisée -au logement pour les logements-foyers). - -NOTA : Conformément à l’article 3 de l’arrêté du 26 décembre 2022 -(NOR : TREL2226772A), ces dispositions sont applicables pour les prestations -dues à compter du 1er janvier 2023. - -```catala -# Rien à changer donc. -``` - -## Chapitre XI : Dispositions communes - -### Article 49 | LEGIARTI000046834749 - -Les zones géographiques prévues au présent arrêté sont celles définies par -l'arrêté du 17 mars 1978 modifié susvisé. Pour l'application du dernier alinéa -de l'article L. 831-2 du même code, les communes auxquelles s'applique la -dérogation sont celles appartenant à la zone III. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement sous condition - date_courante >= |2019-10-01|: # Voir article 50 - règle logement_situé_commune_déséquilibre_l831_2 sous condition - ménage.logement.zone sous forme Zone3 - conséquence rempli -``` - -### Article 50 | LEGIARTI000046834746 - -Les dispositions du présent arrêté sont applicables pour les prestations dues -à compter du 1er octobre 2019. - - -### Article 51 | LEGIARTI000046834740 - -Le directeur de l'habitat, de l'urbanisme et des paysages, la directrice de -la sécurité sociale, le directeur des affaires financières, sociales et -logistiques, la directrice du budget et le directeur général des outre-mer -sont chargés, chacun en ce qui le concerne, de l'exécution du présent arrêté, -qui sera publié au Journal officiel de la République française. - -```catala -# Rien à coder ici. -``` - -### Article 52 | LEGIARTI000046833207 - -Sont abrogés : - -1° L'arrêté du 3 juillet 1978 modifié relatif au calcul de l'aide personnalisée -au logement ; - -2° L'arrêté du 30 juin 1979 modifié relatif au calcul de l'aide personnalisée au -logement attribuée aux personnes résidant dans un logement-foyer ; - -3° L'arrêté du 7 octobre 1980 relatif à la couverture des frais exposés pour le -recouvrement de la cotisation et le service de l'allocation de logement et de -la prime de déménagement instituées par la loi n° 71-582 du 16 juillet 1971 -modifiée ; - -4° L'arrêté du 26 décembre 2000 modifié relatif à l'allocation de logement ; - -5° Le premier alinéa et le 1° de l'article 1er de l'arrêté du 14 février 2013 -relatif au mode de calcul et aux pièces justificatives pour l'examen du droit -aux allocations de logement à Mayotte ; - -6° L'arrêté du 27 février 2018 relatif à la prise en compte de la réduction de -loyer de solidarité dans le calcul de l'aide personnalisée au logement ; - -7° L'arrêté du 27 février 2018 relatif au maintien dérogatoire de l'aide -personnalisée au logement destinée à l'accession à la propriété pour les logements -anciens et dans certaines communes. - -A abrogé les dispositions suivantes : - -- Arrêté du 3 juillet 1978 - -Sct. I - DISPOSITIONS APPLICABLES AUX RESSOURCES., Art. 1, Art. 1 ter, Art. 1 -quater, Art. 1 quinquies, Art. 2, Sct. II. - Calcul de l'aide personnalisée au -logement des locataires., Art. 2 bis, Art. 2 ter, Art. 2 quater, Art. 2 quinquies, -Art. 2 sexies, Art. 2 septies, Sct. III - Calcul de l'aide personnalisée au -logement des propriétaires., Art. 3, Art. 3 bis, Art. 5, Art. 6, Art. 8, Art. 10, -Art. 10 bis, Art. 10 ter, Art. 10 quater, Sct. IV - Dispositions communes aux -locataires et aux propriétaires pour le calcul de l'aide personnalisée au logement., -Art. 11, Art. 11 ter, Art. 11 nonies, Sct. V - Prime de déménagement., Art. 12, Art. -13 - -A abrogé les dispositions suivantes : - -- Arrêté du 30 juin 1979 - -Art. 1, Art. 2, Art. 3, Art. 4, Art. 4-1, Art. 5, Art. 6, Art. 7, Art. 8 - -A abrogé les dispositions suivantes : - -- Arrêté du 26 décembre 2000 - -Art. 1, Art. 1 bis, Art. 1 ter, Art. 1 quater, Art. 2, Art. 2 bis, Art. 3, Art. 3 -bis, Art. 3 ter, Art. 4, Art. 5, Art. 6, Art. 6 bis, Art. 9 bis, Art. 9 ter, Art. 10, -Art. 11 - -A abrogé les dispositions suivantes : - -- Arrêté du 27 février 2018 - -Art. 2 - -A modifié les dispositions suivantes : - -- Arrêté du 14 février 2013 - -Art. 1 - -A abrogé les dispositions suivantes : - -- Arrêté du 7 octobre 1980 - -Art. 1, Art. 2, Art. 3, Art. 4 - -A abrogé les dispositions suivantes : - -- Arrêté du 27 février 2018 - -Art. 2 - -```catala -# Rien à coder ici. -``` diff --git a/examples/aides_logement/autres_sources.catala_fr b/examples/aides_logement/autres_sources.catala_fr deleted file mode 100644 index a4866a9c..00000000 --- a/examples/aides_logement/autres_sources.catala_fr +++ /dev/null @@ -1,521 +0,0 @@ -# Montants revalorisés de l'allocation de solidarité aux personnes âgées - -Les montants de l'allocation de solidarité aux personnes âgées pour -2021 et 2022 n'ont pas fait l'objet de publication législative ou réglementaire. -La raison nous en a été apportée par le bureau BRS de la 6° sous-direction -de la direction du budget le 12/08/2022: - -"- L’article L. 815-4 renvoie à un décret (D. 815-1) la fixation des montants, -en l’espèce ceux applicables à compter du 1er janvier 2020 (date de la dernière -revalorisation ayant dérogé au principe de la revalorisation annuelle) ; - -- L’article L. 816-2 prévoit le principe de la revalorisation annuelle au 1er -janvier de chaque année en fonction de l’inflation, par renvoi à l’article -L. 161-25 ; - -- Il n’est nul besoin de prendre un décret chaque année en l’absence de renvoi -de ce dernier article. Nous prenons une circulaire chaque année à des fins de -clarification des montants applicables, qui n’a qu’une valeur interprétative."" - -À noter que l'article L161-25 doit être interprété de la manière suivante -pour revaloriser correctement : au 1er janvier de l'année N, on calcule la moyenne -de l'indice des prix hors-tabac d'octobre N-1 à novembre N-2, que l'on divise -par cette même moyenne mais cette fois-ci calculée d'octobre N-2 à novembre N-3. -Cela nous donne le coefficient de revalorisation à appliquer à allocation de -solidarité aux personnes âgées. Cette méthode nous a été précisément confirmée par -le bureau BRS de la 6° sous-direction de la direction du budget le 31/08/2022. - -Pour éviter de refaire les calculs de revalorisation en Catala, nous prendrons -comme référence les valeurs de la CNAV rappelées dans des circulaires internes. - -## Circulaire de la CNAV 2023-3 du 09/01/2022 "Revalorisation à compter du 1er janvier 2023" - -[Lien vers le texte](https://legislation.lassuranceretraite.fr/Pdf/circulaire_cnav_2023_03_09012023.pdf) - -Le montant de l’Aspa s’élève, à compter du 1er janvier 2023, à : - -Bénéficiaire Montant annuel Montant mensuel --------------- -------------- --------------- -Personne seule 11 533,02 € 961,08 € -Couple marié 17 905,06 € 1 492,08 € - -```catala -# Pas important pour nous -``` - -Pour prétendre à cette allocation non contributive, les plafonds de ressources sont fixés à: - -Bénéficiaire Montant annuel Montant mensuel --------------- -------------- ----------------- -Personne seule 11 533,02 € 961,08 € -Couple marié 17 905,06 € 1 492,08 € - -```catala -# Uniquement la valeur du plafond individuel est important pour l'éligibilité -# aux APL -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition plafond_individuel_l815_9_sécu sous condition - date_courante >= |2023-01-01| - conséquence égal à 11 533,02 € -``` - -## Circulaire de la CNAV 2022-3 du 11/01/2022 "Revalorisation à compter du 1er janvier 2022" - -[Lien vers le texte](https://legislation.lassuranceretraite.fr/Pdf/circulaire_cnav_2022_03_11012022.pdf) - -Le montant de l’Aspa s’élève, à compter du 1er janvier 2022, à : - -Bénéficiaire Montant annuel Montant mensuel --------------- -------------- --------------- -Personne seule 11 001,44 € 916,78 € -Couple marié 17 079,77 € 1 423,31 € - -```catala -# Pas important pour nous -``` - -Pour prétendre à cette allocation non contributive, les plafonds de ressources sont fixés à: - -Bénéficiaire Montant annuel Montant mensuel --------------- -------------- ----------------- -Personne seule 11 001,44€ 916,78 € -Couple marié 17 079,77 € 1 423,31 € - -```catala -# Uniquement la valeur du plafond individuel est important pour l'éligibilité -# aux APL -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition plafond_individuel_l815_9_sécu sous condition - date_courante >= |2022-01-01| et - date_courante < |2023-01-01| - conséquence égal à 11 001,44€ -``` - -## Circulaire de la CNAV 2021-1 du 11/01/2021 "Revalorisation à compter du 1er janvier 2021" - -[Lien vers le texte](https://legislation.lassuranceretraite.fr/Pdf/circulaire_cnav_2021_01_11012021.pdf) - -Le montant de l’Aspa s’élève, à compter du 1er janvier 2022, à : - -Bénéficiaire Montant annuel Montant mensuel --------------- -------------- --------------- -Personne seule 10 881,75 € 906,81 € -Couple marié 16 893,94 € 1 407,82 € - -```catala -# Pas important pour nous -``` - - -Pour prétendre à cette allocation non contributive, les plafonds de ressources sont fixés à: - -Bénéficiaire Montant annuel Montant mensuel --------------- -------------- ----------------- -Personne seule 10 881,75 € 906,81 € -Couple marié 16 893,94 € 1 407,82 € - -```catala -# Uniquement la valeur du plafond individuel est important pour l'éligibilité -# aux APL -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition plafond_individuel_l815_9_sécu sous condition - date_courante >= |2021-01-01| et - date_courante < |2022-01-01| - conséquence égal à 10 881,75€ -``` - -# Ordonnance n° 96-50 du 24 janvier 1996 relative au remboursement de la dette sociale - -## Chapitre II : Des contributions pour le remboursement de la dette sociale. - -### Article 14 | LEGIARTI000038834962 - -I.-Il est institué une contribution assise sur les revenus d'activité et de -remplacement mentionnés à la section 1 du chapitre 4 du titre 3 du livre 1 -du code de la sécurité sociale perçus par les personnes physiques désignées -à ce même article. Cette contribution est soumise aux conditions prévues aux -articles L. 136-1-1 à L. 136-4 du même code. - -Elle est due jusqu'à l'extinction des missions prévues à l'article 2 de la -présente ordonnance. - -II.-Lorsqu'ils n'entrent pas dans le champ d'application du I, sont également -soumis à la contribution dans les mêmes conditions et selon les mêmes -modalités : - -7° Les aides personnelles au logement mentionnées à l'article L. 821-1 du -code de la construction et de l'habitation ; - -```catala -champ d'application ContributionsSocialesAidesPersonnelleLogement: - définition montant de aide_finale sous condition - date_courante >= |2018-09-01| - conséquence égal à - aide_finale * taux_crds - - assertion exonéré_csg # Voir L136-1-3 code de la sécurité sociale -``` - -8° Les prestations visées à l'article L. 511-1 et au chapitre V du titre V -du livre VII du code de la sécurité sociale, à l'exception de l'allocation -d'éducation de l'enfant handicapé ; - -9° La prime d'activité mentionnée à l' article L. 841-1 du code de la sécurité -sociale . - -III.-La contribution due sur les prestations visées aux 7°, 8° et 9° du II est -précomptée par l'organisme débiteur dans les conditions prévues à l' article -L. 131-1 du code de la sécurité sociale . - -La contribution prévue au I est recouvrée et contrôlée dans les conditions et -sous les garanties et sanctions visées à l'article L. 136-5 du code de la -sécurité sociale. - -IV.-Les prestations visées au 8° du II, à l'exception de l'allocation logement -mentionnée aux articles L. 542-1 et L. 755-21 du code de la sécurité sociale, -ne sont assujetties à la contribution qu'à compter du 1er janvier 1997. - -NOTA : -Conformément aux dispositions de l'article 16 de l'ordonnance n° 2018-474 du -12 juin 2018, les dispositions de la présente ordonnance s'appliquent aux -cotisations et contributions dues pour les périodes courant à compter du -1er septembre 2018. - -### Article 19 | LEGIARTI000041466982 - -Le taux des contributions instituées par les articles 14 à 17 est fixé à 0,5 %. - -```catala -champ d'application ContributionsSocialesAidesPersonnelleLogement: - définition taux_crds sous condition date_courante >= |2020-01-01| - conséquence égal à 0,5% -``` - -Le taux de la contribution instituée au I de l'article 18 est fixé à 2,2 %. -Le taux de la contribution instituée au III de l'article 18 est fixé à 3 %. - -NOTA : - -Conformément aux dispositions du VIII de l'article 138 de la loi n° 2019-486 du -22 mai 2019, ces dispositions entrent en vigueur le 1er janvier 2020. - -Conformément au A du VI de l'article 28 de la loi n° 2019-1479 du 28 décembre 2019, -ces dispositions entrent en vigueur le 1er janvier 2020. - - -# Conseil d'État, 5ème - 4ème chambres réunies, 21/07/2017, 398563 | CETATEXT000035260342 - -Vu la procédure suivante : - -M. A...B...a demandé au tribunal administratif de Rennes d'annuler la décision -du 15 octobre 2014 par laquelle la caisse d'allocations familiales les -Côtes-d'Armor, après avis de la commission de recours amiable, a refusé de -lui accorder le bénéfice de l'aide personnalisée au logement. Par un jugement -n° 1405338 du 4 février 2016, le tribunal administratif a fait droit à cette -demande. - -Par un pourvoi sommaire et un mémoire complémentaire, enregistrés au secrétariat -du contentieux du Conseil d'Etat le 6 avril et le 5 juillet 2016, le ministre -du logement et de l'habitat durable demande au Conseil d'Etat d'annuler ce -jugement. - -Vu les autres pièces du dossier ; - -Vu : - -- le code civil ; -- le code de la construction et de l'habitation ; -- le code de la sécurité sociale ; -- le code de justice administrative ; - -Après avoir entendu en séance publique : - -- le rapport de M. Alain Seban, conseiller d'Etat, -- les conclusions de M. Nicolas Polge, rapporteur public. - -1. Considérant qu'il ressort des pièces du dossier soumis au juge du fond que -M. B... a sollicité de la caisse d'allocations familiales des Côtes d'Armor le -bénéfice de l'aide personnalisée au logement ; que cette demande a été rejetée -par une décision du 16 mai 2014, confirmée sur recours amiable le 15 octobre -2014 ; que le ministre du logement et de l'habitat durable se pourvoit en -cassation contre le jugement du 4 février 2016 par lequel le magistrat délégué -par le président du tribunal administratif de Rennes a annulé cette décision -au motif que la caisse d'allocations familiales n'avait pu légalement se fonder -sur la circonstance que la fille de l'intéressé résidait alternativement chez -ses deux parents séparés pour refuser de la prendre en compte pour l'application -du barème de l'aide ; - -2. Considérant que l'article L. 351-3 du code de la construction et de -l'habitation dispose que l'aide personnalisée au logement est calculée en -fonction d'un barème qui prend notamment en compte " la situation de famille -du demandeur de l'aide occupant le logement et le nombre de personnes à charge -vivant habituellement au foyer " ; qu'aux termes de l'article R. 351-8 du même -code : " Sont considérés comme personnes à charge au sens des titres III à V du -présent livre, sous réserve qu'ils vivent habituellement au foyer : / -1° Les enfants ouvrant droit aux prestations familiales (...) " ; - -3. Considérant, d'une part, qu'aux termes du deuxième alinéa de l'article -L. 521-2 du code de la sécurité sociale : " En cas de résidence alternée de -l'enfant au domicile de chacun des parents telle que prévue à l'article 373-2-9 -du code civil, mise en oeuvre de manière effective, (...) la charge de l'enfant -pour le calcul des allocations familiales est partagée par moitié entre les deux -parents soit sur demande conjointe des parents, soit si les parents sont en -désaccord sur la désignation de l'allocataire " ; qu'il résulte de ces -dispositions que les enfants en situation de résidence alternée sont pris en -compte pour le calcul des allocations familiales ; qu'ainsi, le ministre n'est -pas fondé à soutenir qu'un " principe d'unicité de l'allocataire " s'opposerait -à la prise en compte de ces enfants pour la détermination du montant de l'aide -personnalisée au logement ; - -4. Considérant, d'autre part, que, pour l'application des articles L. 351-3 et -R. 351-8 du code de la construction et de l'habitation cités ci-dessus, les -enfants en situation de garde alternée doivent être regardés comme vivant -habituellement au foyer de chacun de leurs deux parents ; qu'ils doivent, -par suite, être pris en compte pour le calcul de l'aide personnalisée au -logement sollicitée, le cas échéant, par chacun des deux parents, qui ne peut -toutefois prétendre à une aide déterminée sur cette base qu'au titre de la -période cumulée pendant laquelle il accueille l'enfant à son domicile au cours -de l'année ; - - -```catala -champ d'application CalculetteAidesAuLogementGardeAlternée: - définition aide_finale égal à - # TODO juridique: discuter des effets du choix de la fonction de traitement. - # Faut-il prendre calculette.traitement_aide_finale ou - # calculette_sans_garde_alternée.traitement_aide_finale ? - calculette.traitement_aide_finale de ( - calculette_sans_garde_alternée.aide_finale_formule + ( - si nombre de coefficents_enfants_garde_alternée_pris_en_compte = 0 alors - 0 € - sinon - # On retire la part des allocations logement dues aux enfants - # en garde alternée à hauteur des coefficients prenant en compte la - # période cumulée pendant laquelle le ménage accueille l'enfant - # à domicile. - (calculette.aide_finale_formule - - calculette_sans_garde_alternée.aide_finale_formule) * - ((somme décimal de - coefficents_enfants_garde_alternée_pris_en_compte) / - (décimal de - nombre de coefficents_enfants_garde_alternée_pris_en_compte)))) -``` - -5. Considérant qu'il résulte de ce qui précède que le ministre du logement et -de l'habitat durable n'est pas fondé à demander l'annulation du jugement qu'il -attaque ; - -D E C I D E : - --------------- - -Article 1er : Le pourvoi du ministre du logement et de l'habitat durable est rejeté. - -Article 2 : La présente décision sera notifiée au ministre de la cohésion -des territoires, à M. A... B...et à la caisse d'allocations familiales des Côtes-d'Armor. - -ECLI:FR:CECHR:2017:398563.20170721 - -# Règlement (CE) n°2866/98 du conseil du 31 décembre 1998 concernant les taux de conversion entre l'euro et les monnaies des États membres adoptant l'euro - -## Article premier - -1 euro = 6,55957 francs français - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition taux_francs_vers_euros égal à (1,0 / 6,55957) - -champ d'application CalculAllocationLogementAccessionPropriété: - définition taux_francs_vers_euros égal à (1,0 / 6,55957) -``` - -# Décret n° 2021-1750 du 21 décembre 2021 portant diverses mesures sur les aides personnelles au logement et relatif aux aides personnelles au logement à Saint-Pierre-et-Miquelon - -## Article 6 | JORFARTI000044547640 - -Les dispositions du présent décret s'appliquent aux contributions et aux prestations dues -à compter du 1er janvier 2022, sous réserve du 2° et 3° de l'article 1er et du 3° de l'article -6 quater du décret n° 2002-120 du 30 janvier 2002 susvisé dans sa rédaction résultant de l'article -3 qui entrent en vigueur le 1er janvier 2023 ainsi que des dispositions de l'article 7. - -## Article 7 | JORFARTI000044547643 - -Par dérogation aux dispositions de l'article D. 823-9 du code de la construction et de l'habitation -issues de l'article 2 du présent décret, pour les ménages bénéficiaires des aides personnelles au -logement à Saint-Pierre-et-Miquelon mentionnées à cet article, le montant mensuel de l'aide due au -titre du mois de janvier 2022 jusqu'au mois de décembre 2025 est calculé selon la formule suivante : - -ALspm = ALt × (1 - (2026-n) / 8) - -```catala -# Attention, la formule initiale était fausse (manque un "-" après le "1"), -# rectifié par https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000044807163 et -# c'est la version rectifiée que nous prenons en compte. -``` - -Dans laquelle : - -1° « ALspm » est l'aide mensuelle due aux bénéficiaires de l'aide personnelle au logement à -Saint-Pierre-et-Miquelon au titre du mois considéré, entre janvier 2022 et décembre 2025 ; - -2° « ALt » est l'aide mensuelle théorique calculée en application des dispositions du livre VIII du -code précité, le cas échéant adaptées selon les dispositions de l'article 2 du présent décret ; - -3° « n » correspond à l'année au titre de laquelle l'aide est due. Les dispositions du présent article -peuvent être modifiées par décret. - -```catala -déclaration montée_en_charge_saint_pierre_miquelon contenu argent dépend de - aide_finale contenu argent, - résidence contenu Collectivité, - date_courante contenu date -égal à - si - résidence sous forme SaintPierreEtMiquelon et - date_courante >= |2022-01-01| et - date_courante <= |2025-12-31| - alors - aide_finale * (1,0 - - (décimal de (2026 - accès_année de date_courante) / 8,0)) - sinon - aide_finale - -# D'après L860-3 CCH, les habitants de Saint-Pierre et Miquelon n'ont -# droit qu'à l'allocation logement et pas à l'aide au logement. Donc on -# ne modifie que les champs d'applications relatifs à l'allocation logement, -# dans les trois secteurs. À l'exception du secteur locatif où le calcul de -# l'allocation logement passe par le barème de l'aide personnalisée au logement, -# et où il faut donc modifier le champ d'application afférent. -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition traitement_aide_finale de aide_finale - état montée_en_charge_saint_pierre_miquelon - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - montée_en_charge_saint_pierre_miquelon de - aide_finale, résidence, date_courante - -champ d'application CalculAllocationLogementFoyer: - définition traitement_aide_finale de aide_finale - état montée_en_charge_saint_pierre_miquelon - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - montée_en_charge_saint_pierre_miquelon de - aide_finale, résidence, date_courante - -champ d'application CalculAllocationLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale - état montée_en_charge_saint_pierre_miquelon - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - montée_en_charge_saint_pierre_miquelon de - aide_finale, résidence, date_courante -``` - -# Code général des collectivités territoriales - -## Partie législative - -### Sixième partie : collectivités d'outre-mer régies par l'article 74 de la constitution - -#### Livre IV : Saint-Pierre-et-Miquelon - -##### Titre Ier : Dispositions générales - -###### Chapitre IV : Compétences - -####### Article LO6414-1 | LEGIARTI000006394300 - -I. – La collectivité exerce les compétences dévolues par les lois et -règlements en vigueur aux départements et aux régions, à l'exception de celles -relatives : - -1° A la construction et à l'entretien général et technique ainsi qu'au -fonctionnement des collèges et des lycées, à l'accueil, à la restauration et à -l'hébergement dans ces établissements, au recrutement et à la gestion des -personnels techniciens et ouvriers de service exerçant ces missions dans les -collèges et les lycées ; - -2° A la construction, à l'aménagement, à l'entretien et à la gestion de la -voirie classée en route nationale ; - -3° A la lutte contre les maladies vectorielles ; - -4° A la police de la circulation sur le domaine de la collectivité ; - -5° Aux bibliothèques régionales et bibliothèques de prêt départementales ; - -6° Au financement des moyens des services d'incendie et de secours. - -II. – La collectivité fixe les règles applicables dans les matières suivantes -: - -1° Impôts, droits et taxes ; cadastre ; - -```catala -# Ceci signifie que la collectivité de Saint-Pierre-et-Miquelon fixe les -# règles d'imposition des aides au logement. En l'occurrence, elle choisit -# de ne pas l'imposer avec un équivalent de la CRDS. Information confirmée par -# mail de DGALN/DHUP/FE4 du 21/04/2023: "J’attire toutefois votre attention -# sur le fait que la CRDS ne s’applique pas à Saint-Pierre-et-Miquelon." -# En ce qui concerne Saint-Barthélémy et Saint-Martin, les collectivités -# exercent une compétence en matière d’impôts (respectivement article LO 6214-3 -# du CGCT I° 1 et article LO 6314-3 du CGCT I° 1) “sans préjudice des règles -# fixées par l’Etat, pour Saint-Barthélemy, en matière de cotisations sociales -# et des autres prélèvements destinés au financement de la protection sociale et -# à l’amortissement de la dette sociale.” (respectivement article LO 6214-4 du -# CGCT III et article LO 6314-4 du CGCT III). La CRDS s’applique donc bien à -# Saint-Martin et Saint-Barthélémy, pas besoin de coder d'exception pour ces -# territoires. -champ d'application ContributionsSocialesAidesPersonnelleLogement: - exception définition montant de aide_finale sous condition - date_courante >= |2007-02-22| et - lieu sous forme SaintPierreEtMiquelon - conséquence égal à 0 € -``` - -2° Régime douanier, à l'exclusion des prohibitions à l'importation et à -l'exportation qui relèvent de l'ordre public et des engagements internationaux -de la France et des règles relatives à la recherche, à la constatation des -infractions pénales et à la procédure contentieuse ; - -3° Urbanisme ; construction ; habitation ; logement ; - -4° Création et organisation des services et des établissements publics de la -collectivité. - -Par dérogation au 3°, les autorités de l'Etat délivrent, dans le cadre de la -réglementation applicable à Saint-Pierre-et-Miquelon et après avis du conseil -exécutif, les autorisations ou actes relatifs à l'utilisation et à -l'occupation du sol concernant les constructions, installations ou travaux -réalisés pour le compte de l'Etat et ses établissements publics. - -III. – Dans les conditions prévues à l'article LO 6461-3 , la collectivité peut -édicter des peines contraventionnelles destinées à réprimer les infractions -pénales aux règles qu'elle édicte dans les matières mentionnées au II. - -IV. – Dans les conditions prévues à l'article LO 6461-5 , la collectivité peut -adapter les lois et règlements en vigueur localement. - -V. – 1. Une convention entre l'Etat et la collectivité détermine, aux fins -notamment d'éviter les doubles impositions et de prévenir l'évasion fiscale, -les obligations de la collectivité en matière de communication d'informations -à des fins fiscales. La collectivité transmet à l'Etat toute information utile -pour l'application de sa réglementation relative aux impôts, droits et taxes, -ainsi que pour l'exécution des clauses d'échange de renseignements prévues par -les conventions fiscales conclues par la France avec d'autres Etats ou -territoires. - -2. Sans préjudice de l'exercice par la collectivité de sa compétence en - matière d'impôts, droits et taxes, l'Etat peut instituer des taxes - destinées à être perçues à l'occasion de l'exercice des missions d'intérêt - général qui lui incombent dans le cadre de ses compétences. - -Une convention conclue entre l'Etat et la collectivité précise les modalités -d'application du présent 2 afin de déterminer les modalités de recouvrement et -de gestion des recettes destinées au financement de la sécurité aérienne. - -VI. – La réglementation particulière à Saint-Pierre-et-Miquelon relative au -contrôle sanitaire, vétérinaire et phytosanitaire et au fonctionnement des -stations de quarantaine animale ne peut être modifiée qu'après avis du conseil -territorial. diff --git a/examples/aides_logement/code_construction_legislatif.catala_fr b/examples/aides_logement/code_construction_legislatif.catala_fr deleted file mode 100644 index d251c070..00000000 --- a/examples/aides_logement/code_construction_legislatif.catala_fr +++ /dev/null @@ -1,1968 +0,0 @@ - -## Partie législative - -### Livre VIII : Aides personnelles au logement - -#### Titre II : Dispositions communes aux aides personnelles au logement - -##### Chapitre Ier : Principes généraux - -###### Section 1 : Définition - -####### Article L821-1 | LEGIARTI000038814980 - -Les aides personnelles au logement ainsi que les primes accordées -aux bénéficiaires de ces aides afin qu'ils déménagent pour s'assurer -des conditions de logement plus adaptées sont régies par le présent livre. - -Les aides personnelles au logement comprennent : - -1° L'aide personnalisée au logement ; - -2° Les allocations de logement : - -a) L'allocation de logement familiale ; - -b) L'allocation de logement sociale. - -```catala-metadata -déclaration énumération TypeAidesPersonnelleLogement: - -- AidePersonnaliséeLogement - -- AllocationLogementFamiliale - -- AllocationLogementSociale -``` -###### Section 2 : Règles de non-cumul - -####### Sous-section 1 : Aides personnelles au logement - -######## Article L821-2 | LEGIARTI000038814974 - -Les aides personnelles au logement sont accordées au titre de -la résidence principale. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - règle condition_logement_résidence_principale sous condition - ménage.logement.résidence_principale - conséquence rempli -``` - -####### Sous-section 2 : Primes de déménagement - -######## Article L821-4 | LEGIARTI000038814968 - -Les primes de déménagement régies par le présent livre ne peuvent se cumuler -avec d'autres primes, allocations ou indemnités, quelle qu'en soit l'origine -ou le fondement juridique, également destinées à couvrir des frais de -déménagement. - -Toutefois, lorsque le montant ainsi versé est inférieur à celui de la prime -de déménagement à laquelle la personne ou le ménage aurait droit en vertu des -dispositions de l'article L. 823-8 , la différence est versée par l'organisme -payeur. - -```catala -# Nous décidons de ne pas coder les règles de non-cumul pour la prime de -# déménagement. -``` - -##### Chapitre II : Conditions générales d'attribution - -```catala -# Ce chapitre définit diverses conditions d'éligibilité concernant le logement. -# La structure de ces conditions comporte des exceptions négatives à une -# condition positive. Il n'y a pas vraiment de bonne manière de modéliser -# cela en Catala pour le moment à part le code ci-dessous qui récapitule -# la méta-structure logique des articles de loi de ce chapitre. -champ d'application ÉligibilitéAidesPersonnelleLogement: - - règle éligibilité_logement sous condition - # La condition logement est en fait l'amalgame de plusieurs sous-conditions - # portant toutes sur le logement définies au long des diverses parties - # du code de la construction et de l'habitation. Attention, ne pas oublier - # de modifier cette liste en cas de rajout d'une sous-condition. - condition_logement_résidence_principale et # L821-2 - condition_logement_mode_occupation et - condition_logement_location_tiers et - condition_ouverture_l822_10_peuplement_logement - conséquence rempli - - exception règle éligibilité_logement sous condition - condition_non_ouverture_l822_8 ou - condition_non_ouverture_l822_9_decence_logement - conséquence non rempli -``` - -###### Article L822-1 | LEGIARTI000038814948 - -Les dispositions du présent livre relatives au bénéficiaire, à -la résidence principale ou à la prise en compte des ressources -applicables au conjoint, sont applicables, dans les mêmes conditions, -au partenaire lié par un pacte civil de solidarité ou au concubin. - -```catala-metadata -déclaration énumération SituationFamiliale: - -- Célibataire - -- Mariés contenu date # Date du mariage, utilisée par L841-1 - -- Pacsés - -- Concubins - -- CélibataireSéparéDeFait # Voir R821-3 - -- ConcubinageDontSéparéDeFait # Voir R821-3 -``` - -###### Article L822-2 | LEGIARTI000038814944 - -I.-Peuvent bénéficier d'une aide personnelle au logement : - -1° Les personnes de nationalité française ; - -2° Les personnes de nationalité étrangère remplissant les conditions -prévues par les deux premiers alinéas de l' article L. 512-2 du -code de la sécurité sociale . - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition condition_nationalité égal à - selon demandeur.nationalité sous forme - -- Française: vrai - -- Étrangère de conditions: - conditions.satisfait_conditions_l512_2_code_sécurité_sociale -``` - -II.-Parmi les personnes mentionnées au I, peuvent bénéficier d'une aide -personnelle au logement celles remplissant les conditions prévues par le -présent livre pour son attribution qui sont locataires, résidents en -logement-foyer ou qui accèdent à la propriété d'un local à usage exclusif -d'habitation et constituant leur résidence principale. - -Les sous-locataires, sous les mêmes conditions, peuvent également en bénéficier. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - étiquette l822_2 règle condition_logement_mode_occupation sous condition - selon ménage.logement.mode_occupation sous forme - -- Locataire: vrai - -- RésidentLogementFoyer: vrai - -- AccessionPropriétéLocalUsageExclusifHabitation: - ménage.logement.résidence_principale - -- SousLocataire: vrai - -- LocationAccession: vrai # Justifié par L831-2, avec une - # exception à venir - conséquence rempli -``` - -###### Article L822-3 | LEGIARTI000038814942 - -Les aides personnelles au logement ne sont pas dues aux personnes locataires -d'un logement dont elles-mêmes, leurs conjoints ou l'un de leurs ascendants -ou descendants, jouissent d'une part de la propriété ou de l'usufruit, -personnellement ou par l'intermédiaire de parts sociales de sociétés, -quels que soient leurs formes et leurs objets. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition usufruit_ou_propriété_famille égal à - (selon ménage.logement.propriétaire sous forme - -- DemandeurOuConjointOuParentOuViaPartsSociétés de parts: vrai - -- ParentOuAutre.Autre: faux) ou - (selon ménage.logement.usufruit sous forme - -- DemandeurOuConjointOuParentOuViaPartsSociétés de parts: vrai - -- ParentOuAutre.Autre: faux) - - étiquette l822_3_1 exception l822_2 - règle condition_logement_mode_occupation sous condition - selon ménage.logement.mode_occupation sous forme - -- Locataire: usufruit_ou_propriété_famille - -- n'importe quel: faux - conséquence non rempli -``` - -Par dérogation à la règle posée au premier alinéa, ces aides peuvent être -versées si l'ensemble des parts de propriété et d'usufruit du logement -ainsi détenues est inférieur à des seuils fixés par voie réglementaire. -Ces seuils ne peuvent excéder 20 % de la propriété ou de l'usufruit du logement. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - étiquette l822_3_2 exception l822_3_1 - règle condition_logement_mode_occupation sous condition - usufruit_ou_propriété_famille et - (selon ménage.logement.propriétaire sous forme - -- DemandeurOuConjointOuParentOuViaPartsSociétés de parts: parts - -- ParentOuAutre.Autre: 0,0) < seuil_l822_3_parts_propriété et - (selon ménage.logement.usufruit sous forme - -- DemandeurOuConjointOuParentOuViaPartsSociétés de parts: parts - -- ParentOuAutre.Autre: 0,0) < seuil_l822_3_parts_usufruit - conséquence rempli - # Les < sont stricts par mention de R822-1 - - assertion seuil_l822_3_parts_propriété < 20 % - assertion seuil_l822_3_parts_usufruit < 20 % -``` - -###### Article L822-4 | LEGIARTI000038814940 - -Les aides personnelles au logement ne sont pas dues si le local est loué ou -sous-loué en partie à des tiers, sauf s'il s'agit d'une personne âgée ou -handicapée adulte qui a passé un contrat conforme aux dispositions de -l' article L. 442-1 du code de l'action sociale et des familles ou d'une -personne de moins de trente ans. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - étiquette cas_base_l822_4 règle condition_logement_location_tiers - sous condition - ménage.logement.loué_ou_sous_loué_à_des_tiers sous forme - LouéOuSousLouéÀDesTiers.Non - conséquence non rempli - -exception cas_base_l822_4 règle condition_logement_location_tiers - sous condition - selon ménage.logement.loué_ou_sous_loué_à_des_tiers sous forme - -- LouéOuSousLouéÀDesTiers.Non: vrai - -- LouéOuSousLouéÀDesTiers.Oui de personne: - (résultat de VérificationÂgeSupérieurÀ avec - { -- date_naissance: personne.date_naissance_personne_sous_location - -- date_courante: date_courante - -- années: 30 an }).est_supérieur - ou - personne.conforme_article_l442_1 - conséquence rempli -``` - -Pour l'attribution d'une aide personnelle au logement, ces personnes sont -assimilées à des locataires, au titre de la partie du logement qu'elles -occupent. - -```catala -# Pas d'ajout nécessaire -``` - -Toutefois, les conditions fixées à l'article L. 822-3 du présent code -s'appliquent également au locataire, au sous-locataire et au propriétaire. - -```catala -# Pas d'ajout nécessaire -``` - -Pour l'attribution d'une aide personnelle au logement, en cas d'intermédiation -locative et en cas d'application des dispositions de l'article L. 442-8-1 du -présent code prévoyant une sous-location totale du logement, le sous-locataire -est assimilé au locataire. - - - -###### Article L822-5 | LEGIARTI000038814936 - -Les aides personnelles au logement ne sont dues qu'aux personnes payant un minimum -de loyer, compte tenu de leurs ressources et de la valeur en capital de leur -patrimoine, lorsque cette valeur est supérieure à un montant fixé par voie -réglementaire. - -```catala -# Cet article est une déclaration d'intention qui donne des propriétée sur -# la formule de calcul. Dans le futur il serait interessant de vérifier que -# la formule est bien de cette forme là. -``` - -Par dérogation à la règle énoncée au premier alinéa, lorsque le demandeur d'une -aide personnelle au logement ou son conjoint est bénéficiaire de l'allocation -aux adultes handicapés prévue à l'article L. 821-1 du code de la sécurité sociale -ou de l'allocation d'éducation de l'enfant handicapé prévue à l'article L. 541-1 -du même code , la valeur en capital du patrimoine appréciée pour l'ensemble du ménage -n'est pas prise en compte dans le calcul de l'aide personnelle au logement. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet alinéa et des précédents et de ceux auxquels il -# se réfère pour correctement évaluer leur montant. -``` - -La même dérogation s'applique au demandeur d'une aide personnelle au logement -résidant dans un établissement d'hébergement pour personnes âgées dépendantes -ou dans une résidence autonomie mentionnés à l'article L. 313-12 du code de -l'action sociale et des familles . - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet alinéa et des précédents et de ceux auxquels il -# se réfère pour correctement évaluer leur montant. -``` - - -###### Article L822-6 | LEGIARTI000038814934 - - -La détermination ainsi que les conditions de prise en compte des ressources et de -la valeur du patrimoine sont définies par voie réglementaire. - - -Les conditions de prise en compte des ressources, notamment les périodes de référence -retenues, peuvent varier en fonction de la nature des ressources. - -```catala -# Cet article est une déclaration d'intention qui donne des propriétés sur -# la formule de calcul. Dans le futur il serait interessant de vérifier que -# la formule est bien de cette forme là. -``` - -###### Article L822-7 | LEGIARTI000038814932 - -La prise en compte des ressources peut relever de dispositions spécifiques, -lorsque le demandeur est âgé de moins de vingt-cinq ans et qu'il dispose d'un -contrat de travail autre qu'un contrat à durée indéterminée. - -```catala -# Information donnée par le bureau DGALN/DHUP/FE4 le 25/05/2022: -# "Historiquement, cet article avait été créé pour déroger (pour les moins -# de 25 ans) au dispositif « d’évaluation forfaitaire » appliqué, -# avant réforme, -# pour les ménages présentant un revenu moindre en N-2 mais ayant une activité -# professionnelle lors de la demande ou du recalcul du droit (anciens articles -# R. 822-18 à 20 du CCH abrogés en 2020). Cet article n’a de fait plus lieu -# d’être (il n’a plus d’application concrète, l’évaluation forfaitaire ayant -# été supprimée) mais n’a pas pu être abrogé en même temps, l’abrogation ayant -# eu lieu par un vecteur réglementaire." - -# Il n'y a donc rien à formaliser ici en Catala. -``` - - -###### Article L822-8 | LEGIARTI000038814930 - -Les personnes rattachées au foyer fiscal de leurs parents, lorsque ces derniers -sont assujettis à l'impôt sur la fortune immobilière en application de l' article -964 du code général des impôts , ne peuvent bénéficier d'aucune aide personnelle au -logement. Cette condition est appréciée pour chacun des membres du ménage. - - -```catala -# La condition, si elle est vérifiée par un membre du ménage -# enlève-t-elle le droit aux APL pour l'ensemble des membres du ménage ? -# => Réponse de DGALN/DHUP/FE4 le 25/05/2022: OUI. - -# L'interpretation est donc qu'aucun membre du ménage ne doit être -# rattaché à des parents payant l'ifi. -champ d'application ÉligibilitéAidesPersonnelleLogement: - règle condition_non_ouverture_l822_8 - sous condition ménage.condition_rattaché_foyer_fiscal_parent_ifi - conséquence rempli -``` - -###### Article L822-9 | LEGIARTI000038814926 - -Pour ouvrir droit à une aide personnelle au logement, le logement doit répondre à -des exigences de décence définies en application des deux premiers alinéas de -l' article 6 de la loi n° 89-462 du 6 juillet 1989 tendant à améliorer les rapports -locatifs et portant modification de la loi n° 86-1290 du 23 décembre 1986. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - règle condition_non_ouverture_l822_9_decence_logement - sous condition non ménage.logement.logement_decent_l89_462 - conséquence rempli -``` - -Lorsque le logement est loué en colocation, formalisée par la conclusion de plusieurs -contrats entre les locataires et le bailleur, il est tenu compte, pour apprécier -s'il répond à ces mêmes exigences, de l'ensemble des éléments, équipements et -pièces dont dispose chaque colocataire. - -```catala -# Ne nécessite pas de code particulier -``` - -Les modalités d'application du présent article sont fixées par voie réglementaire. - -###### Article L822-10 | LEGIARTI000038814924 - -L'attribution d'une aide personnelle au logement est subordonnée au -respect de conditions de peuplement des logements. - -```catala -# Cet article fait référence à la condition sur la surface minimale du logement -# de R822-25 -champ d'application ÉligibilitéAidesPersonnelleLogement: - règle condition_ouverture_l822_10_peuplement_logement - sous condition condition_logement_surface - conséquence rempli -``` - -Les modalités d'application du présent article sont fixées par voie réglementaire - -##### Chapitre III : Modalités de liquidation et de versement - -###### Article L823-1 | LEGIARTI000038814920 - -Le montant des aides personnelles au logement est calculé en fonction d'un barème -défini par voie réglementaire. - -Ce barème est établi en prenant en considération : - -1° La situation de famille du demandeur et le nombre de personnes à charge -vivant habituellement au foyer ; - -2° Ses ressources et la valeur en capital de son patrimoine et, s'il y a lieu, -de son conjoint et des personnes vivant habituellement à son foyer, telles que -définies aux articles L. 822-5 à L. 822-8 ; - -3° Le montant du loyer payé, pris en compte dans la limite d'un plafond, ainsi -que les dépenses accessoires retenues forfaitairement ; - -4° La qualité du demandeur : locataire, colocataire ou sous-locataire d'un -logement meublé ou non, accédant à la propriété ou résident en logement-foyer. - -Pour l'application du 1°, les enfants à charge doivent respecter les conditions -prévues à l'article L. 512-2 du code de la sécurité sociale . - -```catala -# Ici nous sommes dans une situation délicate car pour les enfants à charge -# les règles de prise en compte sont énoncées dans R823-4, sauf que le dernier -# alinéa nous rajoute ici une condition qui n'est pas dans R823-4. -# Pour prendre en compte cette condition supplémentaire en respectant la -# structure du texte de droit nous choisissons de l'encoder comme une -# exception négative qui vient invalider la règle de R823-4 dans le cas où -# l'enfant étranger ne remplit pas les conditions de l'article -# L512-2 du code de la sécurité sociale. -champ d'application ÉligibilitéAidesPersonnelleLogement: - # Ici nous définissons cette condition d'applicabilité en apparence - # toujours vraie mais qui sera peut-être invalidée dans le cas de Mayotte - # (article L861-5). - règle septième_alinéa_l823_1_applicable rempli - - exception r823_4_enfants - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - septième_alinéa_l823_1_applicable et - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: ( - selon enfant.nationalité sous forme - -- Étrangère de conditions: - non conditions.satisfait_conditions_l512_2_code_sécurité_sociale - -- n'importe quel: faux - ) - -- n'importe quel: faux - conséquence non rempli -``` - -###### Article L823-2 | LEGIARTI000038814918 - -Pour effectuer le calcul découlant du 1° de l'article L. 823-1 , l'enfant à -charge est rattaché à la personne qui en assume la charge effective et -permanente. - -En cas de résidence alternée de l'enfant au domicile de chacun des parents -telle que prévue à l'article 373-2-9 du code civil , mise en œuvre de manière -effective, les parents désignent le bénéficiaire de l'aide. - -Cependant, la charge de l'enfant pour le calcul des aides personnelles au -logement est partagée entre les deux parents allocataires, soit sur demande -conjointe des parents, soit si les parents sont en désaccord sur la désignation -du bénéficiaire, selon des modalités définies par voie réglementaire. - -```catala -# Voir énumération "SituationGardeAlternée" et la décision n°398563 du 21 -# juillet 2017 du Conseil d'État pour l'implémentation du calcul. -``` - -###### Article L823-3 | LEGIARTI000038814916 - -Sont assimilées aux loyers : - -1° Les mensualités acquittées au titre des charges de remboursement des prêts -contractés pour l'acquisition du logement ou son amélioration ; - -2° La redevance déterminée par la loi n° 84-595 du 12 juillet 1984 définissant -la location-accession à la propriété immobilière ; - -3° La rémunération de l'opérateur mentionnée au III de l'article 29-11 de la -loi n° 65-557 du 10 juillet 1965 fixant le statut de la copropriété des -immeubles bâtis ; - -4° L'indemnité d'occupation mentionnée à l'article L. 615-9 du présent code ; - -5° La redevance mentionnée à l'article L. 615-10 du présent code ; - -6° L'indemnité, prévue au 4° de l'article L. 442-1 du code de l'action sociale -et des familles , représentative de la mise à disposition de la ou des pièces -réservées à la personne accueillie. - -```catala -# Ce n'est pas très intéressant de faire apparaître dans l'entrée du calcul -# le détail de ce qui est inclus dans le terme "loyer". C'est d'ailleurs ce -# que fait déjà la CAF sur ces outils informatiques. Donc le programme -# Catala fera apparaître une unique case "loyers_l823_3" -``` - -###### Article L823-4 | LEGIARTI000046194144 - -Le barème est révisé chaque année au 1er octobre. - -Sont indexés sur l'évolution de l'indice de référence des loyers défini à -l' article 17-1 de la loi n° 89-462 du 6 juillet 1989 tendant à améliorer -les rapports locatifs et portant modification de la loi n° 86-1290 du 23 -décembre 1986 : - -1° Les plafonds de loyers ; - -2° Le montant forfaitaire des charges ; - -3° Les plafonds des charges de remboursement des contrats de prêts dont -la signature est postérieure à la date de révision du barème ; - -4° Les équivalences de loyer et de charges locatives ; - -5° Le terme constant de la participation personnelle du ménage. - -La date de l'indice de référence des loyers prise en compte pour cette -révision est celle du deuxième trimestre de l'année en cours. - -```catala -# Il n'est pas vraiment utile de coder pour notre calcul les règles que -# doivent respecter les décrets qui chaque année mettent à jour les différents -# éléments du barème de calcul. Même s'il pourrait être utile plus tard de -# vérifier que leur évolution est bien conforme à L823-4. -``` - -###### Article L823-5 | LEGIARTI000038814912 - -Les modalités d'ouverture et d'extinction des droits sont fixées par voie -réglementaire. - -```catala -# Rien à faire ici. -``` - -###### Article L823-6 | LEGIARTI000038814910 - -Le bailleur auprès duquel l'aide est versée signale le déménagement de -l'allocataire et la résiliation de son bail. - -Si l'allocataire procède à un remboursement anticipé de son prêt, le prêteur -auprès duquel l'aide est versée signale ce remboursement anticipé à -l'organisme payeur. - -Les délais dans lesquels ont lieu ces signalements sont définis par voie -réglementaire. - -```catala -# Rien à faire ici. -``` - -###### Article L823-7 | LEGIARTI000038814908 - -L'aide personnelle au logement peut ne pas être versée lorsque son montant -mensuel est inférieur à un montant, qui peut varier selon la nature de l'aide -et la qualité du demandeur telle qu'elle est définie au 4° de -l'article L. 823-1 . - -Ce montant minimal est fixé par voie réglementaire. - -```catala -# Voir les états "montant_minimal" dans le calcul des aides finales dans -# le champ d'application CalculAidePersonnaliséeLogement. -``` - -###### Article L823-8 | LEGIARTI000038814906 - -Une prime de déménagement est attribuée par les organismes mentionnés à -l'article L. 812-1 aux personnes ou aux ménages qui emménagent dans un -nouveau logement ouvrant droit à une aide personnelle au logement et qui -ont à leur charge un enfant d'un rang déterminé. Le rang de l'enfant et la -période durant laquelle doit avoir lieu le déménagement pour ouvrir droit à -cette prime sont fixés par voie réglementaire. - -La prime est due si le droit à l'aide personnelle au logement est ouvert dans -un délai fixé par voie réglementaire à compter de la date d'emménagement, même -lorsqu'en application de l'article L. 823-7 , il n'est pas procédé au versement -de l'aide. - -```catala -# Voir le champ d'application ÉligibilitéPrimeDeDéménagement. -champ d'application ÉligibilitéPrimeDeDéménagement: - règle éligibilité sous condition - éligibilité_apl.éligibilité et condition_rang_enfant et - condition_période_déménagement et - éligibilité_apl.date_courante - date_emménagement - <= délai_après_emménagement_l823_8_2 - conséquence rempli -``` - -###### Article L823-9 | LEGIARTI000038814904 - -Les articles L. 161-1-5 et L. 553-2 du code de la sécurité sociale sont -applicables au recouvrement des montants d'aide personnelle au logement -indûment versés. - -```catala -# Hors du champ de ce calcul. -``` - -#### Titre III : Aide personnalisée au logement - -##### Chapitre Ier : Champ d'application - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - règle éligibilité sous condition - # La condition est en fait l'amalgame de plusieurs sous-conditions - # portant toutes sur le logement définies au long des diverses parties - # du code de la construction et de l'habitation. Attention, ne pas oublier - # de modifier cette liste en cas de rajout d'une sous-condition. - condition_logement_bailleur et # L831-1 - condition_logement_prêt et # L831-2 - éligibilité_commune.éligibilité # Pour être éligible à l'aide personnalisée - # au logement, il faut remplir les - # conditions communes. - conséquence rempli -``` - -###### Article L831-1 | LEGIARTI000038814882 - -L'aide personnalisée au logement s'applique aux : - -1° Logements occupés par leurs propriétaires, construits, acquis ou améliorés -au moyen d'aides de l'Etat ou de prêts dont les caractéristiques et les -conditions d'octroi sont fixées par voie réglementaire, sous les réserves -énoncées à l'article L. 831-2 ; - -```catala -# Les conditions d'octroi pour le prêt sont définities aux articles D331-1 -# et suivants du même code. Cela a été confirmé le 25/05/2022 par -# DGALN/DHUP/FE4. - -# Ici, le 1° vient affiner le principe général définit à L822-2 selon lequel -# tous les propriétaires ayant un prêt peuvent toucher les APL. En effet, ça -# dépend du prêt (voir articles référés). Donc ici on vient apporter une -# exception à la règle de L822-2 quand les conditions relatives au prêt ne -# sont pas remplies. -champ d'application ÉligibilitéAidePersonnaliséeLogement: - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation de propriété: - caractéristiques_prêt_l831_1_1 de propriété.prêt - -- n'importe quel: faux - conséquence rempli -``` - -2° Logements à usage locatif appartenant à des organismes d'habitations à -loyer modéré ou gérés par eux ou appartenant aux bailleurs du secteur locatif -définis au quatrième alinéa de l' article 41 ter de la loi n° 86-1290 du 23 -décembre 1986 tendant à favoriser l'investissement locatif, l'accession à la -propriété des logements sociaux et le développement de l'offre foncière, à -condition que ces bailleurs s'engagent à respecter les obligations précisées -par des conventions régies par le chapitre III du titre V du livre III , ainsi -que les logements à usage locatif appartenant à d'autres bailleurs, à condition -que ceux-ci s'engagent à respecter les obligations précisées par des conventions -régies par la section 3 du chapitre Ier du titre II du livre III ; - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- Locataire de location: - (selon location.bailleur sous forme - -- BailleurSocial de convention: - convention. - conventionné_livre_III_titre_V_chap_III - -- BailleurPrivéAvecConventionnementSocial de convention: - convention.conventionné_livre_III_titre_II_chap_I_sec_3 - -- n'importe quel: faux) - -- n'importe quel: faux - conséquence rempli -``` - -3° Logements à usage locatif construits, acquis ou améliorés au moyen d'aides de -l'Etat ou de prêts régis par le chapitre III du titre II ou par le titre III du -livre III ; l'octroi de ces aides est subordonné à l'engagement pris par les -bailleurs de respecter les obligations précisées par des conventions régies -par le chapitre III du titre V du livre III ; - -```catala -# Cet alinéa apporte une précision sur l'origine de la convention pour le -# bailleur social, mais ne nous intéresse pas pour la formalisation puisque -# tout ce qui nous intéresse c'est de savoir si la convention existe ou pas. -``` - -4° Logements à usage locatif construits ou améliorés dans des conditions fixées -par voie réglementaire et dont les bailleurs s'engagent à respecter les -obligations précisées par des conventions régies par le chapitre III du titre V -ou par la section 3 du chapitre Ier du titre II du livre III ; - -```catala -# Cet alinéa apporte une précision sur l'origine de la convention pour le -# bailleur social, mais ne nous intéresse pas pour la formalisation puisque -# tout ce qui nous intéresse c'est de savoir si la convention existe ou pas. -``` - -5° Logements-foyers assimilés dans des conditions fixées par voie réglementaire -aux logements mentionnés aux 2° et 3° ci-dessus, dès lors qu'ils font l'objet -des conventions régies par le chapitre III du titre V du livre III ; - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - étiquette logement_foyer - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- RésidentLogementFoyer de location: - location.conventionné_livre_III_titre_V_chap_III - -- n'importe quel: faux - conséquence rempli -``` - -6° Logements occupés par des titulaires de contrats de location-accession -conclus dans les conditions prévues par la loi n° 84-595 du 12 juillet 1984 -définissant la location-accession à la propriété immobilière, lorsque ces -logements ont été construits, améliorés ou acquis et améliorés au moyen d'aides -de l'Etat ou de prêts dont les caractéristiques et les conditions d'octroi sont -fixées par voie réglementaire, sous les réserves énoncées à l ‘ article L. 831-2. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- LocationAccession de propriété: - caractéristiques_prêt_l831_1_6 de propriété.prêt - -- n'importe quel: faux - conséquence rempli -``` - -###### Article L831-2 | LEGIARTI000038814880 - -Les logements qui ont fait l'objet d'un prêt ou d'un contrat de location-accession -mentionné au 1° ou au 6° de l'article L. 831-1 signé après le 31 décembre 2017 -n'ouvrent pas droit à l'aide personnalisée au logement. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - étiquette l831_2_base règle condition_logement_prêt rempli - # Cas de base implicite - - étiquette l831_2_1 exception l831_2_base règle condition_logement_prêt - sous condition - selon ménage.logement.mode_occupation sous forme - -- LocationAccession de propriété: - propriété.prêt.date_signature >= |2017-12-31| - -- AccessionPropriétéLocalUsageExclusifHabitation de propriété: - propriété.prêt.date_signature >= |2017-12-31| - -- n'importe quel: faux - conséquence non rempli -``` - -Toutefois, continuent à ouvrir droit à l'aide les logements ayant fait l'objet -des mêmes prêt ou contrat de location-accession signés avant le 1er janvier -2020, dès lors qu'ils répondent à la double condition d'être anciens et -situés dans une commune ne se caractérisant pas par un déséquilibre -important entre l'offre et la demande de logements entraînant des difficultés -d'accès au logement dans le parc résidentiel existant. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - exception l831_2_1 règle condition_logement_prêt sous condition - selon ménage.logement.mode_occupation sous forme - -- LocationAccession de propriété: - # Le fait que cette exception ne soit valable qu'après le 1er janvier - # 2018 nous a été confirmé le 25/05/2022 par DGALN/DHUP/FE4. - propriété.prêt.date_signature >= |2018-01-01| et - propriété.prêt.date_signature < |2020-01-01| et - propriété.ancienneté_logement sous forme Ancien et - logement_situé_commune_déséquilibre_l831_2 - -- AccessionPropriétéLocalUsageExclusifHabitation de propriété: - propriété.prêt.date_signature >= |2018-01-01| et - propriété.prêt.date_signature < |2020-01-01| et - propriété.ancienneté_logement sous forme Ancien et - logement_situé_commune_déséquilibre_l831_2 - -- n'importe quel: faux - conséquence rempli -``` - -Un arrêté des ministres chargés du logement et du budget dresse la liste des -communes répondant aux conditions énoncées au deuxième alinéa. - - -###### Article L832-1 | LEGIARTI000038814876 - -L'aide personnalisée au logement est versée : - -1° En cas de location, au bailleur du logement ; - -2° En cas d'accession à la propriété, à l'établissement habilité à cette fin ; - -3° En cas de résidence dans un logement-foyer, au gestionnaire de l'établissement. - -En cas de mandat de gérance de logements, l'aide peut être versée au mandataire. -Dans des cas fixés par voie réglementaire, elle peut être versée au locataire ou au -propriétaire du logement. - -```catala -# Ne touche ni à l'éligibilité ni au calcul du montant donc nous ne -# formaliserons pas pour l'instant. -``` - -###### Article L832-2 | LEGIARTI000038814874 - -Lorsque l'aide personnalisée au logement est versée au bailleur ou à l'établissement -habilité à cette fin, elle est déduite, par les soins de celui qui reçoit le versement, -du montant du loyer et des dépenses accessoires de logement ou de celui des charges -de remboursement. - -Cette déduction doit être portée à la connaissance du bénéficiaire, locataire ou -propriétaire du logement. - -La part de l'aide qui excède le montant du loyer et des charges récupérables est -versée à l'allocataire. - -```catala -# Ne touche ni à l'éligibilité ni au calcul du montant donc nous ne -# formaliserons pas pour l'instant. -``` - -###### Article L832-3 | LEGIARTI000038814872 - -Le montant de l'aide personnalisée au logement est diminué, pour les bénéficiaires -concernés par la réduction de loyer de solidarité définie à l'article L. 442-2-1 , -à hauteur d'une fraction de cette réduction comprise entre 90 % et 98 %. Cette fraction -est fixée par voie réglementaire. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition traitement_aide_finale de aide_finale - état réduction_loyer_solidarité - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si - aide_finale - réduction_loyer_solidarité * fraction_l832_3 >= 0€ - alors - aide_finale - réduction_loyer_solidarité * fraction_l832_3 - sinon 0€ - - assertion fraction_l832_3 >= 90% et fraction_l832_3 <= 98% -``` - -###### Article L832-4 | LEGIARTI000038814870 - -Dans le cas prévu à l'article L. 824-3 , le versement reprend dans les conditions prévues -à l'article L. 832-1 . - -```catala -# Ne touche ni à l'éligibilité ni au calcul du montant donc nous ne -# formaliserons pas pour l'instant. -``` - -#### Titre IV : Allocations de logement - -##### Chapitre Ier : Champ d'application - -```catala -champ d'application ÉligibilitéAllocationLogement: - # Implicitement, l'éligibilité de l'allocation logement est conditionnée - # à l'égibilité suivant les dispositions communes à toutes les aides - # personnelles au logement. Comme il n'existe pas d'article de loi ou de - # règlement rappelant ce fait, nous le traduisons en code ici. - définition éligibilité état dispositions_communes égal à - si - (non éligibilité_commune.éligibilité) ou - (non condition_accession_propriété) - alors - PasÉligible - sinon - # Valeur par défaut, sera réécrit à l'application de L841-2. - TypeÉligibilitéAllocationLogement.AllocationLogementSociale -``` - -###### Article L841-1 | LEGIARTI000038814864 - -L'allocation de logement familiale est accordée : - -1° Aux personnes qui perçoivent : - -a) Soit les allocations familiales mentionnées au 2° de l'article L. 511-1 du code de la -sécurité sociale ; - -b) Soit le complément familial mentionné au 3° du même article ; - -c) Soit l'allocation d'éducation de l'enfant handicapé mentionnée au 5° du même article ; - -d) Soit l'allocation de soutien familial mentionnée au 6° du même article ; - -```catala -champ d'application ÉligibilitéAllocationLogement: - règle l_841_1_1_applicable rempli - - règle éligibilité_allocation_logement_familiale - sous condition - l_841_1_1_applicable et - existe prestation parmi ménage.prestations_reçues tel que ( - prestation = PrestationReçue.AllocationsFamiliales ou - prestation = PrestationReçue.ComplémentFamilial ou - prestation = PrestationReçue.AllocationSoutienFamilial ou - prestation = AllocationSoutienEnfantHandicapé - ) - conséquence rempli -``` - -2° Aux ménages ou personnes qui, n'ayant pas droit à l'une des prestations énumérées au 1°, -ont un enfant à charge au sens de l'article L. 512-3 du code de la sécurité sociale ; - -```catala -# "un enfant à charge": au moins un ou exactement un ? -# => OUI confirmé par DGALN/DHUP/FE4 le 25/05/2022 -# Le cas de plus d'un enfant est déjà géré par le 1° -champ d'application ÉligibilitéAllocationLogement: - règle l_841_1_2_applicable rempli - - règle éligibilité_allocation_logement_familiale - sous condition - l_841_1_2_applicable et - nombre de - (personne_à_charge parmi ménage.personnes_à_charge tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge: faux - -- EnfantÀCharge de enfant: prestations_familiales.droit_ouvert de - EnfantPrestationsFamiliales { - -- identifiant: enfant.identifiant - -- obligation_scolaire: enfant.obligation_scolaire - -- rémuneration_mensuelle: enfant.rémuneration_mensuelle - -- date_de_naissance: enfant.date_de_naissance - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.a_déjà_ouvert_droit_aux_allocations_familiales - })) - = 1 - conséquence rempli -``` - -3° Aux ménages qui n'ont pas d'enfant à charge, pendant une durée déterminée à compter du mariage ; - -```catala -champ d'application ÉligibilitéAllocationLogement: - - règle éligibilité_allocation_logement_familiale - sous condition - nombre de - (personne_à_charge parmi ménage.personnes_à_charge tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge: faux - -- EnfantÀCharge de enfant: non (prestations_familiales.droit_ouvert de - EnfantPrestationsFamiliales { - -- identifiant: enfant.identifiant - -- obligation_scolaire: enfant.obligation_scolaire - -- rémuneration_mensuelle: enfant.rémuneration_mensuelle - -- date_de_naissance: enfant.date_de_naissance - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.a_déjà_ouvert_droit_aux_allocations_familiales - }))) - = 0 - et - (selon ménage.situation_familiale sous forme - # VERIF: opération ambiguë - -- Mariés de date_mariage : date_courante <= date_mariage + durée_l841_1_3 - -- n'importe quel: faux) - conséquence rempli -``` - -4° Aux ménages ou aux personnes qui ont à leur charge un ascendant vivant au foyer ayant dépassé -un âge déterminé ; - -```catala -# Selon mail de DGALN/DHUP/FE4 du 06/07/2022, l'expression "âge déterminé" ici -# renvoie au 2° du R823-4 du même code. -champ d'application ÉligibilitéAllocationLogement: - - règle éligibilité_allocation_logement_familiale - sous condition - nombre de (personne_à_charge parmi ménage.personnes_à_charge - tel que éligibilité_commune.condition_2_r823_4 de personne_à_charge) - >= 1 - conséquence rempli -``` - -5° Aux ménages ou personnes qui ont à leur charge un ascendant ou un descendant ou un collatéral -au deuxième ou au troisième degré vivant au foyer, dont l'incapacité permanente est au moins égale -à un pourcentage fixé par voie réglementaire ou qui présente, compte tenu de son handicap, une -restriction substantielle et durable dans l'accès à l'emploi au sens de l'article L. 821-2 du code -de la sécurité sociale reconnue par la commission des droits et de l'autonomie des personnes handicapées -prévue par l'article L. 146-9 du code de l'action sociale et des familles ; - -```catala -champ d'application ÉligibilitéAllocationLogement: - - règle éligibilité_allocation_logement_familiale - sous condition - (nombre de (personne_à_charge parmi ménage.personnes_à_charge tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge de parent: - # Cela a l'air similaire au 3° du R823-4 code construction mais - # ici le pourcentage est "fixé par voie réglementaire" au lieu d'être - # fixé à 80%. - # TODO juridique: vérifier si ce pourcentage fixé par voie réglementaire - # est bien égal à 80%. - parent.ascendant_descendant_collatéral_deuxième_troisième_degré et - parent.incapacité_80_pourcent_ou_restriction_emploi - -- EnfantÀCharge de enfant: faux - ))) >= 1 - conséquence rempli -``` - -6° A la personne seule sans personne à charge à compter du premier jour du mois civil suivant le -quatrième mois de la grossesse et jusqu'au mois civil de la naissance de l'enfant. - - -```catala -champ d'application ÉligibilitéAllocationLogement: - règle l_841_1_6_applicable rempli - - règle éligibilité_allocation_logement_familiale - sous condition - l_841_1_6_applicable et - selon ménage.situation_familiale sous forme - -- Célibataire : - nombre de ménage.personnes_à_charge = 0 et - ménage.enfant_à_naître_après_quatrième_mois_grossesse - -- n'importe quel : faux - conséquence rempli -``` - -###### Article L841-2 | LEGIARTI000038814862 - -Les personnes ne bénéficiant pas de l'allocation de logement familiale ou de -l'aide personnalisée au logement peuvent prétendre au bénéfice de l'allocation -de logement sociale. - -```catala -# Complément d'explications données par DGALN/DHUP/FE4 le 25/05/2022: -# "Il est exact de considérer que cet article détermine une hiérarchie pour -# l’accession aux aides au logement c'est-à-dire que : -# - Si un ménage est éligible à l’aide personnalisée au logement, -# il bénéficie de l’aide personnalisée. -# - S’il n’est pas éligible à l’aide personnalisée mais est -# éligible à l’allocation de logement familiale, il bénéficie de cette -# dernière. -# - S’il ne bénéficie ni de l’aide personnalisée, ni de l’allocation de -# logement familiale, il peut prétendre à l’allocation de logement sociale." -# Dans notre code Catala, nous faisons cependant, et plus fidèlement au texte de -# loi, la différence entre éligibilité et bénéfice des différentes aides. Plus -# précisément, nous gardons l'option d'attribuer l'ALS/ALF préférentiellement -# à l'APL aux ménages éligibiles aux deux prestations, mais dont le montant -# d'ALF/ALS et supérieur au montant d'APL. -champ d'application ÉligibilitéAllocationLogement: - étiquette base définition éligibilité état l841_2 égal à - si éligibilité = PasÉligible ou bénéficie_aide_personnalisée_logement alors - PasÉligible - sinon (si éligibilité_allocation_logement_familiale alors - TypeÉligibilitéAllocationLogement.AllocationLogementFamiliale - sinon - TypeÉligibilitéAllocationLogement.AllocationLogementSociale) - -champ d'application CalculetteAidesAuLogement: - # Le champ d'application CalculetteAidesAuLogement suppose un scenario type - # formulaire de la CNAF qui va déterminer automatiquement la meilleure - # aide au logement pour un ménage qui n'en bénéficie pas encore. Donc, dans - # ce scénario, le ménage ne bénéficie pas encore de l'aide personnalisée - # au logement et nous pouvons évaluer l'éligibilité à l'allocation logement - # indépendamment de ce fait. - définition - éligibilité_allocation_logement.bénéficie_aide_personnalisée_logement - égal à faux - - # Nous mettons ici la logique de notre interprétation de l'article L841-2 - # qui prend le maximum des deux types d'aide. - définition éligibilité égal à - éligibilité_aide_personnalisée_logement.éligibilité ou - (selon éligibilité_allocation_logement.éligibilité sous forme - -- PasÉligible: faux - -- TypeÉligibilitéAllocationLogement.AllocationLogementFamiliale: vrai - -- TypeÉligibilitéAllocationLogement.AllocationLogementSociale: vrai) - - # Pour chaque calcul d'aide potentielle à donner, on suppose que c'est - # cette aide qui est donnée. - définition calcul_aide_personnalisée_logement.type_aide égal à - TypeAidesPersonnelleLogement.AidePersonnaliséeLogement - définition calcul_allocation_logement.type_aide égal à - (selon éligibilité_allocation_logement.éligibilité sous forme - -- PasÉligible: - # Valeur par défaut, ne sera pas utilisée - TypeAidesPersonnelleLogement.AllocationLogementSociale - -- TypeÉligibilitéAllocationLogement.AllocationLogementFamiliale: - TypeAidesPersonnelleLogement.AllocationLogementFamiliale - -- TypeÉligibilitéAllocationLogement.AllocationLogementSociale: - TypeAidesPersonnelleLogement.AllocationLogementSociale) - - définition aide_finale_formule égal à - si non éligibilité alors 0 € sinon si - éligibilité_aide_personnalisée_logement.éligibilité et - non (éligibilité_allocation_logement.éligibilité sous forme PasÉligible) - alors - (si calcul_aide_personnalisée_logement.traitement_aide_finale de - calcul_aide_personnalisée_logement.aide_finale_formule > - calcul_allocation_logement.traitement_aide_finale de - calcul_allocation_logement.aide_finale_formule - alors - calcul_aide_personnalisée_logement.aide_finale_formule - sinon - calcul_allocation_logement.aide_finale_formule) - sinon si éligibilité_aide_personnalisée_logement.éligibilité - alors calcul_aide_personnalisée_logement.aide_finale_formule - sinon calcul_allocation_logement.aide_finale_formule - - définition traitement_aide_finale de aide_finale égal à - soit aide_finale_apl égal à - calcul_aide_personnalisée_logement.traitement_aide_finale de aide_finale - dans - soit aide_finale_al égal à - calcul_allocation_logement.traitement_aide_finale de aide_finale - dans - si non éligibilité alors - aide_finale - sinon si - éligibilité_aide_personnalisée_logement.éligibilité et - non (éligibilité_allocation_logement.éligibilité sous forme PasÉligible) - alors - (si aide_finale_apl > aide_finale_al - alors aide_finale_apl - sinon aide_finale_al) - sinon si - éligibilité_aide_personnalisée_logement.éligibilité - alors - aide_finale_apl - sinon - aide_finale_al -``` - -###### Article L841-3 | LEGIARTI000038814860 - -L'allocation de logement sociale est versée aux personnes hébergées dans les unités ou centres de -soins de longue durée mentionnés au 3° de l'article L. 162-22 du code de la sécurité sociale . - -```catala -champ d'application ÉligibilitéAllocationLogement: - # Nous considérons que L841-3 est une exception à L841-4 et non pas à - # L841-2 (cas de base) car si L841-3 et L84164 étaient tous deux exceptions - # de L841-2, alors il pourrait y avoir conflit entre ces deux exceptions. - # Cependant le conflit est impossible puisqu'on ne peut pas à la fois - # être dans une unité de soin longue durée et avoir acheté cette unité - # de soin longue durée avec un prêt aidé par l'État. - # Donc ici plutôt que d'écrire un invariant qui exclut ce cas de figure, - # on préfère hiérarchiser entre elles les exceptions pour lever le conflit. - # Idem avec l'exception prévue par L861-8. Nous écrivons donc l'assertion - # ci-dessous pour matérialiser l'impossibilité de se retrouver dans ces - # situations. - assertion non ( - demandeur.personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale et - (ménage.logement.mode_occupation sous forme - AccessionPropriétéLocalUsageExclusifHabitation ou - demandeur. - magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte)) - - exception base - définition éligibilité état l841_2 sous condition - demandeur.personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale - conséquence égal à - TypeÉligibilitéAllocationLogement.AllocationLogementSociale -``` - -###### Article L841-4 | LEGIARTI000038814858 - -Aucune allocation de logement n'est due pour les prêts permettant d'accéder à la propriété de -l'habitation signés après le 31 décembre 2017. - -```catala -champ d'application ÉligibilitéAllocationLogement: - étiquette accession_propriété - exception base définition éligibilité état l841_2 sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - propriétaire.prêt.date_signature > |2017-12-31| - -- n'importe quel: faux - conséquence égal à PasÉligible -``` - -###### Article L841-5 | LEGIARTI000038814856 - -L'allocation de logement sociale ne peut se cumuler avec une aide, quelle qu'en soit la dénomination, -ayant le même objet et due, sur le fondement d'une autre réglementation, à la même personne. - -Toutefois, lorsque le montant ainsi dû est inférieur à celui de l'allocation de logement sociale à -laquelle les dispositions du présent livre ouvriraient droit, la différence est versée par l'organisme payeur. - -```catala -# Pas pertinent pour l'éligibilité ou le calcul, plutôt un détail d'application -# d'une règle de non-cumul par la CAF qui dit qu'en cas de conflit entre l'ALS -# et une autre aide, il faut prendre l'aide de montant maximal. -``` - -##### Chapitre II : Modalités de liquidation et de versement des allocations de logement - -###### Article L842-1 | LEGIARTI000038814852 - -L'allocation de logement est versée, sur leur demande, au prêteur ou au bailleur. - -Le prêteur ou le bailleur déduit l'allocation du montant du loyer et des dépenses accessoires de logement -ou de celui des charges de remboursement. Il porte cette déduction à la connaissance de l'allocataire. -Il verse, le cas échéant, à l'allocataire la part de l'allocation de logement qui excède le montant du loyer -et des charges récupérables. - -L'allocation ne peut être versée au bailleur que si le logement répond aux exigences prévues aux articles -L. 822-9 et L. 822-10 . - -En cas de mandat de gérance de logements, l'allocation de logement peut être versée au mandataire. - -```catala -# Pas pertinent pour le calcul ou l'éligibilité, nous ne formalisons pas pour -# l'instant. -``` - -###### Article L842-2 | LEGIARTI000038814849 - -Dans le cas prévu à l'article L. 824-3 , le versement reprend au profit du bailleur, sauf dans le cas prévu -au troisième alinéa de l'article L. 842-1 ou en cas de refus de ce dernier. - -```catala -# Pas pertinent pour le calcul ou l'éligibilité, nous ne formalisons pas pour -# l'instant. -``` - -#### Titre V : Contrôles, lutte contre la fraude et sanctions - -```catala -# Rien à coder. -``` - -#### Titre VI : Dispositions particulières à l'outre-mer - -####### Article L860-1 | LEGIARTI000038814799 - -Les dispositions du présent livre s'appliquent, de plein droit, en Guadeloupe, -en Guyane, à la Martinique, à La Réunion et à Mayotte, sous les réserves et dans -les conditions énoncées par les dispositions prévues par le chapitre Ier du -présent titre. - -####### Article L860-2 | LEGIARTI000038814797 - -Les dispositions du présent livre s'appliquent, de plein droit, à -Saint-Barthélemy et à Saint-Martin, sous les réserves et dans les conditions -énoncées au chapitre II du présent titre. - -####### Article L860-3 | LEGIARTI000038814795 - -I. - Les dispositions du titre III du présent livre ne sont pas applicables à -Saint-Pierre-et-Miquelon. - -```catala -# Les habitants de Saint-Pierre et Miquelon n'ont pas droit à l'APL, seulement -# à l'allocation logement. -champ d'application ÉligibilitéAidePersonnaliséeLogement: - exception règle éligibilité sous condition - date_courante >= |2021-01-01| et - ménage.résidence sous forme SaintPierreEtMiquelon - conséquence non rempli -``` - -II. - Les autres dispositions du présent livre s'appliquent, de plein droit, -à Saint-Pierre-et-Miquelon, sous les réserves et dans les conditions énoncées -au chapitre III du présent titre. - -```catala -# Rien à coder pour l'instant, on verra au chapitre III du présent titre. -``` - -NOTA : - -Aux termes du III de l'article 23 de l'ordonnance n° 2019-770 du 17 juillet -2019, le II de l’article L. 860-3 du code de la construction et de l’habitation, -annexé à la présente ordonnance, entre en vigueur le 1er janvier 2021. - -##### Chapitre Ier : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte - -###### Section 1 : Fonds national d'aide au logement - -```catala -# Rien à coder. -``` -###### Section 2 : Dispositions communes aux aides personnelles au logement - -####### Article L861-4 | LEGIARTI000038814781 - -Les articles L. 821-4 et L. 823-8 , relatifs aux primes de déménagement, -ne sont pas applicables à Mayotte. - -```catala -champ d'application ÉligibilitéPrimeDeDéménagement: - exception règle éligibilité sous condition - ménage.résidence sous forme Mayotte - conséquence non rempli -``` - -####### Article L861-5 | LEGIARTI000044405110 - -Pour l'application à Mayotte des dispositions du titre II : - -1° Au 2° du I de l'article L. 822-2, les mots : " les deux premiers alinéas de -l'article L. 512-2 du code de la sécurité sociale " sont remplacés par les -mots : " l'article 4 de l'ordonnance n° 2002-149 du 7 février 2002 relative à -l'extension et la généralisation des prestations familiales et à la protection -sociale dans la collectivité départementale de Mayotte " ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - # Ici on utilise le mécanisme d'exception pour remplacer la définition - # de l'article L822-2 et ainsi adapter le droit pour son application à - # Mayotte. - exception définition condition_nationalité sous condition - ménage.résidence sous forme Mayotte - conséquence égal à - selon demandeur.nationalité sous forme - -- Française: faux - -- Étrangère de conditions: - conditions.satisfait_art_4_ordonnance_2002_mayotte -``` - -2° A l'article L. 822-5 , les mots : " prévue à l'article L. 821-1 du code de -la sécurité sociale " sont remplacés par les mots : " prévue à l' article 35 -de l'ordonnance n° 2002-411 du 27 mars 2002 relative à la protection sanitaire -et sociale à Mayotte " et les mots : " prévue à l'article L. 541-1 du même -code " sont remplacés par les mots : " prévu par l'article 10-1 de l'ordonnance -n° 2002-149 du 7 février 2002 relative à l'extension et la généralisation des -prestations familiales et à la protection sociale dans la collectivité -départementale de Mayotte " ; - -```catala -# Le code dans L822-5 fait référence à l'allocation adultes handicapés ainsi -# qu'à l'allocation d'éducation de l'enfant handicapé qui sont définies pour -# Mayotte dans d'autres textes d'où le 2° ci-dessus; rien à changer. -``` - -3° L'article L. 822-10 est remplacé par les dispositions suivantes : - -" Art. L. 822-10.-L'attribution d'une aide personnelle au logement est -subordonnée au respect de conditions de peuplement des logements. Si un -logement devient surpeuplé, du fait de l'arrivée au foyer d'un conjoint ou -d'un ascendant à charge, l'aide est maintenue pendant une durée déterminée. " -Ces conditions de peuplement et la durée du maintien de l'aide sont fixées -par voie réglementaire. " ; - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -4° Le septième alinéa de l'article L. 823-1 n'est pas applicable ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - exception règle septième_alinéa_l823_1_applicable sous condition - ménage.résidence sous forme Mayotte - conséquence non rempli -``` - -5° A l'article L. 823-9 , les mots : " Les articles L. 161-1-5 et L. 553-2 du -code de la sécurité sociale " sont remplacés par les mots : " Le deuxième -alinéa de l'article 20 de l'ordonnance n° 2002-411 du 27 mars 2002 relative à -la protection sanitaire et sociale à Mayotte et l' article 13 de l'ordonnance -n° 2002-149 du 7 février 2002 relative à l'extension et la généralisation des -prestations familiales et à la protection sociale dans la collectivité -territoriale de Mayotte ". - -```catala -# L'article L823-9 concerne le recouvrement des indus d'aides au logement -# qui est en dehors du champ de notre calculette. -``` - -NOTA : - -Conformément à l'article 20 de l'ordonnance n° 2020-1733 du 16 décembre 2020, -ces dispositions entrent en vigueur le 1er mai 2021. - -###### Section 3 : Aide personnalisée au logement - -####### Article L861-5-1 | LEGIARTI000044899551 - -Pour l'application de l'article L. 831-1 en Guadeloupe, en Guyane, en Martinique, -à La Réunion et à Mayotte, le 5° est ainsi rédigé : - -“5° Logements-foyers, dès lors qu'ils font l'objet d'une convention dont les -conditions sont fixées par voie réglementaire ;”. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux): - étiquette logement_foyer - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- RésidentLogementFoyer de location: - location.conventionné_selon_règles_drom - -- n'importe quel: faux - conséquence rempli -``` - -###### Section 4 : Allocations de logement - -####### Article L861-6 | LEGIARTI000038814775 - -Pour l'application en Guadeloupe, en Guyane, en Martinique, à La Réunion et à -Mayotte des dispositions du titre IV : - -1° L'article L. 841-1 est ainsi modifié : - -a) Les 1°, 2° et 6° sont supprimés et les 3°, 4° et 5° deviennent les 1°, 2° et -3° ; - -```catala -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux): - - exception règle l_841_1_1_applicable non rempli - exception règle l_841_1_2_applicable non rempli - exception règle l_841_1_6_applicable non rempli - # Nous désactivons seulement les 1°, 2° et 6° sans faire la renumérotation - # qui semble ne concerner que les b) et c) suivants (à prendre en compte - # dans le code correspondant). -``` - -b) Au 3° ainsi renuméroté, les mots : " l' article L. 821-2 du code de la -sécurité sociale " sont remplacés par les mots : " l' article 35 de l'ordonnance -n° 2002-411 du 27 mars 2002 relative à la protection sanitaire et sociale à -Mayotte " ; - -```catala -# Ici on se réfère à des règles propres à Mayotte pour évaluer l'incapacité à -# travailler ou la restriction d'emploi, mais cette incapacité ou restriction -# continue à fonctionner de la même manière qu'en métropole en ce qui -# concerne l'éligibilité à l'allocation logement, donc rien à coder pour nous. -``` - -c) L'article est complété par quatre alinéas ainsi rédigés : - -" 4° Aux personnes qui ont au moins un enfant à charge au sens de l'article -L. 512-3 du code de la sécurité sociale ; - -```catala -# Ressemble au 2° de L841-1 mais subtilement différent. -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux): - - règle éligibilité_allocation_logement_familiale - sous condition - nombre de - (personne_à_charge parmi ménage.personnes_à_charge tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge: faux - -- EnfantÀCharge de enfant: prestations_familiales.droit_ouvert de - EnfantPrestationsFamiliales { - -- identifiant: enfant.identifiant - -- obligation_scolaire: enfant.obligation_scolaire - -- rémuneration_mensuelle: enfant.rémuneration_mensuelle - -- date_de_naissance: enfant.date_de_naissance - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.a_déjà_ouvert_droit_aux_allocations_familiales - })) - >= 1 - conséquence rempli -``` - -" 5° Aux personnes mentionnées aux articles L. 781-8 et L. 781-46 du code rural -et de la pêche maritime ; - -```catala -# Les personnes mentionnées aux articles L. 781-8 et L. 781-46 du code rural -# et de la pêche maritime sont les non-salariés agricoles. -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux): - - règle éligibilité_allocation_logement_familiale - sous condition - demandeur.est_non_salarié_agricole_l781_8_l_781_46_code_rural - conséquence rempli -``` - -" 6° A Mayotte, lorsqu'un bénéficiaire est marié sous le régime du statut civil -de droit local, dans sa version antérieure à l' ordonnance n° 2010-590 du 3 juin -2010 portant dispositions relatives au statut civil de droit local applicable à -Mayotte et aux juridictions compétentes pour en connaître, seule sa première -épouse est prise en compte au titre de ses droits. Ses autres épouses peuvent -faire, le cas échéant, une demande à titre personnel ; dans ce cas, les -ressources de leur mari sont prises en compte pour le droit et le calcul de -l'allocation de logement sociale. - -```catala -# Cet article concerne le traitement particulier de la polygamie coutumière à -# Mayotte. Le traitement de ce cas ne nécessite pas tant de modification à notre -# calculette des aides au logement mais donne plutôt des instructions sur -# comment remplir le formulaire dans cette situation. Nous choisissons de -# ne rien coder ici. -``` - -" L'âge limite pour l'ouverture du droit à cette allocation est fixé par voie -réglementaire pour tout enfant dont la rémunération n'excède pas le plafond -mentionné au 2° de l'article L. 512-3 du code de la sécurité sociale à condition -qu'il poursuive des études, ou qu'il soit placé en apprentissage ou en stage de -formation professionnelle au sens de la sixième partie du code du travail, ou -qu'il se trouve, par suite d'infirmité ou de maladie chronique, dans -l'impossibilité constatée de se livrer à une activité professionnelle. " ; - -```catala -# L'analyse juridique de cet alinéa montre qu'ici nous rajoutons une condition -# plus restrictive d'ouverture des droits pour les enfants à charge compris -# entre la fin de l'obligation scolaire et l'âge limite de 21 ans défini à -# l'article R823-4 : il faut en effet que l'enfant soit en études ou -# apprentissage, etc. -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux): - - exception r823_4_enfants - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: - enfant.obligation_scolaire sous forme Après et - (enfant.date_de_naissance + prestations_familiales.âge_l512_3_2 > - date_courante) et - enfant.études_apprentissage_stage_formation_pro_impossibilité_travail - -- AutrePersonneÀCharge: faux - conséquence non rempli -``` - -2° L'article L. 841-4 est remplacé par les dispositions suivantes : - -" Art. L. 841-4.-L'allocation de logement n'est pas due pour les prêts permettant -d'accéder à la propriété de l'habitation signés après le 31 décembre 2017 ou, -par exception, après le 31 décembre 2019 lorsque le logement a fait l'objet d'une -décision favorable de financement, prise avant le 31 décembre 2018, du -représentant de l'Etat en Guyane, en Martinique, en Guadeloupe, à La Réunion et à -Mayotte. " - -```catala -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux): - étiquette accession_propriété_outre_mer exception accession_propriété - définition éligibilité état l841_2 sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - propriétaire.prêt.date_signature > |2017-12-31| ou ( - propriétaire.prêt.date_signature > |2019-12-31| et - selon - propriétaire.prêt.accord_financement_représentant_État_outre_mer - sous forme - -- Accord de date_accord: date_accord <= |2018-12-31| - -- PasdAccord: faux ) - -- n'importe quel: faux - conséquence égal à PasÉligible -``` - -####### Article L861-7 | LEGIARTI000038814773 - -Les articles L. 843-1 à L. 843-7 relatifs à la procédure de conservation de -l'allocation de logement par l'organisme payeur, lorsque le logement ne constitue -pas un logement décent, ne sont pas applicables à Mayotte. - -```catala -# Hors du champ de notre calculette. -``` - -####### Article L861-8 | LEGIARTI000038814771 - -A Mayotte, le bénéfice de l'allocation de logement n'est pas ouvert aux magistrats -et aux fonctionnaires civils et militaires de l'Etat dont le centre des intérêts -matériels et familiaux est situé hors de Mayotte. - -```catala -champ d'application ÉligibilitéAllocationLogement sous condition - ménage.résidence sous forme Mayotte: - exception accession_propriété_outre_mer - définition éligibilité état l841_2 sous condition - demandeur. - magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte - conséquence égal à PasÉligible -``` -###### Section V : Contrôles, luttes contre la fraude et sanctions - -```catala -# Rien à coder. -``` - -##### Chapitre II : Saint-Barthélemy et Saint-Martin - -###### Section 1 : Fonds national d'aide au logement - -```catala -# Rien à coder. -``` - -###### Section 2 : Dispositions communes aux aides personnelles au logement - -####### Article L862-2 | LEGIARTI000038814757 - -Pour l'application à Saint-Barthélemy et à Saint-Martin des dispositions du titre II : - -1° L'article L. 821-8 est remplacé par les dispositions suivantes : -" Art. L. 821-8.-Les aides personnelles au logement ne sont pas comprises dans les -ressources prises en compte en vue de l'attribution des prestations de vieillesse, -de prestations familiales, des prestations d'aide sociale ou de l'allocation aux -adultes handicapés. " ; - -```catala -# L'article L821-8 est hors du champ de notre calculette pour l'instant -# (détermination des ressources prises en compte). -``` - -2° A l'article L. 822-8, la référence à l'article 964 du code général des impôts est -remplacée par la référence aux dispositions applicables localement ayant le même -objet ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -3° L'article L. 822-9 est remplacé par les dispositions suivantes : -" Art. L. 822-9.-L'aide n'est due qu'aux personnes dont le logement répond à des -conditions de décence définies par voie réglementaire. " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -4° L'article L. 823-3 est remplacé par les dispositions suivantes : - -" Art. L. 823-3.-Sont assimilées aux loyers : - -" 1° Les mensualités acquittées au titre des charges de remboursement des prêts -contractés pour l'acquisition du logement ou son amélioration ; - -" 2° La redevance versée dans le cadre de contrats de location-accession portant sur -des immeubles à usage d'habitation ou à usage professionnel et d'habitation, en -contrepartie du droit de l'accédant à la jouissance du logement et de son droit -personnel au transfert de propriété du bien ; - -" 3° La rémunération de l'opérateur chargé de toutes les missions concourant au -redressement de la copropriété, notamment la maîtrise d'ouvrage d'un programme de -travaux et la mise au point du financement de l'opération, désigné par -l'administrateur provisoire nommé par le juge, lorsque la situation financière d'une -copropriété ne permet pas de réaliser les travaux nécessaires à la conservation et -la mise en sécurité de l'immeuble, la protection des occupants, la préservation de -leur santé et la réduction des charges de copropriété permettant son redressement -financier ; - -" 4° L'indemnité d'occupation versée à l'expropriant ; - -" 5° La redevance versée à l'opérateur en charge des parties communes expropriées ; - -" 6° L'indemnité, mentionnée au 4° de l'article L. 442-1 du code de l'action sociale -et des familles , représentative de la mise à disposition de la ou des pièces -réservées à la personne accueillie. " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -5° Le deuxième alinéa de l'article L. 823-4 est remplacé par les dispositions -suivantes : " Les paramètres suivants sont indexés sur l'évolution de l'indice de -référence des loyers défini soit par les dispositions applicables localement ayant -le même objet que celles de l' article 17-1 de la loi n° 89-462 du 6 juillet 1989 -tendant à améliorer les rapports locatifs et portant modification de la loi -n° 86-1290 du 23 décembre 1986 , soit, à défaut d'indice spécifique à la -collectivité, par les dispositions en vigueur en métropole : ". - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -###### Section 3 : Allocations de logement - -##### Article L862-3 | LEGIARTI000038814753 - -Pour l'application à Saint-Barthélemy et à Saint-Martin des dispositions du titre -IV : - -1° L'article L. 841-1 est ainsi modifié : - -a) Les 1°, 2° et 6° sont abrogés et les 2°, 3° et 5° deviennent respectivement, -les 1°, 2° et 3° ; - -```catala -# Ici le a) ne fait pas sens car le 2° est à la fois abrogé et renuméroté... -# Nous faisons abstraction de ce contresens et raisonnons par analogie -# en considérant qu'on fait ici la même chose que dans le a) de L816-6. -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux): - - exception règle l_841_1_1_applicable non rempli - exception règle l_841_1_2_applicable non rempli - exception règle l_841_1_6_applicable non rempli - # Nous désactivons seulement les 1°, 2° et 6° sans faire la renumérotation - # qui semble ne concerner que les b) et c) suivants (à prendre en compte - # dans le code correspondant). -``` - -b) L'article est complété par trois alinéas ainsi rédigés : -" 4° Aux personnes qui ont au moins un enfant à charge au sens de l' article -L. 512-3 du code de la sécurité sociale ; - - -```catala -# Ressemble au 2° de L841-1 mais subtilement différent. -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux): - - règle éligibilité_allocation_logement_familiale - sous condition - nombre de - (personne_à_charge parmi ménage.personnes_à_charge tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge: faux - -- EnfantÀCharge de enfant: prestations_familiales.droit_ouvert de - EnfantPrestationsFamiliales { - -- identifiant: enfant.identifiant - -- obligation_scolaire: enfant.obligation_scolaire - -- rémuneration_mensuelle: enfant.rémuneration_mensuelle - -- date_de_naissance: enfant.date_de_naissance - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.a_déjà_ouvert_droit_aux_allocations_familiales - })) - >= 1 - conséquence rempli -``` - -" 5° Aux personnes mentionnées aux articles L. 781-8 et L. 781-46 du code rural et -de la pêche maritime. - -```catala -# Les personnes mentionnées aux articles L. 781-8 et L. 781-46 du code rural -# et de la pêche maritime sont les non-salariés agricoles. -champ d'application ÉligibilitéAllocationLogement sous condition - (selon ménage.résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux): - - règle éligibilité_allocation_logement_familiale - sous condition - demandeur.est_non_salarié_agricole_l781_8_l_781_46_code_rural - conséquence rempli -``` - -" L'âge limite pour l'ouverture du droit à cette allocation est fixé par voie -réglementaire pour tout enfant dont la rémunération n'excède pas le plafond -mentionné au 2° de l'article L. 512-3 du code de la sécurité sociale à condition -qu'il poursuive des études, ou qu'il soit placé en apprentissage ou en stage de -formation professionnelle au sens de la sixième partie du code du travail, ou -qu'il se trouve, par suite d'infirmité ou de maladie chronique, dans l'impossibilité -constatée de se livrer à une activité professionnelle. " ; - -```catala -# L'analyse juridique de cet alinéa montre qu'ici nous rajoutons une condition -# plus restrictive d'ouverture des droits pour les enfants à charge compris -# entre la fin de l'obligation scolaire et l'âge limite de 21 ans défini à -# l'article R823-4 : il faut en effet que l'enfant soit en études ou -# apprentissage, etc. -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - (selon ménage.résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux): - - exception r823_4_enfants - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: - enfant.obligation_scolaire sous forme Après et - (enfant.date_de_naissance + prestations_familiales.âge_l512_3_2 > - date_courante) et - enfant.études_apprentissage_stage_formation_pro_impossibilité_travail - -- AutrePersonneÀCharge: faux - conséquence non rempli -``` - -2° A l'article L. 843-7 , les mots : " définies au 1° de l'article L. 365-1 " sont -remplacés par les mots : " d'opérations d'acquisition, de construction ou de -réhabilitation de logements ou de structures d'hébergement en tant que propriétaire -ou preneur de bail à construction, emphytéotique ou de bail à réhabilitation ". - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -###### Section 4 : Contrôles, lutte contre la fraude et sanctions - -```catala -# Rien à coder. -``` - -##### Chapitre III : Saint-Pierre-et-Miquelon - -###### Section 1 : Fonds national d'aide au logement - -```catala -# Rien à coder. -``` - -###### Section 2 : Dispositions communes aux aides applicables à Saint-Pierre-et-Miquelon - -####### Article L863-2 | LEGIARTI000038814739 - -Les articles L. 821-4 et L. 823-8 relatifs aux primes de déménagement ne sont pas -applicables à Saint-Pierre-et-Miquelon. - -```catala -champ d'application ÉligibilitéPrimeDeDéménagement sous condition - date_courante >= |2022-01-01| : - exception règle éligibilité sous condition - ménage.résidence sous forme SaintPierreEtMiquelon - conséquence non rempli -``` - -NOTA : Aux termes du IV de l'article 23 de l'ordonnance n° 2019-770 du 17 juillet -2019, les articles L. 863-1 à L. 863-5 du code de la construction et de l’habitation, -annexés à la présente ordonnance, s’appliquent aux contributions et aux prestations -dues à compter du 1er janvier 2022. - -####### Article L863-3 | LEGIARTI000038814737 - -Pour l'application à Saint-Pierre-et-Miquelon des dispositions du titre II : - -1° L'article L. 821-8 est remplacé par les dispositions suivantes : - -" Art. L. 821-8.-Les aides personnelles au logement ne sont pas comprises dans les -ressources prises en compte en vue de l'attribution des prestations de vieillesse, -de prestations familiales, des prestations d'aide sociale ou de l'allocation aux -adultes handicapés. " ; - -```catala -# Prise en compte des ressources pas encore formalisée en Catala donc rien à -# coder ici pour le moment. -``` - -2° A l'article L. 822-8 , la référence à l' article 964 du code général des impôts -est remplacée par la référence aux dispositions applicables localement ayant le même -objet ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -3° L'article L. 822-9 est remplacé par les dispositions suivantes : - -" Art. L. 822-9.-L'aide n'est due qu'aux personnes dont le logement répond à des -conditions de décence fixées par voie réglementaire. " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -4° L'article L. 823-3 est remplacé par les dispositions suivantes : - -" Art. L. 823-3.-Sont assimilées aux loyers : -" 1° Les mensualités acquittées au titre des charges de remboursement des prêts contractés pour l'acquisition du -logement ou son amélioration ; -" 2° La redevance versée dans le cadre de contrats de location-accession portant sur -des immeubles à usage d'habitation ou à usage professionnel et d'habitation en -contrepartie du droit de l'accédant à la jouissance du logement et de son droit -personnel au transfert de propriété du bien ; -" 3° La rémunération de l'opérateur chargé de toutes les missions concourant au -redressement de la copropriété, notamment la maîtrise d'ouvrage d'un programme de -travaux et la mise au point du financement de l'opération, désigné par -l'administrateur provisoire nommé par le juge lorsque la situation financière d'une -copropriété ne permet pas de réaliser les travaux nécessaires à la conservation et -la mise en sécurité de l'immeuble, la protection des occupants, la préservation de -leur santé et la réduction des charges de copropriété permettant son redressement -financier ; -" 4° L'indemnité d'occupation versée à l'expropriant ; -" 5° La redevance versée à l'opérateur en charge des parties communes expropriées ; -" 6° L'indemnité, mentionnée au 4° de l'article L. 442-1 du code de l'action sociale -et des familles , représentative de la mise à disposition de la ou des pièces -réservées à la personne accueillie. " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -5° Le deuxième alinéa de l'article L. 823-4 est remplacé par les dispositions -suivantes : -" Les paramètres suivants sont indexés sur l'évolution de l'indice de référence des -loyers défini soit par les dispositions applicables localement ayant le même objet -que celles de l' article 17-1 de la loi n° 89-462 du 6 juillet 1989 tendant à -améliorer les rapports locatifs et portant modification de la loi n° 86-1290 du -23 décembre 1986 , soit, à défaut d'indice spécifique à la collectivité, par les -dispositions en vigueur en métropole : ". - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : Aux termes du IV de l'article 23 de l'ordonnance n° 2019-770 du 17 juillet -2019, les articles L. 863-1 à L. 863-5 du code de la construction et de l’habitation, -annexés à la présente ordonnance, s’appliquent aux contributions et aux prestations -dues à compter du 1er janvier 2022. - -###### Section 3 : Allocations de logement - -####### Article L863-4 | LEGIARTI000038814733 - -Les articles L. 843-1 à L. 843-7 relatifs à la procédure de conservation de -l'allocation de logement par l'organisme payeur lorsque le logement ne constitue pas -un logement décent ne sont pas applicables à Saint-Pierre-et-Miquelon. - -```catala -# Hors du champ de notre calculette. -``` - - -NOTA : Aux termes du IV de l'article 23 de l'ordonnance n° 2019-770 du 17 juillet -2019, les articles L. 863-1 à L. 863-5 du code de la construction et de l’habitation, -annexés à la présente ordonnance, s’appliquent aux contributions et aux prestations -dues à compter du 1er janvier 2022. - -###### Section 4 : Contrôles, lutte contre la fraude et sanctions - -```catala -# Rien à coder. -``` diff --git a/examples/aides_logement/code_construction_reglementaire.catala_fr b/examples/aides_logement/code_construction_reglementaire.catala_fr deleted file mode 100644 index 5ff803d9..00000000 --- a/examples/aides_logement/code_construction_reglementaire.catala_fr +++ /dev/null @@ -1,6806 +0,0 @@ -## Partie réglementaire - -### Livre VIII : Aides personnelles au logement - -#### Titre II : Dispositions communes aux aides personnelles au logement - -##### Chapitre Ier : Principes généraux - -###### Section 1 : Règles de non-cumul - -####### Article R821-1 | LEGIARTI000038879023 - -En vertu de la règle énoncée à l'article L. 821-2 , une aide personnelle au -logement ne peut être attribuée, au profit d'une même personne ou d'un même -ménage, au titre de plusieurs logements. - -```catala -# À voir quelles sont exactement les condition pour la résidence principale, -# mais nous faisons ici l'hypothèse simplificatrice qu'il n'y a qu'une -# résidence principale. Si ce n'est pas le cas, alors l'utilisateur du programme -# pourra ne déclarer qu'une seule résidence principale (de son choix). -``` - -####### Article R821-2 | LEGIARTI000038879021 - -Lorsque le conjoint ou les enfants à charge du bénéficiaire occupent, à -titre de résidence principale, un local indépendant du logement occupé -par le bénéficiaire et situé dans le même bâtiment, ces deux locaux sont -assimilés au logement défini à l'article R. 822-23 . - -```catala -# Cet article définit la manière de remplir les champs du formulaire -# de déclaration des résidences mais ne se traduit pas computationellement -# pour nous. -``` - -####### Article R821-3 | LEGIARTI000038879019 - -En cas de séparation, légale ou de fait, des conjoints entraînant la -création de deux foyers distincts et l'occupation de deux résidences -principales constatées par l'organisme payeur lors de l'ouverture du -droit ou au début de la période de paiement, une aide personnelle au -logement peut être accordée à chacun des conjoints. - -```catala -# Voir SituationFamiliale dans L822-1. -``` - -####### Article R821-4 | LEGIARTI000038879017 - -Lorsque plusieurs personnes ou ménages constituant des foyers distincts -occupent le même logement et qu'ils sont copropriétaires du logement -et cotitulaires du prêt ouvrant droit aux aides personnelles au -logement, ou cotitulaires du bail ou de l'engagement de location, -une aide personnelle au logement peut être accordée à chacune de ces -personnes ou chacun de ces ménages. - -```catala -# Chaque colocataire ou copropriétaire remplit sa demande d'APL en cochant -# les cases déjà prévues. -``` - -###### Section 2 : Règle d'exclusivité - -####### Article R821-5 | LEGIARTI000038879013 - -Lorsque les conditions d'ouverture du droit à l'aide personnalisée au logement -sont remplies au titre d'un logement, seule cette aide est attribuée pour ce logement. - -```catala -# Attention, Les APL ne sont pas cumulables avec les allocations de logement. -``` - -####### Article R821-6 | LEGIARTI000038879011 - -Lorsqu'une personne bénéficie de l'allocation de logement au titre de -l'acquisition du logement qu'elle occupe et qu'il lui est accordé un -prêt aidé par l'Etat en accession à la propriété pour l'agrandissement -de ce logement ou un prêt conventionné pour son amélioration, seule l'aide -personnalisée au logement lui est attribuée dans les conditions prévues par -les dispositions de la section 2 du chapitre II du titre III du présent livre -applicables à ces catégories de prêts et le droit à l'allocation de logement -est éteint à compter de l'ouverture du droit à l'aide personnalisée. - -```catala -# Hypothèse : peut-être que cet article est une disposition de transition avec -# la période où les allocations de logement n'étaient pas fusionnées en aide -# personnalisée au logement. -# Si c'est le cas, nous le laissons hors du champ du programme. -``` - -##### Chapitre II : Conditions générales d'attribution - -###### Section 1 : Conditions relatives au bénéficiaire - -####### Article R822-1 | LEGIARTI000038879005 - -Les seuils mentionnés au second alinéa de l'article L. 822-3 sont -fixés à 10 % pour les parts de propriété et à 10 % pour les parts -d'usufruit, sans que l'ensemble de ces parts puisse égaler ou dépasser -10 % de la propriété ou de l'usufruit du logement. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition seuil_l822_3_parts_propriété égal à 10% - définition seuil_l822_3_parts_usufruit égal à 10% -``` - -###### Section 2 : Conditions relatives aux ressources - -####### Sous-section 1 : Modalités générales de l'appréciation des ressources - -######## Article R822-2 | LEGIARTI000041419135 - -Les ressources prises en compte pour le calcul de l'aide personnelle au logement -sont celles dont bénéficient le demandeur ou l'allocataire, son conjoint et -les personnes vivant habituellement au foyer. - -```catala -# Ici "conjoint" veut implicitement dire également "concubin" car on -# a vu que les deux cas étaient gérés de la même manière précédemment. -# Interprétation confirmée par DGALN/DHUP/FE4 le 25/05/2022. -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -Sont considérées comme vivant habituellement au foyer les personnes y ayant -résidé plus de six mois au cours de la période mentionnée au 1° de l'article -R. 822-3 précédant la période de paiement prévue par l'article R. 823-6 et -qui y résident encore au moment de la demande de l'aide ou du réexamen du -droit à celle-ci. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. - -# Ici on pourrait coder ça de manière beaucoup plus précise en tenant compte -# des différentes périodes mentionnées et en forçant l'utilisateur à bien -# remplir toutes ses périodes de résidence mais cela rendrait le formulaire -# plus lourd et ne correspondrait peut-être pas au besoin d'un système expert -# comme celui utilisé à la CNAF. On pourrait également laisser l'utilisateur -# spécifier une durée en jours mais cela aurait deux inconvénients : -# premièrement c'est une intrusion dans la vie privée du potentiel -# bénéficiaire (cette information serait nécéssaire en cas de contrôle mais -# pas dans tous les cas), et deuxièmement la comparaison d'un nombre de jours -# avec "6 mois" est computationellement ambiguë. -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à compter -du mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du code -de la construction et de l’habitation, à compter du mois de mai 2021. - -```catala -# La nota ne nous concerne pas car on ne considère le calcul qu'après 2021. -``` - -######## Article R822-3 | LEGIARTI000041419142 - -Les ressources et les charges prises en compte pour le calcul de l'aide -personnelle au logement sont appréciées, tous les trois mois, sous réserve -des dispositions prévues à l'article R. 823-6-1, selon les périodes de -référence suivantes : - -1° Pour les ressources mentionnées à l'article R. 822-4 prises en compte par -la déclaration sociale nominative définie à l' article L. 133-5-3 du code de -la sécurité sociale et les revenus d'activité perçus hors de France ou versés -par une organisation internationale, sur une période de référence courant du -treizième au deuxième mois précédant la date d'ouverture ou de réexamen du -droit à l'aide personnelle au logement ; - -2° Pour les pensions alimentaires versées ou perçues, les frais de tutelle, -les frais professionnels exposés, lorsque ceux-ci excèdent la déduction -forfaitaire mentionnée au 3° de l'article 83 du code général des impôts , -et pour l'assujettissement à l'impôt sur la fortune immobilière mentionné à -l'article 964 du même code, sur une période de référence correspondant à -l'année civile qui précède la date d'ouverture ou de réexamen du droit à -l'aide personnelle au logement. - -A défaut de déclaration par le bénéficiaire des ressources mentionnées au 2°, -sont pris en compte à titre provisoire lors du réexamen de ses droits : - -a) Pour les pensions alimentaires versées et les frais de tutelle exposés, -un montant nul ; - -b) Pour les pensions alimentaires reçues, les dernières ressources connues -deux ans avant la date d'ouverture ou de réexamen du droit ; - -c) Pour la déduction des frais professionnels, la déduction forfaitaire -mentionnée au 3° de l'article 83 du code général des impôts . - -Ces montants provisoires donnent lieu, le cas échéant, à régularisation, au -vu des données de l'année civile antérieure à la période de référence -transmises par l'administration fiscale ; - -3° Pour les autres revenus imposables, sous réserve pour les travailleurs -indépendants des dispositions de l'article R. 822-5, sur une période de -référence correspondant à l'avant-dernière année précédant la date d'ouverture -ou de réexamen du droit à l'aide personnelle au logement. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois -respectifs fixés par arrêté des ministres en charge du logement, de la santé -et du budget et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits -à l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, à compter -du mois de mai 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-4 | LEGIARTI000045920163 - -I.-Les ressources prises en compte s'entendent du total des revenus nets -catégoriels retenus pour l'établissement de l'impôt sur le revenu, des revenus -taxés à un taux proportionnel ou soumis à un prélèvement libératoire de l'impôt -sur le revenu ainsi que des revenus perçus hors de France ou versés par une -organisation internationale. - -Sont également pris en compte : - -1° Suivant les règles applicables en matière d'imposition aux traitements -et salaires prévues au deuxième alinéa du 3° de l' article 83 et au 5 (a) de -l'article 158 du code général des impôts , les indemnités journalières -mentionnées au 2° de l'article L. 431-1 du code de la sécurité sociale ; - -2° Les rémunérations liées aux heures supplémentaires ou assimilées mentionnées -à l' article 81 quater du code général des impôts après application d'une -déduction calculée selon les mêmes règles que celles mentionnées au deuxième -alinéa du 3° de l'article 83 du même code. - -II.-Sont déduits du décompte des ressources : - -1° Les créances alimentaires mentionnées au 2° du II de l'article 156 du code -général des impôts et majorées dans les conditions prévues au 7 de l'article -158 du même code ; - -2° L'abattement mentionné à l' article 157 bis du code général des impôts pour -les personnes nées avant le 1er janvier 1931 et pour les personnes invalides. - -III.-Ne sont pas déduits du décompte des ressources les déficits constatés au -cours d'une année antérieure à celle de la période de référence définie au 3° -de l'article R. 822-3 et qui font l'objet d'un report, en vertu des dispositions -du I de l'article 156 du code général des impôts. - -IV.-Ne sont pas pris en compte : - -1° Les arrérages des rentes viagères constituées en faveur d'une personne -handicapée, mentionnés à l'article 199 septies du code général des impôts ; - -2° Les indemnités versées aux personnes tirées au sort mentionnées à l'article -4-3 et au 2° de l'article 12 de l'ordonnance n° 58-1360 du 29 décembre 1958 -portant loi organique relative au Conseil économique, social et environnemental. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : -Ces dispositions sont applicables au calcul des droits, d'une part, -à l'aide personnalisée au logement prévue pour les accédants à la propriété -par l'article L. 831-1 du code de la construction et de l'habitation, -d'autre part, aux autres aides personnelles au logement prévues par le -même code, à compter des mois respectifs fixés par arrêté des ministres -en charge du logement, de la santé et du budget et, au plus tard, -du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits à -l’aide personnalisée au logement prévue pour les accédants à la propriété par -l’article L. 831-1 du code de la construction et de l’habitation, à compter du -mois de mai 2021. - - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-5 | LEGIARTI000041419180 - -Les revenus professionnels des travailleurs indépendants sont ceux pris en -compte dans la catégorie des bénéfices industriels et commerciaux, des -bénéfices agricoles et des bénéfices non commerciaux de l'avant-dernière -année précédant la date d'ouverture ou de réexamen du droit. - -Pour les travailleurs ayant débuté une activité indépendante postérieurement -ou au cours de l'avant-dernière année précédant la date d'ouverture ou de -réexamen du droit, les revenus professionnels sont calculés par l'organisme -chargé du calcul des aides personnelles au logement en appliquant au montant -du chiffre d'affaires ou du total des recettes déclarés par le demandeur ou -l'allocataire pendant la période de référence visée au 1° de l'article -R. 822-3 précédant l'examen ou la révision du droit, un abattement dont le -taux correspond à celui qui est mentionné aux articles 50-0 , 64 bis et 102 ter -du code général des impôts pour chaque catégorie d'activité mentionnée à ces -articles. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à compter -du mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du code -de la construction et de l’habitation, à compter du mois de mai 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-6 | LEGIARTI000047985814 - -Ne sont prises en compte que pour la fraction dépassant le plafond individuel -prévu à l'article L. 815-9 du code de la sécurité sociale multiplié par 1,25 -les ressources de chacune des personnes vivant habituellement au foyer qui -sont : - -1° Soit enfants du bénéficiaire de l'aide ou de son conjoint ; - -2° Soit ascendants du bénéficiaire ou de son conjoint ayant atteint un âge au -moins égal à celui mentionné au 1° de l'article L. 351-8 du code de la -sécurité sociale, ou d'un âge au moins égal à celui mentionné à l'article L. -351-1-5 du même code en cas d'inaptitude au travail, ou âgés d'au moins -soixante-cinq ans s'ils percevaient l'allocation de solidarité aux personnes -âgées ; - -3° Soit ascendants, descendants ou collatéraux au deuxième degré ou au -troisième degré du bénéficiaire ou de son conjoint et titulaires de la carte " -mobilité-inclusion " comportant la mention " invalidité " prévue à l'article -L. 241-3 du code de l'action sociale et des familles ou de la carte -d'invalidité prévue à l'article L. 241-3 du même code, dans sa rédaction -antérieure au 1er janvier 2017. - -NOTA: - -Conformément au I de l’article 7 du décret n° 2023-799 du 21 août 2023, ces -dispositions sont applicables aux prestations dues à compter du 1er septembre -2023. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -####### Sous-section 2 : Principes de neutralisation et d'abattement - -######## Article R822-7 | LEGIARTI000041419409 - -Les ressources, déterminées dans les conditions prévues aux articles -R. 822-2 à R. 822-6, sont diminuées d'un abattement forfaitaire, lorsque -les deux conjoints ont exercé une activité professionnelle productrice de -revenus au cours de la période de référence définie au 1° de l'article -R. 822-3 et que chacun des deux revenus professionnels pris en compte dans -les ressources a été au moins égal à douze fois la base mensuelle de calcul -des allocations familiales en vigueur à la date de la demande ou du réexamen -du droit. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -Le montant de cet abattement est fixé par arrêté des ministres chargés du -logement, du budget, de la sécurité sociale et de l'agriculture. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du code -de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à compter -du mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du code -de la construction et de l’habitation, à compter du mois de mai 2021. - - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-8 | LEGIARTI000041419400 - -Lorsque le bénéficiaire justifie qu'en raison d'obligations professionnelles, -lui-même ou son conjoint est contraint d'occuper, de manière habituelle, un -logement distinct de sa ou de leur résidence principale et qu'il supporte des -charges de loyer supplémentaires correspondant à ce logement, il est procédé -à un abattement forfaitaire sur ses ressources ou sur celles du ménage. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -L'abattement est appliqué à compter du premier jour du mois civil suivant celui -au cours duquel le bénéficiaire doit supporter ces charges. Il est supprimé à -compter du premier jour du mois civil au cours duquel le bénéficiaire cesse de -les supporter. - -Le montant de cet abattement est fixé par un arrêté des ministres chargés du -logement, du budget, de la sécurité sociale et de l'agriculture. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à -compter du mois de janvier 2021 ou, pour le calcul des droits à l’aide -personnalisée au logement prévue pour les accédants à la propriété par -l’article L. 831-1 du code de la construction et de l’habitation, à compter -du mois de mai 2021. - -######## Article R822-9 | LEGIARTI000041419395 - -L'abattement prévu à l'article R. 822-8 est applicable aux -ressources prises en compte pour le calcul de l'aide personnelle au -logement due, à compter de la date d'ouverture du droit ou de son -renouvellement, aux personnes isolées résidant en logement-foyer, -lorsqu'elles apportent la preuve qu'elles assument ou contribuent à -assumer financièrement des charges familiales. - -```catala -# Cet article indique comment remplir le formulaire quand on est dans -# la situation décrite mais n'apporte pas d'informations supplémentaires -# sur le calcul. -``` - -######## Article R822-10 | LEGIARTI000041419390 - -Lorsque le bénéficiaire est accédant à la propriété et qu'il est une personne -seule assumant une charge familiale telle que définie à l'article R. 823-4 , -il est opéré sur ses ressources un abattement de : - -1° 901 euros pour le bénéficiaire ayant une ou deux personnes à charge ; - -2° 1 350 euros dès trois personnes à charge. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-11 | LEGIARTI000041419384 - -Il n'est pas tenu compte, à partir du premier jour du mois civil suivant celui -au cours duquel survient l'événement ou le changement de situation, sous réserve -que la preuve en soit apportée : - -1° Des ressources du conjoint du bénéficiaire : - -a) Soit décédé ; - -b) Soit absent du domicile, en raison d'une décision de justice prononçant le -divorce ou d'une convention de divorce par consentement mutuel conclue en -application de l' article 229-1 du code civil ; - -c) Soit absent du domicile, en raison d'une décision de justice autorisant -la résidence séparée ou homologuant, en cas de demande conjointe en divorce, -la convention temporaire passée à ce sujet entre les époux ; - -d) Soit absent du domicile, en raison d'une séparation de fait des époux ; - -2° Des revenus d'activité professionnelle ou des indemnités de chômage perçus -par le conjoint du bénéficiaire : - -a) Soit détenu, les ressources du conjoint étant toutefois prises en -considération s'il est placé sous le régime de la semi-liberté ; - -b) Soit cessant toute activité professionnelle pour se consacrer à un enfant -de moins de trois ans ou à plusieurs enfants. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-12 | LEGIARTI000041419379 - -Lorsque l'une des situations mentionnées à l'article R. 822-11 prend fin, -il est tenu compte : - -1° Des ressources perçues par le conjoint du bénéficiaire à partir du premier -jour du mois au cours duquel la vie commune est reprise ; - -2° Des revenus d'activité professionnelle ou des indemnités de chômage, à -partir du premier jour du mois au cours duquel : - -a) Soit la période de détention expire ; -b) Soit les conditions relatives à l'âge ou au nombre d'enfants auxquels -l'intéressé se consacre ne sont plus remplies ; - -c) Soit l'intéressé reprend une activité professionnelle. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-13 | LEGIARTI000041419372 - -Lorsque le bénéficiaire ou son conjoint apporte la preuve de la cessation de -son activité professionnelle et de son admission au bénéfice d'une pension -de retraite ou d'invalidité ou d'une rente d'accident de travail ou de -l'allocation aux adultes handicapés, les revenus d'activité professionnelle -et les indemnités de chômage inclus dans les ressources de l'intéressé sont -affectés d'un abattement de 30 %. - -Cette mesure s'applique à partir du premier jour du mois civil suivant celui -au cours duquel survient le changement de situation. - -Lorsque le bénéficiaire ou son conjoint reprend une activité professionnelle -rémunérée, l'abattement prévu au premier alinéa est supprimé à partir du -premier jour du mois civil au cours duquel intervient la reprise d'activité. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces -dispositions sont applicables au calcul des droits, d'une part, à l'aide -personnalisée au logement prévue pour les accédants à la propriété par -l'article L. 831-1 du code de la construction et de l'habitation, d'autre -part, aux autres aides personnelles au logement prévues par le même code, -à compter des mois respectifs fixés par arrêté des ministres en charge du -logement, de la santé et du budget et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits -à l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, à -compter du mois de mai 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-14 | LEGIARTI000041419358 - -Lorsque le bénéficiaire ou son conjoint se trouve, depuis au moins deux mois -consécutifs, à la date d'effet de la demande ou pendant au moins deux mois -consécutifs au cours de la période de paiement, en chômage total et qu'il -perçoit l'allocation d'assurance prévue à l'article L. 5422-1 du code du -travail ou lorsqu'il se trouve en chômage partiel et qu'il perçoit l'allocation -spécifique prévue à l'article L. 5122-1 du même code, ou perçoit l'allocation -des travailleurs indépendants mentionnée à l'article L. 5424-25 du même code, -les revenus d'activité professionnelle dont bénéficie l'intéressé sont affectés -d'un abattement de 30 %. - -Cette mesure s'applique à partir du premier jour du deuxième mois civil suivant -celui au cours duquel est intervenu le changement de situation. - -Le nombre minimal d'heures de chômage partiel requis pour bénéficier de cet -abattement de 30 % est de quarante heures sur une période de deux mois -consécutifs. - -La rémunération dont bénéficient les personnes relevant des conventions conclues -en application de l'article L. 1233-68 du code du travail est assimilée, -pendant la durée de la formation et pour l'application des dispositions du -deuxième alinéa du présent article, à l'allocation de chômage à laquelle elle -s'est substituée lors de l'entrée en formation. - -Lorsque l'intéressé reprend une activité professionnelle rémunérée, -l'abattement est supprimé à partir du premier jour du mois civil au cours -duquel intervient la reprise d'activité. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces -dispositions sont applicables au calcul des droits à l’aide personnelle au -logement à compter du mois de janvier 2021 ou, pour le calcul des droits à -l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, à compter -du mois de mai 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-15 | LEGIARTI000041419346 - -Il n'est tenu compte ni des revenus d'activité professionnelle, ni des -indemnités de chômage de l'intéressé lorsque celui-ci ou son conjoint est -en chômage total depuis au moins deux mois consécutifs à la date d'effet de -la demande ou pendant au moins deux mois consécutifs au cours de la période -de paiement et s'il se trouve dans l'une des situations suivantes : - -1° Il ne bénéficie pas ou ne bénéficie plus d'une indemnisation dans les -conditions mentionnées par l'article R. 822-14 ; - -2° Son indemnisation a atteint le montant minimum prévu par l'accord mentionné -à l' article L. 5422-20 du code du travail , après application du taux dégressif -prévu à l'article L. 5422-3 du même code ; - -3° Il perçoit l'allocation de solidarité spécifique prévue par les articles -L. 5423-1 à L. 5423-3 du code du travail. - -Les droits sont examinés sur cette nouvelle base à compter du premier jour du -mois civil suivant celui au cours duquel sont intervenus le changement de -situation, la cessation du versement ou la diminution du montant de l'allocation -d'assurance, ou l'admission à l'allocation de solidarité spécifique. - -Lorsque l'intéressé reprend une activité professionnelle rémunérée, il est tenu -compte de ses ressources à partir du premier jour du mois civil au cours duquel -intervient la reprise d'activité. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à compter -du mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du code -de la construction et de l’habitation, à compter du mois de mai 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-16 | LEGIARTI000041419340 - -Lorsque le bénéficiaire ou son conjoint justifie d'une interruption de travail -supérieure à six mois, dans les conditions mentionnées à l' article R. 324-1 -du code de la sécurité sociale , il est procédé, à compter du premier jour du -mois civil suivant celui au cours duquel est intervenu le changement de -situation, à un abattement de 30 % sur les revenus d'activité professionnelle -et les indemnités de chômage perçus par l'intéressé. - -Cette mesure s'applique jusqu'au dernier jour du mois civil précédant celui -au cours duquel la situation considérée prend fin. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois -respectifs fixés par arrêté des ministres en charge du logement, de la santé -et du budget et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits à -l’aide personnalisée au logement prévue pour les accédants à la propriété par -l’article L. 831-1 du code de la construction et de l’habitation, à compter du -mois de mai 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article R822-17 | LEGIARTI000041419333 - -Lorsque le bénéficiaire ou son conjoint perçoit le revenu de solidarité -active mentionné à l' article L. 262-2 du code de l'action sociale et des -familles , il n'est tenu compte ni des revenus d'activité professionnelle, ni -des indemnités de chômage dont bénéficie l'intéressé, à compter du premier -jour du mois civil suivant celui au cours duquel ces conditions sont réunies -et jusqu'au dernier jour du mois civil au cours duquel ces conditions cessent -d'être réunies. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits -à l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, à -compter du mois de mai 2021. - -######## Article R822-18 | LEGIARTI000043616221 - -Lorsque le bénéficiaire, son conjoint ou une personne à charge est ou a été -titulaire d'un contrat de professionnalisation mentionné à l'article L. 6325-1 -du code du travail, les revenus mensuels perçus par l'intéressé dans le cadre -de ce contrat sont diminués d'un abattement égal à leur montant sans pouvoir -excéder le montant mensuel du salaire minimum de croissance. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 3 du décret -n° 2021-720 du 4 juin 2021. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -####### Sous-section 3 : Montant forfaitaire de ressources applicable aux étudiants - -######## Article R822-20 | LEGIARTI000041419188 - -Lorsque à la date de la demande de l'aide personnelle au logement ou du -réexamen du droit à cette aide, le demandeur ou l'allocataire occupe un -logement à usage locatif, qu'il satisfait les conditions d'âge fixées pour -l'attribution d'une bourse d'enseignement supérieur sur critères sociaux et -poursuit des études, les ressources du bénéficiaire ou du ménage sont réputées -égales à un montant forfaitaire. - -Ce montant est minoré lorsque le demandeur ou l'allocataire est titulaire -d'une bourse de l'enseignement supérieur qui n'est pas assujettie à l'impôt -sur le revenu. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. - -# Le montant minoré sera défini plus tard, et donc constituera une exception -# au cas de base de ressources_forfaitaires_r822_20 -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces -dispositions sont applicables au calcul des droits, d'une part, à -l'aide personnalisée au logement prévue pour les accédants à la propriété -par l'article L. 831-1 du code de la construction et de l'habitation, -d'autre part, aux autres aides personnelles au logement prévues par le -même code, à compter des mois respectifs fixés par arrêté des ministres -en charge du logement, de la santé et du budget et, au plus tard, du 1er -janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits -à l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, à compter -du mois de mai 2021. - -######## Article D822-21 | LEGIARTI000041407871 - -Les montants mentionnés à l'article R. 822-20 sont fixés par arrêté des ministres -chargés du logement, du budget, de la sécurité sociale et de l'agriculture. -Ils évoluent, le 1er janvier de chaque année, comme l'indice de référence des -loyers défini à l' article 17-1 de la loi n° 89-462 du 6 juillet 1989 tendant à -améliorer les rapports locatifs et portant modification de la loi n° 86-1290 du -23 décembre 1986 . Ils sont arrondis à la centaine d'euros la plus proche. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du code -de la construction et de l'habitation, d'autre part, aux autres aides personnelles -au logement prévues par le même code, à compter des mois respectifs fixés par -arrêté des ministres en charge du logement, de la santé et du budget et, au plus -tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à compter -du mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du code -de la construction et de l’habitation, à compter du mois de mai 2021. - -```catala -# Cet article régit la manière dont les montants forfaitaires de ressources -# évoluent d'année en année mais nous ne cherchons pas à formaliser cela -# dans ce calculateur. -``` - -####### Sous-section 4 : Prise en compte du patrimoine - -######## Article R822-22 | LEGIARTI000041419223 - -Le montant prévu au premier alinéa de l'article L. 822-5 est fixé à 30 000 euros. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet alinéa et des précédents et de ceux auxquels il -# se réfère pour correctement évaluer leur montant. -``` - -Il est appliqué à la somme de la valeur du patrimoine mobilier financier et de -la valeur estimée de l'ensemble du patrimoine immobilier, à l'exception de la -résidence principale et des biens à usage professionnel. - -Lorsque la valeur du patrimoine est supérieure à 30 000 euros, seul le patrimoine -n'ayant pas produit, au cours de la période de référence définie au 3° de -l'article R. 822-3, de revenus retenus pour l'établissement de l'impôt sur -le revenu au titre des revenus nets catégoriels mentionnés à l'article -R. 822-4 est pris en compte pour le calcul de l'aide. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet alinéa et des précédents et de ceux auxquels il -# se réfère pour correctement évaluer leur montant. -``` - -Ce patrimoine est considéré comme procurant un revenu annuel égal à 50 % de -sa valeur locative s'il s'agit d'immeubles bâtis, à 80 % de cette valeur s'il -s'agit de terrains non bâtis et à 3 % du montant des capitaux. - -La valeur estimée du patrimoine est déterminée sur la base de la dernière valeur -déclarée par l'allocataire, qui est tenu de porter à la connaissance du service -instructeur les changements substantiels de sa situation patrimoniale. - -La dernière valeur déclarée s'entend : - -1° Pour le patrimoine financier, de la valeur figurant sur les derniers relevés -bancaires reçus par le bénéficiaire de l'aide personnelle au logement ; - -2° Pour le patrimoine immobilier, de la valeur locative figurant sur le dernier -avis d'imposition à la taxe d'habitation ou à la taxe foncière reçu par le -bénéficiaire. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet alinéa et des précédents et de ceux auxquels il -# se réfère pour correctement évaluer leur montant. -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget -et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article -25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions -sont applicables au calcul des droits à l’aide personnelle au logement à compter -du mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du code -de la construction et de l’habitation, à compter du mois de mai 2021. - -###### Section 3 : Conditions relatives au logement - -####### Article R822-23 | LEGIARTI000038878949 - -Est considéré comme résidence principale, pour l'application du premier alinéa -du II de l'article L. 822-2 , le logement effectivement occupé soit par le -bénéficiaire de l'aide personnelle au logement, soit par son conjoint, soit -par une des personnes à charge au sens de l'article R. 823-4 , au moins huit -mois par an, sauf obligation professionnelle, raison de santé ou cas de force -majeure. - -```catala -# Nous avons déjà asserté à l'article L821-2 qu'il fallait que le logement -# soit la résidence principale du ménage. Les conditions de détermination -# de la résidence principale dans cet article ne sont pas très intéressantes à -# formaliser, donc nous choissisons de ne pas les inclure dans le programme. -# Par contre il serait utile de les rappeler dans l'interface du formulaire -# de déclaration. -``` - -####### Article R822-24 | LEGIARTI000038878947 - - -Le logement au titre duquel le droit à l'aide personnelle au logement est ouvert -doit répondre aux caractéristiques de décence définies par le décret n° 2002-120 -du 30 janvier 2002 relatif aux caractéristiques du logement décent. - -```catala -# Décence du logement déjà prise en compte dans L822-9 -``` - -####### Article R822-25 | LEGIARTI000038878945 - -Le logement au titre duquel le droit à l'aide personnelle au logement est -ouvert doit présenter une surface habitable globale au moins égale à neuf -mètres carrés pour une personne seule, seize mètres carrés pour un ménage -sans enfant ou deux personnes, augmentée de neuf mètres carrés par personne -en plus, dans la limite de soixante-dix mètres carrés pour huit personnes et -plus. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition nombre_personnes_logement égal à - (selon ménage.situation_familiale sous forme - -- Célibataire: 1 - -- Mariés: 2 - -- Pacsés: 2 - -- Concubins: 2 - -- CélibataireSéparéDeFait: 1 - -- ConcubinageDontSéparéDeFait: 2) + - ménage.nombre_autres_occupants_logement + - nombre de ménage.personnes_à_charge - - étiquette base - règle condition_logement_surface sous condition - soit condition_logement_surface_minimale_sans_seuil_m_carrés égal à - (selon ménage.situation_familiale sous forme - -- Célibataire: 9 - -- Mariés: 16 - -- Pacsés: 16 - -- Concubins: 16 - -- CélibataireSéparéDeFait: 9 - -- ConcubinageDontSéparéDeFait: 16) + - (ménage.nombre_autres_occupants_logement + - nombre de ménage.personnes_à_charge) * 9 - dans si - condition_logement_surface_minimale_sans_seuil_m_carrés >= 70 et - nombre_personnes_logement >= 8 - alors - (ménage.logement.surface_m_carrés >= 70) - sinon - (ménage.logement.surface_m_carrés >= - condition_logement_surface_minimale_sans_seuil_m_carrés) - conséquence rempli -``` - -##### Chapitre III : Modalités de liquidation et de versement - -###### Section 1 : Calcul, liquidation et versement des aides - -####### Article R823-1 | LEGIARTI000038878939 - -Les aides personnelles au logement et les primes de déménagement sont liquidées -et payées par la caisse d'allocations familiales compétente au regard de -la résidence du bénéficiaire ou, lorsque le bénéficiaire relève d'un régime -de protection sociale des professions agricoles, par la caisse de la mutualité -sociale agricole compétente. - -```catala -# Pas pertinent pour le calcul du montant. -``` - -####### Article R823-2 | LEGIARTI000044636869 - -Les aides personnelles au logement sont attribuées sur la demande de l'intéressé -déposée auprès de l'organisme payeur mentionné à l'article R. 823-1 dont il relève. -Cette demande est conforme à un modèle type. - -Elle est assortie de pièces justificatives définies par arrêté des ministres -chargés du logement, du budget, de la sécurité sociale et de l'agriculture. -Le même arrêté définit le modèle-type de la demande et précise celles de ces -pièces justificatives qui doivent être produites chaque année et, parmi celles-ci, -celles dont le défaut de présentation avant la date qu'il fixe entraîne la -suspension du paiement de l'aide. - -Le fait que le logement réponde aux conditions de décence mentionnées à -l'article R. 822-24 est justifié par une attestation du bailleur. En outre, -celui-ci est en mesure de présenter, à la demande des organismes payeurs, -le diagnostic de performance énergétique du logement faisant état du respect -du critère de performance énergétique minimale mentionné à l'article 3 bis du -décret n° 2002-120 du 30 janvier 2002 relatif aux caractéristiques du logement -décent pris pour l'application de l'article 187 de la loi n° 2000-1208 du 13 -décembre 2000 relative à la solidarité et au renouvellement urbain. - -La personne de nationalité étrangère qui demande à bénéficier des aides -personnelles au logement justifie, en outre, de la régularité de son séjour -par la production d'un des titres de séjour ou documents prévus à l' article -D. 512-1 du code de la sécurité sociale . - -NOTA : - -Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions entrent en vigueur le 1er janvier 2023. - -```catala -# Pas pertinent pour le calcul du montant. -``` - -####### Article R823-3 | LEGIARTI000038878935 - -Les changements survenus, au cours de la période de paiement de l'aide, dans -la situation du bénéficiaire ou du ménage font l'objet de justifications -fournies avec la demande de révision du montant de l'aide. - -```catala -# Pas pertinent pour le calcul du montant. -``` - - -####### Article R823-4 | LEGIARTI000047985801 - -Sont considérés comme personnes à charge, sous réserve qu'ils vivent -habituellement au foyer : - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= |2023-09-01|: - définition personnes_à_charge_prises_en_compte égal à - personne_à_charge parmi ménage.personnes_à_charge tel que - prise_en_compte_personne_à_charge de personne_à_charge -``` - -1° Les enfants de moins de vingt et un ans et considérés comme à charge au -sens des 1° et 2° de l'article L. 512-3 du code de la sécurité sociale et de -l'article L. 823-2 du présent code ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= |2023-09-01|: - # L'âge limite de 21 ans établi ici vient écraser la valeur de l'âge limite - # prévue par L512-3 du CSS et définie par défaut par R512-2 du CSS. - étiquette r823_4_enfants - définition prestations_familiales.âge_l512_3_2 égal à 21 an - - étiquette r823_4_enfants - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: - # Pour être considéré à charge pour les aides personnelles au logement, - # l'enfant doit en plus d'avoir moins de 21 ans mais aussi selon le - # 7e alinéa de L823-1 être éligible aux prestations familiales. - prestations_familiales.droit_ouvert de - EnfantPrestationsFamiliales { - -- identifiant: enfant.identifiant - -- obligation_scolaire: enfant.obligation_scolaire - -- rémuneration_mensuelle: enfant.rémuneration_mensuelle - -- date_de_naissance: enfant.date_de_naissance - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.a_déjà_ouvert_droit_aux_allocations_familiales - } - -- AutrePersonneÀCharge de parent: faux - conséquence rempli -``` - -2° Les ascendants du bénéficiaire ou de son conjoint dont les ressources -déterminées dans les conditions prévues aux articles R. 822-3 à R. 822-6 -n'excèdent pas le plafond individuel prévu à l' article L. 815-9 du code de -la sécurité sociale , en vigueur au 31 décembre de l'année de référence -multiplié par 1,25 : - -a) Ayant au moins l'âge prévu par le 1° de l'article L. 351-8 du code de la -sécurité sociale ou, s'ils sont titulaires de l'allocation de solidarité aux -personnes âgées, soixante-cinq ans ; - -b) Ayant au moins l'âge prévu par l' article L. 351-1-5 du code de la sécurité -sociale et bénéficiaires des articles L. 161-19 , L. 351-8 ou L. 643-3 du même -code ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement : - règle condition_2_r823_4 de personne_à_charge sous condition - date_courante >= |2023-09-01| et - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: faux - -- AutrePersonneÀCharge de parent: - parent.parenté = Ascendant et - parent.ressources <= - plafond_individuel_l815_9_sécu * 1,25 et - ( - # VERIF: parent.date_naissance + âge_l351_8_1_sécu est ambiguë, - # à détecter - (parent.date_naissance + - âge_l351_8_1_sécu <= date_courante ou - (parent.titulaire_allocation_personne_âgée et - (résultat de VérificationÂgeInférieurOuÉgalÀ avec - { -- date_naissance: parent.date_naissance - -- date_courante: date_courante - -- années: 65 an }).est_inférieur_ou_égal - ) - ) ou - # VERIF: parent.date_naissance + âge_l351_1_5_sécu est ambiguë, - # à détecter - (parent.date_naissance + - âge_l351_1_5_sécu <= date_courante et - parent.bénéficiaire_l161_19_l351_8_l643_3_sécu) - ) - conséquence rempli - - étiquette r823_4_2 - règle prise_en_compte_personne_à_charge de personne_à_charge - sous condition - # On utilise le si ... alors ... sinon pour éviter que l'appel de - # la fonction "condition_2_r823_4" soit loggué deux fois lors - # de l'évaluation des différentes justifications de l'arbre de défauts - # avec les différentes dates. - si date_courante >= |2023-09-01| alors - condition_2_r823_4 de personne_à_charge - sinon faux - conséquence rempli -``` - -3° Les ascendants, descendants ou collatéraux au deuxième ou au troisième degré -du bénéficiaire ou de son conjoint dont l'incapacité permanente est au moins -égale à 80 % ou qui présentent, compte tenu de leur handicap, une restriction -substantielle et durable dans l'accès à l'emploi au sens de l' article L. 821-2 -du code de la sécurité sociale reconnue par la commission des droits et de -l'autonomie des personnes handicapées prévue par l' article L. 146-9 du code -de l'action sociale et des familles , et dont les ressources déterminées dans -les conditions prévues aux articles R. 822-3 à R. 822-6 n'excèdent pas le plafond -individuel prévu à l'article L. 815-9 du code de la sécurité sociale en vigueur -au 31 décembre de l'année de référence multiplié par 1,25. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= |2023-09-01|: - exception r823_4_2 - règle prise_en_compte_personne_à_charge de personne_à_charge sous condition - selon personne_à_charge sous forme - -- EnfantÀCharge de enfant: faux - -- AutrePersonneÀCharge de parent: - (parent.parenté sous forme Ascendant ou - parent.parenté sous forme Descendant ou - parent.parenté sous forme CollatéralDeuxièmeTroisièmeDegré) et - parent.incapacité_80_pourcent_ou_restriction_emploi et - parent.ressources <= - plafond_individuel_l815_9_sécu * 1,25 - conséquence rempli -``` - -NOTA: - -Conformément au I de l’article 7 du décret n° 2023-799 du 21 août 2023, ces -dispositions sont applicables aux prestations dues à compter du 1er septembre -2023. - -####### Article R823-5 | LEGIARTI000038878931 - -Pour l'application de l'article L. 823-2 , en cas de résidence alternée, les -modalités de prise en compte de l'enfant à charge pour le calcul de l'aide -ne peuvent être remises en cause par les parents qu'au bout d'un an, sauf -modification, avant cette échéance, des modalités de résidence de l'enfant. - -```catala -# Cet article exprime un délai durant lequel le calcul de l'aide, dans le cadre -# d'une résidence alternée, ne peut être remis en cause. Il pose également une -# exception : la modification des modalités de résidence de l'enfant -# avant échéance. -``` - -####### Article R823-6 | LEGIARTI000041419232 - -Le montant mensuel de l'aide personnelle au logement est calculé pour une -période de trois mois à compter de la date à laquelle les conditions -d'ouverture du droit à cette aide sont réunies, sous réserve des cas prévus -aux articles R. 822-7 à R. 822-17 , R. 823-7 , R. 823-10 à R. 823-14 ainsi -que, le cas échéant, R. 832-9 . - -Il est calculé sur la base du loyer effectivement payé pour le mois de -juillet de l'année précédente ou, en cas d'accession à la propriété, sur -la base de la mensualité acquittée au titre des charges. - -Le droit à l'aide personnelle au logement et son montant mensuel sont -réexaminés tous les trois mois sous réserve des cas prévus au premier -alinéa, y compris, pendant une période qui ne peut dépasser neuf mois -consécutifs, à la suite d'un réexamen aboutissant à un versement nul ou -inférieur au seuil de versement, sans qu'il soit nécessaire à l'allocataire -de déposer une nouvelle demande d'aide. - -A l'expiration du délai de neuf mois, une nouvelle demande d'aide doit être -déposée pour qu'il soit procédé à un nouvel examen du droit et que l'aide -puisse être à nouveau versée. - -```catala -# Les délais d'examen des demandes définis dans cet article ne sont pas -# nécessairement pertinents à formaliser pour le moment. -# En revanche, l'alinéa 2 qui définit une base de calcul fixe pour deux cas: -# le loyer du mois de juillet de l'année précédente pour la location et la -# mensualité acquittée au titre des charges pour la propriété peut être -# intéressant à traiter (peut-être complexité au niveau du renvoi à un mois -# et non pas une date précise au niveau du calcul de jours ?). -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret n° -2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois -respectifs fixés par arrêté des ministres en charge du logement, de la santé -et du budget et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, -l'article 25 du décret n° 2019-1574 du 30 décembre 2019 a été modifié : -Ces dispositions sont applicables au calcul des droits à l’aide personnelle -au logement à compter du mois de janvier 2021 ou, pour le calcul des droits -à l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, -à compter du mois de mai 2021. - -####### Article R823-6-1 | LEGIARTI000042932258 - -Lorsqu'au moment du réexamen trimestriel du droit à l'aide personnelle au -logement il est constaté que le bénéficiaire perçoit également le revenu -de solidarité active défini à l'article L. 262-2 du code de l'action sociale -et des familles, ou la prime d'activité définie à l'article L. 841-1 du code -de la sécurité sociale ou l'allocation aux adultes handicapés définie à -l'article L. 821-1 du même code, l'échéance trimestrielle de son droit à l'aide -personnelle au logement est avancée pour coïncider avec le prochain réexamen -trimestriel de celle de ces aides dont il bénéficie. - -La réduction de la durée de la période mentionnée au premier alinéa s'applique -également lorsque le conjoint du bénéficiaire ou tout autre membre du foyer a -droit à une prestation attribuée sous une condition de ressources calculée -trimestriellement. - -Cet alignement de la période de droit à l'aide s'effectue par ordre de priorité -sur le revenu de solidarité active, la prime d'activité et l'allocation aux -adultes handicapés. - -```catala -# Pas pertinent pour le moment. -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret -n° 2020-451 du 20 avril 2020 l'article susvisé a été modifié : Ces dispositions -sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du -code de la construction et de l'habitation, d'autre part, aux autres aides -personnelles au logement prévues par le même code, à compter des mois respectifs -fixés par arrêté des ministres en charge du logement, de la santé et du budget et, -au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article 25 -du décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions sont -applicables au calcul des droits à l’aide personnelle au logement à compter du -mois de janvier 2021 ou, pour le calcul des droits à l’aide personnalisée au -logement prévue pour les accédants à la propriété par l’article L. 831-1 du -code de la construction et de l’habitation, à compter du mois de mai 2021. - -####### Article R823-7 | LEGIARTI000038878927 - -Lorsque le bénéficiaire s'installe dans un nouveau logement au cours de la -période de paiement, le montant de l'aide personnelle au logement est révisé -sur la base du loyer principal effectivement payé pour le premier mois de -location du nouveau logement. - -Indépendamment de tout changement de logement, le montant de l'aide personnalisée -au logement est révisé en cours de période de paiement, lorsqu'en application -d'un avenant à la convention, un nouveau loyer est notifié au bénéficiaire. - -```catala -# Il peut être intéressant de définir comment, en cas de loyer différent -# (dû à un déménagement ou à un changement de prix), le calcul évolue. -``` - -####### Article R823-8 | LEGIARTI000038878925 - -Les aides personnelles au logement sont versées mensuellement à terme échu, -dans les conditions définies par les conventions mentionnées à l'article L. 812-2 . - -```catala -# Pas pertinent pour le moment. -``` - -####### Article D823-9 | LEGIARTI000038878923 - -Les modalités de liquidation et de versement des aides personnelles au -logement sont fixées : - -1° Pour les ménages occupant un logement dont ils sont locataires ou -sous-locataires, y compris un logement dans une résidence universitaire -définie à l'article L. 631-12 et dans une résidence-service définie à -l'article L. 631-13, par les règles communes figurant aux articles -D. 823-16 à D. 823-19, et, en outre, pour les allocations de logement, -par les règles particulières figurant aux articles D. 842-1 à D. 842-4 ; - -2° Pour les ménages résidant dans un logement-foyer défini à l'article -L. 633-1 et conventionné en application du 5° de l'article L. 831-1 , par -les règles figurant aux articles R. 832-20 à R. 832-23 et D. 832-24 à -D. 832-28 ; - -3° Pour les ménages résidant dans un logement-foyer défini à l'article -L. 633-1 autre que celui mentionné au 2° du présent article et dans les -chambres des résidences gérées par les centres régionaux des œuvres -universitaires et scolaires mentionnées au 1° de l'article R. 822-29 du -code de l'éducation, assimilées, au sens et pour l'application du titre -IV du présent livre, à des logements-foyers, par les règles figurant -aux articles R. 842-14 et D. 842-15 à D. 842-18 du présent code ; - -4° Pour les ménages propriétaires occupant un logement relevant du 1° -de l'article L. 831-1 et les occupants titulaires de contrats de -location-accession relevant du 6° du même article, par les règles -figurant aux articles R. 832-5 à R. 832-9 et D. 832-10 à D. 832-19 ; - -5° Pour les autres ménages occupant un logement dont ils sont -propriétaires, ou pour lequel ils sont titulaires d'un contrat de -location-accession, par les règles figurant aux articles R. 842-5 -et D. 842-6 à D. 842-13 . - -```catala -champ d'application CalculAllocationLogement: - définition catégorie_calcul_apl égal à - selon mode_occupation sous forme - -- Locataire de location: Location contenu location - -- SousLocataire de location: Location contenu location - -- RésidentLogementFoyer de logementfoyer: - CatégorieCalculAPL.LogementFoyer contenu logementfoyer - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - AccessionPropriété contenu propriétaire - -- LocationAccession de propriétaire: - AccessionPropriété contenu propriétaire - - définition aide_finale_formule égal à - sous_calcul_traitement.aide_finale_formule - définition traitement_aide_finale de arg égal à - (sous_calcul_traitement. - Traitement_formule_aide_finale.traitement_aide_finale de arg) - -champ d'application CalculAidePersonnaliséeLogement: - définition catégorie_calcul_apl égal à - selon mode_occupation sous forme - -- Locataire de location: Location contenu location - -- SousLocataire de location: Location contenu location - -- RésidentLogementFoyer de logementfoyer: - CatégorieCalculAPL.LogementFoyer contenu logementfoyer - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - AccessionPropriété contenu propriétaire - -- LocationAccession de propriétaire: - AccessionPropriété contenu propriétaire - - définition aide_finale_formule égal à - sous_calcul_traitement.aide_finale_formule - définition traitement_aide_finale de arg égal à - (sous_calcul_traitement. - Traitement_formule_aide_finale.traitement_aide_finale de arg) -``` - -```catala - # Maintenant que nous avons déterminé comment calculer l'aide finale - # en fonction du mode d'occupation, il nous faut donner à chacun des modes - # de calcul les paramètres qu'il attend. -champ d'application CalculAidePersonnaliséeLogement: - définition sous_calcul_traitement égal à - selon catégorie_calcul_apl sous forme - -- Location de location: - (soit traitement_formule égal à - résultat de CalculAidePersonnaliséeLogementLocatif avec { - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- zone: zone - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - -- loyer_principal: location.loyer_principal - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: - location.bénéficiaire_aide_adulte_ou_enfant_handicapés - -- logement_est_chambre: location.logement_est_chambre - -- colocation: location.colocation - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: - location.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - -- type_aide: type_aide - -- réduction_loyer_solidarité: - (selon location.bailleur sous forme - -- BailleurSocial de bailleur: - bailleur.réduction_loyer_solidarité_perçue - -- n'importe quel: 0€) - -- logement_meublé_d842_2: location.logement_meublé_d842_2 - -- résidence: résidence - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule. - CalculAidePersonnaliséeLogementLocatif.aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAidePersonnaliséeLogementLocatif.traitement_aide_finale - }) - -- LogementFoyer de logement_foyer_: - (soit traitement_formule égal à - résultat de CalculAidePersonnaliséeLogementFoyer avec { - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- logement_foyer_jeunes_travailleurs: - logement_foyer_.logement_foyer_jeunes_travailleurs - -- zone: zone - -- résidence: résidence - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - -- redevance: logement_foyer_.redevance - -- type_logement_foyer: logement_foyer_.type - -- date_conventionnement: logement_foyer_.date_conventionnement - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule. - CalculAidePersonnaliséeLogementFoyer.aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAidePersonnaliséeLogementFoyer.traitement_aide_finale - }) - -- AccessionPropriété de propriétaire: - (soit traitement_formule égal à - résultat de CalculAidePersonnaliséeLogementAccessionPropriété avec { - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- zone: zone - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - -- mensualité_principale: propriétaire.mensualité_principale - -- type_travaux_logement: propriétaire.type_travaux_logement_d832_15 - -- date_signature_prêt: propriétaire.prêt.date_signature - -- local_habité_première_fois_bénéficiaire: - propriétaire.local_habité_première_fois_bénéficiaire - -- date_entrée_logement: propriétaire.date_entrée_logement - -- copropriété: propriétaire.copropriété - -- situation_r822_11_13_17: propriétaire.situation_r822_11_13_17 - -- type_prêt: propriétaire.prêt.type_prêt - -- ancienneté_logement: propriétaire.ancienneté_logement - -- résidence: résidence - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule. - CalculAidePersonnaliséeLogementAccessionPropriété. - aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAidePersonnaliséeLogementAccessionPropriété. - traitement_aide_finale - }) - -champ d'application CalculAllocationLogement: - définition sous_calcul_traitement égal à - selon catégorie_calcul_apl sous forme - -- Location de location: - (soit traitement_formule égal à - résultat de CalculAllocationLogementLocatif avec { - -- résidence: résidence - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- zone: zone - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - -- loyer_principal: location.loyer_principal - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: - location.bénéficiaire_aide_adulte_ou_enfant_handicapés - -- logement_est_chambre: location.logement_est_chambre - -- colocation: location.colocation - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: - location.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - -- type_aide: type_aide - -- réduction_loyer_solidarité: - (selon location.bailleur sous forme - -- BailleurSocial de bailleur: - bailleur.réduction_loyer_solidarité_perçue - -- n'importe quel: 0€) - -- logement_meublé_d842_2: location.logement_meublé_d842_2 - -- changement_logement_d842_4: location.changement_logement_d842_4 - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule.aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAllocationLogementLocatif. - traitement_aide_finale - }) - -- LogementFoyer de logement_foyer_: - (soit traitement_formule égal à - résultat de CalculAllocationLogementFoyer avec { - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- résidence: résidence - -- zone: zone - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - -- logement_foyer_jeunes_travailleurs: - logement_foyer_.logement_foyer_jeunes_travailleurs - -- redevance: logement_foyer_.redevance - -- catégorie_équivalence_loyer_d842_16: - logement_foyer_.catégorie_équivalence_loyer_d842_16 - -- type_logement_foyer: logement_foyer_.type - -- date_conventionnement: logement_foyer_.date_conventionnement - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule.aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAllocationLogementFoyer.traitement_aide_finale - }) - -- AccessionPropriété de propriétaire: - (soit traitement_formule égal à - résultat de CalculAllocationLogementAccessionPropriété avec { - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- zone: zone - -- résidence: résidence - -- opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État: - propriétaire. - opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - -- mensualité_principale: propriétaire.mensualité_principale - -- charges_mensuelles_prêt: propriétaire.charges_mensuelles_prêt - -- type_travaux_logement: propriétaire.type_travaux_logement_r842_5 - -- date_signature_prêt: propriétaire.prêt.date_signature - -- local_habité_première_fois_bénéficiaire: - propriétaire.local_habité_première_fois_bénéficiaire - -- date_entrée_logement: propriétaire.date_entrée_logement - -- copropriété: propriétaire.copropriété - -- situation_r822_11_13_17: propriétaire.situation_r822_11_13_17 - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule. - CalculAllocationLogementAccessionPropriété.aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAllocationLogementAccessionPropriété.traitement_aide_finale - }) -``` - -####### Sous-section 1 : Ouverture et extinction des droits - -######## Article R823-10 | LEGIARTI000038878919 - -Les aides personnelles au logement sont dues à compter du premier -jour du mois civil suivant celui au cours duquel les conditions -d'ouverture du droit sont réunies. - -Toutefois, lorsque ces conditions sont réunies antérieurement au -mois de la demande, l'aide est due à compter du premier jour du -mois au cours duquel la demande est déposée. - -```catala -# Pas pertinent pour le moment. -``` - -######## Article R823-11 | LEGIARTI000038878917 - -Par dérogation à l'article R. 823-10 , l'aide est due à compter du premier -jour du mois civil au cours duquel les conditions d'ouverture du droit -sont réunies : - -1° Aux personnes qui, hébergées par un organisme logeant à titre temporaire -des personnes défavorisées ou par une association agréée en application de -l' article L. 121-9 du code de l'action sociale et des familles et bénéficiant -de l'aide mentionnée à l' article L. 851-1 du code de la sécurité sociale , -accèdent à un logement ouvrant droit à l'une des aides personnelles au logement ; - -2° Aux personnes dont le logement a fait l'objet d'un arrêté d'insalubrité -ou de péril lorsque, dans les conditions définies au I de l'article L. 521-2 -du présent code, elles reprennent le paiement du loyer ou de toute autre somme -versée en contrepartie de l'occupation de ce logement ou lorsqu'elles sont relogées. - -```catala -# Pas pertinent pour le moment. -# Mais d'autres modes d'occupation peuvent peut-être être ajoutés? -``` - -######## Article R823-12 | LEGIARTI000038878915 - -Les aides personnelles au logement cessent d'être dues à partir du premier -jour du mois civil au cours duquel les conditions d'ouverture du droit -cessent d'être réunies. - -Par dérogation à l'alinéa précédent, le droit aux aides personnelles au -logement est éteint à partir du premier jour du mois civil suivant celui -au cours duquel survient le décès du bénéficiaire. - -```catala -# Cet article traite de l'extinction du droit à cette aide, ce n'est pas -# pertinent pour le moment. -``` - -######## Article R823-13 | LEGIARTI000038878913 - -Tout changement de nature à modifier les droits aux aides personnelles au -logement, en particulier tout changement de la composition familiale, prend -effet et cesse de produire ses effets selon les règles prévues pour -l'ouverture et pour l'extinction des droits définies, respectivement, -au premier alinéa de l'article R. 823-10 et au premier alinéa de l'article -R. 823-12, sauf en cas de décès du conjoint du bénéficiaire ou d'une personne -à charge, où le changement prend effet le premier jour du mois civil suivant -celui au cours duquel survient le décès. - -Lorsqu'une séparation, telle que mentionnée à l'article R. 821-3 , intervient -en cours de période de paiement, le droit à l'aide du bénéficiaire est -réexaminé en fonction de la nouvelle situation et la révision du droit prend -effet le premier jour du mois civil suivant celui au cours duquel la séparation -a eu lieu. - -```catala -# Pas pertinent pour le moment. -``` - -######## Article R823-14 | LEGIARTI000038878911 - -Les dispositions des articles R. 823-10 et R. 823-12 ne peuvent avoir pour effet -d'interrompre le droit aux aides personnelles au logement. - -Par dérogation aux dispositions des articles R. 831-2, R. 832-6 et R. 832-8, -en cas de déménagement, de conclusion ou de résiliation des conventions mentionnées -à l'article L. 831-1 , le droit aux aides personnelles au logement : - -1° Est ouvert à compter du premier jour du mois civil au cours duquel les conditions -d'ouverture du droit sont réunies ; - -2° S'éteint le dernier jour du mois civil au cours duquel ces conditions cessent -d'être réunies. - -```catala -# Cet article met en place des délais qu'il n'est pas nécessaire de codifier -# pour le moment. -``` - -######## Article D823-15 | LEGIARTI000038878909 - -Le signalement par le bailleur du déménagement du bénéficiaire et de la résiliation -de son bail a lieu dans un délai d'un mois à compter de la date de déménagement -ou de la résiliation du bail. - -Ce délai peut être prolongé d'un mois supplémentaire si le bailleur apporte la -preuve qu'il n'était manifestement pas en mesure de signaler ces évènements dans -le délai d'un mois. - -Le signalement par le prêteur du remboursement anticipé du prêt a lieu dans un délai -d'un mois à compter de la date de remboursement du solde du prêt. - -```catala -# Cet article n'appelle pas nécessairement à codification mais il présente -# une petite difficulté : les informations dont il est question et qui -# peuvent potentiellement être appréhendées comme des variables à l'entrée -# dans le cadre du calcul ne sont pas renseignées par l'allocataire mais par -# son bailleur ou prêteur. -``` - -####### Sous-section 2 : Calcul de l'aide en secteur locatif - -######## Article D823-16 | LEGIARTI000038878905 - -Pour les ménages mentionnés au 1° de l'article D. 823-9, le montant mensuel de l'aide -est calculé selon la formule suivante : - -$$\textrm{Af} = \textrm{L} + \textrm{C}-\textrm{Pp}$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition aide_finale_formule égal à - soit aide_finale égal à - loyer_éligible + montant_forfaitaire_charges_d823_16 - - participation_personnelle - dans - si aide_finale < 0 € alors 0 € sinon aide_finale -``` - -où : - -1° " Af " est l'aide mensuelle résultant de la formule de calcul ; - -2° " L " est le loyer éligible, correspondant au loyer principal pris en compte dans -la limite d'un plafond fixé par arrêté en fonction de la zone géographique et, sauf -dans le cas où le logement occupé est une chambre, de la composition familiale ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition loyer_éligible égal à - si loyer_principal > plafond_loyer_d823_16_2 - alors plafond_loyer_d823_16_2 - sinon loyer_principal -``` - -3° " C " est le montant forfaitaire au titre des charges, fixé par arrêté en fonction -de la composition familiale ; - -```catala -# Ne donne pas précisément la formule mais uniquement le principe général, -# on ne formalise pas ici. -``` - -4° " Pp " est la participation personnelle du ménage calculée selon les dispositions -de l'article D. 823-17. - -```catala -# Ne donne pas précisément la formule mais uniquement le principe général, -# on ne formalise pas ici. -``` - -Le montant ainsi calculé est diminué lorsque le loyer principal dépasse un plafond -de dégressivité. Il décroît proportionnellement au dépassement de ce plafond, de telle -sorte qu'il soit nul lorsqu'il atteint un plafond de suppression. Le montant de ces -plafonds est obtenu par l'application de coefficients multiplicateurs, fixés par -arrêté en fonction de la zone géographique, au montant du plafond de loyer mentionné -au 2°. Le plafond de dégressivité ne peut être inférieur à ce plafond de loyer -multiplié par 2,5. Toutefois, cette diminution ne s'applique pas lorsque le demandeur -ou son conjoint est bénéficiaire de l'allocation aux adultes handicapés prévue à -l' article L. 821-1 du code de la sécurité sociale ou de l'allocation d'éducation de -l'enfant handicapé prévue à l'article L. 541-1 du même code. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition traitement_aide_finale de aide_finale état diminué égal à - si loyer_principal > plafond_suppression_d823_16 alors - 0€ - sinon (si loyer_principal > plafond_dégressivité_d823_16 alors - aide_finale - (aide_finale * - ((loyer_principal - plafond_dégressivité_d823_16) / - (plafond_suppression_d823_16 - plafond_dégressivité_d823_16))) - # Faire un graphique pour se convaincre que la pente proportionnelle - # a bien cette expression. - sinon aide_finale) - - exception définition traitement_aide_finale de aide_finale - état diminué - sous condition - bénéficiaire_aide_adulte_ou_enfant_handicapés - conséquence égal à aide_finale - - assertion plafond_dégressivité_d823_16 >= plafond_loyer_d823_16_2 * 2,5 -``` - -Le résultat ainsi obtenu est minoré d'un montant fixé forfaitairement par arrêté. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition traitement_aide_finale de aide_finale - état minoration_forfaitaire - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si - aide_finale - montant_forfaitaire_d823_16 >= 0€ - alors - aide_finale - montant_forfaitaire_d823_16 - sinon 0€ -``` - -Le montant qui en résulte est diminué d'un montant représentatif des contributions -sociales qui s'y appliquent, arrondi à l'euro inférieur, puis majoré de ce montant -représentatif. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition traitement_aide_finale de aide_finale - état contributions_sociales_arrondi - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit crds égal à - contributions_sociales.montant de aide_finale - dans - soit aide_finale_moins_crds_arrondie égal à - arrondi de ((aide_finale - crds) - 0,50€) - dans - si - aide_finale_moins_crds_arrondie + crds >= 0€ - alors - aide_finale_moins_crds_arrondie + crds - sinon 0€ -``` - -Pour les locataires qui bénéficient de la réduction de loyer de solidarité en application -de l'article L. 442-2-1 , ce résultat est réduit d'un montant égal à 98 % de la réduction -de loyer de solidarité. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition fraction_l832_3 égal à 98% -``` - -Lorsque ce dernier résultat, calculé selon les dispositions précédentes, est inférieur à -un montant fixé par arrêté, selon celle des trois aides dont le ménage bénéficie, il -n'est pas procédé à son versement. - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition traitement_aide_finale de aide_finale état montant_minimal égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si - aide_finale < montant_minimal_aide_d823_16 - alors 0 € sinon aide_finale -``` - -######## Article D823-17 | LEGIARTI000041419255 - -La participation personnelle du ménage, mentionnée au 4° de l'article D. 823-16, est -la somme d'une participation minimale et d'une participation au titre des ressources -du ménage, calculée selon la formule suivante : - -$$\textrm{Pp} = \textrm{P0} + \textrm{Tp}\times (\textrm{R}-\textrm{R0})$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition participation_personnelle égal à - soit participation_ressources égal à - (ressources_ménage_arrondies - abattement_forfaitaire_d823_17) * - taux_prise_compte_ressources - dans - soit participation_ressources égal à - si participation_ressources < 0€ alors 0€ sinon participation_ressources - dans - participation_minimale + participation_ressources -``` - -où : - -1° " Pp " est la participation personnelle du ménage ; - -2° " P0 " est la participation minimale calculée selon des modalités précisées par -arrêté et qui ne peut être inférieure à un montant minimum défini par arrêté ; - - -```catala -# Ne donne pas précisément la formule mais uniquement le principe général, -# on ne formalise pas ici. -``` - -3° " Tp " est le taux de prise en compte des ressources du ménage. Il est égal à la -somme d'un premier taux en fonction de la composition familiale et d'un second taux -en fonction du loyer éligible défini au 2° de l'article D. 823-16. Le second taux est -obtenu par l'application de taux progressifs à des tranches successives du loyer éligible, -exprimé en proportion d'un loyer de référence en fonction de la composition familiale. -Les valeurs du premier taux, les modalités de calcul du second taux et les valeurs des -loyers de référence sont fixées par arrêté ; - -```catala -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition taux_prise_compte_ressources égal à - taux_composition_familiale + taux_loyer_éligible -``` - -4° " R " représente les ressources du ménage, appréciées selon les modalités prévues -à la section 2 du chapitre II du présent titre et arrondies à la centaine d'euros supérieure ; - -```catala -déclaration arrondi_centaine_supérieure contenu argent - dépend de ressources_ménage contenu argent - égal à - # Cette formule arrondit à la centaine d'euros supérieure. Essayez quelques - # exemples pour vous en convaincre, dont 100 et 150. - arrondi de ((ressources_ménage * 1%) + 0,49€) * 100,0 - -# Ici nous arrondissons le montant des ressources pour tous les modes -# de calcul et pour l'APL et l'AL. En effet, chaque mode de calcul -# pour l'APL et l'AL prévoient le même arrondi des ressources du ménage. -# Si jamais cela change, il faudra complexifier le code. - -champ d'application CalculAidePersonnaliséeLogement: - définition ressources_ménage état avec_arrondi égal à - arrondi_centaine_supérieure de ressources_ménage - -champ d'application CalculAllocationLogement: - définition ressources_ménage état avec_arrondi égal à - arrondi_centaine_supérieure de ressources_ménage -``` - -5° “ R0 ” est un abattement forfaitaire appliqué aux ressources du ménage. Il est fixé -par arrêté en fonction de la composition familiale et est revalorisé au 1er janvier de -chaque année, en fonction de l'évolution de l'indice des prix à la consommation des -ménages hors tabac. Cette évolution est appréciée entre le 1er octobre de l'avant-dernière -année précédant la revalorisation et le 1er octobre de l'année précédant la revalorisation. -Il est arrondi à l'euro inférieur. - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret n° 2019-1574 -du 30 décembre 2019. Conformément à l'article 1 du décret n° 2020-451 du 20 avril 2020 -l'article susvisé a été modifié : Ces dispositions sont applicables au calcul des droits, -d'une part, à l'aide personnalisée au logement prévue pour les accédants à la propriété -par l'article L. 831-1 du code de la construction et de l'habitation, d'autre part, aux -autres aides personnelles au logement prévues par le même code, à compter des mois -respectifs fixés par arrêté des ministres en charge du logement, de la santé et du -budget et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article 25 du -décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions sont applicables -au calcul des droits à l’aide personnelle au logement à compter du mois de janvier 2021 -ou, pour le calcul des droits à l’aide personnalisée au logement prévue pour les accédants -à la propriété par l’article L. 831-1 du code de la construction et de l’habitation, -à compter du mois de mai 2021. - -######## Article D823-18 | LEGIARTI000041477261 - -Les arrêtés fixant les plafonds de loyer mentionnés au 2° de l'article D. 823-16 et -les montants forfaitaires de charges mentionnés au 3° du même article peuvent fixer -des montants spécifiques pour les ménages colocataires ou dans les cas de sous-location -partielle du logement autorisés à l'article L. 822-4 . Les paramètres de calcul de l'aide -sont déterminés pour chaque foyer en fonction de sa propre composition familiale. - -Pour le calcul de l'aide du locataire sous-louant une partie du logement, le loyer -principal pris en compte correspond au loyer résiduel après déduction des loyers -provenant de la sous-location, hormis pour les contrats d'accueils familiaux mentionnés -à l' article L. 442-1 du code de l'action sociale et des familles pour lesquels le loyer -principal correspond à l'intégralité du loyer acquitté. - -Pour le calcul de l'aide du sous-locataire en sous-location partielle, le loyer -principal pris en compte correspond au loyer acquitté. - -Lorsque le logement est loué ou sous-loué en meublé, les dispositions de l'article -D. 842-2 s'appliquent le cas échéant pour la détermination des loyers pris en compte. - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul du loyer principal à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -######## Article D823-19 | LEGIARTI000038878899 - -Les arrêtés pris pour l'application de la présente sous-section sont pris par les -ministres chargés du logement, du budget, de la sécurité sociale et de l'agriculture. - -Le zonage géographique est fixé par arrêté des ministres chargés du logement et du budget. - -```catala -# Pas pertinent pour le moment. -``` - -###### Section 2 : Prime de déménagement - -####### Article D823-20 | LEGIARTI000038878895 - -La prime de déménagement est attribuée aux personnes ou aux ménages ayant à charge -au moins trois enfants nés ou à naître et qui s'installent dans un nouveau logement -ouvrant droit à l'une des aides personnelles au logement au cours d'une période comprise -entre le premier jour du mois civil suivant le troisième mois de grossesse au titre -d'un enfant de rang trois ou plus et le dernier jour du mois précédant celui au cours -duquel cet enfant atteint son deuxième anniversaire. - -Cette prime est due si le droit à l'aide est ouvert dans un délai de six mois à compter -de la date d'emménagement. - -```catala -champ d'application ÉligibilitéPrimeDeDéménagement: - règle condition_rang_enfant sous condition - nombre de (personne_à_charge parmi ménage.personnes_à_charge tel que - (selon personne_à_charge sous forme - -- EnfantÀCharge: vrai - -- AutrePersonneÀCharge: faux) - ) + - informations.nombre_enfants_à_naître_après_troisième_mois_grossesse >= 3 - conséquence rempli - - règle condition_période_déménagement sous condition - (selon - informations.date_naissance_troisième_enfant_ou_dernier_si_plus - sous forme - -- MoinsDeTroisEnfants: faux - -- PlusDeTroisEnfants de date_naissance_ou_grossesse: - (selon date_naissance_ou_grossesse sous forme - -- AvantPremierJourMoisCivilTroisièmeMoisDeGrossesse: faux - -- AprèsPremierJourMoisCivilTroisièmeMoisDeGrossesse: vrai - -- DateDeNaissance de date_naissance: - # VERIF: ambigü - date_courante <= - ((premier_jour_du_mois de (date_naissance + 2 an))) + (-1 jour)) - ) - conséquence rempli - - définition délai_après_emménagement_l823_8_2 égal à 6 mois -``` - -####### Article D823-21 | LEGIARTI000038878893 - -La demande de prime, accompagnée des pièces justificatives, est déposée auprès de -l'organisme payeur de l'aide personnelle au logement, six mois au plus tard après -la date de l'emménagement dans la nouvelle résidence. Elle est conforme à un modèle-type. - -Le modèle-type de la demande et la liste des pièces justificatives à fournir sont -fixés par arrêté des ministres chargés du logement, du budget, de la sécurité sociale -et de l'agriculture. - -```catala -# Pas pertinent pour le moment. -``` - -####### Article D823-22 | LEGIARTI000038878891 - -Le montant de la prime de déménagement est égal aux dépenses justifiées réellement -engagées par le bénéficiaire dans la limite d'un plafond fixé, en fonction de la -composition de la famille, par arrêté des ministres chargés du logement, du budget, -de la sécurité sociale et de l'agriculture. - -```catala -champ d'application ÉligibilitéPrimeDeDéménagement: - définition montant_prime_déménagement égal à - si éligibilité alors - si dépenses_justifiées_réellement_engagées <= plafond_d823_22 alors - dépenses_justifiées_réellement_engagées - sinon - plafond_d823_22 - sinon 0€ -``` - -###### Section 3 : Recouvrement des sommes indûment versées - -####### Article R823-23 | LEGIARTI000038878887 - -Dans le cas où le bailleur ou l'établissement habilité justifie qu'il a, -conformément aux articles L. 832-2 et L. 842-1 , déduit les sommes d'aide -personnelle au logement du montant du loyer et des dépenses accessoires de -logement ou de celui des charges de remboursement et que le locataire ou -l'emprunteur ne conteste pas le caractère indu de ces sommes, celles-ci -sont recouvrées, suivant le cas, auprès du locataire ou de l'emprunteur, -dans les conditions fixées à l' article L. 553-2 du code de la sécurité sociale . - -```catala -# Pas pertinent pour le moment. -``` - -####### Article R823-24 | LEGIARTI000038878885 - -Les dispositions des articles R. 133-9-2 , D. 553-1 , D. 553-2 , D. 553-4 et -D. 553-5 du code de la sécurité sociale sont applicables au recouvrement des indus. - -```catala -# Pas pertinent pour le moment. -``` - -####### Article D823-25 | LEGIARTI000038878883 - -Les organismes payeurs sont autorisés à abandonner la mise en recouvrement des -sommes indûment payées, dans les conditions définies à l' article D. 133-2 du code -de la sécurité sociale . - -```catala -# Pas pertinent pour le moment. -``` - -####### Article D823-26 | LEGIARTI000042385635 - -Pour la mise en œuvre de la saisie des aides personnelles au logement prévue au -3° de l'article L. 821-6, les prélèvements mensuels d'exécution de la saisie sont -déterminés selon les dispositions des articles D. 553-1 et D. 553-2 du code -de la sécurité sociale - -NOTA : - -Conformément au II de l'article 3 du décret n° 2020-1202 du 30 septembre 2020, -ces dispositions s'appliquent à compter du 1er juin 2021. - -```catala -# Pas pertinent pour le moment. -``` - -##### Chapitre IV : Impayés de dépenses de logement - -###### Section 1 : Seuils de constitution d'un impayé - -####### Article R824-1 | LEGIARTI000038878877 - -Dans le secteur locatif, lorsque l'aide personnelle au logement est versée au -bénéficiaire, l'impayé de dépense de logement, comprenant le loyer et, le cas -échéant, les charges locatives, est constitué quand le locataire est débiteur -à l'égard du bailleur d'une somme au moins égale à deux fois le montant mensuel -brut du loyer et des charges. - -```catala -champ d'application ImpayéDépenseLogement - sous condition mode_occupation_impayé sous forme ImpayéLoyer: - définition montant_impayé égal à - si montant_dette >= seuil_impayé_dépense_de_logement - alors montant_dette sinon 0€ - - définition seuil_impayé_dépense_de_logement - sous condition aide_versée sous forme Bénéficiaire - conséquence égal à - selon dépense_logement_brute sous forme - -- Loyer de loyer_brut: (loyer_brut + montant_charges) * 2,0 - -- Mensualité: 0€ # ne devrait pas arriver - -- TotalAnnuelÉchéances: 0€ # ne devrait pas arriver -``` - -Lorsque l'aide personnelle au logement est versée entre les mains du bailleur, -l'impayé est constitué quand le locataire est débiteur à l'égard du bailleur -d'une somme au moins égale à deux fois le montant mensuel net du loyer et des charges. - -```catala -champ d'application ImpayéDépenseLogement - sous condition mode_occupation_impayé sous forme ImpayéLoyer: - définition seuil_impayé_dépense_de_logement - sous condition aide_versée sous forme Bailleur - conséquence égal à - selon dépense_logement_nette sous forme - -- Loyer de loyer_net: (loyer_net + montant_charges) * 2,0 - -- Mensualité: 0€ # ne devrait pas arriver - -- TotalAnnuelÉchéances: 0€ # ne devrait pas arriver -``` - -Le montant mensuel brut du loyer correspond au loyer figurant dans le bail. - -```catala -# Il n'y a pas de montant de charge brut/net -champ d'application ImpayéDépenseLogement - sous condition mode_occupation_impayé sous forme ImpayéLoyer: - définition dépense_logement_brute égal à dépense_logement -``` - -Le montant mensuel net du loyer correspond à ce même loyer, déduction faite du -montant de l'aide personnelle au logement. - -```catala -champ d'application ImpayéDépenseLogement - sous condition mode_occupation_impayé sous forme ImpayéLoyer: - définition dépense_logement_nette égal à - selon dépense_logement_brute sous forme - -- Loyer de montant_loyer: Loyer contenu (montant_loyer - montant_apl) - -- Mensualité de mensualité: Mensualité contenu mensualité - # Ne devrait pas arriver - -- TotalAnnuelÉchéances de total: TotalAnnuelÉchéances contenu total - # Ne devrait pas arriver -``` - -####### Article R824-2 | LEGIARTI000038878875 - -```catala -# Cet article précise les cas où un impayé est constitué dans le cadre de -# l'accession à la propriété. -``` -```catala -champ d'application ImpayéDépenseLogement sous condition - mode_occupation_impayé sous forme ImpayéPrêt: - - définition montant_impayé égal à - si montant_dette >= seuil_impayé_dépense_de_logement - alors montant_dette sinon 0€ -``` - -Dans le secteur de l'accession à la propriété : - -1° Lorsque l'aide personnelle au logement est versée au bénéficiaire, -l'impayé est constitué : - -a) En cas de périodicité mensuelle du prêt, lorsque l'emprunteur est débiteur -à l'égard de l'établissement habilité d'une somme au moins égale à deux -échéances de prêt brutes ; - -b) En cas de périodicité autre que mensuelle du prêt, lorsque l'emprunteur est -débiteur à l'égard de l'établissement habilité d'une somme au moins égale à un -sixième du total annuel des échéances de prêt brutes ; - -```catala -champ d'application ImpayéDépenseLogement sous condition - mode_occupation_impayé sous forme ImpayéPrêt: - - définition seuil_impayé_dépense_de_logement - sous condition - aide_versée sous forme Bénéficiaire - conséquence égal à - selon dépense_logement_brute sous forme - -- Loyer: 0€ # Ne devrait pas arriver - -- Mensualité de mensualité_brute: - mensualité_brute * 2,0 - -- TotalAnnuelÉchéances de échéance_prêt_brute: - échéance_prêt_brute * (1,0 / 6,0) -``` - -2° Lorsque l'aide personnelle au logement est versée directement auprès de -l'établissement habilité, l'impayé est constitué : - -a) En cas de périodicité mensuelle du prêt, lorsque l'emprunteur est débiteur -à l'égard de l'établissement habilité d'une somme au moins égale à deux échéances -de prêt nettes ; - -b) En cas de périodicité autre que mensuelle, lorsque l'emprunteur est débiteur -à l'égard de l'établissement habilité d'une somme au moins égale à un sixième du -total annuel des échéances de prêt nettes. - - -```catala -champ d'application ImpayéDépenseLogement sous condition - mode_occupation_impayé sous forme ImpayéPrêt: - - définition seuil_impayé_dépense_de_logement - sous condition - aide_versée sous forme ÉtablissementHabilité - - conséquence égal à - selon dépense_logement_nette sous forme - -- Loyer: 0€ # ne devrait pas arriver - -- Mensualité de mensualité_nette: mensualité_nette * 2,0 - -- TotalAnnuelÉchéances de échéance_prêt_nette: - échéance_prêt_nette * (1,0 / 6,0) -``` - - -L'échéance de prêt brute correspond à celle figurant dans le contrat de prêt. - -```catala -champ d'application ImpayéDépenseLogement sous condition - mode_occupation_impayé sous forme ImpayéPrêt: - définition dépense_logement_brute égal à dépense_logement -``` - -L'échéance de prêt nette correspond à cette même échéance, déduction faite de l'aide -personnelle au logement. - -```catala -champ d'application ImpayéDépenseLogement sous condition - mode_occupation_impayé sous forme ImpayéPrêt: - définition dépense_logement_nette égal à - selon dépense_logement sous forme - -- Loyer de loyer: Loyer contenu loyer # ne devrait pas arriver - -- Mensualité de mensualité: - Mensualité contenu (mensualité - montant_apl) - -- TotalAnnuelÉchéances de total_échéances: - TotalAnnuelÉchéances contenu (total_échéances - (montant_apl * 12,0)) -``` - - -####### Article R824-3 | LEGIARTI000038878873 - -Pour l'application du présent chapitre, les redevances prévues par le contrat -de location-accession ou par le contrat d'occupation en logement-foyer mentionné -à l'article L. 633-1 sont assimilées, respectivement, au montant du loyer et des -charges ou à une échéance. - -```catala -# Est ce qu'un sous-locataire est considéré comme un locataire pour les -# impayés ? -# Oui car le deuxième alinéa de L822-4 s'applique ici, comme rappelé par -# DGALN/DHUP/FE4 le 25/05/2022. -champ d'application ImpayéDépenseLogement: - définition mode_occupation_impayé égal à - selon mode_occupation sous forme - -- Locataire: ImpayéLoyer - -- AccessionPropriétéLocalUsageExclusifHabitation: ImpayéPrêt - -- RésidentLogementFoyer: ImpayéPrêt - -- LocationAccession: ImpayéLoyer - -- SousLocataire: ImpayéLoyer -``` - -###### Section 2 : Secteur locatif - -####### Sous-section 1 : Signalement et mise en place d'un plan d'apurement en cas d'impayé - -######## Article R824-4 | LEGIARTI000038878867 - -Lorsque le bénéficiaire de l'aide personnelle au logement ne règle pas la part -de dépense de logement restant à sa charge, sa situation est soumise à l'organisme -payeur par le bailleur percevant l'aide personnelle au logement pour son compte, -dans un délai de deux mois après la constitution de l'impayé défini à l'article -R. 824-1 , sauf si la somme due a été, entre-temps, réglée en totalité. - -Le bailleur doit justifier qu'il poursuit par tous les moyens possibles le -recouvrement de sa créance. - -```catala -# Sur le délai de déclaration de l'impayé de loyer par le bailleur, -# pas nécessairement utile pour le moment -``` - -######## Article R824-5 | LEGIARTI000038878865 - -L'organisme payeur se saisit de toute situation d'impayé définie à l'article R. 824-1 -dont il a connaissance. - -```catala -# Pas pertinent car n'implique pas de calcul. -``` - -######## Article R824-6 | LEGIARTI000038878863 - -Si le bailleur ne signale pas l'impayé à l'organisme payeur dans le délai et les -conditions mentionnés à l'article R. 824-4 ou s'il n'apporte pas les justifications -prévues au même article, il est fait application des dispositions de l'article L. 114-17 -du code de la sécurité sociale . - -```catala -# L'article L. 114-17 du code de la sécurité sociale énonce les différents -# cas où une pénalité peut être prononcée par le directeur de l'organisme -# chargé de la gestion des prestations familiales. -``` - -######## Article R824-7 | LEGIARTI000038878861 - -Lorsque le bénéficiaire de l'aide est en situation d'impayé de dépense -de logement, l'organisme payeur informe la commission de coordination -des actions de prévention des expulsions locatives et met en œuvre les -mesures prévues au présent article. - -Pour se prononcer sur le maintien de l'aide, l'organisme payeur choisit, -en fonction de la situation du bénéficiaire, de recourir à l'une ou à -l'autre des procédures définies au 1° et au 2°. - -1° L'organisme payeur peut choisir de renvoyer le dossier au bailleur -afin que ce dernier établisse, dans un délai de six mois au plus, -un plan d'apurement de la dette. Sous réserve de la reprise du paiement -de la dépense courante de logement, du respect du plan d'apurement et de -son approbation par l'organisme payeur, ce dernier maintient le versement -de l'aide personnelle au logement. - -A défaut de réception du plan d'apurement dans le délai mentionné au 1° et -après mise en demeure du bailleur, l'organisme payeur saisit le fonds départemental -de solidarité pour le logement mentionné à l' article 6 de loi n° 90-449 du 31 mai 1990 -visant à la mise en œuvre du droit au logement, qui dispose d'un délai de trois mois -pour établir un dispositif d'apurement. L'organisme payeur tient la commission de -coordination des actions de prévention des expulsions locatives informée de l'évolution -de la situation du bénéficiaire. - -En cas de mauvaise exécution du plan ou du dispositif d'apurement ou de non-reprise du -paiement de la dépense courante de logement, l'organisme payeur suspend le versement de -l'aide personnelle au logement, sous réserve des dispositions de l'article R. 824-28 . - -2° L'organisme payeur peut choisir de saisir directement le fonds départemental de -solidarité pour le logement ou tout autre organisme à vocation analogue, en lui demandant -de faire connaître son dispositif d'apurement dans un délai de six mois. L'organisme payeur -informe la commission de coordination de la situation du bénéficiaire de l'aide. Le bailleur, -informé de cette saisine par l'organisme payeur, peut faire part de ses propositions au -fonds départemental ou à l'organisme à vocation analogue. - -Après réception du dispositif d'apurement, l'organisme payeur poursuit le versement de l'aide -personnelle au logement sous réserve, de la reprise du paiement de la dépense courante de logement. - -En cas de mauvaise exécution du plan ou du dispositif d'apurement ou de non-reprise du paiement -de la dépense courante de logement, l'organisme payeur suspend le versement de l'aide personnelle -au logement, sous réserve des dispositions de l'article R. 824-28. - -```catala -# Cet article explicite les procédures à suivre pour l'organisme payeur en -# cas d'impayés. Nous choissisons par manque de ressources (sic) de -# développement de laisser à l'organisme payeur le soin de suivre les -# instructions de cet article et de ceux auxquels il se réfère -# afin de connaître la bonne procédure à suivre. -``` - -######## Article R824-8 | LEGIARTI000038878859 - -Si le fonds départemental de solidarité pour le logement ou un organisme à vocation analogue -n'a pas fait connaître le dispositif qu'il a retenu dans les délais prévus au 1° ou au 2° de -l'article R. 824-7 , l'organisme payeur met en demeure le bénéficiaire de reprendre le paiement -de la dépense courante de logement et d'apurer l'intégralité de sa dette en remboursant chaque -mois au bailleur 1/ 36e de sa dette pendant trente-six mois à compter du mois suivant la mise -en demeure. - -En cas de mauvaise exécution du plan d'apurement ou de non-reprise du paiement de la dépense -courante de logement, l'organisme payeur suspend le versement de l'aide personnelle au logement, -sous réserve des dispositions de l'article R. 824-28 . - -```catala -# Idem -``` - -######## Article R824-9 | LEGIARTI000038878857 - -La bonne exécution du plan ou du dispositif d'apurement est vérifiée, au moins tous les six -mois, par l'organisme payeur. - -```catala -# Pas pertinent pour le moment -``` - -######## Article R824-10 | LEGIARTI000038878855 - -Pour les impayés d'un montant égal ou inférieur à cent euros, l'organisme payeur peut proposer -au bailleur et au bénéficiaire de l'aide de recourir à une procédure de traitement de l'impayé -selon des modalités précisées par arrêté des ministres chargés du logement, de la sécurité sociale -et de l'agriculture. Cet arrêté précise le cadre dans lequel l'organisme payeur élabore un plan -d'apurement. - -```catala -# Procédure alternative pour les impayés < ou = à 100€ -# Mais la procédure n'est pas explicitée. -``` - -Cette procédure de traitement de l'impayé prend fin lorsque le plan proposé par l'organisme payeur -n'est pas approuvé par le bailleur et par le bénéficiaire dans le délai imparti ou en cas de -non-respect de ce plan. Dans ce cas, l'organisme payeur applique la procédure de droit commun -définie à l'article R. 824-7 , les délais fixés aux 1° et 2° de cet article et au deuxième alinéa -de l'article R. 824-20 étant alors divisés par deux. - -```catala -# Pas pertinent pour le moment. -``` - -####### Sous-section 2 : Saisine directe du fonds de solidarité pour le logement ou d'un organisme à vocation analogue - -######## Article R824-11 | LEGIARTI000038878851 - -Si le fonds départemental de solidarité pour le logement ou un organisme à vocation analogue -a été saisi en même temps que l'organisme payeur, il en informe, sans délai, l'organisme -payeur. Ce dernier maintient le versement de l'aide personnelle au logement pour une durée -de six mois à compter de cette saisine. - -A défaut de réception d'un dispositif d'apurement dans le délai mentionné au premier alinéa, -et après mise en demeure du fonds départemental de solidarité pour le logement ou d'un organisme -à vocation analogue, l'organisme payeur saisit le bailleur, afin de mettre en place un plan -d'apurement dans un délai de trois mois à compter de cette saisine. Il en informe simultanément -la commission de coordination des actions de prévention des expulsions locatives. - -```catala -# Pas pertinent pour le moment. -``` - -######## Article R824-12 | LEGIARTI000038878849 - -A défaut de réception de ce plan d'apurement dans le délai de trois mois, l'organisme payeur -met en demeure le bénéficiaire de reprendre le paiement de la dépense courante de logement -et d'apurer l'intégralité de sa dette en remboursant chaque mois au bailleur 1/36e de sa dette, -pendant trente-six mois à compter du mois suivant la mise en demeure. - -```catala -# Pas pertinent pour le moment. -``` - -######## Article R824-13 | LEGIARTI000038878847 - -Dans chacune des situations définies aux articles R. 824-11 et R. 824-12, en cas de mauvaise -exécution du plan ou du dispositif d'apurement ou de non-reprise du paiement de la dépense -courante de logement, l'organisme payeur suspend le versement de l'aide personnelle au logement, -sous réserve des dispositions de l'article R. 824-28 . - -```catala -# Pas pertinent pour le moment. -``` - -####### Sous-section 3 : Modalités d'attribution des aides personnelles au logement en cas de résiliation du bail - -######## Article R824-14 | LEGIARTI000038878843 - -Lorsque le bail a été résilié et que l'occupant du logement s'acquitte d'une indemnité d'occupation -et des charges fixées par le juge, le versement de l'aide est maintenu durant la période où l'occupant -s'acquitte de l'indemnité et des charges fixées, et jusqu'au départ effectif de l'occupant. - -```catala -# Pas pertinent pour le moment. -``` - -######## Article D824-15 | LEGIARTI000038878841 - -Pour qu'elle ouvre droit au bénéfice de l'aide, la signature du protocole d'accord, conclu en -application des articles L. 353-15-2 , L. 442-6-5 et du sixième alinéa de l'article L. 442-8-2 , -est subordonnée à l'approbation préalable du plan d'apurement par l'organisme payeur. - -Si un protocole d'accord est signé, l'organisme payeur fixe les modalités du versement du rappel -de l'aide pendant la période comprise entre l'interruption du versement de l'aide et la signature -du protocole. - -Ces modalités tiennent compte de la situation financière du bénéficiaire de l'aide et du plan de -résorption de la dette établi avec le bailleur. A ce titre, l'organisme payeur décide du versement -du rappel d'aide : - -1° Soit en une seule fois si le montant du rappel ou de la dette est inférieur à quatre cent -cinquante euros ; - -2° Soit par versements semestriels échelonnés sur la durée du plan d'apurement et sous réserve -de sa bonne exécution. Dans ce cas, le premier versement est réalisé trois mois après la reprise -du paiement par l'occupant des échéances prévues par le protocole. - -```catala -# Là encore, il s'agit d'une procédure qu'il n'est peut-être pas pertinent -# pour le moment de traduire en catala. L'alinéa 3, en revanche, peut être -# intéressant à traiter. Mais là encore, il faut poser le cadre de ce rappel -# d'aide avant de préciser comment est apprécié ce rappel d'aide. -``` - -######## Article R824-16 | LEGIARTI000038878839 - -Si l'occupant ne respecte pas les engagements contenus dans le protocole, le bailleur est tenu -d'en informer l'organisme payeur qui suspend le versement du rappel, sous réserve des dispositions -de l'article R. 824-28 . - -Sous réserve de la reprise du paiement de la dépense courante de logement, l'organisme payeur -maintient l'aide personnelle au logement pendant une durée qui ne peut excéder trois mois, -pour permettre la négociation d'un nouveau plan d'apurement entre le bailleur et l'occupant. - -Ce nouveau plan fait l'objet d'un avenant au protocole. - -```catala -# Pas pertinent pour le moment. -``` - -######## Article R824-17 | LEGIARTI000038878837 - -Si l'organisme payeur ne reçoit pas le plan d'apurement dans le délai mentionné au deuxième -alinéa de l'article R. 824-16 ou s'il ne l'approuve pas, il met en demeure le bénéficiaire -de reprendre, sans délai, le paiement de la dépense courante de logement et d'apurer -l'intégralité de sa dette en remboursant chaque mois au bailleur 1/ 36e de sa dette, -pendant trente-six mois. - -```catala -# Disposition traitant d'une procédure. -# Pas pertinent pour le moment. -``` - -######## Article R824-18 | LEGIARTI000038878835 - -En cas de non-reprise du paiement de la dépense courante de logement ou de refus de -s'engager sur ce plan d'apurement ou de mauvaise exécution de ce plan, le versement -de l'aide personnelle au logement est suspendu, sous réserve des dispositions de -l'article R. 824-28 . - -```catala -# Suspension du versement de l'aide. Il est important de définir lorsque -# le bénéficiaire ne peut plus bénéficier de l'aide, mais cela implique le -# traitement des procédures préliminaires. -``` - -######## Article R824-19 | LEGIARTI000038878832 - -L'exécution régulière du plan ou du dispositif d'apurement est vérifiée tous les six mois -par l'organisme payeur. - -```catala -# Pas pertinent pour le moment. -``` - -####### Sous-section 4 : Versement en tiers payant en cas de situation d'impayé - -######## Article R824-20 | LEGIARTI000038878828 - -Dans le cas où un bénéficiaire qui perçoit directement l'aide personnalisée au logement se -trouve dans la situation d'impayé définie à l'article R. 824-1 , l'organisme payeur demande -au bailleur de lui indiquer s'il souhaite en obtenir le versement entre ses mains, en lieu -et place du bénéficiaire. - -Le bailleur dispose d'un délai de deux mois pour faire connaître sa position à l'organisme -payeur. Ce délai est inclus dans les délais prévus aux 1° et 2° de l'article R. 824-7 . Le -silence du bailleur à l'expiration de ce délai vaut décision de refus. - -Les dispositions du présent article sont applicables aux allocations de logement, sauf dans -le cas prévu au troisième alinéa de l'article L. 842-1 . - -```catala -# Demande de modification de la personne qui perçoit les aides pour -# lesquelles le bénéficiaire est éligible. + Procédure que le bailleur doit -# mettre en place pour procéder à ce changement. -``` - -######## Article R824-21 | LEGIARTI000038878826 - -Sans préjudice de l'application des articles R. 824-7 à R. 824-13 et R. 824-27 à R. 824-29 , -à réception de l'accord du bailleur, l'organisme payeur lui verse l'aide et en informe le -bénéficiaire. - -```catala -# Résultat de la demande traitée à l'article R824-20. -``` - -######## Article R824-22 | LEGIARTI000038878824 - -En cas de refus du bailleur, dans les cas limitativement prévus à l'article D. 832-2 , de -percevoir directement l'aide personnalisée au logement, le versement de l'aide est maintenu -dans les conditions prévues aux articles R. 824-7 à R. 824-13 et R. 824-27 à R. 824-29 . - -Ces dispositions s'appliquent également aux allocations de logement, en cas de refus du -bailleur et dans le cas prévu au troisième alinéa de l'article L. 842-1 . - -Toutefois, s'il est fait application de la procédure prévue au 1° de l'article R. 824-7, -le délai de six mois accordé au bailleur pour mettre en place un plan d'apurement est réduit -à deux mois. Il est décompté à partir de la date du refus du bailleur mentionné à l'article -R. 824-20 . - -```catala -# Pas forcément pertinent pour le moment. -``` - -####### Sous-section 5 : Articulation de la procédure d'impayé avec la procédure de surendettement - -######## Article R824-23 | LEGIARTI000038878820 - -Lorsqu'une procédure de surendettement a été engagée devant la commission prévue à l' article -L. 712-1 du code de la consommation , préalablement ou parallèlement à l'engagement des -procédures prévues aux sous-sections 1 à 4 et à la sous-section 6 de la présente section, -le versement de l'aide personnelle au logement est maintenu pendant le délai prévu à l' article -R. 721-4 du code de la consommation pour décider de l'orientation du dossier de surendettement. - -```catala -# Conséquence du cumul de procédures sur le versement de l'aide personnelle -# au logement. -``` - -######## Article R824-24 | LEGIARTI000038878818 - -Lorsqu'elle est rétablie dans les conditions prévues à l'article L. 824-3 , l'aide est versée -entre les mains du bailleur : - -1° Sans préjudice des dispositions de l'article L. 832-1 pour l'aide personnalisée au logement ; - -2° Sauf en cas de refus du bailleur et dans le cas prévu au troisième alinéa de l'article -L. 842-1 pour les allocations de logement. - -```catala -# Définition des cas où l'aide est versée directement entre les mains -# du bailleur. -``` - -######## Article R824-25 | LEGIARTI000038878816 - -Lorsque l'aide était versée à l'allocataire avant l'engagement de la procédure prévue à -l'article R. 824-23 , il est fait application de l'article R. 824-20 . - -```catala -# Pas pertinent pour le moment. -``` - -######## Article R824-26 | LEGIARTI000038878814 - -A réception des plans, mesures ou jugements mettant fin à la procédure, l'organisme payeur -maintient le versement de l'aide personnelle au logement, sous réserve de la reprise du -paiement du loyer et du respect des conditions prévues par la commission de surendettement, -par le plan conventionnel ou par le jugement. - -L'exécution régulière de la mesure ou du jugement est vérifiée tous les six mois par -l'organisme payeur. -Si le versement de l'aide a été suspendu avant l'engagement de la procédure de surendettement, -l'organisme payeur décide des modalités de versement du rappel de l'aide correspondant à la -période de suspension, dès lors que la dette n'a pas été annulée. - -```catala -# Pas pertinent pour le moment -``` - -####### Sous-section 6 : Dispositions communes - -######## Article R824-27 | LEGIARTI000038878810 - -La suspension du versement de l'aide personnelle au logement, en cas d'impayé, ne fait pas -obstacle à la récupération d'un indu. - -```catala -# Conséquences de la suspension du versement de l'aide sur la récupération -# de l'indu. -``` - -######## Article R824-28 | LEGIARTI000038878808 - -L'organisme payeur peut décider du maintien du versement de l'aide personnelle au logement : - -1° Si l'allocataire s'acquitte du paiement de la dépense courante de logement ; - -2° S'il se trouve dans une situation sociale difficile et qu'il s'acquitte du paiement de -la moitié au moins de la dépense courante de logement, déduction faite de l'aide. - - - -######## Article R824-29 | LEGIARTI000038878806 - -Lorsque le juge décide d'un plan d'apurement, notamment dans le cas prévu au V de l'article -24 de la loi n° 89-462 du 6 juillet 1989 tendant à améliorer les rapports locatifs et portant -modification de la loi n° 86-1290 du 23 décembre 1986 , l'aide personnelle au logement est -maintenue ou rétablie, sous réserve du respect de ce plan d'apurement, dans les conditions -prévues à l'article R. 824-26 . - - - -######## Article R824-30 | LEGIARTI000038878804 - -Pour l'application du II du même article 24 de la loi du 6 juillet 1989 mentionnée à l'article -R. 824-29 , la première information par l'organisme payeur de la commission de coordination des -actions de prévention des expulsions locatives vaut saisine de cette commission. - -Pour l'application de l' article 7-2 de la loi n° 90-449 du 31 mai 1990 visant à la mise en œuvre -du droit au logement, la première information par l'organisme payeur de la commission de -coordination des actions de prévention des expulsions locatives vaut alerte de cette commission. - - - -###### Section 3 : Logements-foyers - -####### Article R824-31 | LEGIARTI000038878800 - -Lorsque le bénéficiaire en situation d'impayé se trouve en logement-foyer, le versement de -l'aide personnelle au logement est maintenu, conformément aux modalités prévues à la section 2 -du présent chapitre - -Dans ce cas, le gestionnaire est substitué au bailleur et la redevance au loyer. - - - -###### Section 4 : Accession à la propriété - -####### Article R824-32 | LEGIARTI000038878796 - -Lorsque le bénéficiaire en situation d'impayé est accédant à la propriété, le versement de -l'aide personnelle au logement est maintenu, conformément aux dispositions prévues aux -articles R. 824-4 à R. 824-13 et R. 824-27 à R. 824-29 . - -Dans ce cas, l'établissement habilité est substitué au bailleur, l'échéance de prêt au -loyer et, à l'exception de la phase locative des contrats de location-accession mentionnés -au 6° de l'article L. 831-1 , le comité responsable du plan local d'action pour le logement -et l'hébergement des personnes défavorisées mentionné à l' article 3 de la loi n° 90-449 -du 31 mai 1990 visant à la mise en œuvre du droit au logement est substitué à la commission -de coordination des actions de prévention des expulsions locatives. - - - -####### Article R824-33 | LEGIARTI000038878794 - -Lorsque le bénéficiaire se trouve dans la situation d'impayé définie aux articles R. 824-2 -et R. 824-3, l'organisme payeur demande au prêteur s'il souhaite le versement de l'aide -entre ses mains en lieu et place du bénéficiaire conformément aux dispositions prévues aux -articles R. 824-20 à R. 824-22 , l'établissement habilité étant substitué au bailleur. - - - -####### Article D824-34 | LEGIARTI000038878792 - -Les articles R. 824-23 à R. 824-26 sont applicables aux accédants à la propriété en situation -d'impayé, l'échéance d'emprunt étant assimilée au loyer. - - - -#### Titre III : Aide personnalisée au logement - -##### Chapitre Ier : Champ d'application - -###### Article R831-1 | LEGIARTI000038878776 - -```catala -# Cet article vient seulement préciser le II. du L822-2, mais n'apporte -# pas d'information supplémentaire quand au calcul de l'égibilité ou -# du montant. -``` - -L'aide personnalisée au logement mentionnée au 1° de l'article L. 821-1 est -attribuée, pour leur résidence principale, aux personnes qui occupent : - -1° Soit le logement dont elles sont propriétaires et qui a été construit, ou -amélioré, ou acquis et amélioré dans les conditions définies par le 1° de -l'article L. 831-1 ; - -2° Soit un logement à usage locatif, faisant l'objet d'une convention conclue -en application des 2°, 3° ou 4° de l'article L. 831-1 ; - -3° Soit un logement faisant l'objet d'un contrat de location-accession conclu -dans les conditions prévues par la loi n° 84-595 du 12 juillet 1984 définissant -la location-accession à la propriété immobilière et qui a été construit ou acquis -dans les conditions définies par le 6° de l'article L. 831-1 ; - -4° Soit un local privatif dans un logement-foyer tel que défini à l'article -L. 633-1 , faisant l'objet d'une convention conclue en application du 5° de -l'article L. 831-1. - -Pour l'application du présent titre, sont assimilés à des propriétaires les -titulaires d'un contrat leur donnant vocation à l'attribution à terme de la -propriété du logement qu'ils occupent, ainsi que les porteurs de parts ou -d'actions de sociétés donnant vocation à l'attribution en propriété du -logement qu'ils occupent. - -```catala -# Le dernier alinéa apport des informations utiles à la conception du -# formulaire administratif: le cas du viager rentre dans la case de -# l'accession à la propriété par exemple. -``` - -##### Chapitre II : Modalités de liquidation et de versement de l'aide personnalisée au logement - -###### Section 1 : Modalités du versement en tiers payant - -####### Article D832-1 | LEGIARTI000038878766 - -I.-L'aide personnalisée au logement est versée selon les modalités précisées -par les conventions nationales prévues à l'article L. 812-2 : - -1° Au bailleur ou au gestionnaire agréé en application du 3° de l'article 8 -du décret n° 77-934 du 27 juillet 1977 fixant les conditions d'octroi de prêts -aidés par l'Etat pour la construction, l'amélioration et l'acquisition des -logements locatifs, lorsque le bénéficiaire est locataire ; - -2° A l'établissement habilité à cette fin, lorsque le bénéficiaire est -propriétaire du logement ; - -3° Au gestionnaire du logement-foyer, lorsque le bénéficiaire est résident -d'un logement-foyer. - -II.-L'établissement habilité mentionné au 2° du I est : - -1° L'établissement prêteur, lorsque le bénéficiaire est un propriétaire qui -a contracté un prêt unique entrant dans le champ d'application de l'article R. 832-5 ; - -2° Lorsque le propriétaire a contracté plusieurs prêts, l'établissement qui a -accordé le prêt principal répondant aux critères de l'article R. 832-5 ; - -3° Un autre établissement que celui mentionné au 2° du II, si le propriétaire -lui a donné mandat et qu'il répond à des caractéristiques définies par arrêté -des ministres chargés du logement, du budget, de la sécurité sociale et de -l'agriculture. - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -####### Article D832-2 | LEGIARTI000041477269 - -Lorsque le bénéficiaire est locataire d'un logement compris dans un patrimoine -conventionné comportant moins de dix logements, l'aide personnalisée est versée -au bailleur ou au gestionnaire, s'il en fait la demande. Faute d'une telle demande, -elle est versée au locataire. - -Dans les cas de sous-location prévus aux articles L. 353-20 et L. 442-8-1 , l'aide -personnalisée au logement est versée, sur leur demande, aux personnes morales locataires. - -En outre, sauf si le bailleur ou l'établissement habilité en demande le versement -entre ses mains, elle est versée directement : - -1° Au locataire ou à l'occupant de bonne foi, dans le cas prévu par l'article L. 353-9 ; - -2° Au propriétaire qui a contracté plusieurs prêts et qui n'a pas donné mandat à un -établissement habilité, lorsqu'aucune des mensualités de remboursement de ces prêts -n'est supérieure ou égale, pour la première année, au montant de l'aide personnalisée ; - -3° Aux personnes sous-locataires mentionnées au premier alinéa de l'article -L. 822-4 . Dans ce cas, le locataire titulaire du bail principal et sous-louant -une partie de son logement est assimilé au bailleur. - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -####### Article D832-3 | LEGIARTI000038878762 - -Pour l'application des articles D. 832-1 et D. 832-2, est considéré comme un établissement -habilité : - -1° Le vendeur, en cas de vente à terme, ou de location-accession ; - -2° Les sociétés faisant l'objet des dispositions des articles L. 212-1 à L. 212-13 et -L. 213-1 à L. 213-15 , lorsqu'elles ont été bénéficiaires du prêt principal. - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -####### Artcile D832-4 | LEGIARTI000038878760 - -Lorsque le bénéficiaire est un propriétaire ou un accédant à la propriété titulaire -d'un contrat de location-accession, l'aide personnalisée est versée : - -1° A l'établissement habilité, en cas de prêt unique ; - -2° A l'établissement habilité ou au bénéficiaire, lorsqu'il y a différents contrats de prêts. - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -###### Section 2 : Accession à la propriété - -####### Article R832-5 | LEGIARTI000039048901 - -```catala -# TODO juridique: est-ce que cet article correspond réellement à la définition -# des caractéristiques et conditions d'octroi du 1°) de L831-1 ? -# TODO juridique: vérifier que les conditions sont différentes entre les -# prêts -``` - -L'aide personnalisée au logement est accordée au propriétaire qui est titulaire et supporte -les charges correspondantes d'un : - -1° Prêt aidé par l'Etat pour la construction, l'acquisition et l'amélioration des logements -en accession à la propriété défini à l'article D. 331-32 ; - -2° Prêt conventionné défini à l'article D. 331-63 , dans les conditions précisées -par l'article D. 331-64. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - règle caractéristiques_prêt_l831_1_1 de prêt sous condition - prêt.titulaire_prêt sous forme Demandeur et ( - prêt.type_prêt sous forme D331_32 ou - prêt.type_prêt sous forme D331_63_64) - conséquence rempli -``` - -####### Article R832-6 | LEGIARTI000038878754 - -Sous réserve des dispositions de l'article R. 823-14, l'aide est versée : - -1° Soit, si le propriétaire occupe le logement à la date de la première échéance due au titre de ce prêt : - -a) En cas de périodicité mensuelle, à compter du premier jour du mois civil suivant celui de cette échéance ; - -b) En cas de périodicité supérieure au mois, à compter du premier jour du mois civil suivant le premier mois -de la période couverte par cette échéance ; - -2° Soit, si le propriétaire n'occupe pas le logement à la date de la première échéance due au titre de ce prêt -ou si l'entrée dans les lieux intervient au cours de la période couverte par cette échéance, à compter du -premier jour du mois civil suivant celui au cours duquel se situe l'entrée dans les lieux. - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -####### Article R832-7 | LEGIARTI000039048899 - -L'aide personnalisée est accordée à l'accédant à la propriété titulaire d'un contrat de location-accession, -lorsque le vendeur est titulaire d'un prêt défini par les articles D. 331-59-8 et suivants ou d'un prêt -défini par les articles D. 331-76-1 et suivants et que ce dernier supporte les charges correspondantes. - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - règle caractéristiques_prêt_l831_1_1 de prêt sous condition - prêt.titulaire_prêt sous forme - VendeurQuandDemandeurAContratLocationAccession et ( - prêt.type_prêt sous forme D331_59_8 ou - prêt.type_prêt sous forme D331_76_1) - conséquence rempli -``` - -####### Article R832-8 | LEGIARTI000039048897 - -Sous réserve des dispositions de l'article R. 823-14 , l'aide est versée : - -1° Soit, si l'accédant occupe le logement à la date de la première échéance due au titre du contrat -de location-accession : - -a) En cas de périodicité mensuelle, à compter du premier jour du mois civil suivant celui de cette -première échéance ; - -b) En cas de périodicité supérieure au mois, à compter du premier jour du mois civil suivant le premier -mois de la période couverte par cette échéance ; - -2° Soit, si l'accédant n'occupe pas le logement à la date de la première échéance due au titre du -contrat de location-accession ou si l'entrée dans les lieux intervient au cours de la période couverte -par cette échéance, à compter du premier jour du mois civil suivant celui au cours duquel se situe -l'entrée dans les lieux. - -Est pris en considération, pour le calcul de l'aide personnalisée, le montant de la redevance définie -au premier alinéa de l'article D. 331-59-16 et au II de l'article D. 331-76-5-1 . - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -####### Article R832-9 | LEGIARTI000039048895 - -Le montant de l'aide personnalisée versée au propriétaire occupant bénéficiaire est révisé en -cours de période de paiement : - -1° Lorsque la période de remboursement du prêt ouvrant droit à l'aide personnalisée fait -suite à une période de différé d'amortissement ; - -2° Lors de chaque révision de la redevance, lorsque l'accédant est titulaire d'un contrat -de location-accession ; - -3° Lors de chaque révision des charges de remboursement, lorsque le propriétaire est titulaire -d'un prêt aidé par l'Etat à taux révisable défini à l'article D. 331-54-1 ou d'un prêt -conventionné à taux révisable défini à l'article D. 331-75 . - -```catala -# Ne touche ni à l'égibilité ni au calcul du montant donc nous ne formaliserons -# pas pour l'instant. -``` - -####### Article D832-10 | LEGIARTI000038878746 - -Pour les propriétaires bénéficiant d'un prêt ouvrant droit à l'aide personnalisée au logement -ou les titulaires d'un contrat de location-accession conclu dans les conditions prévues -au 6° de l'article L. 831-1 , le montant mensuel de l'aide est calculé selon la formule et -les modalités suivantes : - -$$\textrm{Af} = \textrm{K} \times (\textrm{L} + \textrm{C}-\textrm{L0})$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition aide_finale_formule égal à - soit aide_finale égal à - (mensualité_éligible + montant_forfaitaire_charges_d832_10 - - mensualité_minimale) * coefficient_prise_en_charge_d832_10 - dans - si aide_finale < 0 € alors 0 € sinon aide_finale -``` - -où : - -1° " Af " est l'aide mensuelle issue de la formule de calcul ; - -2° " K " est le coefficient de prise en charge, calculé selon les dispositions de l'article D. 832-11 ; - -3° " L " est la mensualité éligible, déterminée selon les dispositions de l'article D. 832-12, -prise en compte dans la limite d'un plafond fixé par arrêté en fonction de la zone géographique, -de la composition familiale et de la finalité de l'opération ; - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition mensualité_éligible égal à - si mensualité_principale > plafond_mensualité_d832_10_3 - alors plafond_mensualité_d832_10_3 - sinon mensualité_principale -``` - -4° " C " est le montant forfaitaire au titre des charges, fixé par arrêté en fonction de -la composition familiale ; - -```catala -# Ne donne pas précisément la formule mais uniquement le principe général, -# on ne formalise pas ici. -``` - -5° " L0 " est la mensualité minimale, calculée selon les dispositions de l'article D. 832-15. - -```catala -# Ne donne pas précisément la formule mais uniquement le principe général, -# on ne formalise pas ici. -``` - -Le montant ainsi calculé est minoré d'un montant fixé forfaitairement par arrêté. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale - état minoration_forfaitaire - égal à - si aide_finale - montant_forfaitaire_d832_10 >= 0€ - alors - aide_finale - montant_forfaitaire_d832_10 - sinon 0€ -``` - -Ce résultat est minoré d'un abattement au titre de la dépense nette minimale, dont les modalités -de calcul sont fixées par l'article D. 832-17. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale état abattement égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit aide_finale égal à - aide_finale - abattement_dépense_nette_minimale_d832_10 de aide_finale - dans - si aide_finale >= 0€ alors aide_finale sinon 0€ -``` - -Ce dernier résultat, obtenu par application des dispositions précédentes, est diminué d'un montant -représentatif des contributions sociales qui s'y appliquent, arrondi à l'euro inférieur, -puis majoré de ce montant représentatif. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale - état contributions_sociales_arrondi - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit crds égal à contributions_sociales.montant de aide_finale dans - soit aide_finale_moins_crds_arrondie égal à - arrondi de ((aide_finale - crds) - 0,50€) - dans - si - aide_finale_moins_crds_arrondie + crds >= 0€ - alors - aide_finale_moins_crds_arrondie + crds - sinon 0€ -``` - -Lorsque le montant mensuel de l'aide, ainsi calculé, est inférieur à un montant fixé par arrêté, -il n'est pas procédé à son versement. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale état montant_minimal égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si aide_finale < montant_minimal_aide_d832_10 - alors 0 € - sinon aide_finale -``` - -####### Article D832-11 | LEGIARTI000047401383 - -Le coefficient " K ", mentionné au 2° de l'article D. 832-10, est ainsi calculé selon la formule -et les modalités suivantes : - -$$\textrm{K} = 0,95 - \frac{\textrm{R}}{\textrm{cm} \times \textrm{N}}$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition coefficient_prise_en_charge_d832_10 état formule égal à - 0,95 - - (ressources_ménage_arrondies / - (coefficient_multiplicateur_d832_11 * n_nombre_parts_d832_11) - ) - # Attention: ici coefficient_multiplicateur_d832_11 doit être un montant - # d'argent sinon problème d'homogénéité dans la formule. -``` - -où : - -1° " K " est le coefficient de prise en charge, arrondi à deux décimales par défaut. -Lorsque le calcul le porte à une valeur supérieure à 0,95, il est considéré comme égal à 0,95 ; - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition coefficient_prise_en_charge_d832_10 état coeff_arrondi égal à - (arrondi de ((coefficient_prise_en_charge_d832_10 - 0,005) - * 100,0)) / 100,0 - définition coefficient_prise_en_charge_d832_10 état seuil égal à - si coefficient_prise_en_charge_d832_10 >= 0,95 alors 0,95 sinon - coefficient_prise_en_charge_d832_10 -``` - -2° " R " représente les ressources du ménage, appréciées conformément aux -dispositions de la section 2 du chapitre II du titre II du présent livre et -arrondies à la centaine d'euros supérieure ; - -3° " cm " est un coefficient multiplicateur fixé par arrêté ; - -4° " N " représente le nombre de parts déterminé selon le barème suivant : - ------------------------------------------------------------- --- -bénéficiaire isolé 1,4 -ménage sans personne à charge 1,8 -bénéficiaire isolé ou ménage ayant une personne à charge 2,5 -bénéficiaire isolé ou ménage ayant deux personnes à charge 3,0 -bénéficiaire isolé ou ménage ayant trois personnes à charge 3,7 -bénéficiaire isolé ou ménage ayant quatre personnes à charge 4,3 -majoration par personne à charge supplémentaire 0,5 ------------------------------------------------------------- --- - -```catala -champ d'application CalculNombrePartsAccessionPropriété: - définition n_nombre_parts_d832_11 égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1,4 - -- Couple: 1,8 - sinon (si nombre_personnes_à_charge = 1 alors - 2,5 - sinon (si nombre_personnes_à_charge = 2 alors - 3,0 - sinon (si nombre_personnes_à_charge = 3 alors - 3,7 - sinon (si nombre_personnes_à_charge = 4 alors - 4,3 - sinon - ( 4,3 + (0,5 * (décimal de - (nombre_personnes_à_charge - 4)))) - )))) - -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition n_nombre_parts_d832_11 égal à - calcul_nombre_parts.n_nombre_parts_d832_11 - définition calcul_nombre_parts.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_nombre_parts.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl -``` - -####### Article D832-12 | LEGIARTI000039048893 - -I.-La mensualité " L ", définie au 3° de l'article D. 832-10 , est déterminée selon -les modalités suivantes, sur une base mensuelle : - -La mensualité est la somme : - -1° Des charges d'intérêts, ou des charges d'intérêts et d'amortissement et des charges -accessoires au principal de la dette afférente aux prêts définis par les articles -D. 331-32 et suivants et aux prêts complémentaires définis par arrêté. Ces prêts -doivent avoir fait l'objet, pour chacun d'entre eux, d'un certificat daté et notifié -au demandeur par les organismes prêteurs, précisant les modalités ainsi que la périodicité -des paiements, présenté à l'appui de la demande d'aide personnalisée au logement. - -Lorsque le prêt ouvrant droit à l'aide personnalisée au logement est un prêt aidé par -l'État en accession à la propriété accordé pour l'agrandissement ou un prêt conventionné -accordé pour l'amélioration du logement, le prêt souscrit antérieurement aux fins de -construction ou d'acquisition de ce logement est assimilé à un prêt complémentaire ; - -2° Des primes d'assurance accessoires aux contrats de prêts, notamment de l'assurance décès, -de l'assurance couvrant les risques d'invalidité, de l'assurance pour pertes pécuniaires -résultant du report d'échéances de sommes dues en cas de chômage, contractées par le -bénéficiaire en garantie de l'exécution des engagements souscrits ; - -II.-Pour les titulaires d'un contrat de location-accession conclu dans les conditions -prévues au 6° de l'article L. 831-1 , la redevance de location-accession, définie au -premier alinéa de l'article D. 331-59-16 et au II de l'article D. 331-76-5-1 , est -assimilée à la mensualité. - -```catala -# Cet article précise ce qu'il faut prendre en compte pour la mensualité du -# prêt mais il ne nous paraît pas nécessaire de le transcrire en Catala -# à ce stade, puisque l'on peut laisser à l'utilisateur de rentrer -# correctement la mensualité + prime d'assurance sur le formulaire d'entrée. -``` - -####### Article D832-13 | LEGIARTI000038878740 - -Lorsque le prêt ouvrant droit à l'aide personnalisée est un prêt conventionné -accordé pour l'amélioration du logement et que le prêt souscrit antérieurement pour -l'acquisition de ce logement est assimilé à un prêt complémentaire dans les conditions -prévues au 1° du I de l'article D. 832-12 , la mensualité de référence est celle prévue -pour les logements acquis et améliorés à l'aide d'un prêt conventionné. - -```catala -# Cet article précise comment remplir la case "mensualité" du formulaire -# pour un cas particulier, pas pertinent à traduire en Catala. -``` - -####### Article D832-14 | LEGIARTI000038878738 - -Pour le calcul de la mensualité " L ", le plafond mensuel mentionné au 3° de l'article -D. 832-10 est applicable pour la période au titre de laquelle le certificat prévu à -l'article D. 832-12 a été établi. - -```catala -# Voir l'article 18 de l'arrêté du 27 septembre 2019 qui précise le sens de -# cet alinéa en termes de calcul. -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition plafond_mensualité_d832_10_3 état base égal à - calcul_plafond_mensualité_d832_10_3 de date_signature_prêt -``` - -Le plafond ainsi retenu ne peut, en aucun cas, être inférieur à celui applicable au -moment de l'entrée dans les lieux, sous la réserve qu'il s'agisse d'un local habité -pour la première fois par le bénéficiaire. - -```catala -# Ce plafond est défini par l'article 18 de l'arrêté du 27 septembre 2019. -# Sauf que cet arrêté définit le plafond en fonction de la date de signature du -# prêt. La manière dont nous interprétons le deuxième alinéa ci-dessus est la -# suivante : puisque le plafond dépend d'une date (normalement de signature -# du prêt), et qu'en fonction de la date ce plafond varie à la hausse ou à la -# baisse, l'alinéa donne une petite faveur aux propriétaires puisqu'il leur -# permet de choisir la date la plus avantageuse pour calculer le plafond -# entre la date de signature du prêt et celle d'entrée dans le logement si -# le local est habité pour la première fois par le bénéficiaire. -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - exception définition plafond_mensualité_d832_10_3 état base sous condition - local_habité_première_fois_bénéficiaire - conséquence égal à - soit plafond_signature égal à - calcul_plafond_mensualité_d832_10_3 de date_signature_prêt - dans - soit plafond_entrée égal à - calcul_plafond_mensualité_d832_10_3 de date_entrée_logement - dans - si plafond_signature < plafond_entrée - alors plafond_entrée - sinon plafond_signature -``` - -####### Article D832-15 | LEGIARTI000047401375 - -La mensualité minimale " L0 ", mentionnée au 5° de l'article D. 832-10 est calculée : - -1° Pour les logements construits, agrandis, aménagés à partir de locaux non -destinés à l'habitation, acquis et améliorés, occupés par leur propriétaire ou -par l'accédant titulaire d'un contrat de location-accession, par l'application -de pourcentages à des tranches de ressources, dont les limites inférieures et -supérieures initiales sont multipliées par le nombre de parts “ N ” défini au -4° de l'article D. 832-11, dans la limite des ressources du ménage “ R ” -définies au 2° de l'article D. 832-11. Ce résultat est divisé par douze. -Les pourcentages et les limites initiales des tranches sont fixés par arrêté -selon la date de signature du contrat de prêt ou de location-accession. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition mensualité_minimale sous condition - type_travaux_logement sous forme TravauxPourAcquisitionD832_15_1 ou - # Comment interpetéter le R832-5 dans - # le cas d'un prêt conventionné D331-63 alinéa 3° où le prêt finance - # l'acquisition d'un logement existant sans travaux et donc sans - # amélioration; le demandeur est-il éligible à l'APL de ce cas et si oui, - # peut-on nous confirmer que le montant de la mensualité minimale est bien - # calculée selon l'alinéa 1° de D832-15 ? - # Réponse de DGALN/DHUP/FE4 le 25/05/2022: - # "Le demandeur est éligible à l’APL qui est calculée selon l’alinéa 1° - # du D832-15. Le 2° ne concerne que les travaux d’amélioration." - # La réponse à notre question est bien oui pour les deux items, - # d'où la ligne ci-dessous. - type_travaux_logement sous forme TypeTravauxLogementD832_15.PasDeTravaux - conséquence égal à - # Selon un mail de DGALN/DHUP/FE4 du 19/07/2022, il nest nécessaire pour le - # calcul de cette mensualité minimale de garder une précision infinie - # durant toutes les étapes du calcul. En Catala, nous utilisons donc le type - # décimal plutôt que argent qui arrondi systématiquement au centime près - # à chaque étape de calcul. - soit ressources_ménage_arrondies égal à - décimal de ressources_ménage_arrondies - dans - soit montant_limite_tranches_d832_15_1 égal à - décimal de montant_limite_tranches_d832_15_1 - dans - argent de ( - ((si - # Pour la tranche supérieure - ressources_ménage_arrondies >= - (montant_limite_tranches_d832_15_1 * n_nombre_parts_d832_11) - alors - ((ressources_ménage_arrondies - - (montant_limite_tranches_d832_15_1 * n_nombre_parts_d832_11)) * - taux_tranche_supérieure_d832_15_1) - sinon 0,0) + - (si - # Pour la tranche inférieure - ressources_ménage_arrondies <= - montant_limite_tranches_d832_15_1 * n_nombre_parts_d832_11 - alors - ressources_ménage_arrondies * taux_tranche_inférieure_d832_15_1 - sinon - ((montant_limite_tranches_d832_15_1 * n_nombre_parts_d832_11) * - taux_tranche_inférieure_d832_15_1))) / 12,0) -# PS: les ressources ont déjà été arrondies, voir D823-17. -``` - -2° Pour les logements existants améliorés et occupés par leur propriétaire, selon -les dispositions du premier alinéa de l'article D. 832-26 dans lesquelles la -mensualité minimale " L0 " se substitue à l'équivalence minimale de loyer et de -charges " E0 ". - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition mensualité_minimale sous condition - type_travaux_logement sous forme TravauxSurLogementDéjàAcquisD832_15_2 - conséquence égal à - calcul_équivalence_loyer_minimale.montant - - # Mettre la condition à "faux" permet d'activer le premier alinéa de D832-26 - définition calcul_équivalence_loyer_minimale.condition_2_du_832_25 égal à faux - définition calcul_équivalence_loyer_minimale.ressources_ménage_arrondies - égal à ressources_ménage_arrondies - définition calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25 égal à - n_nombre_parts_d832_11 -``` - -####### Article D832-16 | LEGIARTI000041477280 - -Dans le cas du calcul de l'aide personnalisée des copropriétaires prévu à l'article R. 821-4 : - -1° La mensualité " L " représente le quotient des mensualités par le nombre de copropriétaires, -cotitulaires du prêt ouvrant droit à l'aide personnalisée, le résultat étant pris en compte dans -la limite de la mensualité plafond prévue au 3° de l'article D. 832-10 qui correspond à -la situation familiale de chacun des intéressés ; - -2° Il est fait application à chaque personne ou ménage concerné du coefficient " N " défini -au 4° de l'article D. 832-11 et de l'élément " C " défini au 4° de l'article D. 832-10, -qui correspondent à sa situation familiale. - -Les arrêtés fixant les plafonds de mensualité mentionnés au 3° de l'article D. 832-10 -et les montants forfaitaires au titre des charges mentionnées au 4° du même article -peuvent fixer des montants spécifiques pour les ménages copropriétaires. - -```catala -# Dans R821-4, nous avons déjà dit qu'il s'agissait simplement pour tous les -# co-propriétaires de remplir séparément des formulaires de demande APL. -# Cet article précise simplement qu'il faut diviser la mensualité selon -# le nombre de copropriétaires mais cela semble logique et nous laissons -# donc ce pré-calcul aux utilisateurs. -``` - -####### Article D832-17 | LEGIARTI000038878732 - -Pour les contrats de prêts et contrats de location-accession signés après le 30 juin 1999, -la dépense nette minimale mentionnée au dixième alinéa de l'article D. 832-10 est obtenue -en déduisant de la mensualité déclarée, majorée du montant forfaitaire des charges, -le montant mensuel de l'aide calculé selon les dispositions des deuxième à neuvième -alinéas du même article. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - exception - définition dépense_nette_minimale_d832_10 de allocation_mensuelle - sous condition - date_signature_prêt >= |1999-06-30| - conséquence égal à - mensualité_principale + montant_forfaitaire_charges_d832_10 - - allocation_mensuelle -``` - -Dans les autres cas, cette dépense nette est obtenue en déduisant de la seule mensualité -déclarée le montant mensuel de l'aide calculé de la même façon. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition dépense_nette_minimale_d832_10 de allocation_mensuelle égal à - mensualité_principale - allocation_mensuelle -``` - -Lorsque la dépense nette ainsi calculée est inférieure au produit des ressources et d'un -coefficient fixé par arrêté, selon la date de signature du contrat et la finalité de -l'opération, il est appliqué un abattement sur le montant mensuel de l'aide égal à la -différence constatée. - -```catala -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition abattement_dépense_nette_minimale_d832_10 - de allocation_mensuelle - égal à - soit dépense_nette_minimale égal à - dépense_nette_minimale_d832_10 de allocation_mensuelle - dans - si dépense_nette_minimale<= - ressources_ménage_avec_d832_18 * coefficient_multiplicateur_d832_17_3 - alors - ressources_ménage_avec_d832_18 * coefficient_multiplicateur_d832_17_3 - - dépense_nette_minimale - sinon - 0€ -``` - -Les ressources sont appréciées selon les modalités prévues à la section 2 du chapitre -II du titre II du présent livre et, le cas échéant, à l'article D. 832-18 , et arrondies -à la centaine d'euros supérieure. - -####### Article D832-18 | LEGIARTI000038878730 - -Si les ressources du bénéficiaire et de son conjoint déterminées selon les modalités -prévues à la section 2 du chapitre II du titre II du présent livre sont inférieures -à un montant déterminé par le produit d'un coefficient, fixé par arrêté, et des -mensualités déclarées, les ressources sont réputées égales à ce montant, sauf lorsque -les intéressés se trouvent dans l'une des situations mentionnées aux articles R. 822-11 -et R. 822-13 à R. 822-17 . - -```catala -# Les ressources mentionnées ici prennent-elles en compte -# les ressources des personnes à charge autre que le bénéficiaire et son -# conjoint ? -# Non, selon réponse de DGALN/DHUP/FE4 du 25/05/2022. -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition ressources_ménage_avec_d832_18 égal à - si ressources_ménage_arrondies <= mensualité_principale * - coefficient_multiplicateur_d832_18 - alors - mensualité_principale * coefficient_multiplicateur_d832_18 - sinon ressources_ménage_arrondies - - exception définition ressources_ménage_avec_d832_18 sous condition - situation_r822_11_13_17 - conséquence égal à ressources_ménage_arrondies -``` - -####### Article D832-19 | LEGIARTI000038878728 - -Les arrêtés mentionnés dans la présente section sont pris par les ministres chargés du -logement, du budget, de la sécurité sociale et de l'agriculture. -832-26 -Le zonage géographique est fixé par arrêté des ministres chargés du logement et du budget. - -```catala -# Pas pertinent pour le calcul. -``` - -###### Section 3 : Logements-foyers - -####### Sous-Section 1 : Conditions d'assimilation des logements-foyers aux logements à usage locatif - -######## Article R832-20 | LEGIARTI000038878722 - -La présente section ne s'applique qu'à ceux des logements-foyers mentionnés à l'article -L. 633-1 qui fournissent, le cas échéant, diverses prestations annexes telles que -blanchissage, service de soins ou services socio-éducatifs moyennant une redevance. - -Ces logements-foyers sont : - -1° Les logements-foyers accueillant, à titre principal, des personnes handicapées ou des -personnes âgées ; - -2° Les résidences sociales ; - -3° Les logements-foyers accueillant, à titre principal, des jeunes travailleurs ou des -travailleurs migrants et ayant fait l'objet d'une convention, prévue à l'article L. 353-2 , -signée avant le 1er janvier 1995. - -```catala-metadata -# Cette typologie vient restreindre la typologie de logements-foyer permettant -# d'ouvrir droit aux aides au logement. -déclaration énumération TypeLogementFoyer: - -- LogementPersonnesÂgéesOuHandicapées - -- RésidenceSociale - -- FoyerJeunesTravailleursOuMigrantsConventionnéL353_2Avant1995 - -- Autre - -# Afin de coder cette restriction nous allons définir une exception négative -# à "condition_logement_bailleur" dans le champ d'application -# "ÉligibilitéAidePersonnaliséeLogement" qui assurera que les logements-foyer -# "Autre" soient bien exclus de l'éligibilité à l'APL. -champ d'application ÉligibilitéAidePersonnaliséeLogement: - exception logement_foyer - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- RésidentLogementFoyer de logement_foyer: - logement_foyer.type sous forme TypeLogementFoyer.Autre - -- n'importe quel: faux - conséquence non rempli -``` - -######## Article R832-21 | LEGIARTI000039048891 - -Pour l'application du 5° de l'article L. 831-1 , peuvent être assimilés à des logements -à usage locatif : - -1° Les logements-foyers existants dont la construction a été financée : - -a) Soit dans les conditions prévues par les articles L. 313-1 , L. 411-1 , R. 311-1 et -R. 431-49 sous réserve que, lorsque des crédits collectés au titre de la participation -des employeurs à l'effort de construction ont constitué le seul financement entrant dans -le champ d'application des articles précités, le montant de ces crédits doit représenter -au moins 20 % du coût de la construction ; - -b) Soit au moyen des subventions accordées sur le budget du ministre chargé de la santé, -représentant au moins 20 % du coût de la construction ; - -2° Les logements-foyers existants dont l'amélioration ou l'acquisition suivie d'une -amélioration est financée : - -a) Soit dans les conditions prévues par la section 1 du chapitre Ier du titre III du livre III ; - -b) Soit dans les conditions prévues par la section 1 du chapitre III du titre II du livre III ; - -c) Soit au moyen de crédits collectés au titre de la participation des employeurs à l'effort -de construction dans les conditions prévues par le troisième alinéa de l'article L. 313-1 -dans le cadre d'une opération ayant fait l'objet d'un agrément des ministres chargés du -logement et des travailleurs immigrés ; - -d) Soit au moyen de subventions accordées sur le budget du ministre chargé de la santé ou -de la caisse nationale de solidarité pour l'autonomie représentant au moins 20 % du coût -des travaux d'amélioration pouvant faire l'objet d'une subvention ou du coût de l'opération -d'acquisition-amélioration. - -Il en est de même des immeubles améliorés ou acquis et améliorés aux fins de transformation -en logements-foyers avec le bénéfice des financements mentionnés ci-dessus ; - -3° Les logements-foyers neufs dont la construction est financée : - -a) Soit dans les conditions prévues par la section 1 du chapitre Ier du titre III du livre III ; - -b) Soit au moyen de subventions accordées sur le budget du ministère chargé de la santé -représentant au moins 20 % du coût de la construction ; - -4° Les établissements d'hébergement mentionnés au III de l'article R. 321-12 , dès lors que -leurs caractéristiques techniques respectent celles des logements-foyers prévues par l'arrêté -mentionné à l'article D. 331-8 et que la convention prévue au II de l'article R. 321-20 est -remplacée par la convention prévue au III de l'article R. 353-159 . - -```catala -champ d'application ÉligibilitéAidePersonnaliséeLogement: - étiquette logement_foyer - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- RésidentLogementFoyer de logement_foyer: - logement_foyer.remplit_conditions_r832_21 - # On a regroupé toutes les conditions au dessus dans une seule - # variable, le calcul n'étant pas ici pertinent. - -- n'importe quel: faux - conséquence rempli -``` - -######## Article R832-22 | LEGIARTI000038878718 - -Sont assimilés à des logements locatifs en application du 5° de l'article L. 831-1 , -les logements-foyers qui répondent à l'une des conditions fixées aux articles R. 832-20 -et R. 832-21 et font l'objet d'une convention passée dans les conditions prévues à -la section 7 du chapitre III du titre V du livre III. - -```catala -# Article redondant, rien à coder ici. -``` - -####### Sous-Section 2 : Conditions d'octroi de l'aide personnalisée au logement aux personnes résidant dans un logement-foyer - -######## Article R832-23 | LEGIARTI000038878714 - -Par dérogation à l'article R. 823-10 , l'aide est due à l'occupant d'un logement-foyer mentionné -aux 2° et 3° de l'article R. 832-20 à partir du premier jour du premier mois civil pour lequel -cet occupant acquitte l'intégralité de la redevance mensuelle prévue par le titre d'occupation, -sous réserve que les autres conditions d'ouverture du droit soient réunies à cette date. - -```catala -# On ne cherche pas à coder pour l'instant le calcul du calendrier d'ouverture -# des droits dans les différentes situations. -``` - -######## Article D832-24 | LEGIARTI000038878712 - -Pour les ménages résidant dans un logement-foyer mentionné à l'article R. 832-22 , le montant -mensuel de l'aide est calculé selon la formule et les modalités suivantes : - -$$\textrm{Af} = \textrm{K} \times (\textrm{E}-\textrm{E0})$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition aide_finale_formule égal à - soit aide_finale égal à - (équivalence_loyer_éligible - équivalence_loyer_minimale) * - coefficient_prise_en_charge_d832_25 - dans - si aide_finale < 0 € alors 0 € sinon aide_finale -``` - -où : - -1° " Af " est l'aide mensuelle issue de la formule de calcul ; - -2° " K " est le coefficient de prise en charge ; il est calculé selon les dispositions de -l'article D. 832-25 ; - -3° " E " est l'équivalence de loyer et de charges locatives éligible, définie aux articles -R. 353-156 à R. 353-160 , et prise en compte dans la limite d'un plafond fixé par arrêté en fonction -de la zone géographique et de la composition familiale ; - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition équivalence_loyer_éligible égal à - si redevance >= plafond_équivalence_loyer_éligible alors - plafond_équivalence_loyer_éligible - sinon - redevance -``` - -4° " E0 " est l'équivalence de loyer et de charges locatives minimale ; elle est calculée selon -les dispositions de l'article D. 832-26. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition équivalence_loyer_minimale égal à - calcul_équivalence_loyer_minimale.montant - définition calcul_équivalence_loyer_minimale.condition_2_du_832_25 égal à - condition_2_du_832_25 - définition calcul_équivalence_loyer_minimale.ressources_ménage_arrondies - égal à ressources_ménage_arrondies - définition calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25 égal à - n_nombre_parts_d832_25 -``` - -Le montant ainsi calculé est minoré d'un montant fixé forfaitairement par arrêté. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition traitement_aide_finale de aide_finale - état minoration_forfaitaire - égal à - si aide_finale - montant_forfaitaire_d832_24 >= 0€ - alors - aide_finale - montant_forfaitaire_d832_24 - sinon 0€ -``` - -Ce résultat est minoré d'un abattement au titre de la dépense nette minimale, dont les modalités -de calcul sont fixées à l'article D. 832-27. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition traitement_aide_finale de aide_finale état abattement égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit aide_finale égal à - aide_finale - abattement_dépense_nette_minimale_d832_27 de aide_finale - dans - si aide_finale >= 0€ alors aide_finale sinon 0€ -``` - -Ce dernier résultat est diminué d'un montant représentatif des contributions sociales qui -s'y appliquent, arrondi à l'euro inférieur, puis majoré de ce montant représentatif. - - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition traitement_aide_finale de aide_finale - état contributions_sociales_arrondi - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit crds égal à - contributions_sociales.montant de aide_finale - dans - soit aide_finale_moins_crds_arrondie égal à - arrondi de ((aide_finale - crds) - 0,50€) - dans si - aide_finale_moins_crds_arrondie + crds >= 0€ - alors - aide_finale_moins_crds_arrondie + crds - sinon 0€ -``` - -Lorsque le montant mensuel de l'aide, calculé selon les modalités précédentes, est inférieur -à un montant fixé par arrêté, il n'est pas procédé à son versement. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition traitement_aide_finale de aide_finale état montant_minimal égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si aide_finale < montant_minimal_aide_d823_24 - alors 0 € sinon aide_finale -``` - -######## Article D832-25 | LEGIARTI000047401364 - -Le coefficient " K ", défini au 2° de l'article D. 832-24, est calculé selon la formule et -les modalités précisées au 1° du présent article. - -Toutefois, pour les logements-foyers de jeunes travailleurs conventionnés après le 30 septembre 1990 -et pour les résidences sociales conventionnées après le 31 décembre 1994, en application du 5° -de l'article L. 831-1 , et mentionnés au 1° de l'article R. 832-21 , le coefficient " K " est calculé -selon la formule et les modalités précisées au 2° du présent article. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition condition_2_du_832_25 égal à - (logement_foyer_jeunes_travailleurs et - date_conventionnement >= |1990-09-30|) ou - selon type_logement_foyer sous forme - -- RésidenceSociale: - date_conventionnement >= |1994-12-31| - -- n'importe quel: faux -``` - -1° - -$$\textrm{K} = 0,95 - \frac{\textrm{R} - \textrm{r} \times \textrm{N}}{\textrm{cm} \times \textrm{N}}$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition coefficient_prise_en_charge_d832_25 état formule égal à - soit dénominateur égal à ressources_ménage_arrondies - - coefficient_r_d832_25 * n_nombre_parts_d832_25 - dans - soit dénominateur égal à - si dénominateur < 0€ alors 0€ sinon dénominateur - dans - 0,95 - - (dénominateur / - (coefficient_multiplicateur_d832_25 * n_nombre_parts_d832_25) - ) -``` - -où : - -a) " K " est le coefficient de prise en charge, arrondi à deux décimales par défaut. Lorsque le -calcul le porte à une valeur supérieure à 0,95, il est considéré égal à 0,95 ; - - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition coefficient_prise_en_charge_d832_25 état coeff_arrondi égal à - (arrondi de ((coefficient_prise_en_charge_d832_25 - 0,005) - * 100,0)) / 100,0 - définition coefficient_prise_en_charge_d832_25 état seuil égal à - si coefficient_prise_en_charge_d832_25 >= 0,95 alors 0,95 sinon - coefficient_prise_en_charge_d832_25 -``` - -b) " R " représente les ressources du ménage, appréciées selon les modalités -prévues à la section 2 du chapitre II du titre II du présent livre et arrondies -à la centaine d'euros supérieure ; - -c) " r " est un coefficient fixé par arrêté ; - -d) " cm " est un coefficient multiplicateur fixé par arrêté ; - -e) " N " représente le nombre de parts déterminé selon le barème suivant : - ------------------------------------------------------------- --- -bénéficiaire isolé 1,4 -ménage sans personne à charge 1,8 -bénéficiaire isolé ou ménage ayant une personne à charge 2,5 -bénéficiaire isolé ou ménage ayant deux personnes à charge 3,0 -bénéficiaire isolé ou ménage ayant trois personnes à charge 3,7 -bénéficiaire isolé ou ménage ayant quatre personnes à charge 4,3 -majoration par personne à charge supplémentaire 0,5 -------------------------------------------------------------- --- - -```catala -champ d'application CalculNombrePartLogementFoyer: - définition n_nombre_parts_d832_25_base égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1,4 - -- Couple: 1,8 - sinon si nombre_personnes_à_charge = 1 alors - 2,5 - sinon si nombre_personnes_à_charge = 2 alors - 3,0 - sinon si nombre_personnes_à_charge = 3 alors - 3,7 - sinon # si nombre_personnes_à_charge = 4 alors - 4,3 - - étiquette d832_25_1 - définition n_nombre_parts_d832_25_majoration égal à - si nombre_personnes_à_charge > 4 alors - 0,5 * (décimal de (nombre_personnes_à_charge - 4)) - sinon 0,0 - - définition n_nombre_parts_d832_25 égal à - n_nombre_parts_d832_25_base + n_nombre_parts_d832_25_majoration - -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition calcul_nombre_parts.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_nombre_parts.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl - définition calcul_nombre_parts.condition_2_du_832_25 égal à - condition_2_du_832_25 - définition calcul_nombre_parts.date_courante égal à date_courante - définition n_nombre_parts_d832_25 égal à - calcul_nombre_parts.n_nombre_parts_d832_25 -``` - -2° - -$$\textrm{K} = 0,90 - \frac{\textrm{R}}{\textrm{cm} \times \textrm{N}}$$ - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - exception définition coefficient_prise_en_charge_d832_25 état formule - sous condition - condition_2_du_832_25 - conséquence égal à - 0,90 - - (ressources_ménage_arrondies / - (coefficient_multiplicateur_d832_25 * n_nombre_parts_d832_25) - ) -``` -où : - -a) " K " est le coefficient de prise en charge, arrondi à deux décimales par défaut ; -lorsque le calcul le porte à une valeur supérieure à 0,90, il est considéré égal à 0,90 ; - - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - exception définition coefficient_prise_en_charge_d832_25 état coeff_arrondi - sous condition - condition_2_du_832_25 - conséquence égal à - (arrondi de ((coefficient_prise_en_charge_d832_25 - 0,005) - * 100,0)) / 100,0 - exception définition coefficient_prise_en_charge_d832_25 état seuil - sous condition - condition_2_du_832_25 - conséquence égal à - si coefficient_prise_en_charge_d832_25 >= 0,90 alors 0,90 sinon - coefficient_prise_en_charge_d832_25 -``` - -b) " R " représente les ressources du ménage, appréciées selon les modalités -prévues à la section 2 du chapitre II du titre II du présent livre et arrondies -à la centaine d'euros supérieure ; - -c) " cm " est un coefficient multiplicateur fixé par arrêté ; - -d) " N " représente le nombre de parts déterminé selon le barème suivant : - ------------------------------------------------------------- --- -bénéficiaire isolé 1,2 -ménage sans personne à charge 1,5 -bénéficiaire isolé ou ménage ayant une personne à charge 2,5 -bénéficiaire isolé ou ménage ayant deux personnes à charge 3,0 -bénéficiaire isolé ou ménage ayant trois personnes à charge 3,7 -bénéficiaire isolé ou ménage ayant quatre personnes à charge 4,3 -majoration par personne à charge supplémentaire 0,5 ------------------------------------------------------------- --- - -```catala -champ d'application CalculNombrePartLogementFoyer: - exception définition n_nombre_parts_d832_25_base sous condition - condition_2_du_832_25 - conséquence égal à - si nombre_personnes_à_charge = 0 alors - selon situation_familiale_calcul_apl sous forme - -- PersonneSeule: 1,2 - -- Couple: 1,5 - sinon si nombre_personnes_à_charge = 1 alors - 2,5 - sinon si nombre_personnes_à_charge = 2 alors - 3,0 - sinon si nombre_personnes_à_charge = 3 alors - 3,7 - sinon # si nombre_personnes_à_charge = 4 alors - 4,3 - - étiquette d832_25_2 exception d832_25_1 - définition n_nombre_parts_d832_25_majoration sous condition - condition_2_du_832_25 - conséquence égal à - si nombre_personnes_à_charge > 4 alors - 0,5 * (décimal de (nombre_personnes_à_charge - 4)) - sinon 0,0 -``` - -######## Article D832-26 | LEGIARTI000047401357 - -L'équivalence de loyer et de charges minimale “ E0 ”, définie au 4° de l'article -D. 832-24, est obtenue par application de pourcentages à des tranches de -ressources, dont les limites inférieures et supérieures initiales sont -multipliées par le nombre de parts “ N ” défini au e du 1° de l'article -D. 832-25, dans la limite des ressources du ménage “ R ” définies au b du 1° -de l'article D. 832-25. Le résultat est majoré du produit d'un montant -forfaitaire par le nombre de parts “ N ”, le total étant ensuite divisé -par douze. - -```catala -# Selon un mail de DGALN/DHUP/FE4 du 19/07/2022, il nest nécessaire pour le -# calcul de cette équivalence de loyer de garder une précision infinie durant -# toutes les étapes du calcul. En Catala, nous utilisons donc le type -# décimal plutôt que argent qui arrondi systématiquement au centime près -# à chaque étape de calcul. -champ d'application CalculÉquivalenceLoyerMinimale: - définition tranches_revenus_d832_26_multipliées égal à - TrancheRevenuDécimal { - -- haut: (selon tranche.haut sous forme - -- LimiteTranche.Infini: LimiteTrancheDécimal.Infini - -- LimiteTranche.Revenu de tranche_haut: - LimiteTrancheDécimal.Revenu contenu - ((décimal de tranche_haut) * n_nombre_parts_d832_25)) - -- bas: décimal de tranche.bas * - n_nombre_parts_d832_25 - -- taux: tranche.taux - } - pour tranche parmi tranches_revenus_d832_26 - - définition montant égal à - soit ressources_ménage_arrondies égal à - décimal de ressources_ménage_arrondies - dans - argent de ( - ((somme décimal de - ((si ressources_ménage_arrondies <= tranche.bas alors 0,0 - sinon - selon tranche.haut sous forme - -- LimiteTrancheDécimal.Revenu de tranche_haut: ( - si - ressources_ménage_arrondies >= tranche_haut - alors - (tranche_haut - tranche.bas) * - tranche.taux - sinon - (ressources_ménage_arrondies - tranche.bas) * - tranche.taux - ) - -- LimiteTrancheDécimal.Infini: - (ressources_ménage_arrondies - tranche.bas) * - tranche.taux)) - pour tranche parmi tranches_revenus_d832_26_multipliées) - + - décimal de montant_forfaitaire_d832_26 - * n_nombre_parts_d832_25) - / 12,0) -``` - -Toutefois, pour les logements-foyers de jeunes travailleurs et pour les -résidences sociales mentionnés au deuxième alinéa de l'article D. 832-25, -“ E0 ” est obtenue par application de pourcentages à des tranches de ressources, -dont les limites inférieures et supérieures initiales sont multipliées par le -nombre de parts “ N ” défini au d du 2° de l'article D. 832-25, dans la limite -des ressources du ménage “ R ” définies au b du 2° de l'article D. 832-25. Le -résultat est majoré d'un montant forfaitaire, le total étant ensuite divisé par -douze. - -```catala -champ d'application CalculÉquivalenceLoyerMinimale: - exception définition montant sous condition - condition_2_du_832_25 - conséquence égal à - soit ressources_ménage_arrondies égal à - décimal de ressources_ménage_arrondies - dans - argent de ( - ((somme décimal de - ((si ressources_ménage_arrondies <= tranche.bas alors 0,0 - sinon - (selon tranche.haut sous forme - -- LimiteTrancheDécimal.Revenu de tranche_haut: ( - si - ressources_ménage_arrondies >= tranche_haut - alors - (tranche_haut - tranche.bas) * - tranche.taux - sinon - (ressources_ménage_arrondies - tranche.bas) * - tranche.taux - ) - -- LimiteTrancheDécimal.Infini: - (ressources_ménage_arrondies - tranche.bas) * - tranche.taux)) - pour tranche parmi tranches_revenus_d832_26_multipliées)) - + - décimal de montant_forfaitaire_d832_26) - / 12,0) -``` - -Les pourcentages, les montants forfaitaires et les limites initiales des -tranches sont fixés par arrêté. - -######## Article D832-27 | LEGIARTI000038878706 - -La dépense nette de logement, mentionnée au neuvième alinéa de l'article D. 832-24 , est égale -à la différence entre l'équivalence de loyer et de charges locatives éligibles " E " et le -montant mensuel de l'aide calculé selon les dispositions des premier à huitième alinéas du -même article. Lorsque cette dépense nette de logement est inférieure à un montant fixé par -arrêté selon le type de logements-foyer, l'abattement à effectuer sur le montant mensuel de -l'aide est égal à la différence constatée. - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition dépense_nette_minimale_d832_27 de allocation_mensuelle - égal à - équivalence_loyer_éligible - allocation_mensuelle - - définition abattement_dépense_nette_minimale_d832_27 - de allocation_mensuelle - égal à - soit dépense_nette_minimale égal à - dépense_nette_minimale_d832_27 de allocation_mensuelle - dans - si dépense_nette_minimale <= montant_forfaitaire_d832_27 - alors montant_forfaitaire_d832_27 - dépense_nette_minimale - sinon 0€ -``` -######## Article D832-28 | LEGIARTI000038878704 - -Les arrêtés mentionnés dans la présente section sont pris par les ministres chargés du logement, -du budget, de la sécurité sociale et de l'agriculture. - -Le zonage géographique est fixé par arrêté des ministres chargés du logement et du budget. - - -#### Titre IV : Allocations de Logement - -##### Chapitre 1 : Champ d'application - -####### Article D841-1 | LEGIARTI000038878698 - -Pour l'application du 3° de l'article L. 841-1 , la durée pendant laquelle l'allocation est -due est fixée à cinq ans. - -```catala -champ d'application ÉligibilitéAllocationLogement: - définition durée_l841_1_3 égal à 5 an -``` - -####### Article R841-2 | LEGIARTI000038878696 - -Les allocataires sans personne à charge mentionnés au 6° de l'article L. 841-1 sont assimilés -aux ménages sans enfant, pour le calcul de leur allocation de logement familiale. - -```catala -# Confirme qu'une femme enceinte est considérée comme une personne seule. -``` - -##### Chapitre 2 : Modalités de liquidation et de versement des allocations de logement - -###### Section 1 : Secteur locatif ordinaire - -####### Article D842-1 | LEGIARTI000038878687 - -Les dispositions de la section 1 du chapitre III du titre II du présent livre sont applicables -au calcul de l'allocation de logement versée en secteur locatif, sous réserve des dispositions -des articles D. 842-2 et D. 842-4. - -```catala -# Ici nous branchons le calcul de l'AL en secteur locatif sur le calcul de -# l'APL en secteur locatif. -champ d'application CalculAllocationLogementLocatif: - définition calcul_apl_locatif.loyer_principal égal à - loyer_principal - définition calcul_apl_locatif.ressources_ménage_arrondies égal à - ressources_ménage_arrondies - définition calcul_apl_locatif.bénéficiaire_aide_adulte_ou_enfant_handicapés - égal à - bénéficiaire_aide_adulte_ou_enfant_handicapés - définition calcul_apl_locatif.date_courante égal à - date_courante - définition calcul_apl_locatif.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_apl_locatif.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl - définition calcul_apl_locatif.zone égal à - zone - définition calcul_apl_locatif.logement_est_chambre égal à - logement_est_chambre - définition - calcul_apl_locatif. - âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à - âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - définition calcul_apl_locatif.type_aide égal à - type_aide - définition calcul_apl_locatif.colocation égal à - colocation - définition calcul_apl_locatif.réduction_loyer_solidarité égal à - réduction_loyer_solidarité - définition calcul_apl_locatif.logement_meublé_d842_2 égal à - logement_meublé_d842_2 - définition calcul_apl_locatif.résidence égal à résidence - - - définition aide_finale_formule égal à calcul_apl_locatif.aide_finale_formule - définition traitement_aide_finale de aide_finale égal à - calcul_apl_locatif.traitement_aide_finale de aide_finale -``` - -####### Article D842-2 | LEGIARTI000038878685 - -En cas de logement en hôtel meublé ou en établissement assimilé, ou lorsque l'allocataire occupe -un logement loué en meublé, le prix du loyer est remplacé par les deux tiers du prix effectivement -payé dans la limite du loyer-plafond. - -```catala -# D'après D823-18, cet article s'applique aussi pour l'aide personnalisée au -# logement. Puisque CalculAllocationLogementLocatif appelle toujours -# CalculAidePersonnaliséeLogementLocatif, il suffit de définir la manipulation -# dans CalculAidePersonnaliséeLogementLocatif. -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition loyer_principal état avec_réduction_meublé égal à - si logement_meublé_d842_2 alors - loyer_principal * (2,0 / 3,0) - sinon - loyer_principal -``` - -Dans le cas d'un local à usage mixte d'habitation et professionnel, il n'est pas tenu compte -des majorations de loyers résultant de l'affectation d'une partie des lieux à l'exercice d'une -profession. - -```catala -# Pas pertinent de le formaliser ici puisqu'il s'agit surtout d'une indication -# sur la manière de remplir la variable "loyer_principal" dans le formulaire. -``` - -Lorsque le logement est compris dans les locaux relevant du statut du fermage, lorsque le -logement est à usage mixte d'habitation et commercial ou lorsqu'il est loué à titre d'accessoire -du contrat de travail, l'évaluation du loyer est faite, en tant que de besoin, par référence -à celui de logements similaires dans la même commune ou dans des communes avoisinantes. - - -```catala -# Pas pertinent de le formaliser ici puisqu'il s'agit surtout d'une indication -# sur la manière de remplir la variable "loyer_principal" dans le formulaire. -``` - -####### Article D842-3 | LEGIARTI000041477287 - -En cas de colocation telle que définie à l'article R. 821-4 , le loyer principal retenu est le -résultat du quotient du loyer effectivement payé par le nombre de cotitulaires du bail ou de -l'engagement de location. - -```catala -# Pas pertinent de le formaliser ici puisqu'il s'agit surtout d'une indication -# sur la manière de remplir la variable "loyer_principal" dans le formulaire. -``` - -####### Article D842-4 | LEGIARTI000038878681 - -Lorsqu'à la suite, soit d'un échange consenti pour libérer un logement dont la superficie -excède celle prévue à l'article R. 822-25 , soit d'une expropriation pour cause d'utilité -publique ou d'une opération d'aménagement ou de rénovation urbaine ou de résorption d'habitat -insalubre en application de l'article L. 522-1 , soit de la démolition d'un immeuble ayant -fait l'objet d'une déclaration d'insalubrité, d'une interdiction d'habiter ou d'un arrêté -de péril, soit d'une opération de restauration immobilière, les personnes mentionnées au 3° -de l'article D. 842-16 qui, au titre de leur ancien logement, bénéficiaient de l'allocation -de logement ou qui remplissaient les conditions pour pouvoir en bénéficier, ont été amenées, -de leur propre fait ou à l'initiative des pouvoirs publics, à occuper un logement locatif -présentant un loyer plus élevé que celui qu'elles payaient précédemment, l'allocation est -calculée de façon à couvrir la différence entre le loyer principal acquitté dans l'ancien -logement, déduction faite, le cas échéant, de l'allocation qui leur était octroyée et le -nouveau loyer principal qui leur est réclamé, dans la limite du plafond fixé en application -du 3° de l'article L. 823-1 . - -```catala -champ d'application CalculAllocationLogementLocatif sous condition - selon changement_logement_d842_4 sous forme - -- Changement de infos: - loyer_principal >= infos.ancien_loyer_principal - -- PasDeChangement: faux: - - exception définition aide_finale_formule égal à - selon changement_logement_d842_4 sous forme - -- Changement de infos: - loyer_principal - - (infos.ancien_loyer_principal - infos.ancienne_allocation_logement) - -- n'importe quel: 0 € # N'arrive pas - - # TODO juridique: confirmer cette ligne - exception définition traitement_aide_finale de aide_finale égal à - aide_finale -``` - -###### Section 2 : Accession à la propriété - -####### Article R842-5 | LEGIARTI000039048889 - -L'allocation de logement est accordée au titre de la résidence principale : - -```catala -# Cet article dispose qu'en cas d'accession à la propriété, l'allocation -# logement est plus restrictive. On définit donc une variable qui va -# être vraie tout le temps sauf en cas d'accession propriété. Puis -# on définit des exceptions à cette règle pour les 1°, 2° et 3° de cet -# article. -# TODO juridique: vérifier si cela s'applique à la location-accession ou pas -champ d'application ÉligibilitéAllocationLogement: - règle condition_accession_propriété sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation: faux - -- n'importe quel: vrai - conséquence rempli -``` - -1° Aux personnes propriétaires du logement pendant la période au cours de laquelle elles se -libèrent de la dette contractée pour accéder à la propriété de ce logement et, le cas échéant, -de celle contractée en même temps pour réaliser des travaux permettant de remplir les -conditions de décence ; - -```catala -# "le cas échéant, de celle contractée en même temps pour -# réaliser des travaux permettant de remplir les conditions de décence" -# Quel est le sens de cette précision, quel cas cela recouvre-t-il ? -# Quand il y a deux prêts différents, un pour le logement et un pour les -# travaux, donc les périodes de remboursement se chevauchent mais ne sont -# pas égales ? Les deux prêts doivent-t-il commencer en même temps? -# Réponse de DGALN/DHUP/FE4 le 20/05/2022: -# "Il s’agit de travaux pour la décence (cf. art 6 loi de 89 et décret décence -# du 30/01/2002) et non juste de travaux d’embellissement." -# Lorsqu’il y a deux prêts différents, un pour le logement et un pour -# les travaux et que les périodes de remboursement se chevauchent et ne sont -# pas égales, doit-on comprendre que les deux prêts doivent commencer en -# même temps pour que la disposition s’applique ? -# Réponse de DGALN/DHUP/FE4 du 25/05/2022: -# "Soit la demande est globale avec 2 prêts « en même temps » (cf. 1°), soit -# les travaux arrivent ultérieurement, dans ce cas c’est le 2°." -champ d'application ÉligibilitéAllocationLogement: - exception règle condition_accession_propriété sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - propriétaire.prêt.titulaire_prêt sous forme Demandeur et - (propriétaire.type_travaux_logement_r842_5 sous forme - TypeTravauxLogementR842_5.PasDeTravaux ou - propriétaire.type_travaux_logement_r842_5 sous forme - ObjectifDécenceLogement) - -- n'importe quel: faux - conséquence rempli -``` - -2° Aux personnes qui se libèrent d'une dette contractée en vue de réaliser des travaux -figurant sur la liste mentionnée à l'article R. 321-15 ; - -```catala -champ d'application ÉligibilitéAllocationLogement: - exception règle condition_accession_propriété sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - propriétaire.prêt.titulaire_prêt sous forme Demandeur et - propriétaire.type_travaux_logement_r842_5 sous forme - PrévuDansListeR321_15 - -- n'importe quel: faux - conséquence rempli -``` - -3° Aux personnes qui se libèrent d'une dette contractée en vue soit d'agrandir leur logement, -soit d'aménager à usage de logements des locaux non destinés à l'habitation, lorsque ces -travaux répondent aux normes techniques imposées pour le bénéfice des prêts conventionnés -mentionnés à l'article D. 331-63 . - -```catala -champ d'application ÉligibilitéAllocationLogement: - exception règle condition_accession_propriété sous condition - selon ménage.logement.mode_occupation sous forme - -- AccessionPropriétéLocalUsageExclusifHabitation de propriétaire: - propriétaire.prêt.titulaire_prêt sous forme Demandeur et - propriétaire.type_travaux_logement_r842_5 sous forme - AgrandirOuRendreHabitableD331_63 - -- n'importe quel: faux - conséquence rempli -``` - -####### Article D842-6 | LEGIARTI000038878675 - -Pour les ménages mentionnés à l'article R. 842-5 , le montant mensuel de l'allocation est -calculé selon la formule et les modalités suivantes : - -$$\textrm{Af} = \textrm{K} \times (\textrm{L} + \textrm{C}-\textrm{L0})$$ - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition aide_finale_formule égal à - ( - mensualité_éligible + montant_forfaitaire_charges - - mensualité_minimale - ) * coefficient_prise_en_charge -``` - -où : - -1° " Af " est l'allocation mensuelle issue de la formule de calcul ; - -2° " K " est le coefficient de prise en charge, calculé selon les dispositions du 2° de -l'article D. 832-25 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - # En définissant cette variable de contexte, on s'assure que le chemin de code - # pris dans le sous-champ d'application du calcul de l'APL en secteur logement - # foyer prenne bien le 2° du D832-25 et non pas le 1°. - définition calcul_apl_logement_foyer.condition_2_du_832_25 égal à - vrai - - définition coefficient_prise_en_charge égal à - calcul_apl_logement_foyer.coefficient_prise_en_charge_d832_25 -``` - -3° " L " est la mensualité éligible ; elle correspond à la mensualité principale, -déterminée selon les dispositions articles D. 842-7 à D. 842-10, prise en compte dans la -limite d'un plafond fixé par arrêté en fonction de la zone géographique et de la -composition familiale ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition mensualité_éligible égal à - si mensualité_principale > plafond_mensualité_d842_6 alors - plafond_mensualité_d842_6 - sinon - mensualité_principale -``` - -4° " C " est le montant forfaitaire au titre des charges, fixé par arrêté en fonction de la -composition familiale ; - -5° " L0 " est la mensualité minimale, calculée selon les dispositions du deuxième alinéa de -l'article D. 832-26, dans lesquelles elle se substitue à " E0 ". - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition mensualité_minimale égal à - calcul_équivalence_loyer_minimale.montant - - # Mettre la condition à "faux" permet d'activer le deuxième alinéa de D832-26 - définition calcul_équivalence_loyer_minimale.condition_2_du_832_25 égal à vrai - définition calcul_équivalence_loyer_minimale.ressources_ménage_arrondies - égal à ressources_ménage_arrondies - définition calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25 égal à - calcul_nombre_parts.n_nombre_parts_d832_11 - définition calcul_nombre_parts.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_nombre_parts.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl -``` - -Ce résultat, ainsi calculé, est minoré d'un montant fixé forfaitairement par arrêté. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale - état minoration_forfaitaire - égal à - si aide_finale - montant_forfaitaire_d842_6 < 0€ alors - 0 € - sinon - (aide_finale - montant_forfaitaire_d842_6) -``` - -Le montant ainsi obtenu est minoré d'un abattement au titre de la dépense nette minimale, -dont les modalités de calcul sont précisées par l'article D. 842-11. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale état dépense_nette_minimale - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit abattement égal à abattement_dépense_nette_minimale de aide_finale dans - si aide_finale < abattement - alors 0 € - sinon aide_finale - abattement -``` - -Ce dernier résultat est diminué d'un montant représentatif des contributions sociales qui -s'y appliquent, arrondi à l'euro inférieur, puis majoré de ce montant représentatif. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale - état contributions_sociales_arrondi - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit crds égal à contributions_sociales.montant de aide_finale dans - soit aide_finale_moins_crds_arrondie égal à - arrondi de ((aide_finale - crds) - 0,50€) - dans - si - aide_finale_moins_crds_arrondie + crds >= 0€ - alors - aide_finale_moins_crds_arrondie + crds - sinon 0€ -``` - -Lorsque le montant mensuel de l'allocation, ainsi calculé, est inférieur à un montant fixé -par arrêté, il n'est pas procédé à son versement. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition traitement_aide_finale de aide_finale état montant_minimal égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si aide_finale < montant_minimal_aide_d842_6 - alors 0 € sinon aide_finale -``` - -####### Article D842-7 | LEGIARTI000038878673 - -Sous réserve des dispositions de l'article D. 842-8 , seuls sont pris en considération pour -le calcul de la mensualité " L " définie au 3° de l'article D. 842-6 : - -1° Les charges d'intérêts et d'amortissements et les charges accessoires au principal de -la dette, afférentes aux emprunts contractés en vue de l'accession à la propriété d'un -logement et qui ont fait, pour chacun d'entre eux, l'objet d'un certificat daté, notifié -au demandeur par les organismes prêteurs précisant les modalités ainsi que la périodicité -des paiements, présenté à l'appui de la demande d'allocation de logement ; - -2° Les charges d'intérêts et d'amortissements et les charges accessoires, afférentes aux -emprunts substitués à ceux qui sont mentionnés au 1°, dans la limite des sommes restant -dues en capital sur le montant du premier prêt ; - -3° Les charges afférentes au paiement de tout ou partie du prix d'achat ou ayant pour -objet de financer les dépenses jugées indispensables à la délivrance du certificat de -conformité dans les conditions prévues au 1° ; - -4° Le versement des primes de l'assurance-décès contractée par le bénéficiaire en -garantie de l'exécution des engagements souscrits ; - -5° Les loyers payés en vertu d'un contrat de location-accession ou d'un bail à construction. - -```catala -# Ceci donne des informations sur comment calculer à la main la variable -# d'entrée "mensualité_principale" mais nous ne détaillerons pas le calcul -# en Catala ici. -``` - -####### Article D842-8 | LEGIARTI000038878671 - -Ne sont, notamment, pas pris en considération : - -1° Les remboursements effectués par le bénéficiaire en anticipation des obligations -résultant des contrats de prêts qu'il a souscrits ; - -2° Les prêts constituant une obligation au porteur. -Toutefois, peuvent être pris en considération les prêts au logement consentis par les -banques ou les établissements financiers et en représentation desquels des billets à ordre -ont été créés en vue d'une mobilisation éventuelle de la créance, dès lors que, dans le -contrat de prêt, le créancier et le débiteur sont expressément désignés et que les paiements -sont effectifs. - -```catala -# Ceci donne des informations sur comment calculer à la main la variable -# d'entrée "mensualité_principale" mais nous ne détaillerons pas le calcul -# en Catala ici. -``` - -####### Article D842-9 | LEGIARTI000038878669 - -Pour le calcul de la mensualité " L ", le plafond mensuel mentionné au 3° de l'article -D. 842-6 est applicable pour la période au titre de laquelle le certificat prévu à -l'article D. 842-7 a été établi. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition plafond_mensualité_d842_6 égal à - calcul_plafond_mensualité_d842_6 de - date_signature_prêt, nombre_personnes_à_charge -``` - -Le plafond ainsi retenu ne pourra, en aucun cas, être inférieur à celui applicable au -moment de l'entrée dans les lieux, sous la réserve qu'il s'agisse d'un local habité -pour la première fois par l'allocataire. - -```catala -# La manière dont nous interprétons le deuxième alinéa ci-dessus est la -# suivante : puisque le plafond dépend d'une date (normalement de signature -# du prêt), et qu'en fonction de la date ce plafond varie à la hausse ou à la -# baisse, l'alinéa donne une petite faveur aux propriétaires puisqu'il leur -# permet de choisir la date la plus avantageuse pour calculer le plafond -# entre la date de signature du prêt et celle d'entrée dans le logement si -# le local est habité pour la première fois par le bénéficiaire. -champ d'application CalculAllocationLogementAccessionPropriété: - exception définition plafond_mensualité_d842_6 sous condition - local_habité_première_fois_bénéficiaire - conséquence égal à - soit plafond_signature égal à - calcul_plafond_mensualité_d842_6 de - date_signature_prêt, nombre_personnes_à_charge - dans - soit plafond_entrée égal à - calcul_plafond_mensualité_d842_6 de - date_entrée_logement, nombre_personnes_à_charge - dans - si - plafond_signature < plafond_entrée - alors plafond_entrée - sinon plafond_signature -``` - -####### Article D842-10 | LEGIARTI000041477292 - -Lorsque plusieurs personnes ou ménages constituant des foyers distincts occupent le -même logement et qu'ils sont copropriétaires du logement et cotitulaires du prêt, -pour le calcul de l'allocation de logement : - -1° La mensualité " L " représente le quotient de la somme prise en compte au titre -des charges mentionnées à l'article D. 842-7 par le nombre de copropriétaires, -cotitulaires du prêt ouvrant droit à l'allocation de logement, le résultat étant -pris en compte dans la limite de la mensualité plafond mentionnée au 3° de -l'article D. 842-6 qui correspond à la situation familiale de chacun des -intéressés ; - -2° Il est fait application à chaque personne ou ménage concerné du coefficient -" N " prévu au d du 2° de l'article D. 832-25 et de l'élément " C " prévu au 4° -de l'article D. 842-6 correspondant à sa situation familiale. - -Les arrêtés fixant les plafonds de mensualité mentionnés au 3° de l'article -D. 842-6 et les montants forfaitaires au titre des charges mentionnées au 4° -du même article peuvent fixer des montants spécifiques pour les ménages -copropriétaires. - -```catala -# Ceci donne des informations sur comment calculer à la main la variable -# d'entrée "mensualité_principale" mais nous ne détaillerons pas le calcul -# en Catala ici. -``` - -####### Article D842-11 | LEGIARTI000038878665 - -La dépense nette minimale mentionnée au dixième alinéa de l'article D. 842-6 est obtenue -en déduisant des charges mensuelles de prêts déclarés, majorées du montant forfaitaire -des charges, le montant mensuel de l'allocation calculé selon les dispositions des premier -à neuvième alinéas du même article. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition dépense_nette_minimale de allocation_mensuelle - égal à - charges_mensuelles_prêt + montant_forfaitaire_charges - - allocation_mensuelle -``` - -Lorsque la dépense nette minimale est inférieure à un montant fixé par arrêté, il est -procédé à un abattement sur le montant mensuel de l'allocation égal à la différence -constatée. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition abattement_dépense_nette_minimale de allocation_mensuelle - égal à - soit dépense_nette_minimale égal à - dépense_nette_minimale de allocation_mensuelle - dans si - dépense_nette_minimale < seuil_minimal_dépense_nette_minimale - alors - seuil_minimal_dépense_nette_minimale - dépense_nette_minimale - sinon - 0 € - - définition seuil_minimal_dépense_nette_minimale égal à - montant_forfaitaire_d842_11 -``` - -Toutefois dans les cas mentionnés au 1° et 3° de l'article R. 842-5, lorsque le contrat -de prêt a été signé après le 1er juillet 1999, la dépense nette minimale pour effectuer -l'abattement doit être inférieure au produit des ressources par un coefficient fixé -par arrêté. - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - règle condition_d842_11_3 sous condition - (type_travaux_logement sous forme TypeTravauxLogementR842_5.PasDeTravaux - ou type_travaux_logement sous forme ObjectifDécenceLogement ou - type_travaux_logement sous forme AgrandirOuRendreHabitableD331_63) et - date_signature_prêt >= |1999-07-01| - conséquence rempli - - exception définition seuil_minimal_dépense_nette_minimale sous condition - condition_d842_11_3 - conséquence égal à - ressources_ménage_arrondies * coefficient_d842_11 -``` - -Les ressources sont appréciées selon les modalités prévues à la section 2 du chapitre II -du titre II du présent livre et de l'article D. 842-12 puis arrondies à la centaine -d'euros supérieure. - -####### Article D842-12 | LEGIARTI000038878663 - -Si les ressources de l'allocataire et de son conjoint déterminées selon les modalités -prévues à la section 2 du chapitre II du titre II du présent livre sont inférieures : - -1° A un montant égal au produit d'un coefficient, fixé par arrêté, et de la mensualité -déclarée, s'agissant des prêts signés entre le 1er octobre 1992 et le 30 septembre 1994, -ou après le 30 septembre 1994, si l'allocation est accordée en application du 1° ou 3° -de l'article R. 842-5 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition seuil_minimal_ressources_ménage sous condition - ((date_signature_prêt >= |1992-09-30| et - date_signature_prêt <= |1994-09-30|) ou - (date_signature_prêt > |1994-09-30| et - (type_travaux_logement sous forme TypeTravauxLogementR842_5.PasDeTravaux - ou type_travaux_logement sous forme ObjectifDécenceLogement ou - type_travaux_logement sous forme AgrandirOuRendreHabitableD331_63) - )) - conséquence égal à - mensualité_principale * coefficient_d842_12 -``` - -2° A un montant forfaitaire, fixé par arrêté, s'agissant des prêts signés après le -30 septembre 1994 et lorsque l'allocation est accordée en application du 2° de -l'article R. 842-5 ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition seuil_minimal_ressources_ménage sous condition - date_signature_prêt > |1994-09-30| et - type_travaux_logement sous forme PrévuDansListeR321_15 - conséquence égal à - montant_forfaitaire_d842_12 -``` - -Ces ressources sont portées à ce montant sauf lorsque les intéressés se trouvent -dans l'une des situations mentionnées aux articles R. 822-11 et R. 822-13 à R. 822-17 . - -```catala -champ d'application CalculAllocationLogementAccessionPropriété: - définition ressources_ménage_arrondies état seuil égal à - si ressources_ménage_arrondies <= seuil_minimal_ressources_ménage alors - # Cette formule arrondit à la centaine d'euros supérieure. Essayez quelques - # exemples pour vous en convaincre, dont 100 et 150. - (arrondi de ((seuil_minimal_ressources_ménage + 49,99€) * 1%)) * - 100,0 - sinon - ressources_ménage_arrondies - - exception définition ressources_ménage_arrondies état seuil sous condition - situation_r822_11_13_17 - conséquence égal à - ressources_ménage_arrondies -``` - -####### Article D842-13 | LEGIARTI000038878661 - -Les arrêtés prévus par la présente section sont pris par les ministres chargés -du logement, du budget, de la sécurité sociale et de l'agriculture. - -Le zonage géographique est fixé par arrêté des ministres chargés du logement et du budget. - -```catala -# Pas pertinent ici -``` - -###### Section 3 : Logements-foyers - -####### Article R842-14 | LEGIARTI000038878657 - -Les conditions relatives à la résidence principale et à la superficie du logement -prévues aux articles R. 822-23 et R. 822-25 sont réputées remplies lorsque le -bénéficiaire réside dans un logement-foyer de jeunes travailleurs construit en -application du III de l'article 12 de la loi n° 57-908 du 7 août 1957 tendant -à favoriser la construction de logements et les équipements collectifs. - -```catala -champ d'application ÉligibilitéAllocationLogement sous condition - selon ménage.logement.mode_occupation sous forme - -- RésidentLogementFoyer de logement_foyer: - logement_foyer.construit_application_loi_1957_12_III - -- n'importe quel: faux: - - règle éligibilité_commune.condition_logement_résidence_principale rempli - règle éligibilité_commune.condition_logement_surface rempli -``` - -####### Article D842-15 | LEGIARTI000038878655 - -Pour les bénéficiaires résidant dans un logement-foyer, ou assimilé, mentionné -au 3° de l'article D. 823-9, à l'exception des étudiants logés dans un studio -d'un logement-foyer défini à l'article L. 633-1 pour lesquels le montant mensuel -de l'aide est calculé selon les modalités précisées au 1° de l'article D. 823-9, -le montant mensuel de l'aide est calculé selon la formule et les modalités suivantes : - -$$\textrm{Af} = \textrm{K} \times (\textrm{L} + \textrm{C}-\textrm{L0})$$ - -```catala -champ d'application CalculAllocationLogementFoyer: - définition aide_finale_formule égal à - (équivalence_loyer + - montant_forfaitaire_charges - loyer_minimal) * - coefficient_prise_en_charge -``` - -où : - -1° " Af " est l'aide mensuelle issue de la formule de calcul ; - -2° " K " est le coefficient de prise en charge ; il est calculé selon les dispositions -du 2° de l'article D. 832-25 ; - -```catala -champ d'application CalculAllocationLogementFoyer: - # En définissant cette variable de contexte, on s'assure que le chemin de code - # pris dans le sous-champ d'application du calcul de l'APL en secteur logement - # foyer prenne bien le 2° du D832-25 et non pas le 1°. - définition calcul_apl_logement_foyer.condition_2_du_832_25 égal à - vrai - - définition coefficient_prise_en_charge égal à - calcul_apl_logement_foyer.coefficient_prise_en_charge_d832_25 -``` - -3° " L " est l'équivalence de loyer prise en compte, déterminée selon les dispositions -de l'article D. 842-16 ; - -4° " C " est le montant forfaitaire au titre des charges, fixé par arrêté en fonction -de la composition familiale ; - -5° " L0 " est le loyer minimal ; il est calculé selon les dispositions du deuxième -alinéa de l'article D. 832-26, dans lequel il se substitue à " E0 ". - -```catala -champ d'application CalculAllocationLogementFoyer: - # En définissant comme vraie la condition du 2° de D832-25, on accède - # logiquement aux disposition du deuxième alinéa de D832-26 (voir le jeu - # des renvois). - définition calcul_équivalence_loyer_minimale.condition_2_du_832_25 égal à vrai - définition calcul_équivalence_loyer_minimale.ressources_ménage_arrondies - égal à ressources_ménage_arrondies - - définition calcul_nombre_parts.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_nombre_parts.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl - définition calcul_nombre_parts.condition_2_du_832_25 égal à vrai - définition calcul_nombre_parts.date_courante égal à date_courante - - définition calcul_équivalence_loyer_minimale.n_nombre_parts_d832_25 égal à - calcul_nombre_parts.n_nombre_parts_d832_25 - définition loyer_minimal égal à - calcul_équivalence_loyer_minimale.montant -``` - -Le montant ainsi calculé est minoré d'un montant fixé forfaitairement par arrêté. - -```catala -champ d'application CalculAllocationLogementFoyer: - définition traitement_aide_finale de aide_finale - état minoration_forfaitaire égal à - si aide_finale - montant_forfaitaire_d842_15 < 0€ alors - 0 € - sinon - (aide_finale - montant_forfaitaire_d842_15) -``` - -Ce résultat est minoré d'un abattement au titre de la dépense nette minimale. Les -modalités de calcul de la dépense nette, de sa valeur minimale et de l'abattement -sont fixées à l'article D. 842-17. - -```catala -champ d'application CalculAllocationLogementFoyer: - définition traitement_aide_finale de aide_finale état dépense_nette_minimale - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit abattement égal à abattement_dépense_nette_minimale de aide_finale dans - si aide_finale - abattement < 0€ - alors 0 € - sinon aide_finale - abattement -``` - -Si le montant obtenu par application des dispositions des alinéas précédents est -supérieur au montant de la redevance supportée par le résident, il est rapporté -au montant de cette redevance. - -```catala -# Qu'est-ce que la redevance supportée par le résident? Le loyer -# du logement-foyer? -# OUI, selon réponse de DGALN/DHUP/FE4 du 25/05/2022. -champ d'application CalculAllocationLogementFoyer: - définition traitement_aide_finale de aide_finale état redevance - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si aide_finale > redevance - alors redevance - sinon aide_finale -``` - -Ce dernier résultat est diminué d'un montant représentatif des contributions -sociales qui s'y appliquent, arrondi à l'euro inférieur, puis majoré de ce -montant représentatif. - -```catala -champ d'application CalculAllocationLogementFoyer: - définition traitement_aide_finale de aide_finale - état contributions_sociales_arrondi - égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - soit crds égal à contributions_sociales.montant de aide_finale dans - soit aide_finale_moins_crds_arrondie égal à - arrondi de ((aide_finale - crds) - 0,50€) - dans - si - aide_finale_moins_crds_arrondie + crds >= 0€ - alors - aide_finale_moins_crds_arrondie + crds - sinon 0€ -``` - -Lorsque le montant mensuel de l'aide calculé selon les dispositions des alinéas -précédents est inférieur à un montant fixé par arrêté, il n'est pas procédé à -son versement. - -```catala -champ d'application CalculAllocationLogementFoyer: - définition traitement_aide_finale de aide_finale état montant_minimal égal à - soit aide_finale égal à traitement_aide_finale de aide_finale dans - si aide_finale < montant_minimal_aide_d842_15 - alors 0 € sinon aide_finale -``` - -####### Article D842-16 | LEGIARTI000047985424 - -Un arrêté fixe l'équivalence de loyer " L ", définie au 3° de l'article D. 842-15, -pour chacune des catégories de personnes résidant dans un logement-foyer ou assimilé, -mentionné au 3° de l'article D. 823-9 . - -Ces catégories comprennent : - -1° Les étudiants logés en chambre ; - -2° Les étudiants logés dans une chambre ayant fait l'objet d'une réhabilitation ; - -3° Les personnes dont l'âge est au moins égal à celui prévu au 1° de l' article -L. 351-8 du code de la sécurité sociale, ou à celui mentionné à l'article L. -351-1-5 du même code en cas d'inaptitude au travail, les personnes titulaires -de l'allocation mentionnée à l'article L. 815-1 du code de la sécurité sociale -dont l'âge est au moins égal à soixante-cinq ans, ainsi que les personnes -handicapées ; - -4° Les autres personnes. - -```catala-metadata -déclaration énumération CatégorieÉquivalenceLoyerAllocationLogementFoyer: - # Les catégories 1° et 2° ici ne s'appliquent qu'aux chambres pour étudiants - # gérées par les CROUS, comme décrit au 30 de l'article D823-9. - -- ÉtudiantLogéEnChambreCROUS - -- ÉtudiantLogéEnChambreCROUSRéhabilitée - -- PersonnesÂgéesSelon3DeD842_16 - -- AutresPersonnes -``` - -####### Article D842-17 | LEGIARTI000038878651 - -La dépense nette de logement, définie au dixième alinéa de l'article D. 842-15 , est -égale à la différence entre l'équivalence de loyer prise en compte " L ", majorée du -montant forfaitaire au titre des charges " C ", et le montant mensuel de l'aide -calculé selon les modalités précisées aux deuxième à neuvième alinéas du même article. - -```catala -champ d'application CalculAllocationLogementFoyer: - définition dépense_nette_minimale de allocation_mensuelle égal à - équivalence_loyer + montant_forfaitaire_charges - allocation_mensuelle -``` - -Lorsque sa valeur est inférieure à un montant fixé par arrêté, l'abattement sur -le montant mensuel de l'aide est égal à la différence constatée. - -```catala -champ d'application CalculAllocationLogementFoyer: - définition abattement_dépense_nette_minimale - de allocation_mensuelle égal à - si dépense_nette_minimale de allocation_mensuelle < - montant_minimal_dépense_nette_d842_17 - alors - montant_minimal_dépense_nette_d842_17 - - dépense_nette_minimale de allocation_mensuelle - sinon - 0€ -``` - -####### Article D842-18 | LEGIARTI000038878649 - -Les arrêtés prévus à la présente section sont pris par les ministres chargés -du logement, du budget, de la sécurité sociale, et de l'agriculture. - -##### Chapitre III : Procédure de conservation et de versement des allocations de logement en cas de non-décence constatée des logements - -```catala -# Nous choisissons pour le moment de ne pas formaliser ce chapitre car il -# n'affecte pas l'éligibilité et le montant du ménage aux aides au logement. -# Cependant, il contient des informations importantes pour la gestion du -# versement des aides au logement donc il faudrait idéalement le formaliser. -``` - -###### Article R843-1 | LEGIARTI000038878645 - -Lorsque le logement ne répond pas aux caractéristiques de décence mentionnées à -l'article R. 822-24 ou lorsque le propriétaire n'a pas produit l'attestation -mentionnée à l'article R. 823-2 , l'allocation de logement peut être accordée, à -titre dérogatoire, par l'organisme payeur : - -1° Aux personnes logées en hôtel meublé ou établissement assimilé, pour une durée -d'un an. L'organisme payeur doit en informer son conseil d'administration et le -préfet. Le préfet désigne alors, dans le cadre du plan local d'action pour le -logement et l'hébergement des personnes défavorisées mentionné aux articles 2 et -suivants de la loi n° 90-449 du 31 mai 1990 visant à la mise en œuvre du droit au -logement, un organisme privé ou public aux fins de proposer au propriétaire une -solution adaptée d'amélioration du logement ou à l'allocataire une solution de -relogement correspondant à ses besoins et à ses possibilités. - -Cette dérogation peut être prorogée, pour six mois, par le conseil d'administration -de l'organisme payeur, si les travaux de mise aux normes, bien que décidés, n'ont -pas encore pu être achevés à l'issue de la première année ou si la solution de -relogement, bien qu'acceptée par l'allocataire, n'a pas encore pris effet dans le -même délai. - -Le préfet doit également être informé du refus d'accorder l'allocation de logement -à titre dérogatoire ; - -2° Aux personnes mentionnées à l'article R. 842-5 , pour une durée de dix-huit -mois renouvelable une fois. L'organisme payeur doit en informer son conseil -d'administration et le préfet. - -Il en informe également le comité responsable du plan local d'action pour le -logement et l'hébergement des personnes défavorisées afin que ce dernier examine -avec l'allocataire une solution adaptée d'amélioration du logement ou une solution -de relogement. - -```catala -# Cet article décrit la manière dont une perte de décence du logement peut être -# gérée par le bailleur dans un cadre temporaire. Cependant cela n'affecte -# pas l'éligibilité et le montant du ménage aux aides au logement donc nous -# le considérons hors du champ de notre calculette. -``` - -###### Article R843-2 | LEGIARTI000038878643 - -Le délai mentionné au premier alinéa de l'article L. 843-1 est fixé à dix-huit mois. - -Les délais mentionnés aux premiers alinéas des articles L. 843-3 et L. 843-4 sont -fixés à six mois. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R843-3 | LEGIARTI000038878641 - -Pour l'application de l' article 20-1 de la loi n° 89-462 du 6 juillet 1989 tendant -à améliorer les rapports locatifs et portant modification de la loi n° 86-1290 du -23 décembre 1986 , l'information du propriétaire par l'organisme payeur sur son -obligation de mise en conformité du logement, dont le locataire est également -destinataire, tient lieu de demande de mise en conformité par le locataire, dans le -cas où ce dernier saisit la commission départementale de conciliation. - -L'information du locataire reproduit les dispositions de ce même article et précise -l'adresse de la commission départementale de conciliation. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R843-4 | LEGIARTI000044636874 - -L'organisme payeur informe le propriétaire de l'existence d'aides publiques et des -lieux d'information pour réaliser les travaux de mise en conformité du logement. - -Dans le cas d'une mise en conformité relative à la performance énergétique du -logement, le propriétaire établit que le logement a été mis en conformité en -présentant à l'organisme payeur le diagnostic de performance énergétique mentionnée -au troisième alinéa de l'article R. 823-2. - -Dès que le constat de mise en conformité du logement est établi par l'organisme -payeur ou par un organisme dûment habilité par ce dernier, le montant de l'allocation -de logement conservé par l'organisme payeur est versé au propriétaire. - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions entrent en vigueur le 1er janvier 2023. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R843-5 | LEGIARTI000038878637 - -Les organismes mentionnés à l'article L. 843-1 sont habilités, au vu de leur -expertise professionnelle, par convention conclue avec l'organisme payeur. - -L'organisme payeur ne peut habiliter un organisme de droit privé que si celui-ci -est en règle au regard de ses obligations fiscales et sociales et qu'il n'a pas -fait l'objet de condamnation pénale définitive en rapport avec son activité depuis -au moins cinq ans. - -L'habilitation ne porte que sur les logements pour lesquels l'organisme payeur verse -une allocation de logement. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R843-6 | LEGIARTI000038878635 - -Les cas, mentionnés à l'article L. 843-3 , dans lesquels l'allocation de logement -peut être maintenue et conservée sont ceux où : - -1° Le propriétaire du logement apporte la preuve auprès de l'organisme payeur qu'il -a engagé les travaux de mise en conformité en vue d'un achèvement dans un délai de -six mois ; le renouvellement de ce délai de six mois ne peut être accordé que si le -propriétaire apporte la preuve que la réalisation des travaux nécessite un délai -supérieur ou que le retard pris dans leur avancement ne lui est pas imputable ; - -2° Le locataire du logement a engagé une action en justice toujours en cours fondée -sur la méconnaissance par le bailleur de l' article 6 de la loi n° 89-462 du 6 -juillet 1989 tendant à améliorer les rapports locatifs et portant modification de la -loi n° 86-1290 du 23 décembre 1986 ; - -3° L'allocation de logement hors charges constitue plus de la moitié du dernier loyer -brut hors charges connu de l'organisme payeur ; à l'issue du délai de six mois, un -renouvellement de six mois ne peut être accordé que si l'allocataire apporte la -preuve qu'il n'était manifestement pas en mesure d'entreprendre les démarches -prévues au 2° ou au 5° au cours du délai précédent ; - -4° L'allocataire est en situation d'impayé de loyer au sens de l'article R. 824-1 et -bénéficie du maintien de l'allocation de logement au titre de l'article L. 824-2 ; - -5° Le locataire du logement apporte la preuve soit qu'il a accompli des actes -positifs et récents en vue de trouver un nouveau logement ou qu'il a saisi la -commission de médiation prévue à l'article L. 441-2-3 , soit qu'il n'était -manifestement pas en mesure de trouver un logement ; à l'issue du délai de six mois, -un renouvellement de six mois ne peut être accordé que si l'allocataire apporte la -preuve qu'il n'était manifestement pas en mesure de trouver un logement au cours du -délai précédent. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R843-7 | LEGIARTI000038878633 - -Lorsque l'allocataire fait simultanément l'objet de la procédure de conservation de -l'allocation de logement prévue aux articles L. 843-1 à L. 843-4 et de la procédure -prévue aux articles R. 844-1 ou R. 844-2 lorsque le logement est surpeuplé au regard -de sa superficie : - -1° Si le logement n'est toujours pas décent à l'expiration de la procédure de -conservation de l'allocation de logement, l'allocation est suspendue, même si la -période de bénéfice dérogatoire de l'allocation de logement au titre du surpeuplement -n'est pas expirée ; - -2° Si le logement est toujours surpeuplé au regard de sa superficie à l'expiration -de la période de bénéfice dérogatoire de l'allocation de logement à ce titre, -l'allocation est suspendue, même si la procédure de conservation de l'allocation de -logement prévue aux articles L. 843-1 à L. 843-4 est toujours en cours. - -Le bénéfice de l'allocation de logement au titre des articles R. 844-1 et R. 844-2 -ne fait pas obstacle à sa conservation par l'organisme payeur telle que prévue aux -articles L. 843-1 à L. 843-4 pour les sommes dues pendant la période de conservation. - -Dans tous les cas, l'organisme payeur informe le bailleur de la suspension de -l'allocation de logement. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R843-8 | LEGIARTI000038878631 - -Lorsque l'allocataire fait l'objet soit de la procédure relative à la non-décence du -logement prévue à l'article L. 843-1 , soit de celle relative au surpeuplement du -logement prévue aux articles R. 844-1 et R. 844-2, l'allocation de logement est -maintenue, dès lors que l'allocataire fait également l'objet de la procédure -relative aux impayés de dépenses de logement prévue au chapitre IV du titre II du -présent livre et jusqu'à l'achèvement de cette dernière. Le maintien de l'allocation -de logement ne fait pas obstacle à sa conservation par l'organisme payeur prévue à -l'article L. 843-1, pour les sommes dues pendant la période de conservation. - -A l'achèvement de la procédure relative aux impayés, si les conditions de peuplement -et de décence ne sont toujours pas respectées et si les délais de la procédure -prévue aux articles L. 843-1 à L. 843-3 ou de celle prévue aux articles R. 844-1 et -R. 844-2 sont expirés, le versement de l'allocation de logement est suspendu. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -##### Chapitre IV : Conditions de peuplement - -###### Article R844-1 | LEGIARTI000038878627 - -Pour les logements autres que les logements-foyers, lorsque la condition de superficie -mentionnée à l'article R. 822-25 n'est pas respectée au moment de la demande, -l'allocation de logement peut être accordée pour une durée de deux ans, à titre -exceptionnel, par décision de la caisse d'allocations familiales ou de la caisse de -mutualité sociale agricole concernée. Le conseil d'administration de l'organisme -payeur et le préfet sont informés de cette décision. - -En cas de refus de dérogation, le préfet désigne, dans le cadre du plan local -d'action pour le logement et l'hébergement des personnes défavorisées mentionné aux -articles 2 et suivants de la loi n° 90-449 du 31 mai 1990 visant à mettre en œuvre -le droit au logement, un organisme privé ou public aux fins de proposer à l'allocataire -une solution de relogement correspondant à ses besoins et à ses possibilités. - -La décision mentionnée au premier alinéa peut être prorogée par décision du conseil -d'administration de l'organisme payeur, par période de deux ans renouvelable, après -enquête sociale et au vu d'une attestation motivée du préfet certifiant que -l'allocataire ne peut être logé conformément aux conditions fixées à l'article -R. 822-25. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R844-2 | LEGIARTI000038878625 - -Si un logement devient surpeuplé par suite d'une naissance ou de la prise en charge -d'un enfant, d'un ascendant ou d'un collatéral de deuxième ou de troisième degré, -les allocations sont maintenues, à titre dérogatoire, pendant une durée de deux ans. - -Cette dérogation peut être prolongée, sur décision de l'organisme payeur, dans les -conditions prévues au premier alinéa de l'article R. 844-1 , par période de deux ans -renouvelable, après enquête sociale et au vu d'une attestation motivée du préfet -certifiant que l'allocataire ne peut être logé conformément aux conditions fixées à -l'article R. 822-25 . - -En cas de refus de dérogation, le deuxième alinéa de l'article R. 844-1 est applicable. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R844-3 | LEGIARTI000038878623 - -Les changements dans les conditions de peuplement des locaux doivent être déclarés -dans le délai d'un mois par l'allocataire. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R844-4 | LEGIARTI000038878621 - -La condition de superficie prévue à l'article R. 822-25 est réputée remplie pour les -personnes âgées ou handicapées qui occupent un logement aménagé de manière à -constituer une unité d'habitation autonome et situé dans un foyer doté de services -collectifs, à l'exception des personnes résidant dans un établissement d'hébergement -pour personnes âgées dépendantes ou accueillies dans les unités et centres de soins -de longue durée mentionnés à l'article L. 841-3 . - -Ces dernières doivent disposer d'une chambre d'au moins neuf mètres carrés pour une -personne seule et de seize mètres carrés pour deux personnes. - -Le droit à l'allocation de logement n'est pas ouvert si la chambre est occupée par -plus de deux personnes. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - étiquette r_844_4 exception base - règle condition_logement_surface sous condition - ménage.personnes_âgées_handicapées_foyer_r844_4 et - ménage.logement.surface_m_carrés >= - (si nombre_personnes_logement = 1 alors 9 sinon 16) - conséquence rempli - - exception r_844_4 - règle condition_logement_surface sous condition - ménage.personnes_âgées_handicapées_foyer_r844_4 et - nombre_personnes_logement > 2 - conséquence non rempli -``` - -###### Article R844-5 | LEGIARTI000038878619 - -Les caractéristiques des locaux affectés aux personnes accueillies en application des -articles L. 441-1 à L. 443-10 du code de l'action sociale et des familles sont celles -fixées par les articles R. 822-24 et R. 822-25 qui sont compatibles avec les -contraintes liées à l'âge ou au handicap de ces personnes. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -#### Titre V : Contrôles, lutte contre la fraude et sanctions - -```catala -# Hors du champ de la calculette. -``` - -#### Titre VI : Disposition particulières à l'outre-mer - -##### Capitre I : Guadeloupe, Guyane, Martinique, La Réunion et Mayotte - -###### Article D861-4 | LEGIARTI000038878593 - -Les arrêtés relatifs aux allocations de logement prévus à l'article D. 823-19 sont également -pris par le ministre chargé de l'outre-mer. - -```catala -# Rien à coder. -``` - -###### Article R861-5 | LEGIARTI000047985786 - -Pour leur application à Mayotte : - -1° (Supprimé) ; - -2° L'article R. 822-6 est ainsi modifié : - -a) Au premier alinéa, les mots : " l'article L. 815-9 du code de la sécurité sociale " sont -remplacés par les mots : " l'article 28 de l'ordonnance n° 2002-411 du 27 mars 2002 relative à -la protection sanitaire et sociale à Mayotte " ; - -b) Au troisième alinéa, les mots : " par l'article L. 161-17-2 du code de la -sécurité sociale " sont remplacés par les mots : " par le premier alinéa de -l'article 6 de la même ordonnance " et les mots : " l'allocation de solidarité -aux personnes âgées " sont remplacés par les mots : " l'allocation spéciale -pour les personnes âgées prévue par l'article 28 de la même ordonnance " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -3° L'article R. 822-25 est complété par un alinéa ainsi rédigé : - -" Toutefois, lorsqu'en cours de droit, le logement ne répond plus à ces normes de peuplement, -l'allocation de logement est maintenue pour une durée d'un an, à condition que la surface -habitable globale soit d'au moins treize mètres carrés, augmentée de six mètres carrés par -personne en plus, dans la limite de cinquante-quatre mètres carrés pour neuf personnes et plus. " ; - -```catala -# Nous choississons ici de ne pas coder informatiquement ces dispositions -# transitoires que nous laissons pour l'instant hors du champ de notre -# calculette. -``` - -4° Au dernier alinéa de l'article R. 823-2 , les mots : " prévus à l'article D. 512-1 du code -de la sécurité sociale " sont remplacés par les mots : " prévus à l'article 14 du décret -n° 2002-423 du 29 mars 2002 relatif aux prestations familiales à Mayotte " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -5° L'article R. 823-4 est ainsi modifié : - -a) Au troisième alinéa, les mots : " prévu à l'article L. 815-9 du code de la sécurité sociale -" sont remplacés par les mots : " prévu à l'article 28 de l'ordonnance n° 2002-411 du 27 mars -2002 relative à la protection sanitaire et sociale à Mayotte " ; - -b) Au quatrième alinéa, les mots : " par le 1° de l'article L. 351-8 du code de la sécurité -sociale " sont remplacés par les mots : " par le second alinéa de l'article 6 de l'ordonnance -n° 2002-411 du 27 mars 2002 relative à la protection sanitaire et sociale à Mayotte " ; - -c) Au cinquième alinéa, les mots : " prévu par l'article L. 161-17-2 du code -de la sécurité sociale " sont remplacés par les mots : " prévu par le premier -alinéa de l'article 6 de la même ordonnance " et les mots : " des articles L. -161-19, L. 351-8 ou L. 643-3 du même code " sont remplacés par les mots : " de -l'article L. 161-19 du code de la sécurité sociale ainsi que des articles 12 -et 23 de la même ordonnance " ; - -d) A la fin du sixième alinéa, les mots : " prévu à l'article L. 815-9 du code de la sécurité -sociale " sont remplacés par les mots : " prévu à l'article 28 de l'ordonnance n° 2002-411 du -27 mars 2002 relative à la protection sanitaire et sociale à Mayotte " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -6° Pour l'application à Mayotte de l'article R. 823-6-1, les mots : “ définie à l'article -L. 841-1 du code de la sécurité sociale et l'allocation aux adultes handicapés définie à -l'article L. 821-1 du même code ” sont remplacés par les mots : “ définie au premier alinéa -de l'article 1er de l'ordonnance n° 2016-160 du 18 février 2016 portant adaptation de la prime -d'activité au Département de Mayotte et l'allocation aux adultes handicapés définie à -l'article 35 de l'ordonnance n° 2002-411 du 27 mars 2002 relative à la protection sanitaire et -sociale à Mayotte. ” - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -7° A la fin de l'article R. 823-23 , les mots : " à l'article L. 553-2 du code de la sécurité -sociale. " sont remplacés par les mots : " à l'article 13 de l'ordonnance du 7 février 2002 -relative à l'extension et la généralisation des prestations familiales et à la protection -sociale dans la collectivité territoriale de Mayotte. " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -8° L'article R. 823-24 est remplacé par les dispositions suivantes : - -" Art. R. 823-24.-Les versements indus de prestations sont récupérés comme en matière de -prestations familiales, conformément aux dispositions des articles 5 à 5-6 du décret -n° 2002-423 du 29 mars 2002 relatif aux prestations familiales à Mayotte et du I de -l'article 5 du décret n° 2011-2100 du 30 décembre 2011 relatif aux prestations familiales dans -le Département de Mayotte. " - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : Se reporter aux conditions d'application prévues à l'article 25 du décret n° 2019-1574 -du 30 décembre 2019. Conformément à l'article 1 du décret n° 2020-451 du 20 avril 2020 -l'article susvisé a été modifié : Ces dispositions sont applicables au calcul des droits, -d'une part, à l'aide personnalisée au logement prévue pour les accédants à la propriété par -l'article L. 831-1 du code de la construction et de l'habitation, d'autre part, aux autres -aides personnelles au logement prévues par le même code, à compter des mois respectifs fixés -par arrêté des ministres en charge du logement, de la santé et du budget et, au plus tard, du -1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article 25 du décret -n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions sont applicables au calcul -des droits à l’aide personnelle au logement à compter du mois de janvier 2021 ou, pour le -calcul des droits à l’aide personnalisée au logement prévue pour les accédants à la propriété -par l’article L. 831-1 du code de la construction et de l’habitation, à compter du mois de mai -2021. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition date_entrée_vigueur_différée_cch égal à |2021-01-01| - -champ d'application ÉligibilitéAidePersonnaliséeLogement: - définition éligibilité_commune.date_entrée_vigueur_différée_cch sous condition - ménage.logement.mode_occupation sous forme - AccessionPropriétéLocalUsageExclusifHabitation - conséquence égal à - |2021-05-01| -``` - -###### Article D861-6 | LEGIARTI000038878589 - -Pour son application à Mayotte, à la dernière phrase du huitième alinéa de l'article -D. 823-16 , les mots : " est bénéficiaire de l'allocation aux adultes handicapés prévue à -l'article L. 821-1 du code de la sécurité sociale ou de l'allocation d'éducation de l'enfant -handicapé prévue à l'article L. 541-1 du même code " sont remplacés par les mots : " est -bénéficiaire de l'allocation aux adultes handicapés ou de l'allocation d'éducation de -l'enfant handicapé prévues à l'article 35 de l'ordonnance du 27 mars 2002 relative à la -protection sanitaire et sociale à Mayotte et à l'article 10-1 de l'ordonnance du 7 février -2002 relative à l'extension et la généralisation des prestations familiales et à la protection -sociale dans la collectivité départementale de Mayotte ". - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -###### Article D861-7 | LEGIARTI000044634615 - -La section 2 du chapitre III du titre II du présent livre n'est pas applicable à Mayotte. - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces dispositions -s'appliquent aux contributions et aux prestations dues à compter du 1er janvier 2022. - -```catala -champ d'application ÉligibilitéPrimeDeDéménagement sous condition - date_courante >= |2022-01-01| : - exception règle éligibilité sous condition - ménage.résidence sous forme Mayotte - conséquence non rempli -``` - -##### Section 2 : Allocations de logement - -###### Article D861-8 | LEGIARTI000047401342 - -Pour leur application en Guadeloupe, en Guyane, en Martinique, à La Réunion et à Mayotte : - -1° Les dispositions du troisième alinéa de l'article D. 842-11 et du 1° de l'article -D. 842-12 ne sont pas applicables aux opérations de logements évolutifs sociaux ou de -logements très sociaux, en accession à la propriété aidée par l'Etat ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2023-04-05|: - exception règle condition_d842_11_3 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux) et - opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - conséquence non rempli -``` - -2° Les arrêtés relatifs aux allocations de logement prévus aux articles D. 842-13 et -D. 842-18 sont également pris par le ministre chargé de l'outre-mer ; - -```catala -# Rien à coder ici.interne -``` - -###### Article D861-8 | LEGIARTI000038878583 [archive] - -Pour leur application en Guadeloupe, en Guyane, en Martinique, à La Réunion et à Mayotte : - -1° A l'article D. 842-6 , pour le calcul du nombre de parts " N " intervenant dans le -coefficient de prise en charge " K ", la majoration pour personne à charge mentionnée au d -du 2° de l'article D. 832-25 est limitée à six enfants ; - -```catala -# Ici nous reprenons les chiffres de D832-25, à prendre en compte lorsque -# ceux-ci seront modifiés -champ d'application CalculNombrePartLogementFoyer sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - exception d832_25_2 - définition n_nombre_parts_d832_25_majoration sous condition - limitation_majoration_personnes_à_charge et - nombre_personnes_à_charge > 6 - conséquence égal à - 1,0 - -# Ci-dessus, nous avons modifié le calcul de CalculNombrePartLogementFoyer -# lorsque la "limitation_majoration_personnes_à_charge" est activée. Mais il -# nous faut maintenant activer cette "limitation_majoration_personnes_à_charge" -# dans les bons cas ! Pour cela, puisque CalculNombrePartLogementFoyer -# est appelé depuis CalculAidePersonnaliséeLogementFoyer, il nous faut déclarer -# dans CalculAidePersonnaliséeLogementFoyer une condition -# "limitation_majoration_personnes_à_charge" similaire qui déclenche celle de -# CalculNombrePartLogementFoyer. C'est ce que nous faisons ci-dessous. -champ d'application CalculAidePersonnaliséeLogementFoyer sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - règle - calcul_nombre_parts.limitation_majoration_personnes_à_charge - sous condition - limitation_majoration_personnes_à_charge - conséquence rempli - -# Maintenant que nous avons défini notre point d'entrée dans -# CalculAidePersonnaliséeLogementFoyer, nous pouvons taper dedans depuis -# CalculAllocationLogementAccessionPropriété à la manière de D842-6. -# C'est chose faite ci-dessous. -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - règle calcul_apl_logement_foyer.limitation_majoration_personnes_à_charge - sous condition - selon résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux - conséquence rempli -``` - -2° Les dispositions du troisième alinéa de l'article D. 842-11 et du 1° de l'article -D. 842-12 ne sont pas applicables aux opérations de logements évolutifs sociaux ou de -logements très sociaux, en accession à la propriété aidée par l'Etat ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - exception règle condition_d842_11_3 sous condition - (selon résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux) et - opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - conséquence non rempli -``` - -3° Les arrêtés relatifs aux allocations de logement prévus aux articles D. 842-13 et -D. 842-18 sont également pris par le ministre chargé de l'outre-mer ; - -```catala -# Rien à coder ici.interne -``` - -4° A l'article D. 842-15 , pour le calcul du nombre de parts " N " intervenant dans le -coefficient de prise en charge " K ", la majoration pour personne à charge mentionnée au d -du 2° de l'article D. 832-25 est limitée à six enfants. - -```catala -champ d'application CalculAllocationLogementFoyer sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - règle calcul_apl_logement_foyer.limitation_majoration_personnes_à_charge - sous condition - selon résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux - conséquence rempli -``` - -###### Article D861-9 | LEGIARTI000047401337 - -L'âge limite pour l'ouverture du droit à l'allocation de logement familiale -prévu par les dispositions du dernier alinéa du 1° de l'article L. 861-6 est -fixé à vingt-deux ans. - -```catala -# Le dernier alinéa du 1° de L861-6 introduit une restriction supplémentaire -# pour la prise en compte des enfants à charge : après l'obligation scolaire, -# les enfants sont considérés comme à charge jusqu'à un certain âge et s'ils -# suivent des études ou assimilé. L'âge limite après obligation scolaire existe -# déjà en Métropole, il est prévu par L512-3 du CCS mais ici on le redéfini pour -# être à 22 ans, sachant qu'il est déjà redéfini pour être à 21 ans par R823-4 -# CCH. Petite subtilité supplémentaire: ici le D861-9 nous dit que cette âge -# limite de 22 ans ne s'applique que pour l'allocation logement alors que R823-4 -# est une disposition commune à l'AL et à l'APL. Or dans les DROM il n'y a pas -# d'APL, seulement l'AL, donc ici nous pouvons modifier directement -# l'éligibilité commune aux AL et aux APL pour éviter du code compliqué qui ne -# s'appliquerait qu'aux AL. -champ d'application ÉligibilitéAidesPersonnelleLogement: - exception r823_4_enfants - définition prestations_familiales.âge_l512_3_2 sous condition - (selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux) - conséquence égal à 22 an -``` - -###### Article D861-10 | LEGIARTI000047985420 - -Pour son application à Mayotte, le 3° de l'article D. 842-16 est ainsi modifié : - -1° Les mots : " celui prévu au 1° de l'article L. 351-8 du code de la sécurité sociale " -sont remplacés par les mots : " soixante-sept ans " et les mots : " celui mentionné -à l'article L. 351-1-5 du même code " sont remplacés par les mots : " soixante-deux ans " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -# Invariant : l'âge de l'article L. 351-1-5 est bien 62 au 1er septembre 2023 -# mais si jamais l'âge de L. 351-1-5 changeait par la suite sans que -# le " soixante-deux ans " ici soit changé cela casserait le code Catala. -``` - -2° Les mots : " l'allocation mentionnée à l'article L. 815-1 du code de la sécurité sociale " -sont remplacés par les mots : " l'allocation spéciale pour les personnes âgées prévue par -l'article 28 de la même ordonnance ". - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : - -Conformément au I de l’article 3 du décret n° 2023-800 du 21 août 2023, ces -dispositions sont applicables aux prestations dues à compter du 1er septembre -2023. - -###### Article D861-11 | LEGIARTI000038878577 - -Les dispositions du chapitre III du titre IV du présent livre et de l'article R. 844-2 ne -sont pas applicables à Mayotte. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -##### Section 3 : Aide personnalisée au logement dans les logements-foyers - -###### Article R861-20 | LEGIARTI000047398875 - -Pour leur application en Guadeloupe, en Guyane, en Martinique, à La Réunion et -à Mayotte : - -1° A l'article R. 832-20, le 3° n'est pas applicable ; - -```catala -# Le 3° de l'article R832-20 concerne les logements-foyers accueillant, à titre -# principal, des jeunes travailleurs ou des travailleurs migrants et ayant fait -# l'objet d'une convention, prévue à l'article L. 353-2, signée avant le 1er -# janvier 1995. On vient donc raffiner la condition d'exclusion de -# "condition_logement_bailleur". -champ d'application ÉligibilitéAidePersonnaliséeLogement sous condition - date_courante >= |2023-04-05| et selon ménage.résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux: - exception logement_foyer - règle condition_logement_bailleur sous condition - selon ménage.logement.mode_occupation sous forme - -- RésidentLogementFoyer de logement_foyer: - logement_foyer.type sous forme - FoyerJeunesTravailleursOuMigrantsConventionnéL353_2Avant1995 - -- n'importe quel: faux - conséquence non rempli -``` - -2° L'article R. 832-21 est remplacé par les dispositions suivantes : - -“ Art. R. 832-21.-Pour l'application du 5° de l'article L. 831-1, les -logements-foyers doivent répondre aux conditions de décence définies au -premier alinéa de l'article 6 de la loi n° 89-462 du 6 juillet 1989 et -respecter l'une des conditions suivantes : - -“ 1° Pour les logements-foyers mis en service avant le 1er janvier 2023, -appartenir à l'une des personnes morales mentionnées à l'article R. 372-3 ; - -“ 2° Pour les logements-foyers mis en service après le 1er janvier 2023, -bénéficier de l'un des modes de financement suivants : - -“ a) Subventions et prêts mentionnés au chapitre II du titre VII du livre III -ou à la section 2 du chapitre III du titre II du livre III ; - -“ b) Subventions accordées sur le budget du ministère chargé de la santé ou de -la caisse nationale de solidarité pour l'autonomie représentant au moins 20 % -du coût de la construction ou du coût des travaux d'amélioration pouvant faire -l'objet d'une subvention ou du coût de l'opération d'acquisition-amélioration. -” ; - -```catala -# On avait fusionné toutes les conditions de R823-21 dans le booléen -# "remplit_conditions_r832_21" donc on peut le garder. Il suffit juste de -# préciser dans le formulaire que les conditions de R823-21 sont différentes -# pour l'outre-mer. -``` - -3° A l'article R. 832-23, les mots : “ mentionné aux 2° et 3° de l'article R. -832-20 ” sont remplacés par les mots : “ mentionné au 2° de l'article R. -832-20. ” - -```catala -# On ne cherche pas à coder pour l'instant le calcul du calendrier d'ouverture -# des droits dans les différentes situations. -``` - - -###### Article D861-21 | LEGIARTI000047399895 - -Pour leur application en Guadeloupe, en Guyane, en Martinique, à La Réunion et -à Mayotte : - -1° A l'article D. 832-25, le deuxième alinéa et le 2° ne sont pas applicables ; - -```catala -champ d'application CalculAidePersonnaliséeLogementFoyer sous condition - date_courante >= |2023-04-05| et selon résidence sous forme - -- Guadeloupe: vrai - -- Guyane: vrai - -- Martinique: vrai - -- LaRéunion: vrai - -- Mayotte: vrai - -- n'importe quel: faux: - exception définition condition_2_du_832_25 égal à - faux -``` - -2° A l'article D. 832-26, le deuxième alinéa n'est pas applicable ; - -```catala -# Le deuxième alinéa de D832-26 est aussi gouverné par le booléen -# "condition_2_du_832_25" que nous avons défini au dessus. -``` - -3° A l'article D. 832-27, les mots : “ selon le type de logements-foyers ” -sont supprimés ; - -```catala -# Adaptation du phrasé aux règles locales mais ne porte pas conséquence -# au calcul. -``` - -4° A l'article D. 832-28, les mots : “ de l'agriculture ” sont remplacés par -les mots : “ de l'outre-mer ”. - - -#### Chapitre II : Saint-Barthélemy et Saint-Martin - -###### Article R862-1 | LEGIARTI000038878573 - -Pour l'application du présent livre à Saint-Barthélemy et à Saint-Martin : - -1° La gestion des aides personnelles au logement est assurée : - -a) A Saint-Martin, dans les conditions prévues par le deuxième alinéa de l'article L. 752-1 -du code de la sécurité sociale ; -b) A Saint-Barthélemy, dans les conditions prévues par le troisième alinéa du même article ; - -2° Sauf lorsqu'il en est disposé autrement, les références au code général des impôts sont -remplacées par les références aux règles applicables localement en matière fiscale ayant le -même objet ; - -3° Les logements-foyers mentionnés à l'article L. 633-1 s'entendent des établissements -destinés au logement collectif, à titre de résidence principale, de personnes dans des -immeubles comportant à la fois des locaux privatifs, meublés ou non, et des locaux communs - affectés à la vie collective. - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -##### Section I : Dispositions communes aux aides personnelles au logement - -###### Article R862-2 | LEGIARTI000041419269 - -Pour leur application à Saint-Barthélemy et à Saint-Martin : - -1° L'article R. 822-24 est remplacé par les dispositions suivantes : -" Art. R. 822-24.-Pour le versement de l'aide personnelle au logement, les caractéristiques -de décence que doit remplir le logement sont celles prévues par le décret n° 2002-120 du 30 -janvier 2002 relatif aux caractéristiques du logement décent. " ; - -```catala -# Cette disposition remplace la phrase originelle de R822-4 par une phrase -# ayant srictement le même sens mais formulée un peu différemment... -# Rien à faire pour nous. -``` - -2° Le deuxième alinéa de l'article R. 823-4 est remplacé par les dispositions suivantes : -" 1° Les enfants de moins de vingt-deux ans et considérés comme enfants à charge au sens des -1° et 2° de l'article L. 512-3 du code de la sécurité sociale et de l'article L. 823-2 du -présent code " ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement sous condition - date_courante >= date_entrée_vigueur_différée_cch: - - exception r823_4_enfants - définition prestations_familiales.âge_l512_3_2 sous condition - selon ménage.résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence égal à 22 an -``` - -3° Au 2° de l'article R. 823-11 , les mots : " définies au I de l'article L. 521-2 du -présent code " sont remplacés par les mots : " prévues par la réglementation applicable -localement " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -4° Le quatrième alinéa de l'article R. 824-7 est ainsi modifié : -a) Après les mots : " fonds départemental de solidarité pour le logement ", sont insérés les -mots : " ou un organisme à vocation analogue institué par la réglementation applicable -localement " ; -b) Les mots : " mentionné à l'article 6 de la loi n° 90-449 du 31 mai 1990 visant à la mise -en œuvre du droit au logement " sont supprimés ; 5° Au second alinéa de l'article R. 824-32 , -les mots : " mentionné à l'article 3 de la loi n° 90-449 du 31 mai 1990 visant à la mise en -œuvre du droit au logement, " sont remplacés par les mots : ", s'il existe localement, " . - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 25 du décret n° 2019-1574 -du 30 décembre 2019. Conformément à l'article 1 du décret n° 2020-451 du 20 avril 2020 -l'article susvisé a été modifié : -Ces dispositions sont applicables au calcul des droits, d'une part, à l'aide personnalisée au -logement prévue pour les accédants à la propriété par l'article L. 831-1 du code de la -construction et de l'habitation, d'autre part, aux autres aides personnelles au logement -prévues par le même code, à compter des mois respectifs fixés par arrêté des ministres en -charge du logement, de la santé et du budget et, au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article 25 du -décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions sont applicables au -calcul des droits à l’aide personnelle au logement à compter du mois de janvier 2021 ou, pour -le calcul des droits à l’aide personnalisée au logement prévue pour les accédants à la -propriété par l’article L. 831-1 du code de la construction et de l’habitation, à compter du -mois de mai 2021. - -```catala -# NOTA similaire à R861-5, voir cet article pour l'encodage de la date -# d'entrée en vigueur différée. -``` - -###### Article R862-3 | LEGIARTI000039621265 - -L'article R. 824-30 n'est pas applicable à Saint-Barthélemy et à Saint-Martin. - -```catala -# Concerne les impayés de loyer, hors du champ de notre calculette. -``` - -###### Article R862-4 | LEGIARTI000041419262 - -I.-Pour l'application, à Saint-Martin et à Saint-Barthélemy, de l'article D. 822-21 : - -1° Les mots : “ défini à l' article 17-1 de la loi n° 89-462 du 6 juillet 1989 tendant à -améliorer les rapports locatifs et portant modification de la loi n° 86-1290 du 23 décembre -1986 ” sont remplacés par les mots : “ applicable localement ” ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° Pour l'application de ce même article, à défaut d'indice spécifique à la collectivité, il -est fait application de celui en vigueur en métropole. - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -II.-Les arrêtés relatifs aux allocations de logement prévus à l'article D. 823-19 sont -également pris par le ministre chargé de l'outre-mer. - -NOTA : Se reporter aux conditions d'application prévues à l'article 25 du décret -n° 2019-1574 du 30 décembre 2019. Conformément à l'article 1 du décret n° 2020-451 du -20 avril 2020 l'article susvisé a été modifié : Ces dispositions sont applicables au calcul -des droits, d'une part, à l'aide personnalisée au logement prévue pour les accédants à la -propriété par l'article L. 831-1 du code de la construction et de l'habitation, d'autre part, -aux autres aides personnelles au logement prévues par le même code, à compter des mois -respectifs fixés par arrêté des ministres en charge du logement, de la santé et du budget et, -au plus tard, du 1er janvier 2021. - -Aux termes de l'article 2 du décret n° 2020-1816 du 29 décembre 2020, l'article 25 du -décret n° 2019-1574 du 30 décembre 2019 a été modifié : Ces dispositions sont applicables au -calcul des droits à l’aide personnelle au logement à compter du mois de janvier 2021 ou, pour -le calcul des droits à l’aide personnalisée au logement prévue pour les accédants à la -propriété par l’article L. 831-1 du code de la construction et de l’habitation, à compter -du mois de mai 2021. - -```catala -# NOTA similaire à R861-5, voir cet article pour l'encodage de la date -# d'entrée en vigueur différée. -``` - -##### Section 2 : Aide personnalisée au logement - -###### Article R862-5 | LEGIARTI000038878561 - -Pour leur application à Saint-Barthélemy et à Saint-Martin : - -1° Au 3° de l'article R. 831-1 , les mots : " prévues par la loi n° 84-595 du 12 juillet -1984 définissant la location-accession à la propriété immobilière " sont remplacés par les -mots : " prévues par la réglementation applicable localement en matière de location-accession -à la propriété immobilière " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° A l'article R. 832-22 , les mots : " dans les conditions prévues à la section 7 du -chapitre III du titre V du livre III " sont remplacés par les mots : " dans les conditions -prévues par la règlementation locale ". - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -###### Article D862-6 | LEGIARTI000038878559 - -Pour leur application à Saint-Barthélemy et à Saint-Martin : - -1° L'article D. 832-2 est ainsi modifié : - -a) Au deuxième alinéa, les mots : " prévus aux articles L. 353-20 et L. 442-8-1 " sont -remplacés par les mots : " prévus par la réglementation applicable localement " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -b) Le quatrième alinéa est abrogé ; - -2° A l'article D. 832-3 , les mots : " les sociétés faisant l'objet des dispositions des -articles L. 212-1 à L. 212-13 et L. 213-1 à L. 213-5 " sont remplacés par les mots : -" les sociétés civiles constituées en vue de la vente d'immeubles, les sociétés constituées -en vue de l'attribution d'immeubles aux associés par fractions divises et les sociétés -coopératives de construction " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -3° Pour le calcul de l'équivalence de loyer et de charges locatives minimale prévu au 3° de -l'article D. 832-24 , les articles R. 353-156 à R. 353-160 du présent code sont applicables à -Saint-Barthélemy et à Saint-Martin. - -```catala -# Les articles R. 353-156 à R. 353-160 parlent de la fraction de la redevance -# en logement-foyer comptée pour le barème des aides au logement. Ici on nous -# dit qu'à Saint-Barthélemy les règles de la métropole s'appliquent aussi, -# rien à coder. -``` - -##### Section III : Allocations de logement - -###### Article D862-7 | LEGIARTI000047401319 - -Pour leur application à Saint-Barthélemy et à Saint-Martin : - -1° A l'article D. 842-4 , les mots : " en application de l'article L. 522-1 " sont remplacés -par les mots : " en application de la réglementation applicable localement " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° Les dispositions du troisième alinéa de l'article D. 842-11 et du 1° de l'article -D. 842-12 ne sont pas applicables aux opérations de logements évolutifs sociaux ou de -logements très sociaux, en accession à la propriété aidée par l'Etat ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2023-04-05|: - exception règle condition_d842_11_3 sous condition - (selon résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - conséquence non rempli -``` - -3° Les arrêtés relatifs aux allocations de logement prévus aux articles D. 842-13 et -D. 842-18 sont également pris par le ministre chargé de l'outre-mer. - -###### Article D862-7 | LEGIARTI000038878555 [archive] - -Pour leur application à Saint-Barthélemy et à Saint-Martin : - -1° A l'article D. 842-4 , les mots : " en application de l'article L. 522-1 " sont remplacés -par les mots : " en application de la réglementation applicable localement " ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° Aux articles D. 842-6 et D. 842-15 , pour le calcul du nombre de parts " N " intervenant -dans le coefficient de prise en charge " K ", la majoration pour personne à charge mentionnée -au d du 2° de l'article D. 832-25 est limitée à six enfants ; - -```catala -# Dispositif déjà codé dans D861-8, ici on l'active succintement. -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - règle calcul_apl_logement_foyer.limitation_majoration_personnes_à_charge - sous condition - selon résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux - conséquence rempli -``` - -3° Les dispositions du troisième alinéa de l'article D. 842-11 et du 1° de l'article -D. 842-12 ne sont pas applicables aux opérations de logements évolutifs sociaux ou de -logements très sociaux, en accession à la propriété aidée par l'Etat ; - -```catala -champ d'application CalculAllocationLogementAccessionPropriété sous condition - date_courante >= |2019-09-01| et date_courante < |2023-04-05|: - exception règle condition_d842_11_3 sous condition - (selon résidence sous forme - -- SaintBarthélemy: vrai - -- SaintMartin: vrai - -- n'importe quel: faux) et - opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - conséquence non rempli -``` - -4° Les arrêtés relatifs aux allocations de logement prévus aux articles D. 842-13 et -D. 842-18 sont également pris par le ministre chargé de l'outre-mer. - - -###### Article R862-8 | LEGIARTI000038878553 - -Pour leur application à Saint-Barthélemy et à Saint-Martin : - -1° L'article R. 843-1 est ainsi modifié : - -a) Le troisième alinéa est abrogé ; - -a) Aux deuxième, cinquième et septième alinéas, après les mots : " le préfet " sont insérés -les mots : " et le président du conseil territorial " ; - -c) Au dernier alinéa, après les mots : " le comité responsable du plan local d'action pour le -logement et l'hébergement des personnes défavorisées " sont insérés les mots : -", s'il existe, " ; - -```catala -# Cet article décrit la manière dont une perte de décence du logement peut être -# gérée par le bailleur dans un cadre temporaire. Cependant cela n'affecte -# pas l'éligibilité et le montant du ménage aux aides au logement donc nous -# le considérons hors du champ de notre calculette. -``` - -2° L'article R. 843-6 est ainsi modifié : - -a) Au 2°, les mots : " de l'article 6 de la loi n° 89-462 du 6 juillet 1989 tendant à -améliorer les rapports locatifs et portant modification de la loi n° 86-1290 du 23 décembre -1986 " sont remplacés par les mots : " des conditions de décence du logement " ; - -b) Au 5°, les mots : " ou qu'il a saisi la commission de médiation prévue à l'article -L. 441-2-3 " sont remplacés par les mots : " ou qu'il a saisi une commission de médiation -prévue par la réglementation applicable localement ". - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -###### Article R862-9 | LEGIARTI000038878551 - -L'article R. 843-3 et le deuxième alinéa de l'article R. 844-1 ne sont pas applicables à -Saint-Barthélemy et à Saint-Martin. - -```catala -# Cet article n'affecte pas l'éligibilité et le montant du ménage aux aides -# au logement donc nous le considérons hors du champ de notre calculette. -``` - -#### Chapitre III : Saint-Pierre-et-Miquelon - -###### Article R863-1 | LEGIARTI000044637052 - -Pour l'application du présent livre à Saint-Pierre-et-Miquelon : - -1° La gestion des aides personnelles au logement est confiée à la caisse de prévoyance -sociale de Saint-Pierre-et-Miquelon ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° Un “ logement-foyer ” s'entend d'un établissement destiné au logement collectif, à -titre de résidence principale, de personnes dans des immeubles comportant à la fois des -locaux privatifs meublés ou non, et des locaux communs affectés à la vie collective. - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -##### Section I : Fonds national d'aide au logement - -```catala -# Rien à coder. -``` - -##### Section II : Dispositions communes aux aides personnelles au logement - -###### Sous-section I : Principes généraux - -####### Article R863-3 | LEGIARTI000044636779 - -Les dispositions du titre II du présent livre ne sont pas applicables à -Saint-Pierre-et-Miquelon en ce qui concerne l'aide personnalisée au logement mentionnée -au 1° de l'article L. 821-1. - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -```catala -# Redite de L860-3, rien à coder. -``` - -###### Sous-section II : Conditions générales d'attribution - -####### Article R863-4 | LEGIARTI000047985799 - -Pour leur application à Saint-Pierre-et-Miquelon : - -1° A l'article R. 822-2, les mots : “ la période mentionnée au 1° de l'article R. 822-3 ” -sont remplacés par les mots : “ l'année civile ” ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° L'article R. 822-3 est remplacé par les dispositions suivantes : -“ Art. R. 822-3.-Les ressources prises en compte pour l'établissement des aides -personnelles au logement sont celles perçues pendant l'année civile de référence. - -“ L'année civile de référence est l'avant-dernière année précédant la période de -paiement. ” ; - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -3° L'article R. 822-4 est remplacé par les dispositions suivantes : - -“ Art. R. 822-4.-I.-Les ressources prises en compte s'entendent du total des revenus -nets catégoriels retenus pour l'établissement de l'impôt sur le revenu, des revenus -taxés à un taux proportionnel ou soumis à un prélèvement libératoire de l'impôt sur -le revenu ainsi que des revenus perçus hors de Saint-Pierre-et-Miquelon ou versés par -une organisation internationale. - -“ Sont également pris en compte : - -“ 1° Après application des déductions correspondant à celles mentionnées au 2 de -l'article 56 et au 8 de l'article 79 du code local des impôts, les indemnités -journalières mentionnées au 1° de l'article 27 du décret n° 57-245 du 24 février 1957 ; - -“ 2° Les rémunérations liées aux heures supplémentaires ou assimilées mentionnées à -l'article 52 quater du code local des impôts, après application de déductions calculées -selon les mêmes règles que celles mentionnées au 2 de l'article 56 et au 8 de l'article -79 du même code. - -“ II.-Sont déduits du décompte des ressources : - -“ 1° Les créances alimentaires mentionnées au 3° du b du 2 de l'article 75 du code local -des impôts ; - -“ 2° L'abattement mentionné à l'article 77 du code local des impôts pour -les personnes nées avant le 1er janvier 1931 et pour les personnes invalides. - -“ III.-Ne sont pas déduits du décompte des ressources les déficits constatés au cours -d'une année antérieure à celle de la période de référence définie à l'article R. 822-3 -et qui font l'objet d'un report, en vertu des dispositions de l'article 75 du code local -des impôts. - -“ IV.-Ne sont pas pris en compte les arrérages des rentes viagères constituées en -faveur d'une personne handicapée, mentionnés au g du 2 de l'article 75 du code local des -impôts. ” ; - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -4° L'article R. 822-5 n'est pas applicable à Saint-Pierre-et-Miquelon ; - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -5° (Supprimé) ; - -6° A l'article R. 822-7, les mots : “ au 1° de ” sont remplacés par le mot : “ à ” ; - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -7° L'article R. 822-18 n'est pas applicable à Saint-Pierre-et-Miquelon ; - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet article et de ceux auxquels il se réfère pour -# correctement évaluer leur montant. -``` - -8° A l'article R. 822-22 : - -a) Les mots : “ au 3° de ” sont remplacés par le mot : “ à ” ; - -b) Le 2° est remplacé par les dispositions suivantes : - -“ 2° Pour le patrimoine immobilier, du loyer moyen annuel brut observé sur ce type de -bien. ” ; - -```catala -# Nous choissisons par manque de ressources (sic) de développement de laisser -# le calcul des ressources à l'utilisateur du programme qui devra suivre -# les instructions de cet alinéa et des précédents et de ceux auxquels il -# se réfère pour correctement évaluer leur montant. -``` - -9° L'article R. 822-24 est remplacé par les dispositions suivantes : - -“ Art. R. 822-24.-Pour le versement de l'aide personnelle au logement, les -caractéristiques de décence que doit remplir le logement sont celles prévues aux -dispositions du décret n° 2002-120 du 30 janvier 2002 relatif aux caractéristiques du -logement décent pris pour l'application de l'article 187 de la loi n° 2000-1208 du 13 -décembre 2000 relative à la solidarité et au renouvellement urbain. - -```catala -# Décence du logement déjà prise en compte dans L822-9 -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -####### Article D 863-5 | LEGIARTI000044636784 - -Pour leur application à Saint-Pierre-et-Miquelon, les dispositions de l'article -D. 822-21 sont remplacées par les dispositions suivantes : - -“ Art. D. 822-21.-Les montants mentionnés à l'article R. 822-20 sont fixés par arrêté -des ministres chargés du logement, du budget, de la sécurité sociale et de l'outre-mer. -Ils évoluent, le 1er janvier de chaque année, comme l'indice de référence des loyers -applicable localement. Ils sont arrondis à la centaine d'euro la plus proche. - -“ A défaut d'indice spécifique à la collectivité, il est fait application de celui en -vigueur en métropole. - -```catala -# Cet article régit la manière dont les montants forfaitaires de ressources -# évoluent d'année en année mais nous ne cherchons pas à formaliser cela -# dans ce calculateur. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -###### Sous-section III : Modalités de liquidation et de versement - -####### Article R863-6 | LEGIARTI000047985795 - -Pour leur application à Saint-Pierre-et-Miquelon : - -1° L'article R. 823-1 est remplacé par les dispositions suivantes : - -“ Art. R. 823-1-Les aides personnelles au logement sont liquidées et payées par la -Caisse de prévoyance sociale de Saint-Pierre-et-Miquelon pour les bénéficiaires résidant -à Saint-Pierre-et-Miquelon. ” ; - -```catala -# Pas pertinent pour le calcul du montant. -``` - -2° A l'article R. 823-2, le mot : “ agriculture ” est remplacé par le mot : -“ outre-mer ” ; - - -```catala -# Pas pertinent pour le calcul du montant. -``` - -3° Le 1° et 2° de l'article R. 823-4 sont remplacés par les dispositions suivantes : - -“ 1° Les enfants de moins de vingt et un ans et considérés comme à charge au sens des -1° et 2° de l'article L. 512-3 du code de la sécurité sociale dans leur rédaction -résultant du 2° de l'article 11 de l'ordonnance n° 77-1102 du 26 septembre 1977 portant -extension et adaptation au département de Saint-Pierre-et-Miquelon de diverses -dispositions relatives aux affaires sociales et de l'article L. 823-2 du présent code ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -# Attention : ici on redit 21 ans en dur comme l'âge de la métropole mais si -# R823-4 change il faut bien penser à mettre à jour ici aussi. -``` - -“ 2° Les ascendants du bénéficiaire ou de son conjoint dont les ressources déterminées -dans les conditions prévues aux articles R. 822-3 à R. 822-6 n'excèdent pas le plafond -individuel prévu à l'article L. 815-9 du code de la sécurité sociale, en vigueur au 31 -décembre de l'année de référence multiplié par 1,25 : - -“ a) Ayant au moins l'âge prévu par l'article L. 351-8 du code de la sécurité sociale -dans sa rédaction résultant du a du 3° de l'article 5 de la loi n° 87-563 du 17 juillet -1987 portant réforme du régime d'assurance vieillesse applicable à -Saint-Pierre-et-Miquelon ou, s'ils sont titulaires de l'allocation de solidarité aux -personnes âgées, soixante-cinq ans ; - -“ b) Ayant au moins l'âge prévu par l' article L. 351-1-5 du code de la -sécurité sociale et bénéficiaires de l'article L. 161-19 et de l'article L. -351-8 dans sa rédaction résultant de l' article 5 de la loi n° 87-563 du 17 -juillet 1987 mentionnée précédemment ; ” - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -4° L'article R. 823-6 est remplacé par les dispositions suivantes : - -“ Art. R. 823-6.-Les aides personnelles au logement sont calculées au 1er janvier de -chaque année, sous réserve des cas prévus aux articles R. 822-7 à R. 822-17, R. 823-7, -R. 823-10 à R. 823-14 ainsi que, le cas échéant R. 832-9. - -“ Elles sont calculées sur la base du loyer effectivement payé pour le mois de juillet -de l'année précédente ou, en cas d'accession à la propriété, sur la base de la mensualité -acquittée au titre des charges. - -“ Elles sont versées soit pendant une période de douze mois débutant le 1er janvier, -soit à compter de l'ouverture du droit jusqu'au 31 décembre suivant. Dans ce dernier cas, -elles sont calculées et servies proportionnellement au nombre de mois pendant lesquels -le droit est ouvert. ” ; - -```catala -# Les délais d'examen des demandes définis dans cet article ne sont pas -# nécessairement pertinents à formaliser pour le moment. -``` - -5° L'article R. 823-6-1 n'est pas applicable à Saint-Pierre-et-Miquelon ; - -```catala -# Pas pertinent pour le moment. -``` - -6° L'article R. 823-8 est complété par les mots : “ et s'il y a lieu les accords -particuliers prévus à l'article L. 812-3 ” ; - - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -7° L'article R. 823-11 est remplacé par les dispositions suivantes : - -“ Art. R. 823-11.-Par dérogation à l'article R. 823-10, l'aide est due à compter du -premier jour du mois civil au cours duquel les conditions d'ouverture du droit sont -réunies aux personnes dont le logement a fait l'objet d'un arrêté d'insalubrité ou de -péril lorsqu'elles reprennent le paiement du loyer ou de toute autre somme versée en -contrepartie de l'occupation de ce logement ou lorsqu'elles sont relogées. ” ; - -```catala -# Pas pertinent pour le moment. -# Mais d'autres modes d'occupation peuvent peut-être être ajoutés? -``` - -8° A l'article R. 823-23, après les mots : “ article L. 553-2 du code de la sécurité -sociale ”, sont ajoutés les mots : “ dans sa rédaction résultant du c du 13° de -l'article 11 de l'ordonnance n° 77-1102 du 26 septembre 1977 portant extension et -adaptation au département de Saint-Pierre-et-Miquelon de diverses dispositions relatives -aux affaires sociales. ” ; - -```catala -# Pas pertinent pour le moment. -``` - -9° L'article R. 823-24 est remplacé par les dispositions suivantes : - -“ Art. R. 823-24.-Les dispositions des articles D. 553-1 et D. 553-2 du code de la -sécurité sociale sont applicables au recouvrement des indus. - - -```catala -# Pas pertinent pour le moment. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022 sous réserve des dispositions de l'article 7 dudit décret. - -####### Article D863-7 | LEGIARTI000044636789 - -Pour leur application à Saint-Pierre-et-Miquelon : - -1° L'article D. 823-9 est remplacé par les dispositions suivantes : - -“ Art. D. 823-9.-Les modalités de liquidation et de versement des aides personnelles au -logement sont fixées : - -“ 1° Pour les ménages occupant un logement dont ils sont propriétaires, ou pour lequel -ils sont titulaires d'un contrat de location-accession, par les règles figurant aux -articles R. 842-5 et D. 842-6 à D. 842-13 ; - -“ 2° Pour les autres ménages, par les règles communes figurant aux articles D. 823-16 à -D. 823-19 et par les règles particulières figurant aux articles D. 842-1 à D. 842-4. ” ; - - -```catala -# Ici, l'effet de cette modification est d'imposer le mode de calcul du -# secteur locatif à tous les logements-foyer de Saint-Pierre et Miquelon, qui -# sont inclus dans "pour les autres ménages du 2°". -# On ne code que l'effet sur le calcul de l'allocation logement car au titre -# de L860-3 les Saint-Pierre-et-Miquelonnais n'ont pas droit à l'aide -# personnalisée au logement. - -champ d'application CalculAllocationLogement sous condition - résidence sous forme SaintPierreEtMiquelon: - - exception définition sous_calcul_traitement sous condition - catégorie_calcul_apl sous forme LogementFoyer - conséquence égal à - selon catégorie_calcul_apl sous forme - -- LogementFoyer de logement_foyer_: - (soit traitement_formule égal à - résultat de CalculAllocationLogementLocatif avec { - -- résidence: résidence - -- ressources_ménage_arrondies: ressources_ménage - -- nombre_personnes_à_charge: nombre_personnes_à_charge - -- zone: zone - -- date_courante: date_courante - -- situation_familiale_calcul_apl: situation_familiale_calcul_apl - # Nous assimilons la redevance au loyer pour le calcul - -- loyer_principal: logement_foyer_.redevance - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: - logement_foyer_.bénéficiaire_aide_adulte_ou_enfant_handicapés - # Est-ce qu'on applique le barème spécial chambre - # systématiquement pour les personnes résidant en logement-foyer - # à Saint-Pierre-et-Miquelon ou éventuellement ? - # Réponse de DGALN/DHUP/FE4: "Oui, ces barèmes s’appliquent au sein - # d’éventuelles colocations ou chambres dans ces logements foyers sur - # le territoire de la collectivité territoriale de - # Saint-Pierre-et-Miquelon." - -- logement_est_chambre: logement_foyer_.logement_est_chambre - -- colocation: logement_foyer_.colocation - # Ce cas prévu à l'article 8 de l'arrêté du 27 septembre 2019 n'est - # pas possible pour un hébergement en logement-foyer. - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: faux - -- type_aide: type_aide - # D'après l'article L442-2-1 du CCH la réduction de loyer de - # solidarité est liée à la nature du logement et exclut explicitement - # les logements-foyer. Donc ici 0 € de RLS. - -- réduction_loyer_solidarité: 0 € - -- logement_meublé_d842_2: logement_foyer_.logement_meublé_d842_2 - -- changement_logement_d842_4: PasDeChangement - } - dans Traitement_formule_aide_finale { - -- aide_finale_formule: - traitement_formule.aide_finale_formule - -- traitement_aide_finale: - traitement_formule. - CalculAllocationLogementLocatif.traitement_aide_finale - }) - # Les deux premiers cas ne se déclenchent pas dans cette exception donc - # nous renvoyons des valeurs nulles qui ne seront jamais utilisées. - -- AccessionPropriété: - Traitement_formule_aide_finale { - -- aide_finale_formule: 0€ - -- traitement_aide_finale: traitement_nul_tout_le_temps - } - -- Location: Traitement_formule_aide_finale { - -- aide_finale_formule: 0€ - -- traitement_aide_finale: traitement_nul_tout_le_temps - } - -déclaration traitement_nul_tout_le_temps contenu argent - dépend de aide_finale contenu argent égal à 0€ -``` - -2° Au 5° de l'article D. 823-17, les mots : “ en fonction de l'évolution de l'indice des -prix à la consommation des ménages hors tabac. Cette évolution est appréciée entre le -1er octobre de l'avant-dernière année précédant la revalorisation et le 1er octobre de -l'année précédant la revalorisation. ” sont remplacés par les mots : “ selon l'évolution -annuelle du dernier indice des prix à la consommation des ménages hors tabac en vigueur -localement et connu à la date du 1er novembre. ” ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -3° A l'article D. 823-19, le mot : “ agriculture ” est remplacé par le mot : -“ outre-mer ” ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -4° L'article D. 823-25 est remplacé par les dispositions suivantes : - -“ Art. D. 823-25.-Les organismes payeurs sont autorisés à abandonner la mise en -recouvrement des sommes indûment payées, pour un montant en deçà de 0,68 % du plafond -mensuel de sécurité sociale en vigueur, arrondi à l'euro supérieur. ” - -```catala -# Pas pertinent pour le moment. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -####### Article D863-8 | LEGIARTI000044636791 - -La section 2 du chapitre III du titre II du présent livre n'est pas applicable à -Saint-Pierre-et-Miquelon. - -```catala -# Redite de L863-2, rien à coder. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -###### Sous-section IV : Impayés de dépenses de logement - -####### Article R863-9 | LEGIARTI000044636793 - -Pour leur application à Saint-Pierre-et-Miquelon : - -1° A l'article R. 824-7 : - -a) Au quatrième alinéa, les mots : “ mentionné à l'article 6 de loi n° 90-449 du 31 mai -1990 visant à la mise en œuvre du droit au logement ” sont remplacés par les mots : -“, ou l'organisme local à vocation équivalente ” ; - -b) Au sixième alinéa, les mots : “ tout autre ” sont remplacés par le mot : “ l'” et les -mots : “ à vocation analogue ” sont remplacés par les mots : “ local équivalent ” ; - -2° A l'article R. 824-11, après les mots : “ commission de coordination des actions de -prévention des expulsions locatives ”, sont insérés les mots : “ ou une structure locale -équivalente ” ; - -3° A l'article R. 824-23 la référence : “ L. 712-1 ” est remplacée par la référence : -“ L. 771-10 ” ; - -4° A l'article R. 824-29 les mots “, notamment dans le cas prévu au V de l'article 24 de -la loi n° 89-462 du 6 juillet 1989 tendant à améliorer les rapports locatifs et portant -modification de la loi n° 86-1290 du 23 décembre 1986 ” ne sont pas applicables ; - -5° L'article R. 824-30 n'est pas applicable à Saint-Pierre-et-Miquelon ; - -6° Le second alinéa de l'article R. 824-32 est remplacé par les dispositions suivantes : - -“ Dans ce cas, l'établissement bancaire est substitué au bailleur, l'échéance de prêt -au loyer et le dispositif local en charge de la lutte contre les impayés dans le domaine -de l'accession est substitué à la commission de coordination des actions de prévention -des expulsions locatives. ” - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -```catala -# Pas pertinent pour le moment. -``` - -####### Article D863-10 | LEGIARTI000044636795 - -Pour son application à Saint-Pierre-et-Miquelon, à l'article D. 824-15, après les mots -: “ l'article L. 442-8-2 ”, sont ajoutés les mots : “ ou des dispositions locales -équivalentes ”. - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -###### Sous-section V : Contentieux - -```catala -# Rien à coder. -``` - -##### Section III : Aide personnalisée au logement - -###### Article R863-12 | LEGIARTI000044636799 - -Les dispositions du titre III du présent livre ne sont pas applicables à -Saint-Pierre-et-Miquelon. - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -```catala -# Redite de L860-3, rien à coder ici. -``` - -##### Section IV : Allocations de logement - -###### Article R863-13 | LEGIARTI000044636801 - -Pour leur application à Saint-Pierre-et-Miquelon : - -1° A l'article R. 842-5, les mots : “ imposées pour le bénéfice des prêts conventionnés -mentionnés à l'article D. 331-63 ” sont remplacés par les mots : “ en vigueur localement -pour le bénéfice des aides accordées pour les travaux concourant à l'aménagement à usage -de logement de locaux non destinés à l'habitation ou à l'agrandissement de logements -existants ” ; - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -2° L'article R. 843-1 est remplacé par les dispositions suivantes : - -“ Art. R. 843-1.-Lorsque le logement ne répond pas aux caractéristiques de décence -mentionnées à l'article R. 822-24 ou lorsque le propriétaire n'a pas produit -l'attestation mentionnée à l'article R. 823-2, l'allocation de logement peut être -accordée, à titre dérogatoire, par l'organisme payeur : - -“ 1° Aux personnes logées en hôtel meublé ou établissement assimilé, pour une durée -d'un an. L'organisme payeur doit en informer son conseil d'administration, le préfet et -le président du conseil territorial. - -“ L'autorité territorialement compétente désigne alors un organisme privé ou public aux -fins de proposer au propriétaire une solution adaptée d'amélioration du logement ou à -l'allocataire une solution de relogement correspondant à ses besoins et à ses -possibilités. - -“ Cette dérogation peut être prorogée, pour six mois, par le conseil d'administration -de l'organisme payeur, si les travaux de mise aux normes, bien que décidés, n'ont pas -encore pu être achevés à l'issue de la première année ou si la solution de relogement, -bien qu'acceptée par l'allocataire, n'a pas encore pris effet dans le même délai. - -“ Le préfet ainsi que le président du conseil territorial sont également informés du -refus d'accorder l'allocation de logement à titre dérogatoire ; - -“ 2° Aux personnes mentionnées à l'article R. 842-5, pour une durée de dix-huit mois -renouvelable une fois. - -“ L'organisme payeur doit en informer son conseil d'administration, le préfet et le -président du conseil territorial. - -“ Ces derniers examinent avec l'allocataire une solution adaptée d'amélioration du -logement ou une solution de relogement. ” - -```catala -# Pas pertinent pour le moment. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -###### Article D863-14 | LEGIARTI000044970228 - -Pour leur application à Saint-Pierre-et-Miquelon : - -1° A l'article D. 842-4, les mots : “en application de l'article L. 522-1” sont -remplacés par les mots : “en application de la règlementation applicable localement” ; - -2° A l'article D. 842-13, les mots : “et de l'agriculture” sont remplacés par les mots : -“et de l'outre-mer”. - -```catala -# Fait la correspondance avec le droit local mais ne change pas le calcul, on ne -# code donc rien ici. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -###### Article D863-15 | LEGIARTI000044970240 - -Les articles D. 842-15 à D. 842-18 ne sont pas applicables à Saint-Pierre-et-Miquelon. - -```catala -# Les articles D842-15 à D842-18 concernent les modalités de calcul de -# l'allocation de logement pour les logements-foyers, mais nous savions -# déjà depuis D863-7 qu'il faut utiliser les règles du secteur locatif -# au lieu des règles du secteur logement-foyer à Saint-Pierre-et-Miquelon. -# Voir le code Catala de D863-7 pour l'implémentation. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. - -###### Article D863-16 | LEGIARTI000044970258 - -Les articles R. 842-14, R. 843-2 à R. 843-8 ne sont pas applicables à -Saint-Pierre-et-Miquelon. - -```catala -# Pas pertinent pour le moment. -``` - -NOTA : Conformément à l'article 6 du décret n° 2021-1750 du 21 décembre 2021, ces -dispositions s'appliquent aux contributions et aux prestations dues à compter du 1er -janvier 2022. diff --git a/examples/aides_logement/code_sécurité_sociale.catala_fr b/examples/aides_logement/code_sécurité_sociale.catala_fr deleted file mode 100644 index 7be3084f..00000000 --- a/examples/aides_logement/code_sécurité_sociale.catala_fr +++ /dev/null @@ -1,418 +0,0 @@ -# Code de la sécurité sociale - -## Partie législative - -### Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base - -### Titre III: Titre III : Dispositions communes relatives au financement - -#### Chapitre 6 : Contribution sociale généralisée - -##### Section 1 : De la contribution sociale sur les revenus d'activité et sur les revenus de remplacement - -###### Article L136-1-3 | LEGIARTI000045232415 - -I.-Ne sont pas assujetties à la contribution sociale prévue à l'article L. 136-1 -les prestations sociales suivantes : - -1° Les prestations familiales mentionnées aux articles L. 511-1 et L. 755-1 ; - -2° La prime d'activité mentionnée à l'article L. 841-1 ; - -3° L'allocation aux adultes handicapés prévue à l'article L. 821-1 ; - -4° L'allocation de solidarité aux personnes âgées prévue à l'article L. 815-1 et -les allocations mentionnées à l' article 2 de l'ordonnance n° 2004-605 du 24 juin -2004 simplifiant le minimum vieillesse ; - -5° L'allocation supplémentaire d'invalidité prévue à l'article L. 815-24 ; - -6° Les aides personnelles au logement mentionnées à l'article L. 821-1 du code de -la construction et de l'habitation ; - -```catala -# Justifie le fait que ContributionsSocialesAidesPersonnelleLogement ne prenne -# en compte que la CRDS et pas la CSG. -champ d'application ContributionsSocialesAidesPersonnelleLogement: - règle exonéré_csg rempli -``` - -7° L'allocation personnalisée d'autonomie prévue à l' article L. 232-1 du code de -l'action sociale et des familles ; - -8° Le revenu de solidarité active prévu à l'article L. 262-1 du même code ; - -9° La prestation de compensation servie en vertu des dispositions de l'article -L. 245-1 du code de l'action sociale et des familles , y compris le dédommagement -mentionné à l'article L. 245-12 du même code ; - -10° L'allocation pour demandeur d'asile prévue à l'article L. 553-1 du code de -l'entrée et du séjour des étrangers et du droit d'asile ; - -11° L'allocation de reconnaissance prévue à l'article 6 de la loi n° 2005-158 du -23 février 2005 portant reconnaissance de la Nation et contribution nationale en -faveur des Français rapatriés ; - -12° L'allocation viagère prévue à l' article 133 de la loi n° 2015-1785 du 29 -décembre 2015 de finances pour 2016 ; - -13° Les pensions temporaires d'orphelin versées en application du code des -pensions civiles et militaires de retraite , à concurrence de l'allocation aux -adultes handicapés, lorsqu'elles remplacent cette allocation en tout ou partie -du fait de la loi, ainsi que la fraction de ces pensions temporaires qui -correspond au montant des prestations familiales auxquelles aurait eu droit -le parent décédé ; - -14° Les allocations, indemnités et prestations mentionnées au 9° de l'article -81 du code général des impôts . - -II.-Ne sont pas non plus assujettis : - -1° La prise en charge des frais de santé ; - -2° Les pensions alimentaires répondant aux conditions fixées par les articles -205 à 211 du code civil, les rentes prévues à l'article 276 du même code et les -pensions alimentaires versées en vertu d'une décision de justice, en cas de -séparation de corps ou de divorce, ou en cas d'instance en séparation de corps -ou en divorce ; - -3° Les rentes servies en représentation de dommages-intérêts en vertu d'une -condamnation prononcée judiciairement ou au titre de la solidarité nationale -pour la réparation d'un préjudice corporel ayant entraîné pour la victime une -incapacité permanente totale l'obligeant à avoir recours à l'assistance d'une -tierce personne pour effectuer les actes ordinaires de la vie ; - -4° Les traitements attachés à la légion d'honneur et à la médaille militaire ; - -5° Les mesures de réparation instaurées en faveur des victimes de persécutions -ou d'actes de barbarie durant la Deuxième Guerre mondiale ou de leurs ayants -droit ; - -6° La somme forfaitaire valant réparation prévue à l'article 3 de la loi -n° 2022-229 du 23 février 2022 portant reconnaissance de la Nation envers -les harkis et les autres personnes rapatriées d'Algérie anciennement de statut -civil de droit local et réparation des préjudices subis par ceux-ci et leurs -familles du fait de l'indignité de leurs conditions d'accueil et de vie dans -certaines structures sur le territoire français. - -#### Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales - -##### Chapitre 1er : Dispositions relatives aux prestations - -###### Section 1 : Bénéficiaires - -####### Sous-section 4 : Assurance vieillesse - -######## Paragraphe 1 : Information et simplification des démarches des assurés. - -######### Article L161-17-2 | LEGIARTI000025014605 - -L'âge d'ouverture du droit à une pension de retraite mentionné au premier alinéa -de l'article L. 351-1 du présent code, à l'article L. 732-18 du code rural -et de la pêche maritime, au 1° du I de l'article L. 24 et au 1° de l'article -L. 25 du code des pensions civiles et militaires de retraite est fixé à -soixante-deux ans pour les assurés nés à compter du 1er janvier 1955. - -```catala -champ d'application OuvertureDroitsRetraite: - définition âge_ouverture_droit sous condition - date_naissance_assuré >= |1955-01-01| - conséquence égal à 62 an - -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition ouverture_droits_retraite.date_naissance_assuré égal à - demandeur.date_naissance - définition âge_l161_17_2_sécu égal à - ouverture_droits_retraite.âge_ouverture_droit -``` - -Cet âge est fixé par décret dans la limite de l'âge mentionné au premier -alinéa pour les assurés nés avant le 1er janvier 1955 et, pour ceux nés -entre le 1er juillet 1951 et le 31 décembre 1954, de manière croissante : - -1° A raison de quatre mois par génération pour les assurés nés entre le 1er -juillet 1951 et le 31 décembre 1951 ; - -2° A raison de cinq mois par génération pour les assurés nés entre le 1er -janvier 1952 et le 31 décembre 1954. - -NOTA : - -Loi n° 2010-1330 du 9 novembre 2010, article 118 II : Les dispositions de -l'article 18 sont applicables aux pensions prenant effet à compter du 1er juillet 2011. - -### Livre III : Dispositions relatives aux assurances sociales et à diverses catégories de personnes rattachées au régime générale - -#### Titre V : Assurance vieillesse - Assurance veuvage - -##### Chapitre 1er : Ouverture du droit, liquidation et calcul des pensions de retraite - -###### Section 1 : Conditions d'âge - -####### Article L351-1-5 | LEGIARTI000047449233 - -La condition d'âge prévue au premier alinéa de l'article L. 351-1 est abaissée, -dans des conditions fixées par décret, pour les assurés reconnus inaptes au -travail dans les conditions prévues à l'article L. 351-7 et pour ceux justifiant -d'une incapacité permanente au moins égale à un taux fixé par décret. - -```catala -# Définit ÉligibilitéAidesPersonnelleLogement.âge_l351_1_5_sécu, -# mais valeur dans un décret. -``` - -###### Section 2 : Périodes d'assurance, périodes équivalentes et périodes assimilées - -####### Sous-section 1 : Dispositions générales. - -######## Article D351-1-14 | LEGIARTI000047634688 - -L'âge prévu au premier alinéa de l'article L. 351-1 est abaissé, en application -de l'article L. 351-1-5, à soixante-deux ans pour les assurés reconnus inaptes -au travail dans les conditions prévues à l'article L. 351-7 et pour les assurés -dont l'incapacité permanente est supérieure ou égale au pourcentage prévu pour -l'application de l'article L. 821-2. - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement - sous condition date_courante >= |2023-09-01| - # L'article L351-1-5 du CCS est entré en vigueur au 1er septembre 2023, - # aussi le code Catala appelé avec une date antérieure ne devrait pas avoir - # besoin de cette valeur. Cependant, la sémantique de Catala fait que - # la variable "âge_l351_1_5_sécu" est calculée quelque soit la date, - # même si elle n'est pas utilisée ; or si nous ne donnons pas de définition - # à "âge_l351_1_5_sécu" avant le 1er septembre 2023 nous allons avoir une - # erreur à l'exécution. Ainsi, nous définissons rétroactivement cette - # valeur avec la condition ci-dessous, même si c'est un anachronisme. - ou date_courante <= |2023-09-01|: - - définition âge_l351_1_5_sécu égal à 62 an -``` - -NOTA : -Conformément à l'article 9 du décret n° 2023-436 du 3 juin 2023, -ces dispositions s'appliquent aux pensions prenant effet à compter -du 1er septembre 2023. - -###### Section 5 : Taux et montant de la pension - -####### Article L351-8 | LEGIARTI000028498855 - -Bénéficient du taux plein même s'ils ne justifient pas de la durée requise -d'assurance ou de périodes équivalentes dans le régime général et un ou -plusieurs autres régimes obligatoires : - -1° Les assurés qui atteignent l'âge prévu à l'article L. 161-17-2 augmenté -de cinq années ; - -```catala -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition âge_l351_8_1_sécu égal à âge_l161_17_2_sécu + 5 an -``` - -1° bis Les assurés ayant interrompu leur activité professionnelle en raison de -leur qualité d'aidant familial telle que définie à l'article L. 245-12 du code -de l'action sociale et des familles qui atteignent l'âge de soixante-cinq ans -dans des conditions déterminées par décret en Conseil d'Etat ; - -1° ter Les assurés justifiant d'une incapacité permanente au moins égale à un -taux fixé par décret, qui atteignent l'âge mentionné à l'article L. 161-17-2 ; - -2°) les assurés reconnus inaptes au travail dans les conditions prévues à -l'article L. 351-7 ; - -3°) les anciens déportés ou internés titulaires de la carte de déporté ou -interné de la Résistance ou de la carte de déporté ou interné politique ; - -4°) les mères de famille salariées justifiant d'une durée minimum d'assurance -dans le régime général, ou dans ce régime et celui des salariés agricoles qui -ont élevé au moins un nombre minimum d'enfants, dans les conditions prévues au -deuxième alinéa de l'article L. 342-4 , et qui ont exercé un travail manuel -ouvrier pendant une durée déterminée ; - -4° bis) les travailleurs handicapés admis à demander la liquidation de leur -pension de retraite avant l'âge prévu au premier alinéa de l'article L. 351-1 ; - -5°) les anciens prisonniers de guerre lorsque, sur leur demande, leur pension -est liquidée à un âge variant suivant la durée de captivité dans des conditions -fixées par décret. - -Les anciens prisonniers de guerre évadés de guerre, au-delà d'un certain temps -de captivité, et les anciens prisonniers rapatriés pour maladie peuvent choisir -le régime le plus favorable. - -Toute partie de mois n'est pas prise en considération. - -Les dispositions du 5°) ci-dessus s'appliquent à tous les anciens combattants -pour leur durée de service actif passé sous les drapeaux. - -NOTA : - -Conformément à l'article 37 IV de la loi n° 2014-40 du 20 janvier 2014, -l'article L351-8, dans sa rédaction issue de la présente loi, est applicable -aux pensions prenant effet à compter du 1er février 2014. - -### Livre VIII : Allocations aux personnes âgées - Allocation aux adultes handicapés - Aides à l'emploi pour la garde des jeunes enfants - Aides aux collectivités et organismes logeant à titre temporaire des personnes défavorisées ou gérant des aires d'accueil des gens du voyage - Protection complémentaire en matière de simultanément - -#### Titre I : Allocations aux personnes âgées - -##### Chapitre 5 : Allocation de solidarité aux personnes âgées - -###### Section 1 : Ouverture du droit et liquidation de l'allocation de solidarité aux personnes âgées - -####### Sous-section 3 : Appréciation des ressources - -######## Article L815-9 | LEGIARTI000006744880 - -L'allocation de solidarité aux personnes âgées n'est due que si le total -de cette allocation et des ressources personnelles de l'intéressé et du conjoint, -du concubin ou du partenaire lié par un pacte civil de solidarité n'excède pas des -plafonds fixés par décret. Lorsque le total de la ou des allocations de -solidarité et des ressources personnelles de l'intéressé ou des époux, -concubins ou partenaires liés par un pacte civil de solidarité dépasse ces -plafonds, la ou les allocations sont réduites à due concurrence. - -```catala -# Définit ÉligibilitéAidesPersonnelleLogement.plafond_individuel_l815_9_sécu, -# mais valeur dans un décret. -``` - -## Partie réglementaire - Décrets simples - -### Livre I : Généralités - Dispositions communes à tout ou partie des régimes de base - -#### Titre VI : Dispositions relatives aux prestations et aux soins - Contrôle médical - Tutelle aux prestations sociales - -##### Chapitre 1er : Dispositions relatives aux prestations - -###### Section 1 : Bénéficiaires - -####### Sous-section 4 : Assurance vieillesse - -######## Paragraphe 2 : Ouverture du droit et liquidation. - -######### Article D161-2-1-9 | LEGIARTI000025089933 - -L'âge prévu au second alinéa de l'article L. 161-17-2 est fixé à : - -1° Soixante ans pour les assurés nés avant le 1er juillet 1951 ; - -```catala -champ d'application OuvertureDroitsRetraite: - définition âge_ouverture_droit sous condition - date_naissance_assuré < |1951-07-01| - conséquence égal à 60 an -``` - -2° Soixante ans et quatre mois pour les assurés nés entre le 1er juillet -1951 et le 31 décembre 1951 inclus ; - -```catala -champ d'application OuvertureDroitsRetraite: - définition âge_ouverture_droit sous condition - date_naissance_assuré >= |1951-07-01| et - date_naissance_assuré <= |1951-12-31| - conséquence égal à 60 an + 4 mois -``` - -3° Soixante ans et neuf mois pour les assurés nés en 1952 ; - -```catala -champ d'application OuvertureDroitsRetraite: - définition âge_ouverture_droit sous condition - accès_année de date_naissance_assuré = 1952 - conséquence égal à 60 an + 9 mois -``` - -4° Soixante et un ans et deux mois pour les assurés nés en 1953 ; - -```catala -champ d'application OuvertureDroitsRetraite: - définition âge_ouverture_droit sous condition - accès_année de date_naissance_assuré = 1953 - conséquence égal à 61 an + 2 mois -``` - -5° Soixante et un ans et sept mois pour les assurés nés en 1954 ; - -```catala -champ d'application OuvertureDroitsRetraite: - définition âge_ouverture_droit sous condition - accès_année de date_naissance_assuré = 1954 - conséquence égal à 61 an + 7 mois -``` - -6° Soixante deux ans pour les assurés nés à compter du 1er janvier 1955. - -```catala -# Déjà codé dans L161-17-2 -``` - -### Livre VIII : Allocations aux personnes âgées - Allocation aux adultes handicapés - Aides à l'emploi pour la garde des jeunes enfants - Protection complémentaire en matière de santé - -#### Titre I : Allocations aux personnes âgées - -##### Chapitre 5 : Allocation de solidarité aux personnes âgées - -###### Section 1 : Ouverture du droit et liquidation de l'allocation de solidarité aux personnes âgées - -####### Article D815-1 | LEGIARTI000036760292 - -Le montant maximum servi au titre de l'allocation de solidarité aux personnes -âgées est fixé : - -a) Pour les personnes seules, ou lorsque seul un des conjoints, concubins ou -partenaires liés par un pacte civil de solidarité en bénéficie, à 9 998,40 euros -par an à compter du 1er avril 2018, à 10 418,40 euros par an à compter du 1er -janvier 2019 et à 10 838,40 euros par an à compter du 1er janvier 2020 ; - -```catala -# Uniquement la valeur du plafond individuel est importante pour -# l'éligibilité aux APL. - -champ d'application ÉligibilitéAidesPersonnelleLogement: - définition plafond_individuel_l815_9_sécu sous condition - date_courante >= |2018-04-01| et - date_courante < |2019-01-01| - conséquence égal à 9 998,40€ - - définition plafond_individuel_l815_9_sécu sous condition - date_courante >= |2019-01-01| et - date_courante < |2020-01-01| - conséquence égal à 10 418,40€ - - définition plafond_individuel_l815_9_sécu sous condition - date_courante >= |2020-01-01| et - date_courante < |2021-01-01| - conséquence égal à 10 838,40€ -``` - -b) Lorsque les deux conjoints, concubins ou partenaires liés par un pacte civil -de solidarité en bénéficient, à 15 522,54 euros par an à compter du 1er avril -2018, à 16 174,59 euros par an à compter du 1er janvier 2019 et à 16 826,64 euros -par an à compter du 1er janvier 2020. Dans ce cas, le montant est servi par moitié -à chacun des deux allocataires concernés. - -Les dispositions du b sont également applicables pour le calcul de l'allocation -de solidarité aux personnes âgées servie au demandeur lorsque son conjoint, -concubin ou partenaire lié par un pacte civil de solidarité bénéficie de -l'allocation supplémentaire d'invalidité visée à l'article L. 815-24 . - -NOTA : - -Décret n° 2018-227 du 30 mars 2018, article 2, ces dispositions s'appliquent aux -prestations dues à compter du mois d'avril 2018. - -####### Article D815-2 | LEGIARTI000029619577 - -Le plafond annuel prévu à l'article L. 815-9 pour une personne seule, est égal -au montant maximum prévu au a de l'article D. 815-1 pour la période correspondante. -Le plafond applicable lorsque le ou les allocataires sont mariés, concubins -ou partenaires liés par un pacte civil de solidarité est égal au montant -maximum prévu au b de l'article D. 815-1. - -NOTA : - -Décret n° 2014-1215 du 20 octobre 2014 JORF du 22 octobre 2014, art. 2 : -Ces dispositions s'appliquent aux prestations dues à compter du mois -d'octobre 2014 . diff --git a/examples/aides_logement/doc/documentation_-situations_internationales2.pdf b/examples/aides_logement/doc/documentation_-situations_internationales2.pdf deleted file mode 100644 index 6084106b..00000000 Binary files a/examples/aides_logement/doc/documentation_-situations_internationales2.pdf and /dev/null differ diff --git a/examples/aides_logement/doc/documentation_situations_internationales.pdf b/examples/aides_logement/doc/documentation_situations_internationales.pdf deleted file mode 100644 index 99a97447..00000000 Binary files a/examples/aides_logement/doc/documentation_situations_internationales.pdf and /dev/null differ diff --git a/examples/aides_logement/dune b/examples/aides_logement/dune deleted file mode 100644 index 5621bee9..00000000 --- a/examples/aides_logement/dune +++ /dev/null @@ -1,39 +0,0 @@ -(rule - (targets aides_logement.ml aides_logement_api_web.ml) - (deps - (source_tree ..) - %{workspace_root}/compiler/plugins/api_web%{ext_plugin}) - (action - (chdir - %{workspace_root} - (run - catala - api_web - -t - --plugin-dir=compiler/plugins - %{dep:aides_logement.catala_fr})))) - -(rule - (targets aides_logement_schema.json) - (deps - (source_tree ..) - %{workspace_root}/compiler/plugins/json_schema%{ext_plugin}) - (action - (chdir - %{workspace_root} - (run - catala - json_schema - -t - --plugin-dir=compiler/plugins - "--scope=CalculetteAidesAuLogementGardeAltern\195\169e" - %{dep:aides_logement.catala_fr})))) - -(rule - (target aides_logement.py) - (deps - (source_tree ..)) - (action - (chdir - %{workspace_root} - (run catala Python -O -t %{dep:aides_logement.catala_fr})))) diff --git a/examples/aides_logement/prologue.catala_fr b/examples/aides_logement/prologue.catala_fr deleted file mode 100644 index 14227bf9..00000000 --- a/examples/aides_logement/prologue.catala_fr +++ /dev/null @@ -1,1268 +0,0 @@ -# Prologue : aides au logement - -Avant de présenter les textes réglementaires qui régissent le calcul des -aides au logement, il est nécessaire de définir les structures de données -informatiques qui modélisent la situation dont parlent ces textes législatifs. -Vous pouvez passer cette section pour aller directement au textes législatifs -dans les sections suivantes. - -## Types de données manipulées par le programme - -### Calcul et éligibilité des aides personnelles au logement - -#### Calcul et éligibilité pour le secteur locatif - -```catala-metadata -déclaration structure ConventionBailleurSocial: - donnée conventionné_livre_III_titre_V_chap_III contenu booléen - donnée réduction_loyer_solidarité_perçue contenu argent - -déclaration structure ConventionANHA: - donnée conventionné_livre_III_titre_II_chap_I_sec_3 contenu booléen - -déclaration énumération TypeBailleur: - -- BailleurSocial contenu ConventionBailleurSocial - -- BailleurPrivéAvecConventionnementSocial contenu - ConventionANHA - -- BailleurPrivé - -déclaration structure Location: - donnée bailleur contenu TypeBailleur - donnée loyer_principal contenu argent - donnée bénéficiaire_aide_adulte_ou_enfant_handicapés contenu booléen - donnée logement_est_chambre contenu booléen - donnée colocation contenu booléen - donnée âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - contenu booléen - donnée logement_meublé_d842_2 contenu booléen - donnée changement_logement_d842_4 contenu ChangementLogementD842_4 -``` - -#### Calcul et éligibilité pour le secteur accession à la propriété - -```catala-metadata -déclaration énumération TypePrêt: - -- D331_32 - -- D331_63_64 - -- D331_59_8 - -- D331_76_1 - -- Autre - -déclaration énumération TitulairePrêt: - -- Demandeur - -- VendeurQuandDemandeurAContratLocationAccession - -déclaration structure Prêt: - donnée type_prêt contenu TypePrêt - donnée date_signature contenu date - donnée titulaire_prêt contenu TitulairePrêt - donnée accord_financement_représentant_État_outre_mer - contenu AccordFinancementReprésentantÉtatOutreMer - -déclaration structure Propriétaire: - donnée mensualité_principale contenu argent - donnée charges_mensuelles_prêt contenu argent - donnée date_entrée_logement contenu date - donnée type_travaux_logement_d832_15 contenu TypeTravauxLogementD832_15 - donnée type_travaux_logement_r842_5 contenu TypeTravauxLogementR842_5 - donnée local_habité_première_fois_bénéficiaire contenu booléen - donnée copropriété contenu booléen - donnée situation_r822_11_13_17 contenu booléen - donnée ancienneté_logement contenu NeufOuAncien - donnée prêt contenu Prêt - donnée opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - contenu booléen - -déclaration énumération TypeTravauxLogementD832_15: - -- TravauxPourAcquisitionD832_15_1 - -- TravauxSurLogementDéjàAcquisD832_15_2 - -- PasDeTravaux - -déclaration énumération TypeTravauxLogementR842_5: - -- ObjectifDécenceLogement - -- PrévuDansListeR321_15 - -- AgrandirOuRendreHabitableD331_63 - -- PasDeTravaux - -déclaration énumération AmélioréParOccupant: - -- Oui - -- Non - -déclaration énumération NeufOuAncien: - -- Neuf - -- Ancien contenu AmélioréParOccupant -``` - -#### Calcul et éligibilité pour le secteur logement-foyer - -```catala-metadata -déclaration énumération LimiteTranche: - -- Revenu contenu argent - -- Infini - -déclaration structure TrancheRevenu: - donnée haut contenu LimiteTranche - donnée bas contenu argent - donnée taux contenu décimal - -déclaration énumération LimiteTrancheDécimal: - -- Revenu contenu décimal - -- Infini - -déclaration structure TrancheRevenuDécimal: - donnée haut contenu LimiteTrancheDécimal - donnée bas contenu décimal - donnée taux contenu décimal - -déclaration structure LogementFoyer: - donnée type contenu TypeLogementFoyer - donnée logement_foyer_jeunes_travailleurs contenu booléen - donnée remplit_conditions_r832_21 contenu booléen - donnée conventionné_livre_III_titre_V_chap_III contenu booléen - donnée conventionné_selon_règles_drom contenu booléen - donnée date_conventionnement contenu date - donnée construit_application_loi_1957_12_III contenu booléen - donnée redevance contenu argent - donnée catégorie_équivalence_loyer_d842_16 contenu - CatégorieÉquivalenceLoyerAllocationLogementFoyer - donnée bénéficiaire_aide_adulte_ou_enfant_handicapés contenu booléen - donnée logement_meublé_d842_2 contenu booléen - donnée logement_est_chambre contenu booléen - donnée colocation contenu booléen -``` - -#### Calcul et éligibilité pour tous les secteurs - -```catala-metadata -déclaration énumération PrestationReçue: - -- AllocationsFamiliales - -- ComplémentFamilial - -- AllocationSoutienFamilial - -- AllocationSoutienEnfantHandicapé - - -déclaration énumération ModeOccupation: - -- Locataire contenu Location - -- RésidentLogementFoyer contenu LogementFoyer - -- AccessionPropriétéLocalUsageExclusifHabitation - contenu Propriétaire - -- SousLocataire contenu Location - -- LocationAccession contenu Propriétaire - -déclaration énumération ParentOuAutre: - -- DemandeurOuConjointOuParentOuViaPartsSociétés contenu décimal - -- Autre - -déclaration structure PersonneSousLocation: - donnée date_naissance_personne_sous_location contenu date - donnée conforme_article_l442_1 contenu booléen - -déclaration énumération LouéOuSousLouéÀDesTiers: - -- Non - -- Oui contenu PersonneSousLocation - -déclaration structure Logement: - donnée résidence_principale contenu booléen - donnée mode_occupation contenu ModeOccupation - donnée propriétaire contenu ParentOuAutre - donnée loué_ou_sous_loué_à_des_tiers contenu LouéOuSousLouéÀDesTiers - donnée usufruit contenu ParentOuAutre - donnée logement_decent_l89_462 contenu booléen - donnée surface_m_carrés contenu entier - donnée zone contenu ZoneDHabitation - - -déclaration énumération SituationGardeAlternée: - -- PasDeGardeAlternée - -- GardeAlternéeCoefficientPriseEnCharge contenu décimal - -déclaration structure EnfantÀCharge: - donnée identifiant contenu entier - donnée nationalité contenu Nationalité - donnée a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen - donnée date_de_naissance contenu date - donnée rémuneration_mensuelle contenu argent - donnée obligation_scolaire contenu SituationObligationScolaire - donnée situation_garde_alternée contenu SituationGardeAlternée - donnée études_apprentissage_stage_formation_pro_impossibilité_travail - contenu booléen - -déclaration énumération Parenté: - -- Ascendant - -- Descendant - -- CollatéralDeuxièmeTroisièmeDegré - -déclaration structure AutrePersonneÀCharge: - donnée date_naissance contenu date - donnée ressources contenu argent - donnée ascendant_descendant_collatéral_deuxième_troisième_degré - contenu booléen - donnée parenté contenu Parenté - donnée incapacité_80_pourcent_ou_restriction_emploi contenu booléen - donnée bénéficiaire_l161_19_l351_8_l643_3_sécu contenu booléen - donnée titulaire_allocation_personne_âgée contenu booléen - -déclaration énumération PersonneÀCharge: - -- EnfantÀCharge contenu EnfantÀCharge - -- AutrePersonneÀCharge contenu AutrePersonneÀCharge - -déclaration énumération DateDeNaissanceOuMoisDeGrossesse: - -- DateDeNaissance contenu date - -- AvantPremierJourMoisCivilTroisièmeMoisDeGrossesse - -- AprèsPremierJourMoisCivilTroisièmeMoisDeGrossesse - -déclaration énumération DateNaissanceTroisièmeOuDernierPlusEnfant: - -- MoinsDeTroisEnfants - -- PlusDeTroisEnfants contenu DateDeNaissanceOuMoisDeGrossesse - -déclaration structure Ménage: - donnée prestations_reçues contenu liste de PrestationReçue - donnée logement contenu Logement - donnée personnes_à_charge contenu liste de PersonneÀCharge - donnée nombre_autres_occupants_logement contenu entier - donnée situation_familiale contenu SituationFamiliale - donnée condition_rattaché_foyer_fiscal_parent_ifi contenu booléen - donnée enfant_à_naître_après_quatrième_mois_grossesse contenu booléen - donnée personnes_âgées_handicapées_foyer_r844_4 contenu booléen - donnée résidence contenu Collectivité - - -déclaration structure Demandeur: - donnée date_naissance contenu date - donnée nationalité contenu Nationalité - donnée personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale - contenu booléen - donnée est_non_salarié_agricole_l781_8_l_781_46_code_rural contenu booléen - donnée - magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte - contenu booléen - -déclaration structure ConditionsÉtrangers: - donnée satisfait_conditions_l512_2_code_sécurité_sociale - contenu booléen - donnée satisfait_art_4_ordonnance_2002_mayotte contenu booléen - -déclaration énumération Nationalité: - -- Française - -- Étrangère contenu ConditionsÉtrangers - -# La répartition des communes par zones est donnée par l'arrêté du 17 mars -# 1978 relatif au classement des communes par zones géographiques et -# l'article 6 de l'arrêté du 5 mai 1995 relatif aux subventions de -# l'Etat et aux prêts pour la construction, l'acquisition et -# l'amélioration des logements locatifs aidés. Toutefois le phrasé de ces -# articles laisse subsister une source d'incertitude quant au zonage de la -# Guyane qui est un département d'outre mer mais qui n'est pas une île non -# reliée au continent. D'après un mail du 21/04/2023 de DGALN/DHUP/FE4, -# "La Guyane est bien comprise en zone II. Les territoires qui composent la zone -# II doivent être entendus comme l’ensemble de ceux listés, auxquels s’ajoute la -# Guyane puisque le dernier alinéa de l’article 6 exclut strictement les -# départements d’outre-mer de la zone III." -déclaration énumération ZoneDHabitation: - -- Zone1 - -- Zone2 - -- Zone3 - -déclaration énumération CatégorieCalculAPL: - -- Location contenu Location - -- AccessionPropriété contenu Propriétaire - -- LogementFoyer contenu LogementFoyer -``` - -### Informations relatives aux impayés de dépense de logement - -```catala-metadata -déclaration énumération VersementÀ: - -- Bailleur - -- Bénéficiaire - -- ÉtablissementHabilité - -déclaration énumération DépenseLogement: - -- TotalAnnuelÉchéances contenu argent - -- Mensualité contenu argent - -- Loyer contenu argent - -déclaration énumération ModeOccupationImpayé: - -- ImpayéLoyer - -- ImpayéPrêt -``` - -## Déclarations des champs d'application - -### Éligibilité aux aides personnelles au logement - -```catala-metadata -déclaration champ d'application ÉligibilitéAidesPersonnelleLogement: - entrée ménage contenu Ménage - entrée demandeur contenu Demandeur - entrée résultat date_courante contenu date - - # Différentes conditions pour l'éligibilité - interne condition_nationalité contenu booléen - contexte condition_logement_résidence_principale condition - interne condition_logement_mode_occupation condition - interne condition_logement_location_tiers condition - contexte condition_logement_surface condition - interne condition_non_ouverture_l822_8 condition - interne condition_non_ouverture_l822_9_decence_logement condition - interne condition_ouverture_l822_10_peuplement_logement condition - interne septième_alinéa_l823_1_applicable condition - interne éligibilité_logement condition - interne prise_en_compte_personne_à_charge condition - dépend de personne_à_charge contenu PersonneÀCharge - interne personnes_à_charge_prises_en_compte - contenu liste de PersonneÀCharge - contexte date_entrée_vigueur_différée_cch contenu date - interne nombre_personnes_logement contenu entier - - # Autres variables - interne usufruit_ou_propriété_famille contenu booléen - interne seuil_l822_3_parts_propriété contenu décimal - interne seuil_l822_3_parts_usufruit contenu décimal - interne âge_l351_8_1_sécu contenu durée - interne âge_l161_17_2_sécu contenu durée - interne âge_l351_1_5_sécu contenu durée - interne plafond_individuel_l815_9_sécu contenu argent - - prestations_familiales champ d'application ÉligibilitéPrestationsFamiliales - ouverture_droits_retraite champ d'application OuvertureDroitsRetraite - - résultat éligibilité condition - résultat nombre_personnes_à_charge_prises_en_compte contenu entier - résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - liste de décimal - résultat condition_2_r823_4 condition - dépend de personne_à_charge contenu PersonneÀCharge - -champ d'application ÉligibilitéAidesPersonnelleLogement: - # TODO informatique et juridique: trouver une meilleur place pour mettre - # cette conjonction. - règle éligibilité sous condition - condition_nationalité et - condition_logement_mode_occupation et - éligibilité_logement - conséquence rempli - définition nombre_personnes_à_charge_prises_en_compte égal à - nombre de personnes_à_charge_prises_en_compte - définition coefficents_enfants_garde_alternée_pris_en_compte égal à - ((selon personne_à_charge sous forme - -- AutrePersonneÀCharge: 0,0 - -- EnfantÀCharge de enfant: ( - selon enfant.situation_garde_alternée sous forme - -- GardeAlternéeCoefficientPriseEnCharge de coeff: coeff - -- PasDeGardeAlternée: 0,0 - )) - pour personne_à_charge parmi personnes_à_charge_prises_en_compte - tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge: faux - -- EnfantÀCharge de enfant: ( - selon enfant.situation_garde_alternée sous forme - -- GardeAlternéeCoefficientPriseEnCharge: vrai - -- PasDeGardeAlternée: faux - ))) - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2018-04-01| - - définition prestations_familiales.date_courante égal à date_courante - définition prestations_familiales.résidence égal à ménage.résidence -``` - -### Éligibilité à l'aide personnalisée au logement - -```catala-metadata -déclaration champ d'application ÉligibilitéAidePersonnaliséeLogement: - entrée ménage contenu Ménage - entrée demandeur contenu Demandeur - entrée résultat date_courante contenu date - - interne logement_situé_commune_déséquilibre_l831_2 condition - interne condition_logement_bailleur condition - interne condition_logement_prêt condition - interne caractéristiques_prêt_l831_1_1 condition dépend de prêt contenu Prêt - interne caractéristiques_prêt_l831_1_6 condition dépend de prêt contenu Prêt - - éligibilité_commune champ d'application ÉligibilitéAidesPersonnelleLogement - - résultat éligibilité condition - résultat nombre_personnes_à_charge_prises_en_compte contenu entier - résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - liste de décimal - - -champ d'application ÉligibilitéAidePersonnaliséeLogement: - définition éligibilité_commune.ménage égal à ménage - définition éligibilité_commune.demandeur égal à demandeur - définition éligibilité_commune.date_courante égal à - date_courante - définition nombre_personnes_à_charge_prises_en_compte égal à - éligibilité_commune.nombre_personnes_à_charge_prises_en_compte - définition coefficents_enfants_garde_alternée_pris_en_compte égal à - éligibilité_commune.coefficents_enfants_garde_alternée_pris_en_compte -``` - -### Éligibilité aux allocations de logement - -```catala-metadata -déclaration énumération TypeÉligibilitéAllocationLogement: - -- PasÉligible - -- AllocationLogementFamiliale - -- AllocationLogementSociale - -déclaration énumération AccordFinancementReprésentantÉtatOutreMer: - -- Accord contenu date - -- PasdAccord - -déclaration champ d'application ÉligibilitéAllocationLogement: - entrée date_courante contenu date - entrée ménage contenu Ménage - entrée demandeur contenu Demandeur - entrée bénéficie_aide_personnalisée_logement contenu booléen - - interne condition_accession_propriété condition - interne l_841_1_1_applicable condition - interne l_841_1_2_applicable condition - interne l_841_1_6_applicable condition - - interne éligibilité_allocation_logement_familiale condition - interne durée_l841_1_3 contenu durée - - prestations_familiales champ d'application ÉligibilitéPrestationsFamiliales - éligibilité_commune champ d'application ÉligibilitéAidesPersonnelleLogement - - - résultat éligibilité contenu TypeÉligibilitéAllocationLogement - état dispositions_communes - état l841_2 - résultat nombre_personnes_à_charge_prises_en_compte contenu entier - résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - liste de décimal - -champ d'application ÉligibilitéAllocationLogement: - # Ici nous instancions le champ d'application d'éligibilité aux prestations - # familiales pour les besoins de L841-1. - définition prestations_familiales.date_courante égal à date_courante - définition prestations_familiales.résidence égal à ménage.résidence - - définition éligibilité_commune.ménage égal à ménage - définition éligibilité_commune.demandeur égal à demandeur - définition éligibilité_commune.date_courante égal à - date_courante - définition nombre_personnes_à_charge_prises_en_compte égal à - éligibilité_commune.nombre_personnes_à_charge_prises_en_compte - définition coefficents_enfants_garde_alternée_pris_en_compte égal à - éligibilité_commune.coefficents_enfants_garde_alternée_pris_en_compte -``` - -### Éligibilité à la prime de déménagement - -```catala-metadata -déclaration structure InformationsPrimeDeDéménagement: - donnée nombre_enfants_à_naître_après_troisième_mois_grossesse - contenu entier - donnée date_naissance_troisième_enfant_ou_dernier_si_plus - contenu DateNaissanceTroisièmeOuDernierPlusEnfant - -déclaration champ d'application ÉligibilitéPrimeDeDéménagement: - entrée informations contenu InformationsPrimeDeDéménagement - entrée date_emménagement contenu date - entrée ménage contenu Ménage - entrée demandeur contenu Demandeur - entrée date_courante contenu date - entrée dépenses_justifiées_réellement_engagées contenu argent - - interne condition_rang_enfant condition - interne condition_période_déménagement condition - interne délai_après_emménagement_l823_8_2 contenu durée - interne plafond_d823_22 contenu argent - - éligibilité_apl champ d'application ÉligibilitéAidesPersonnelleLogement - base_mensuelle_allocations_familiales champ d'application - BaseMensuelleAllocationsFamiliales - - résultat éligibilité condition - résultat montant_prime_déménagement contenu argent - -champ d'application ÉligibilitéPrimeDeDéménagement: - définition éligibilité_apl.ménage égal à ménage - définition éligibilité_apl.demandeur égal à demandeur - définition éligibilité_apl.date_courante égal à - date_courante - définition base_mensuelle_allocations_familiales.date_courante égal à - date_courante - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2019-10-01| -``` - -### Calcul des contributions sociales s'appliquant aux aides personnelles au logement - -```catala-metadata -déclaration champ d'application ContributionsSocialesAidesPersonnelleLogement: - entrée date_courante contenu date - entrée lieu contenu Collectivité - - interne taux_crds contenu décimal - interne exonéré_csg condition - - résultat montant contenu argent dépend de aide_finale contenu argent - -champ d'application ContributionsSocialesAidesPersonnelleLogement: - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2020-01-01| -``` - -### Calcul du montant de l'aide personnalisée au logement - -#### Secteur locatif - -```catala-metadata -déclaration champ d'application CalculAidePersonnaliséeLogementLocatif: - entrée loyer_principal contenu argent - état base - état avec_réduction_meublé - entrée ressources_ménage_arrondies contenu argent - entrée bénéficiaire_aide_adulte_ou_enfant_handicapés - contenu booléen - entrée date_courante contenu date - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - entrée zone contenu ZoneDHabitation - entrée logement_est_chambre contenu booléen - entrée âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - contenu booléen - entrée type_aide contenu TypeAidesPersonnelleLogement - entrée colocation contenu booléen - entrée réduction_loyer_solidarité contenu argent - entrée logement_meublé_d842_2 contenu booléen - entrée résidence contenu Collectivité - - interne loyer_éligible contenu argent - interne taux_loyer_éligible contenu décimal - état formule - état taux_arrondi - interne rapport_loyers contenu décimal - interne loyer_référence contenu argent - interne fraction_l832_3 contenu décimal - interne plafond_dégressivité_d823_16 contenu argent - interne plafond_suppression_d823_16 contenu argent - interne montant_forfaitaire_d823_16 contenu argent - interne montant_minimal_aide_d823_16 contenu argent - interne abattement_forfaitaire_d823_17 contenu argent - interne taux_prise_compte_ressources contenu décimal - interne multiplicateur_majoration_plafond_loyer_d823_16_2 contenu décimal - interne multiplicateur_majoration_charges_d823_16 contenu décimal - interne multiplicateur_majoration_loyer_référence contenu décimal - interne multiplicateur_majoration_r0 contenu décimal - - résultat montant_forfaitaire_charges_d823_16 contenu argent - résultat plafond_loyer_d823_16_2 contenu argent - résultat participation_minimale contenu argent - résultat taux_composition_familiale contenu décimal - résultat participation_personnelle contenu argent - - contributions_sociales champ d'application - ContributionsSocialesAidesPersonnelleLogement - - résultat aide_finale_formule contenu argent - - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - état diminué - état minoration_forfaitaire - état contributions_sociales_arrondi - état réduction_loyer_solidarité - # Mail du 21/04/2023 de DGALN/DHUP/FE4: "Le calcul [de la montée en charge - # de Saint-Pierre et Miquelon] s’opère sur le montant final calculé de - # l’aide à verser à l’allocataire (qui comprend par exemple la minoration de - # 5 euros), comme précisé au 2° de l’article 7 du décret susvisé [n° - # 2021-1750 du 21 décembre 2021]. J’attire toutefois votre attention sur le - # fait que la CRDS ne s’applique pas à Saint-Pierre-et-Miquelon." - état montée_en_charge_saint_pierre_miquelon - état montant_minimal - -champ d'application CalculAidePersonnaliséeLogementLocatif: - définition contributions_sociales.date_courante égal à date_courante - définition contributions_sociales.lieu égal à résidence - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2020-10-01| - assertion nombre_personnes_à_charge >= 0 - # Lors d'un entretien le 23/05/2022 avec DGALN/DHUP/FE4, nous avons - # demandé quel barème spécial avait priorité entre celui du logement - # chambre et de la colocation. Il nous a été répondu que la situation - # d'un logement chambre partagé en colocation n'avait pas été considéré. - # Aussi, nous supposons que ce cas n'arrive pas via cette assertion ci- - # dessous. - assertion non (logement_est_chambre et colocation) -``` - -#### Secteur logement-foyer - -```catala-metadata -déclaration champ d'application CalculÉquivalenceLoyerMinimale: - entrée date_courante contenu date - entrée ressources_ménage_arrondies contenu argent - entrée condition_2_du_832_25 contenu booléen - entrée n_nombre_parts_d832_25 contenu décimal - - interne tranches_revenus_d832_26 contenu liste de TrancheRevenu - interne tranches_revenus_d832_26_multipliées contenu - liste de TrancheRevenuDécimal - interne montant_forfaitaire_d832_26 contenu argent - - résultat montant contenu argent - -déclaration champ d'application CalculNombrePartLogementFoyer: - entrée date_courante contenu date - entrée condition_2_du_832_25 contenu booléen - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - - contexte limitation_majoration_personnes_à_charge condition - - interne n_nombre_parts_d832_25_base contenu décimal - interne n_nombre_parts_d832_25_majoration contenu décimal - - résultat n_nombre_parts_d832_25 contenu décimal - -déclaration champ d'application CalculAidePersonnaliséeLogementFoyer: - entrée résidence contenu Collectivité - entrée logement_foyer_jeunes_travailleurs contenu booléen - entrée type_logement_foyer contenu TypeLogementFoyer - entrée date_conventionnement contenu date - entrée ressources_ménage_arrondies contenu argent - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - entrée zone contenu ZoneDHabitation - entrée date_courante contenu date - entrée redevance contenu argent - - contexte condition_2_du_832_25 contenu booléen - contexte limitation_majoration_personnes_à_charge condition - - résultat coefficient_multiplicateur_d832_25 contenu argent - résultat coefficient_r_d832_25 contenu argent - contexte résultat n_nombre_parts_d832_25 contenu décimal - résultat équivalence_loyer_éligible contenu argent - résultat plafond_équivalence_loyer_éligible contenu argent - interne abattement_dépense_nette_minimale_d832_27 - contenu argent dépend de allocation_mensuelle contenu argent - interne dépense_nette_minimale_d832_27 - contenu argent dépend de allocation_mensuelle contenu argent - interne montant_forfaitaire_d832_24 contenu argent - interne montant_forfaitaire_d832_27 contenu argent - interne montant_minimal_aide_d823_24 contenu argent - résultat équivalence_loyer_minimale contenu argent - - calcul_nombre_parts champ d'application CalculNombrePartLogementFoyer - calcul_équivalence_loyer_minimale champ d'application - CalculÉquivalenceLoyerMinimale - contributions_sociales champ d'application - ContributionsSocialesAidesPersonnelleLogement - - résultat coefficient_prise_en_charge_d832_25 contenu décimal - état formule - état coeff_arrondi - état seuil - - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - état minoration_forfaitaire - état abattement - état contributions_sociales_arrondi - état montant_minimal - -champ d'application CalculAidePersonnaliséeLogementFoyer: - définition contributions_sociales.date_courante égal à date_courante - définition contributions_sociales.lieu égal à résidence - définition calcul_équivalence_loyer_minimale.date_courante égal à - date_courante - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2020-10-01| -``` - -#### Secteur accession à la propriété - -```catala-metadata -déclaration champ d'application CalculNombrePartsAccessionPropriété: - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - - résultat n_nombre_parts_d832_11 contenu décimal - - -déclaration champ d'application - CalculAidePersonnaliséeLogementAccessionPropriété: - entrée mensualité_principale contenu argent - entrée ressources_ménage_arrondies contenu argent - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - entrée type_travaux_logement contenu TypeTravauxLogementD832_15 - entrée date_signature_prêt contenu date - entrée local_habité_première_fois_bénéficiaire contenu booléen - entrée date_entrée_logement contenu date - entrée copropriété contenu booléen - entrée situation_r822_11_13_17 contenu booléen - entrée zone contenu ZoneDHabitation - entrée type_prêt contenu TypePrêt - entrée ancienneté_logement contenu NeufOuAncien - entrée date_courante contenu date - entrée résidence contenu Collectivité - - résultat mensualité_éligible contenu argent - résultat mensualité_minimale contenu argent - interne plafond_mensualité_d832_10_3 contenu argent - état base - état copropriétaires - interne calcul_plafond_mensualité_d832_10_3 contenu argent - dépend de date_signature_prêt contenu date - interne n_nombre_parts_d832_11 contenu décimal - résultat coefficient_prise_en_charge_d832_10 contenu décimal - état formule - état coeff_arrondi - état seuil - interne dépense_nette_minimale_d832_10 contenu argent - dépend de allocation_mensuelle contenu argent - interne abattement_dépense_nette_minimale_d832_10 - contenu argent dépend de allocation_mensuelle contenu argent - interne ressources_ménage_avec_d832_18 contenu argent - interne montant_forfaitaire_charges_d832_10 contenu argent - interne montant_forfaitaire_d832_10 contenu argent - interne montant_minimal_aide_d832_10 contenu argent - interne coefficient_multiplicateur_d832_17_3 contenu décimal - interne coefficient_multiplicateur_d832_11 contenu argent - interne coefficient_multiplicateur_d832_18 contenu décimal - interne montant_limite_tranches_d832_15_1 contenu argent - interne taux_tranche_inférieure_d832_15_1 contenu décimal - interne taux_tranche_supérieure_d832_15_1 contenu décimal - interne taux_francs_vers_euros contenu décimal - - calcul_nombre_parts champ d'application CalculNombrePartsAccessionPropriété - calcul_équivalence_loyer_minimale champ d'application - CalculÉquivalenceLoyerMinimale - contributions_sociales champ d'application - ContributionsSocialesAidesPersonnelleLogement - - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - état minoration_forfaitaire - état abattement - état contributions_sociales_arrondi - état montant_minimal - -champ d'application CalculAidePersonnaliséeLogementAccessionPropriété: - définition contributions_sociales.date_courante égal à date_courante - définition contributions_sociales.lieu égal à résidence - définition calcul_équivalence_loyer_minimale.date_courante égal à - date_courante - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2020-10-01| -``` - -#### Tous secteurs - -```catala-metadata -déclaration structure Traitement_formule_aide_finale: - donnée aide_finale_formule contenu argent - donnée traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - -déclaration champ d'application CalculAidePersonnaliséeLogement: - entrée mode_occupation contenu ModeOccupation - entrée type_aide contenu TypeAidesPersonnelleLogement - entrée ressources_ménage contenu argent - état sans_arrondi - état avec_arrondi - entrée situation_familiale contenu SituationFamiliale - entrée nombre_personnes_à_charge contenu entier - entrée zone contenu ZoneDHabitation - entrée date_courante contenu date - entrée résidence contenu Collectivité - - interne catégorie_calcul_apl contenu CatégorieCalculAPL - interne situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - - interne sous_calcul_traitement contenu Traitement_formule_aide_finale - - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de arg contenu argent -``` - -## Calcul du montant de l'allocation logement - -### Secteur locatif - -```catala-metadata -déclaration structure InfosChangementLogementD842_4: - donnée ancien_loyer_principal contenu argent - donnée ancienne_allocation_logement contenu argent - -déclaration énumération ChangementLogementD842_4: - -- Changement contenu InfosChangementLogementD842_4 - -- PasDeChangement - - -déclaration champ d'application CalculAllocationLogementLocatif: - # Entrée du sous-champ - entrée loyer_principal contenu argent - entrée ressources_ménage_arrondies contenu argent - entrée bénéficiaire_aide_adulte_ou_enfant_handicapés - contenu booléen - entrée date_courante contenu date - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - entrée zone contenu ZoneDHabitation - entrée logement_est_chambre contenu booléen - entrée âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - contenu booléen - entrée type_aide contenu TypeAidesPersonnelleLogement - entrée colocation contenu booléen - entrée réduction_loyer_solidarité contenu argent - entrée logement_meublé_d842_2 contenu booléen - entrée résidence contenu Collectivité - - # Entrées spécifiques - entrée changement_logement_d842_4 contenu ChangementLogementD842_4 - - calcul_apl_locatif champ d'application CalculAidePersonnaliséeLogementLocatif - - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - résultat montant_forfaitaire_charges_d823_16 contenu argent - résultat plafond_loyer_d823_16_2 contenu argent - résultat participation_minimale contenu argent - résultat taux_composition_familiale contenu décimal - résultat participation_personnelle contenu argent - -champ d'application CalculAllocationLogementLocatif: - définition montant_forfaitaire_charges_d823_16 égal à - calcul_apl_locatif.montant_forfaitaire_charges_d823_16 - définition plafond_loyer_d823_16_2 égal à - calcul_apl_locatif.plafond_loyer_d823_16_2 - définition participation_minimale égal à - calcul_apl_locatif.participation_minimale - définition taux_composition_familiale égal à - calcul_apl_locatif.taux_composition_familiale - définition participation_personnelle égal à - calcul_apl_locatif.participation_personnelle -``` - -### Secteur accession à la propriété - -```catala-metadata -déclaration champ d'application CalculAllocationLogementAccessionPropriété: - entrée ressources_ménage_arrondies contenu argent - état base - état seuil - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - entrée zone contenu ZoneDHabitation - entrée résidence contenu Collectivité - entrée date_courante contenu date - entrée mensualité_principale contenu argent - entrée situation_r822_11_13_17 contenu booléen - entrée date_signature_prêt contenu date - entrée type_travaux_logement contenu TypeTravauxLogementR842_5 - entrée local_habité_première_fois_bénéficiaire contenu booléen - entrée date_entrée_logement contenu date - entrée charges_mensuelles_prêt contenu argent - entrée copropriété contenu booléen - entrée opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État - contenu booléen - - résultat mensualité_éligible contenu argent - interne montant_forfaitaire_charges contenu argent - résultat mensualité_minimale contenu argent - résultat coefficient_prise_en_charge contenu décimal - interne plafond_mensualité_d842_6 contenu argent - interne calcul_plafond_mensualité_d842_6 contenu argent dépend de - date_calcul contenu date, - nombre_personnes_à_charge contenu entier - état base - état avec_copropriété - état avec_limitation_dom_tom - interne montant_forfaitaire_d842_6 contenu argent - interne seuil_minimal_dépense_nette_minimale contenu argent - interne seuil_minimal_ressources_ménage contenu argent - interne taux_francs_vers_euros contenu décimal - interne dépense_nette_minimale contenu argent - dépend de allocation_mensuelle contenu argent - interne abattement_dépense_nette_minimale contenu argent - dépend de allocation_mensuelle contenu argent - interne montant_minimal_aide_d842_6 contenu argent - interne montant_forfaitaire_d842_11 contenu argent - interne montant_forfaitaire_d842_12 contenu argent - interne coefficient_d842_11 contenu décimal - interne coefficient_d842_12 contenu décimal - interne condition_d842_11_3 condition - interne multiplicateur_majoration_charges contenu décimal - - calcul_nombre_parts champ d'application CalculNombrePartsAccessionPropriété - calcul_apl_logement_foyer champ d'application - CalculAidePersonnaliséeLogementFoyer - contributions_sociales champ d'application - ContributionsSocialesAidesPersonnelleLogement - calcul_équivalence_loyer_minimale champ d'application - CalculÉquivalenceLoyerMinimale - - résultat aide_finale_formule contenu argent - - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - état minoration_forfaitaire - état dépense_nette_minimale - état contributions_sociales_arrondi - # Mail du 21/04/2023 de DGALN/DHUP/FE4: "Le calcul [de la montée en charge - # de Saint-Pierre et Miquelon] s’opère sur le montant final calculé de - # l’aide à verser à l’allocataire (qui comprend par exemple la minoration de - # 5 euros), comme précisé au 2° de l’article 7 du décret susvisé [n° - # 2021-1750 du 21 décembre 2021]. J’attire toutefois votre attention sur le - # fait que la CRDS ne s’applique pas à Saint-Pierre-et-Miquelon." - état montée_en_charge_saint_pierre_miquelon - état montant_minimal - -champ d'application CalculAllocationLogementAccessionPropriété: - # Ici la valeur du type de foyer et de la date de conventionnement - # n'a pas de sens puisque l'on est - # dans le cas d'une accession à la propriété mais on nous demande de - # calculer des quantités comme si on était en logement foyer. Or il nous - # faut donner un argument au sous-champ d'application donc on met ici une - # valeur bidon. - définition calcul_apl_logement_foyer.résidence égal à résidence - définition calcul_apl_logement_foyer.type_logement_foyer égal à - TypeLogementFoyer.RésidenceSociale # Valeur par défaut - définition calcul_apl_logement_foyer.logement_foyer_jeunes_travailleurs - égal à faux # Valeur par défaut - définition calcul_apl_logement_foyer.date_conventionnement égal à - |1970-01-01| # Valeur par défaut - définition calcul_apl_logement_foyer.redevance égal à - 0 € # Valeur par défaut - définition calcul_apl_logement_foyer.ressources_ménage_arrondies égal à - ressources_ménage_arrondies - définition calcul_apl_logement_foyer.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_apl_logement_foyer.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl - définition calcul_apl_logement_foyer.zone égal à - zone - définition calcul_apl_logement_foyer.date_courante égal à - date_courante - définition contributions_sociales.date_courante égal à date_courante - définition contributions_sociales.lieu égal à résidence - définition calcul_équivalence_loyer_minimale.date_courante égal à - date_courante - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2021-10-01| - assertion date_signature_prêt >= |1992-09-30| -``` - -### Secteur logement-foyer - -```catala-metadata -déclaration champ d'application CalculAllocationLogementFoyer: - entrée type_logement_foyer contenu TypeLogementFoyer - entrée logement_foyer_jeunes_travailleurs contenu booléen - entrée date_conventionnement contenu date - entrée résidence contenu Collectivité - entrée redevance contenu argent - entrée ressources_ménage_arrondies contenu argent - entrée nombre_personnes_à_charge contenu entier - entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - entrée zone contenu ZoneDHabitation - entrée date_courante contenu date - entrée catégorie_équivalence_loyer_d842_16 contenu - CatégorieÉquivalenceLoyerAllocationLogementFoyer - - interne dépense_nette_minimale contenu argent - dépend de allocation_mensuelle contenu argent - interne abattement_dépense_nette_minimale contenu argent - dépend de allocation_mensuelle contenu argent - interne montant_minimal_aide_d842_15 contenu argent - interne montant_forfaitaire_d842_15 contenu argent - interne montant_minimal_dépense_nette_d842_17 contenu argent - interne multiplicateur_majoration_charges contenu décimal - résultat coefficient_prise_en_charge contenu décimal - résultat équivalence_loyer contenu argent - résultat montant_forfaitaire_charges contenu argent - résultat loyer_minimal contenu argent - - calcul_nombre_parts champ d'application CalculNombrePartLogementFoyer - calcul_apl_logement_foyer champ d'application - CalculAidePersonnaliséeLogementFoyer - contributions_sociales champ d'application - ContributionsSocialesAidesPersonnelleLogement - calcul_équivalence_loyer_minimale champ d'application - CalculÉquivalenceLoyerMinimale - - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - état minoration_forfaitaire - état dépense_nette_minimale - état redevance - état contributions_sociales_arrondi - # Mail du 21/04/2023 de DGALN/DHUP/FE4: "Le calcul [de la montée en charge - # de Saint-Pierre et Miquelon] s’opère sur le montant final calculé de - # l’aide à verser à l’allocataire (qui comprend par exemple la minoration de - # 5 euros), comme précisé au 2° de l’article 7 du décret susvisé [n° - # 2021-1750 du 21 décembre 2021]. J’attire toutefois votre attention sur le - # fait que la CRDS ne s’applique pas à Saint-Pierre-et-Miquelon." - état montée_en_charge_saint_pierre_miquelon - état montant_minimal - -champ d'application CalculAllocationLogementFoyer: - définition calcul_apl_logement_foyer.résidence égal à - résidence - définition calcul_apl_logement_foyer.type_logement_foyer égal à - type_logement_foyer - définition calcul_apl_logement_foyer.logement_foyer_jeunes_travailleurs égal à - logement_foyer_jeunes_travailleurs - définition calcul_apl_logement_foyer.date_conventionnement égal à - date_conventionnement - définition calcul_apl_logement_foyer.redevance égal à - redevance - définition calcul_apl_logement_foyer.ressources_ménage_arrondies égal à - ressources_ménage_arrondies - définition calcul_apl_logement_foyer.nombre_personnes_à_charge égal à - nombre_personnes_à_charge - définition calcul_apl_logement_foyer.situation_familiale_calcul_apl égal à - situation_familiale_calcul_apl - définition calcul_apl_logement_foyer.zone égal à zone - définition calcul_apl_logement_foyer.date_courante égal à - date_courante - définition contributions_sociales.date_courante égal à date_courante - définition contributions_sociales.lieu égal à résidence - définition calcul_équivalence_loyer_minimale.date_courante égal à - date_courante - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2021-10-01| -``` - -#### Tous secteurs - -```catala-metadata -déclaration champ d'application CalculAllocationLogement: - entrée mode_occupation contenu ModeOccupation - entrée ressources_ménage contenu argent - état sans_arrondi - état avec_arrondi - entrée situation_familiale contenu SituationFamiliale - entrée nombre_personnes_à_charge contenu entier - entrée zone contenu ZoneDHabitation - entrée date_courante contenu date - entrée type_aide contenu TypeAidesPersonnelleLogement - entrée résidence contenu Collectivité - - interne catégorie_calcul_apl contenu CatégorieCalculAPL - interne situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL - - interne sous_calcul_traitement contenu Traitement_formule_aide_finale - - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de arg contenu argent -``` - -### Date d'ouverture des droits à la retraite - -```catala-metadata -déclaration champ d'application OuvertureDroitsRetraite: - résultat âge_ouverture_droit contenu durée - entrée date_naissance_assuré contenu date -``` - -### Quantification des impayés de dépense de logement - -```catala-metadata -déclaration champ d'application ImpayéDépenseLogement: - entrée mode_occupation contenu ModeOccupation - entrée aide_versée contenu VersementÀ - entrée montant_apl contenu argent - entrée montant_charges contenu argent - entrée dépense_logement contenu DépenseLogement - entrée montant_dette contenu argent - - interne seuil_impayé_dépense_de_logement contenu argent - interne mode_occupation_impayé contenu ModeOccupationImpayé - interne dépense_logement_brute contenu DépenseLogement - interne dépense_logement_nette contenu DépenseLogement - - résultat montant_impayé contenu argent -``` - -## Calcul de l'aide au logement effective - -### Calculette globale - -Le but de ce champ d'application est de réaliser le calcul automatique -de l'éligibilité et du montant de l'aide au logement pour un ménage, en fonction -de toutes les aides disponibles : APL, ALS, ALF. - -```catala-metadata -déclaration champ d'application CalculetteAidesAuLogement: - entrée ménage contenu Ménage - entrée demandeur contenu Demandeur - entrée date_courante contenu date - # TODO informatique et juridique: brancher le champ d'application de prise en - # compte des ressources. Pour l'instant on ne fait pas calcul de prise en - # compte des ressources qui doit être fait manuellement par l'utilisateur - # et mis en entrée ici. - entrée ressources_ménage_prises_en_compte contenu argent - - éligibilité_aide_personnalisée_logement champ d'application - ÉligibilitéAidePersonnaliséeLogement - - éligibilité_allocation_logement champ d'application - ÉligibilitéAllocationLogement - - calcul_aide_personnalisée_logement champ d'application - CalculAidePersonnaliséeLogement - - calcul_allocation_logement champ d'application - CalculAllocationLogement - - résultat éligibilité contenu booléen - résultat aide_finale_formule contenu argent - résultat traitement_aide_finale contenu argent - dépend de aide_finale contenu argent - résultat coefficents_enfants_garde_alternée_pris_en_compte contenu - liste de décimal - -champ d'application CalculetteAidesAuLogement: - définition éligibilité_aide_personnalisée_logement.ménage égal à - ménage - définition éligibilité_allocation_logement.ménage égal à - ménage - définition éligibilité_aide_personnalisée_logement.demandeur égal à - demandeur - définition éligibilité_allocation_logement.demandeur égal à - demandeur - définition éligibilité_aide_personnalisée_logement.date_courante égal à - date_courante - définition éligibilité_allocation_logement.date_courante égal à - date_courante - définition calcul_aide_personnalisée_logement.mode_occupation égal à - ménage.logement.mode_occupation - définition calcul_allocation_logement.mode_occupation égal à - ménage.logement.mode_occupation - définition calcul_aide_personnalisée_logement.ressources_ménage égal à - ressources_ménage_prises_en_compte - définition calcul_allocation_logement.ressources_ménage égal à - ressources_ménage_prises_en_compte - définition calcul_aide_personnalisée_logement.situation_familiale égal à - ménage.situation_familiale - définition calcul_allocation_logement.situation_familiale égal à - ménage.situation_familiale - définition - calcul_aide_personnalisée_logement.nombre_personnes_à_charge - égal à - éligibilité_aide_personnalisée_logement. - nombre_personnes_à_charge_prises_en_compte - définition calcul_allocation_logement.nombre_personnes_à_charge égal à - éligibilité_allocation_logement.nombre_personnes_à_charge_prises_en_compte - définition calcul_aide_personnalisée_logement.zone égal à - ménage.logement.zone - définition calcul_allocation_logement.zone égal à - ménage.logement.zone - définition calcul_aide_personnalisée_logement.date_courante égal à - date_courante - définition calcul_allocation_logement.date_courante égal à - date_courante - définition calcul_aide_personnalisée_logement.résidence égal à - ménage.résidence - définition calcul_allocation_logement.résidence égal à - ménage.résidence - - définition coefficents_enfants_garde_alternée_pris_en_compte égal à - éligibilité_aide_personnalisée_logement. - coefficents_enfants_garde_alternée_pris_en_compte -``` - -### Calculette avec garde alternée - -Afin de calculer l'impact de la garde alternée sur les aides au logement, -il est nécessaire de réaliser une double liquidation du calcul des aides -au logement. Voir le code Catala attaché à la décision n°398563 du conseil -d'État. - -```catala-metadata -déclaration champ d'application CalculetteAidesAuLogementGardeAlternée: - entrée ménage contenu Ménage - entrée demandeur contenu Demandeur - entrée date_courante contenu date - entrée ressources_ménage_prises_en_compte contenu argent - - interne ménage_sans_enfants_garde_alternée contenu Ménage - interne coefficents_enfants_garde_alternée_pris_en_compte contenu - liste de décimal - - calculette champ d'application CalculetteAidesAuLogement - calculette_sans_garde_alternée champ d'application CalculetteAidesAuLogement - - résultat éligibilité contenu booléen - résultat aide_finale contenu argent - -champ d'application CalculetteAidesAuLogementGardeAlternée: - définition calculette.ménage égal à - ménage - définition calculette.demandeur égal à - demandeur - définition calculette.date_courante égal à - date_courante - définition calculette.ressources_ménage_prises_en_compte égal à - ressources_ménage_prises_en_compte - définition calculette_sans_garde_alternée.ménage égal à - ménage_sans_enfants_garde_alternée - définition calculette_sans_garde_alternée.demandeur égal à - demandeur - définition calculette_sans_garde_alternée.date_courante égal à - date_courante - définition - calculette_sans_garde_alternée.ressources_ménage_prises_en_compte - égal à - ressources_ménage_prises_en_compte - - définition coefficents_enfants_garde_alternée_pris_en_compte égal à - calculette.coefficents_enfants_garde_alternée_pris_en_compte - définition ménage_sans_enfants_garde_alternée égal à - Ménage { - # TODO informatique: syntaxe OCaml { ... with foo = bar} ? - -- prestations_reçues : - ménage.prestations_reçues - -- logement : - ménage.logement - -- personnes_à_charge : - (personne_à_charge parmi ménage.personnes_à_charge - tel que - (selon personne_à_charge sous forme - -- AutrePersonneÀCharge: vrai - -- EnfantÀCharge de enfant: ( - selon enfant.situation_garde_alternée sous forme - -- GardeAlternéeCoefficientPriseEnCharge: faux - -- PasDeGardeAlternée: vrai - ))) - -- résidence: ménage.résidence - -- nombre_autres_occupants_logement : - ménage.nombre_autres_occupants_logement - -- situation_familiale : - ménage.situation_familiale - -- condition_rattaché_foyer_fiscal_parent_ifi : - ménage.condition_rattaché_foyer_fiscal_parent_ifi - -- enfant_à_naître_après_quatrième_mois_grossesse: - ménage.enfant_à_naître_après_quatrième_mois_grossesse - -- personnes_âgées_handicapées_foyer_r844_4: - ménage.personnes_âgées_handicapées_foyer_r844_4 - } - définition éligibilité égal à calculette.éligibilité -``` diff --git a/examples/aides_logement/tests/tests_calcul_al_accession_propriete.catala_fr b/examples/aides_logement/tests/tests_calcul_al_accession_propriete.catala_fr deleted file mode 100644 index 56f0263a..00000000 --- a/examples/aides_logement/tests/tests_calcul_al_accession_propriete.catala_fr +++ /dev/null @@ -1,109 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -# Tiré de la page 54 de -# https://www.ecologie.gouv.fr/sites/default/files/les_aides_personnelles_au_logement_element_de_calcul_septembre_2021.pdf#page=45 -déclaration champ d'application Exemple1: - calcul champ d'application CalculAllocationLogementAccessionPropriété - résultat montant contenu argent - -champ d'application Exemple1: - définition calcul.ressources_ménage_arrondies égal à 17 500 € - définition calcul.date_signature_prêt égal à |2015-10-01| - définition calcul.zone égal à Zone2 - définition calcul.mensualité_principale égal à 450 € - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.date_courante égal à |2023-03-15| - définition calcul.résidence égal à Guadeloupe - définition calcul.charges_mensuelles_prêt égal à 450 € - - définition calcul.type_travaux_logement égal à - TypeTravauxLogementR842_5.PasDeTravaux - définition calcul.date_entrée_logement égal à |2015-10-10| - définition calcul.local_habité_première_fois_bénéficiaire égal à faux - définition calcul.copropriété égal à faux - définition calcul.situation_r822_11_13_17 égal à faux - définition calcul.opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État égal à faux - - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 96,48 € - assertion calcul.mensualité_éligible = 375,2 € - assertion calcul.mensualité_minimale = 267,90 € - assertion calcul.coefficient_prise_en_charge = 0,62 - assertion calcul.aide_finale_formule = 101,90€ -``` - -```catala -déclaration champ d'application Exemple2: - calcul champ d'application CalculAllocationLogementAccessionPropriété - résultat montant contenu argent - -champ d'application Exemple2: - définition calcul.ressources_ménage_arrondies égal à 22 000 € - définition calcul.date_signature_prêt égal à |2021-12-01| - définition calcul.zone égal à Zone2 - définition calcul.mensualité_principale égal à 500 € - définition calcul.nombre_personnes_à_charge égal à 4 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.date_courante égal à |2023-04-10| - définition calcul.résidence égal à SaintPierreEtMiquelon - définition calcul.charges_mensuelles_prêt égal à 500 € - - définition calcul.type_travaux_logement égal à - TypeTravauxLogementR842_5.PrévuDansListeR321_15 - définition calcul.date_entrée_logement égal à |2020-12-01| - définition calcul.local_habité_première_fois_bénéficiaire égal à faux - définition calcul.copropriété égal à faux - définition calcul.situation_r822_11_13_17 égal à faux - définition calcul.opérations_logement_évolutifs_sociaux_accession_propriété_aidée_État égal à faux - - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion calcul.mensualité_éligible = 405,10 € - assertion calcul.mensualité_minimale = 296,96 € - assertion calcul.coefficient_prise_en_charge = 0,66 - assertion calcul.aide_finale_formule = 141,99€ - assertion montant = 85,00 € -``` - -```catala-test-inline -$ catala Typecheck --check-invariants -[RESULT] Invariant typing_defaults checked. result: [25044/25044] -[RESULT] Invariant match_inversion checked. result: [771/771] -[RESULT] Invariant app_inversion checked. result: [271/271] -[RESULT] Invariant no_return_a_function checked. result: [3046/3046] -[RESULT] Invariant no_partial_evaluation checked. result: [271/271] -[RESULT] Invariant default_no_arrow checked. result: [1396/1396] -[RESULT] Typechecking successful! -``` - -```catala-test-inline -$ catala Interpret -s Exemple1 -[RESULT] Computation successful! Results: -[RESULT] montant = 96,48 € -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 96,48 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple2 -[RESULT] Computation successful! Results: -[RESULT] montant = 85,00 € -``` - -```catala-test-inline -$ catala Interpret_lcalc -s Exemple2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 85,00 € -``` - diff --git a/examples/aides_logement/tests/tests_calcul_al_locatif.catala_fr b/examples/aides_logement/tests/tests_calcul_al_locatif.catala_fr deleted file mode 100644 index 47184e87..00000000 --- a/examples/aides_logement/tests/tests_calcul_al_locatif.catala_fr +++ /dev/null @@ -1,185 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -# Tiré de la page 24 de -# https://www.ecologie.gouv.fr/sites/default/files/les_aides_personnelles_au_logement_element_de_calcul_septembre_2021.pdf -déclaration champ d'application Exemple1 : - calcul champ d'application CalculAllocationLogementLocatif - résultat montant contenu argent - -champ d'application Exemple1 : - définition calcul.loyer_principal égal à 425 € - définition calcul.ressources_ménage_arrondies égal à 11 500€ - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.date_courante égal à |2021-09-29| - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.zone égal à Zone2 - définition calcul.logement_est_chambre égal à faux - définition calcul.résidence égal à Métropole - définition calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.type_aide égal à - TypeAidesPersonnelleLogement.AllocationLogementFamiliale - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.changement_logement_d842_4 égal à PasDeChangement - définition montant égal à - calcul.traitement_aide_finale de calcul.aide_finale_formule - # Attention dans cet exemple le taux de loyer éligible est bien arrondi à - # la troisième décimale en pourcentage comme le dit bien le 2° de l'article - # 14 de l'arrêté du 27 septembre 2019, et non à la deuxième décimale comme le - # montre l'exemple sur le document du gouvernement. - assertion montant = 345,73€ - -# Transmis par DGALN/DHUP/FE4 le 12/07/2022 -déclaration champ d'application Exemple2 : - calcul champ d'application CalculAllocationLogementLocatif - résultat montant contenu argent - -champ d'application Exemple2 : - définition calcul.loyer_principal égal à 425 € - définition calcul.ressources_ménage_arrondies égal à 11 500€ - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.date_courante égal à |2022-05-01| - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.zone égal à Zone2 - définition calcul.résidence égal à Métropole - définition calcul.logement_est_chambre égal à faux - définition calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.type_aide égal à - TypeAidesPersonnelleLogement.AllocationLogementFamiliale - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.changement_logement_d842_4 égal à PasDeChangement - définition montant égal à - calcul.traitement_aide_finale de calcul.aide_finale_formule - assertion montant = 352,77€ - -# Exemple aux DROM -déclaration champ d'application Exemple3 : - calcul champ d'application CalculAllocationLogementLocatif - résultat montant contenu argent - -champ d'application Exemple3 : - définition calcul.loyer_principal égal à 375 € - définition calcul.ressources_ménage_arrondies égal à 9 500€ - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.date_courante égal à |2023-03-01| - définition calcul.nombre_personnes_à_charge égal à 1 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.zone égal à Zone2 - définition calcul.résidence égal à LaRéunion - définition calcul.logement_est_chambre égal à faux - définition calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.type_aide égal à - TypeAidesPersonnelleLogement.AllocationLogementFamiliale - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.changement_logement_d842_4 égal à PasDeChangement - définition montant égal à - calcul.traitement_aide_finale de calcul.aide_finale_formule - assertion montant = 339,70€ -``` - -```catala -# Exemple à Saint-Pierre-et-Miquelon -déclaration champ d'application Exemple4 : - calcul champ d'application CalculAllocationLogementLocatif - résultat montant contenu argent - -champ d'application Exemple4 : - définition calcul.loyer_principal égal à 500 € - définition calcul.ressources_ménage_arrondies égal à 12 500€ - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.date_courante égal à |2023-04-01| - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.zone égal à Zone2 - définition calcul.résidence égal à SaintPierreEtMiquelon - définition calcul.logement_est_chambre égal à faux - définition calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.type_aide égal à - TypeAidesPersonnelleLogement.AllocationLogementFamiliale - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.changement_logement_d842_4 égal à PasDeChangement - définition montant égal à - calcul.traitement_aide_finale de calcul.aide_finale_formule - - assertion calcul.montant_forfaitaire_charges_d823_16 = 81,56 € - assertion calcul.plafond_loyer_d823_16_2 = 424,22 € - assertion calcul.participation_minimale = 42,99 € - assertion calcul.taux_composition_familiale = 2,38% - assertion calcul.participation_personnelle = 131,30 € - assertion montant = 230,63 € -``` - -```catala-test-inline -$ catala Typecheck --check-invariants -[RESULT] Invariant typing_defaults checked. result: [25388/25388] -[RESULT] Invariant match_inversion checked. result: [771/771] -[RESULT] Invariant app_inversion checked. result: [275/275] -[RESULT] Invariant no_return_a_function checked. result: [3046/3046] -[RESULT] Invariant no_partial_evaluation checked. result: [275/275] -[RESULT] Invariant default_no_arrow checked. result: [1460/1460] -[RESULT] Typechecking successful! -``` - -```catala-test-inline -$ catala Interpret -s Exemple1 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 345,73 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple2 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 352,77 € -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 345,73 € -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 352,77 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple3 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 339,70 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple4 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 230,63 € -``` - -```catala-test-inline -$ catala Interpret_lcalc -s Exemple3 --disable-warnings --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 339,70 € -``` - -```catala-test-inline -$ catala Interpret_lcalc -s Exemple4 --disable-warnings --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 230,63 € -``` diff --git a/examples/aides_logement/tests/tests_calcul_al_logement_foyer.catala_fr b/examples/aides_logement/tests/tests_calcul_al_logement_foyer.catala_fr deleted file mode 100644 index cb7d0b4b..00000000 --- a/examples/aides_logement/tests/tests_calcul_al_logement_foyer.catala_fr +++ /dev/null @@ -1,54 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -# Transmis par DGALN/DHUP/FE4 le 14/07/2022 -déclaration champ d'application CasTest1 : - calcul champ d'application CalculAllocationLogementFoyer - résultat montant contenu argent - -champ d'application CasTest1: - définition calcul.date_conventionnement égal à |2020-01-01| - définition calcul.type_logement_foyer égal à - TypeLogementFoyer.RésidenceSociale - définition calcul.redevance égal à 350 € - définition calcul.résidence égal à Métropole - définition calcul.logement_foyer_jeunes_travailleurs égal à faux - définition calcul.ressources_ménage_arrondies égal à 7 500€ - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.zone égal à Zone1 - définition calcul.date_courante égal à |2022-05-01| - définition calcul.catégorie_équivalence_loyer_d842_16 égal à - PersonnesÂgéesSelon3DeD842_16 - assertion calcul.équivalence_loyer = 206,40€ - assertion calcul.loyer_minimal = 124,64 € - assertion calcul.coefficient_prise_en_charge = 0,6 - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 76,38 € -``` - -```catala-test-inline -$ catala Typecheck --check-invariants -[RESULT] Invariant typing_defaults checked. result: [24823/24823] -[RESULT] Invariant match_inversion checked. result: [771/771] -[RESULT] Invariant app_inversion checked. result: [269/269] -[RESULT] Invariant no_return_a_function checked. result: [3046/3046] -[RESULT] Invariant no_partial_evaluation checked. result: [269/269] -[RESULT] Invariant default_no_arrow checked. result: [1356/1356] -[RESULT] Typechecking successful! -``` - -```catala-test-inline -$ catala Interpret -s CasTest1 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 76,38 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s CasTest1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 76,38 € -``` diff --git a/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr b/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr deleted file mode 100644 index 0d2e96d4..00000000 --- a/examples/aides_logement/tests/tests_calcul_apl_accession_propriete.catala_fr +++ /dev/null @@ -1,193 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -# Tiré de la page 45 de -# https://www.ecologie.gouv.fr/sites/default/files/les_aides_personnelles_au_logement_element_de_calcul_septembre_2021.pdf#page=45 -déclaration champ d'application Exemple1: - calcul champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - résultat montant contenu argent - -champ d'application Exemple1: - définition calcul.ressources_ménage_arrondies égal à 18 000 € - définition calcul.date_signature_prêt égal à |2017-12-15| - définition calcul.zone égal à Zone2 - définition calcul.mensualité_principale égal à 650 € - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.date_courante égal à |2021-09-15| - définition calcul.résidence égal à Métropole - définition calcul.type_prêt égal à D331_63_64 - - définition calcul.type_travaux_logement égal à - TypeTravauxLogementD832_15.PasDeTravaux - définition calcul.ancienneté_logement égal à Neuf - définition calcul.date_entrée_logement égal à |2017-12-15| - définition calcul.local_habité_première_fois_bénéficiaire égal à faux - définition calcul.copropriété égal à faux - définition calcul.situation_r822_11_13_17 égal à faux - - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 181,91 € - assertion calcul.mensualité_éligible = 533,91 € - assertion calcul.mensualité_minimale = 332,76 € - assertion calcul.coefficient_prise_en_charge_d832_10 = 0,67 - assertion calcul.aide_finale_formule = 187,35€ -``` - -```catala -# Tiré de la page 45 de -# https://www.ecologie.gouv.fr/sites/default/files/les_aides_personnelles_au_logement_element_de_calcul_septembre_2021.pdf#page=45 -déclaration champ d'application Exemple2: - calcul champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - résultat montant contenu argent - -champ d'application Exemple2: - définition calcul.ressources_ménage_arrondies égal à 19 000 € - définition calcul.date_signature_prêt égal à |2019-12-02| - définition calcul.zone égal à Zone3 - définition calcul.mensualité_principale égal à 495,73 € - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.date_courante égal à |2021-09-15| - définition calcul.résidence égal à Métropole - définition calcul.type_prêt égal à D331_63_64 - - définition calcul.type_travaux_logement égal à - TypeTravauxLogementD832_15.TravauxPourAcquisitionD832_15_1 - définition calcul.ancienneté_logement égal à (Ancien contenu (AmélioréParOccupant.Oui)) - définition calcul.date_entrée_logement égal à |2020-03-02| - définition calcul.local_habité_première_fois_bénéficiaire égal à faux - définition calcul.copropriété égal à faux - définition calcul.situation_r822_11_13_17 égal à faux - - # Ici nous sommes en désaccord avec la valeur finale, car la mensualité - # plafond est déterminée dans le cas d'un logement ancien acquis et amélioré - # par le 18° b° de l'article 18 de l'arrêté du 27 septembre 2019, et non - # par le 18° a). Ce qui donne une mensualité éligible de 399,20 € et non - # de 495,73 €. - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - assertion montant = 67,34 € - assertion calcul.mensualité_éligible = 399,20 € - assertion calcul.mensualité_minimale = 367,42 € - assertion calcul.coefficient_prise_en_charge_d832_10 = 0,66 - assertion calcul.aide_finale_formule = 72,77€ -``` - -```catala -# Transmis par DGALN/DHUP/FE4 le 14/07/2022 -déclaration champ d'application Exemple3: - calcul champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - résultat montant contenu argent - -champ d'application Exemple3: - définition calcul.ressources_ménage_arrondies égal à 18 000 € - définition calcul.date_signature_prêt égal à |2017-12-15| - définition calcul.zone égal à Zone2 - définition calcul.résidence égal à Métropole - définition calcul.mensualité_principale égal à 650 € - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.date_courante égal à |2022-05-01| - définition calcul.type_prêt égal à D331_63_64 - - définition calcul.type_travaux_logement égal à - TypeTravauxLogementD832_15.PasDeTravaux - définition calcul.ancienneté_logement égal à Neuf - définition calcul.date_entrée_logement égal à |2017-12-15| - définition calcul.local_habité_première_fois_bénéficiaire égal à faux - définition calcul.copropriété égal à faux - définition calcul.situation_r822_11_13_17 égal à faux - - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 181,91 € - assertion calcul.mensualité_éligible = 533,91 € - assertion calcul.mensualité_minimale = 332,76 € - assertion calcul.coefficient_prise_en_charge_d832_10 = 0,67 - assertion calcul.aide_finale_formule = 187,57€ -``` - -```catala -# Transmis par DGALN/DHUP/FE4 le 14/07/2022 -déclaration champ d'application Exemple4: - calcul champ d'application CalculAidePersonnaliséeLogementAccessionPropriété - résultat montant contenu argent - -champ d'application Exemple4: - définition calcul.ressources_ménage_arrondies égal à 19 000 € - définition calcul.date_signature_prêt égal à |2019-12-02| - définition calcul.zone égal à Zone3 - définition calcul.mensualité_principale égal à 495 € - définition calcul.résidence égal à Métropole - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.date_courante égal à |2022-05-01| - définition calcul.type_prêt égal à D331_63_64 - - définition calcul.type_travaux_logement égal à - TypeTravauxLogementD832_15.TravauxSurLogementDéjàAcquisD832_15_2 - définition calcul.ancienneté_logement égal à (Ancien contenu (AmélioréParOccupant.Oui)) - définition calcul.date_entrée_logement égal à |2020-03-02| - définition calcul.local_habité_première_fois_bénéficiaire égal à faux - définition calcul.copropriété égal à faux - définition calcul.situation_r822_11_13_17 égal à faux - - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 118,59 € - assertion calcul.mensualité_éligible = 399,20 € - assertion calcul.mensualité_minimale = 290,21 € - assertion calcul.coefficient_prise_en_charge_d832_10 = 0,66 - assertion calcul.aide_finale_formule = 123,94 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple1 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 181,91 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple2 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 67,34 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple3 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 181,91 € -``` - - -```catala-test-inline -$ catala Interpret -s Exemple4 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 118,59 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 181,91 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 67,34 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple3 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 181,91 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple4 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 118,59 € -``` diff --git a/examples/aides_logement/tests/tests_calcul_apl_locatif.catala_fr b/examples/aides_logement/tests/tests_calcul_apl_locatif.catala_fr deleted file mode 100644 index 8ff142cc..00000000 --- a/examples/aides_logement/tests/tests_calcul_apl_locatif.catala_fr +++ /dev/null @@ -1,378 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -déclaration champ d'application Exemple1 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple1: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 700 € - définition calcul.date_courante égal à |2022-02-03| - définition calcul.logement_est_chambre égal à faux - définition calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone1 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.nombre_personnes_à_charge égal à 3 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 36 000 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 0 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 91,09 € - assertion calcul.plafond_loyer_d823_16_2 = 524,20 € - assertion calcul.participation_minimale = 52,30 € - assertion calcul.taux_composition_familiale = 2,01% - assertion calcul.participation_personnelle = 713,25 € -``` - -```catala -déclaration champ d'application Exemple2 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple2: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 425 € - définition calcul.date_courante égal à |2022-04-03| - définition calcul.logement_est_chambre égal à faux - définition calcul.zone égal à Zone2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.nombre_personnes_à_charge égal à 2 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 11500 € - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 352,77 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 78,80 € - assertion calcul.plafond_loyer_d823_16_2 = 409,88 € - assertion calcul.participation_minimale = 41,54 € - assertion calcul.taux_composition_familiale = 2,38% - assertion calcul.participation_personnelle = 130,36 € -``` - -```catala -déclaration champ d'application Exemple3 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple3: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 408 € - définition calcul.date_courante égal à |2022-01-18| - définition calcul.logement_est_chambre égal à faux - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone3 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.nombre_personnes_à_charge égal à 3 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 14300 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 321,61 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 91,09 € - assertion calcul.plafond_loyer_d823_16_2 = 425,80 € - assertion calcul.participation_minimale = 42,42 € - assertion calcul.taux_composition_familiale = 2,01% - assertion calcul.participation_personnelle = 172,05 € -``` - -```catala -déclaration champ d'application Exemple4 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple4: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 680 € - définition calcul.date_courante égal à |2022-02-19| - définition calcul.logement_est_chambre égal à faux - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone1 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.nombre_personnes_à_charge égal à 1 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 39500 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 0 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 66,51 € - assertion calcul.plafond_loyer_d823_16_2 = 406,30 € - assertion calcul.participation_minimale = 40,19€ - assertion calcul.taux_composition_familiale = 2,70% - assertion calcul.participation_personnelle = 1016,63 € -``` - -```catala -déclaration champ d'application Exemple5 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple5: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 610 € - définition calcul.date_courante égal à |2022-04-05| - définition calcul.logement_est_chambre égal à faux - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone1 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 2700 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 311,56 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 54,22 € - assertion calcul.plafond_loyer_d823_16_2 = 298,07 € - assertion calcul.participation_minimale = 35,39 € - assertion calcul.taux_composition_familiale = 2,83% - assertion calcul.participation_personnelle = 35,39€ -``` - -```catala -déclaration champ d'application Exemple6 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple6: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 436 € - définition calcul.date_courante égal à |2022-05-02| - définition calcul.logement_est_chambre égal à faux - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 19500 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 0 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 54,22 € - assertion calcul.plafond_loyer_d823_16_2 = 317,97 € - assertion calcul.participation_minimale = 35,39 € - assertion calcul.taux_composition_familiale = 3,15% - assertion calcul.participation_personnelle = 477,32 € -``` - -```catala -déclaration champ d'application Exemple7 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple7: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 527 € - définition calcul.date_courante égal à |2022-02-13| - définition calcul.logement_est_chambre égal à faux - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone2 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.nombre_personnes_à_charge égal à 6 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 32200 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 153,77 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 127,96 € - assertion calcul.plafond_loyer_d823_16_2 = 618,20 € - assertion calcul.participation_minimale = 55,67 € - assertion calcul.taux_composition_familiale = 1,73% - assertion calcul.participation_personnelle = 495,64 € -``` - -```catala -déclaration champ d'application Exemple8 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple8: - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - définition calcul.loyer_principal égal à 310 € - définition calcul.date_courante égal à |2022-04-02| - définition calcul.logement_est_chambre égal à vrai - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone1 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - définition calcul.ressources_ménage_arrondies égal à 14800 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 11,06 € - assertion calcul.montant_forfaitaire_charges_d823_16 = 54,22 € - assertion calcul.plafond_loyer_d823_16_2 = 268,26 € - assertion calcul.participation_minimale = 35,39 € - assertion calcul.taux_composition_familiale = 3,15% - assertion calcul.participation_personnelle = 306,11 € -``` - -```catala -déclaration champ d'application Exemple9 : - calcul champ d'application CalculAidePersonnaliséeLogementLocatif - résultat montant contenu argent - -champ d'application Exemple9: - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - définition calcul.loyer_principal égal à 400 € - définition calcul.date_courante égal à |2022-06-10| - définition calcul.logement_est_chambre égal à faux - définition - calcul.âgées_ou_handicap_adultes_hébergées_onéreux_particuliers - égal à faux - définition calcul.zone égal à Zone1 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.type_aide égal à AidePersonnaliséeLogement - définition calcul.colocation égal à faux - définition calcul.réduction_loyer_solidarité égal à 0 € - # Étudiant, R822-20 CCH et article 6 arrêté 27 septembre 2019 - définition calcul.ressources_ménage_arrondies égal à 7800 € - définition calcul.bénéficiaire_aide_adulte_ou_enfant_handicapés égal à faux - définition calcul.logement_meublé_d842_2 égal à faux - définition calcul.résidence égal à Métropole - assertion montant = 210,06 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple1 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 0,00 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple2 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 352,77 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple3 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 321,61 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple4 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 0,00 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple5 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 311,56 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple6 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 0,00 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple7 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 153,77 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple8 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 11,06 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple9 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 210,06 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 0,00 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 352,77 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple3 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 321,61 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple4 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 0,00 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple5 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 311,56 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple6 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 0,00 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple7 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 153,77 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple8 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 11,06 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple9 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 210,06 € -``` diff --git a/examples/aides_logement/tests/tests_calcul_apl_logement_foyer.catala_fr b/examples/aides_logement/tests/tests_calcul_apl_logement_foyer.catala_fr deleted file mode 100644 index da0a258f..00000000 --- a/examples/aides_logement/tests/tests_calcul_apl_logement_foyer.catala_fr +++ /dev/null @@ -1,192 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Test - -```catala -déclaration champ d'application CasTest1 : - calcul champ d'application CalculAidePersonnaliséeLogementFoyer - résultat montant contenu argent - -champ d'application CasTest1: - définition calcul.résidence égal à Métropole - définition calcul.date_conventionnement égal à |2022-01-01| - définition calcul.logement_foyer_jeunes_travailleurs égal à faux - définition calcul.type_logement_foyer égal à TypeLogementFoyer.Autre - définition calcul.redevance égal à 360 € - définition calcul.ressources_ménage_arrondies égal à 15 000€ - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.zone égal à Zone3 - définition calcul.date_courante égal à |2022-04-23| - assertion calcul.coefficient_r_d832_25 = 1217,26 € - assertion calcul.coefficient_multiplicateur_d832_25 = 13393,40 € - assertion calcul.n_nombre_parts_d832_25 = 1,8 - assertion calcul.coefficient_prise_en_charge_d832_25 = 0,41 - assertion calcul.plafond_équivalence_loyer_éligible = 450,57 € - assertion calcul.équivalence_loyer_minimale = 318,13 € - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - assertion montant = 12,06 € - -déclaration champ d'application CasTest2 : - calcul champ d'application CalculAllocationLogementFoyer - résultat montant contenu argent - -champ d'application CasTest2: - définition calcul.résidence égal à Métropole - définition calcul.date_conventionnement égal à |2022-01-01| - définition calcul.logement_foyer_jeunes_travailleurs égal à faux - définition calcul.type_logement_foyer égal à TypeLogementFoyer.Autre - définition calcul.redevance égal à 360 € - définition calcul.ressources_ménage_arrondies égal à 15 000€ - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.situation_familiale_calcul_apl égal à Couple - définition calcul.zone égal à Zone3 - définition calcul.date_courante égal à |2022-04-23| - définition calcul.catégorie_équivalence_loyer_d842_16 égal à - PersonnesÂgéesSelon3DeD842_16 - assertion calcul.équivalence_loyer = 320,73 € - assertion calcul.montant_forfaitaire_charges = 54,22 € - assertion calcul.loyer_minimal = 307,97 € - assertion calcul.coefficient_prise_en_charge = 0,43 - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 23,12 € -``` - -```catala -# Tiré de la page 34 de -# https://www.ecologie.gouv.fr/sites/default/files/les_aides_personnelles_au_logement_element_de_calcul_septembre_2021.pdf#page=34 -déclaration champ d'application CasTest3 : - calcul champ d'application CalculAidePersonnaliséeLogementFoyer - résultat montant contenu argent - -champ d'application CasTest3: - définition calcul.résidence égal à Métropole - définition calcul.date_conventionnement égal à |2020-01-01| - définition calcul.logement_foyer_jeunes_travailleurs égal à faux - définition calcul.type_logement_foyer égal à TypeLogementFoyer.Autre - définition calcul.redevance égal à 350 € - définition calcul.ressources_ménage_arrondies égal à 7 500€ - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.zone égal à Zone1 - définition calcul.date_courante égal à |2021-09-15| - assertion calcul.équivalence_loyer_éligible = 350 € - assertion calcul.plafond_équivalence_loyer_éligible = 444,43€ - assertion calcul.équivalence_loyer_minimale = 98,95 € - assertion calcul.coefficient_prise_en_charge_d832_25 = 0,64 - définition montant égal à calcul.traitement_aide_finale de calcul.aide_finale_formule - assertion montant = 154,78 € -``` - - -```catala -# Transmis par DGALN/DHUP/FE4 le 14/07/2022 -déclaration champ d'application CasTest4 : - calcul champ d'application CalculAidePersonnaliséeLogementFoyer - résultat montant contenu argent - -champ d'application CasTest4: - définition calcul.résidence égal à Métropole - définition calcul.date_conventionnement égal à |2020-01-01| - définition calcul.logement_foyer_jeunes_travailleurs égal à faux - définition calcul.type_logement_foyer égal à TypeLogementFoyer.Autre - définition calcul.redevance égal à 350 € - définition calcul.ressources_ménage_arrondies égal à 7 500€ - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.zone égal à Zone1 - définition calcul.date_courante égal à |2022-05-01| - assertion calcul.équivalence_loyer_éligible = 350 € - assertion calcul.plafond_équivalence_loyer_éligible = 446,30€ - assertion calcul.équivalence_loyer_minimale = 98,95 € - assertion calcul.coefficient_prise_en_charge_d832_25 = 0,64 - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 154,78 € -``` - -```catala -# Transmis par DGALN/DHUP/FE4 le 14/07/2022 -déclaration champ d'application CasTest5 : - calcul champ d'application CalculAidePersonnaliséeLogementFoyer - résultat montant contenu argent - -champ d'application CasTest5: - définition calcul.résidence égal à Métropole - définition calcul.logement_foyer_jeunes_travailleurs égal à faux - définition calcul.date_conventionnement égal à |2020-01-01| - définition calcul.type_logement_foyer égal à - TypeLogementFoyer.RésidenceSociale - définition calcul.redevance égal à 350 € - définition calcul.ressources_ménage_arrondies égal à 7 500€ - définition calcul.nombre_personnes_à_charge égal à 0 - définition calcul.situation_familiale_calcul_apl égal à PersonneSeule - définition calcul.zone égal à Zone1 - définition calcul.date_courante égal à |2022-05-01| - assertion calcul.équivalence_loyer_éligible = 350 € - assertion calcul.plafond_équivalence_loyer_éligible = 446,30€ - assertion calcul.équivalence_loyer_minimale = 124,64 € - assertion calcul.coefficient_prise_en_charge_d832_25 = 0,6 - définition montant égal à - calcul.traitement_aide_finale de - calcul.aide_finale_formule - assertion montant = 129,65 € -``` - -```catala-test-inline -$ catala Interpret -s CasTest1 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 12,06 € -``` - -```catala-test-inline -$ catala Interpret -s CasTest2 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 23,12 € -``` - -```catala-test-inline -$ catala Interpret -s CasTest3 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 154,78 € -``` - -```catala-test-inline -$ catala Interpret -s CasTest4 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 154,78 € -``` - -```catala-test-inline -$ catala Interpret -s CasTest5 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] montant = 129,65 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s CasTest1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 12,06 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s CasTest2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 23,12 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s CasTest3 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 154,78 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s CasTest4 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 154,78 € -``` -```catala-test-inline -$ catala Interpret_Lcalc -s CasTest5 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant = 129,65 € -``` diff --git a/examples/aides_logement/tests/tests_calculette_globale.catala_fr b/examples/aides_logement/tests/tests_calculette_globale.catala_fr deleted file mode 100644 index 88336d42..00000000 --- a/examples/aides_logement/tests/tests_calculette_globale.catala_fr +++ /dev/null @@ -1,197 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -# TODO juridique: test à vérifier -déclaration champ d'application Exemple1 : - calculette champ d'application CalculetteAidesAuLogementGardeAlternée - résultat éligibilité contenu booléen - résultat montant_versé contenu argent - -champ d'application Exemple1 : - définition éligibilité égal à calculette.éligibilité - définition montant_versé égal à calculette.aide_finale - définition calculette.date_courante égal à |2022-01-01| - définition calculette.ménage égal à Ménage { - -- prestations_reçues: [ - PrestationReçue.AllocationSoutienEnfantHandicapé; - PrestationReçue.ComplémentFamilial; - PrestationReçue.AllocationsFamiliales - ] - -- situation_familiale: Mariés contenu |2010-11-26| - -- personnes_à_charge: [ - EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 0 - -- nationalité: Française - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2003-01-01| - -- études_apprentissage_stage_formation_pro_impossibilité_travail: vrai - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Après - -- situation_garde_alternée: GardeAlternéeCoefficientPriseEnCharge contenu 0,7 - }); EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 1 - -- nationalité: Française - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2011-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - }); EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 2 - -- nationalité: Française - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2014-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - })] - -- logement: Logement { - -- zone: Zone1 - -- résidence_principale : vrai - -- mode_occupation : Locataire contenu (Location { - -- loyer_principal: 1700 € - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: faux - -- logement_est_chambre: faux - -- colocation: faux - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: faux - -- logement_meublé_d842_2: faux - -- changement_logement_d842_4: PasDeChangement - -- bailleur: BailleurSocial contenu (ConventionBailleurSocial{ - -- conventionné_livre_III_titre_V_chap_III: vrai - -- réduction_loyer_solidarité_perçue: 0 € - }) - }) - -- propriétaire : ParentOuAutre.Autre - -- loué_ou_sous_loué_à_des_tiers : LouéOuSousLouéÀDesTiers.Non - -- usufruit : ParentOuAutre.Autre - -- logement_decent_l89_462 : vrai - -- surface_m_carrés : 80 - } - -- nombre_autres_occupants_logement: 1 - -- condition_rattaché_foyer_fiscal_parent_ifi: faux - -- enfant_à_naître_après_quatrième_mois_grossesse: faux - -- personnes_âgées_handicapées_foyer_r844_4: faux - -- résidence :Métropole - } - définition calculette.demandeur égal à Demandeur { - -- est_non_salarié_agricole_l781_8_l_781_46_code_rural: faux - -- magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte: faux - -- personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale: faux - -- date_naissance : |1970-05-02| - -- nationalité : Française - } - définition calculette.ressources_ménage_prises_en_compte égal à 20 000 € -``` - -```catala -déclaration champ d'application Exemple2 : - calculette champ d'application CalculetteAidesAuLogementGardeAlternée - résultat éligibilité contenu booléen - résultat montant_versé contenu argent - -champ d'application Exemple2 : - définition éligibilité égal à calculette.éligibilité - définition montant_versé égal à calculette.aide_finale - définition calculette.date_courante égal à |2023-04-01| - définition calculette.ménage égal à Ménage { - -- prestations_reçues: [] - -- situation_familiale: Célibataire - -- personnes_à_charge: [ - EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 0 - -- nationalité: Française - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2008-01-01| - -- études_apprentissage_stage_formation_pro_impossibilité_travail: vrai - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Après - -- situation_garde_alternée: PasDeGardeAlternée - }); EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 1 - -- nationalité: Française - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2011-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - })] - -- logement: Logement { - -- zone: Zone2 - -- résidence_principale : vrai - -- mode_occupation : Locataire contenu (Location { - -- loyer_principal: 500 € - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: faux - -- logement_est_chambre: faux - -- colocation: faux - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: faux - -- logement_meublé_d842_2: faux - -- changement_logement_d842_4: PasDeChangement - -- bailleur: BailleurPrivé - }) - -- propriétaire : ParentOuAutre.Autre - -- loué_ou_sous_loué_à_des_tiers : LouéOuSousLouéÀDesTiers.Non - -- usufruit : ParentOuAutre.Autre - -- logement_decent_l89_462 : vrai - -- surface_m_carrés : 60 - } - -- nombre_autres_occupants_logement: 0 - -- condition_rattaché_foyer_fiscal_parent_ifi: faux - -- enfant_à_naître_après_quatrième_mois_grossesse: faux - -- personnes_âgées_handicapées_foyer_r844_4: faux - -- résidence : SaintPierreEtMiquelon - } - définition calculette.demandeur égal à Demandeur { - -- est_non_salarié_agricole_l781_8_l_781_46_code_rural: faux - -- magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte: faux - -- personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale: faux - -- date_naissance : |1970-05-02| - -- nationalité : Française - } - définition calculette.ressources_ménage_prises_en_compte égal à 12 500 € -``` - -```catala-test-inline -$ catala Interpret -s Exemple1 -[RESULT] Computation successful! Results: -[RESULT] montant_versé = 246,23 € -[RESULT] éligibilité = vrai -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant_versé = 246,23 € -[RESULT] éligibilité = vrai -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -O --closure-conversion -[RESULT] Computation successful! Results: -[RESULT] montant_versé = 246,23 € -[RESULT] éligibilité = vrai -``` - -```catala-test-inline -$ catala Interpret -s Exemple2 -[RESULT] Computation successful! Results: -[RESULT] montant_versé = 230,63 € -[RESULT] éligibilité = vrai -``` - -```catala-test-inline -$ catala Interpret_lcalc -s Exemple2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] montant_versé = 230,63 € -[RESULT] éligibilité = vrai -``` - -```catala-test-inline -$ catala Interpret_lcalc -s Exemple2 -O --avoid-exceptions --closure-conversion -[RESULT] Computation successful! Results: -[RESULT] montant_versé = 230,63 € -[RESULT] éligibilité = vrai -``` diff --git a/examples/aides_logement/tests/tests_eligibilite_apl.catala_fr b/examples/aides_logement/tests/tests_eligibilite_apl.catala_fr deleted file mode 100644 index 643b0a6d..00000000 --- a/examples/aides_logement/tests/tests_eligibilite_apl.catala_fr +++ /dev/null @@ -1,257 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - -# Tests - -```catala -déclaration champ d'application Exemple1 : - éligibilité champ d'application ÉligibilitéAidePersonnaliséeLogement - résultat éligible contenu booléen - -champ d'application Exemple1 : - définition éligible égal à éligibilité.éligibilité - assertion éligible - définition éligibilité.date_courante égal à |2020-03-10| - définition éligibilité.ménage égal à Ménage { - -- résidence: Métropole - -- prestations_reçues: [ - PrestationReçue.AllocationSoutienEnfantHandicapé; - PrestationReçue.ComplémentFamilial; - PrestationReçue.AllocationsFamiliales - ] - -- situation_familiale: Mariés contenu |2010-11-26| - -- personnes_à_charge: [ - EnfantÀCharge contenu (EnfantÀCharge { - -- nationalité: Française - -- identifiant: 0 - -- études_apprentissage_stage_formation_pro_impossibilité_travail: vrai - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2001-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Après - -- situation_garde_alternée: PasDeGardeAlternée - }); EnfantÀCharge contenu (EnfantÀCharge { - -- nationalité: Française - -- identifiant: 1 - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2009-01-01| - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - }); EnfantÀCharge contenu (EnfantÀCharge { - -- nationalité: Française - -- identifiant: 2 - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2012-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - })] - -- logement: Logement { - -- zone: Zone1 - -- résidence_principale : vrai - -- mode_occupation : Locataire contenu (Location { - -- loyer_principal: 750 € - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: faux - -- logement_est_chambre: faux - -- colocation: faux - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: faux - -- logement_meublé_d842_2: faux - -- changement_logement_d842_4: PasDeChangement - -- bailleur: BailleurSocial contenu (ConventionBailleurSocial{ - -- conventionné_livre_III_titre_V_chap_III: vrai - -- réduction_loyer_solidarité_perçue: 0 € - }) - }) - -- propriétaire : ParentOuAutre.Autre - -- loué_ou_sous_loué_à_des_tiers : LouéOuSousLouéÀDesTiers.Non - -- usufruit : ParentOuAutre.Autre - -- logement_decent_l89_462 : vrai - -- surface_m_carrés : 80 - } - -- nombre_autres_occupants_logement: 1 - -- condition_rattaché_foyer_fiscal_parent_ifi: faux - -- enfant_à_naître_après_quatrième_mois_grossesse: faux - -- personnes_âgées_handicapées_foyer_r844_4: faux - } - définition éligibilité.demandeur égal à Demandeur { - -- date_naissance : |1970-05-02| - -- est_non_salarié_agricole_l781_8_l_781_46_code_rural: faux - -- magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte: faux - -- nationalité : Française - -- personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale: faux - } - -déclaration champ d'application Exemple2 : - éligibilité champ d'application ÉligibilitéAllocationLogement - résultat éligible contenu TypeÉligibilitéAllocationLogement - -champ d'application Exemple2 : - définition éligible égal à éligibilité.éligibilité - assertion éligible = TypeÉligibilitéAllocationLogement.AllocationLogementFamiliale - définition éligibilité.date_courante égal à |2022-05-01| - définition éligibilité.ménage égal à Ménage { - -- résidence: Métropole - -- prestations_reçues: [ - PrestationReçue.AllocationsFamiliales - ] - -- situation_familiale: Concubins - -- personnes_à_charge: [ - EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 0 - -- nationalité: Française - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2016-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - }); EnfantÀCharge contenu (EnfantÀCharge { - -- nationalité: Française - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- identifiant: 1 - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2015-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - })] - -- logement: Logement { - -- zone: Zone2 - -- résidence_principale : vrai - -- mode_occupation : Locataire contenu (Location { - -- bailleur: BailleurSocial contenu (ConventionBailleurSocial{ - -- conventionné_livre_III_titre_V_chap_III: vrai - -- réduction_loyer_solidarité_perçue: 0 € - }) - -- loyer_principal: 450 € - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: faux - -- logement_est_chambre: faux - -- colocation: faux - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: faux - -- logement_meublé_d842_2: faux - -- changement_logement_d842_4: PasDeChangement - }) - -- propriétaire : ParentOuAutre.Autre - -- loué_ou_sous_loué_à_des_tiers : LouéOuSousLouéÀDesTiers.Non - -- usufruit : ParentOuAutre.Autre - -- logement_decent_l89_462 : vrai - -- surface_m_carrés : 60 - } - -- nombre_autres_occupants_logement: 0 - -- condition_rattaché_foyer_fiscal_parent_ifi: faux - -- enfant_à_naître_après_quatrième_mois_grossesse: faux - -- personnes_âgées_handicapées_foyer_r844_4: faux - } - définition éligibilité.demandeur égal à Demandeur { - -- est_non_salarié_agricole_l781_8_l_781_46_code_rural: faux - -- magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte: faux - -- date_naissance : |1992-01-01| - -- nationalité : Française - -- personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale: faux - } - définition éligibilité.bénéficie_aide_personnalisée_logement égal à faux - -déclaration champ d'application Exemple3 : - éligibilité champ d'application ÉligibilitéAllocationLogement - résultat éligible contenu TypeÉligibilitéAllocationLogement - -champ d'application Exemple3 : - définition éligible égal à éligibilité.éligibilité - assertion éligible = TypeÉligibilitéAllocationLogement.AllocationLogementFamiliale - définition éligibilité.date_courante égal à |2023-04-01| - définition éligibilité.ménage égal à Ménage { - -- résidence: LaRéunion - -- prestations_reçues: [ - PrestationReçue.AllocationsFamiliales - ] - -- situation_familiale: Concubins - -- personnes_à_charge: [ - EnfantÀCharge contenu (EnfantÀCharge { - -- identifiant: 0 - -- nationalité: Française - -- études_apprentissage_stage_formation_pro_impossibilité_travail: faux - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- date_de_naissance: |2016-01-01| - -- rémuneration_mensuelle: 0€ - -- obligation_scolaire: Pendant - -- situation_garde_alternée: PasDeGardeAlternée - })] - -- logement: Logement { - -- zone: Zone2 - -- résidence_principale : vrai - -- mode_occupation : Locataire contenu (Location { - -- bailleur: BailleurPrivé - -- loyer_principal: 375 € - -- bénéficiaire_aide_adulte_ou_enfant_handicapés: faux - -- logement_est_chambre: faux - -- colocation: faux - -- âgées_ou_handicap_adultes_hébergées_onéreux_particuliers: faux - -- logement_meublé_d842_2: faux - -- changement_logement_d842_4: PasDeChangement - }) - -- propriétaire : ParentOuAutre.Autre - -- loué_ou_sous_loué_à_des_tiers : LouéOuSousLouéÀDesTiers.Non - -- usufruit : ParentOuAutre.Autre - -- logement_decent_l89_462 : vrai - -- surface_m_carrés : 60 - } - -- nombre_autres_occupants_logement: 0 - -- condition_rattaché_foyer_fiscal_parent_ifi: faux - -- enfant_à_naître_après_quatrième_mois_grossesse: faux - -- personnes_âgées_handicapées_foyer_r844_4: faux - } - définition éligibilité.demandeur égal à Demandeur { - -- est_non_salarié_agricole_l781_8_l_781_46_code_rural: faux - -- magistrat_fonctionnaire_centre_intérêts_matériels_familiaux_hors_mayotte: faux - -- date_naissance : |1992-01-01| - -- nationalité : Française - -- personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale: faux - } - définition éligibilité.bénéficie_aide_personnalisée_logement égal à faux -``` - -```catala-test-inline -$ catala Interpret -s Exemple1 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] éligible = vrai -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple1 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] éligible = vrai -``` - - -```catala-test-inline -$ catala Interpret -s Exemple2 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] éligible = AllocationLogementFamiliale () -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple2 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] éligible = AllocationLogementFamiliale () -``` - - -```catala-test-inline -$ catala Interpret -s Exemple3 --disable-warnings -[RESULT] Computation successful! Results: -[RESULT] éligible = AllocationLogementFamiliale () -``` - -```catala-test-inline -$ catala Interpret_Lcalc -s Exemple3 --avoid-exceptions -[RESULT] Computation successful! Results: -[RESULT] éligible = AllocationLogementFamiliale () -``` - -```catala-test-inline -$ catala Typecheck -[RESULT] Typechecking successful! -``` - diff --git a/examples/aides_logement/tests/tests_invariants.catala_fr b/examples/aides_logement/tests/tests_invariants.catala_fr deleted file mode 100644 index b0ee873b..00000000 --- a/examples/aides_logement/tests/tests_invariants.catala_fr +++ /dev/null @@ -1,15 +0,0 @@ -> Inclusion: ../aides_logement.catala_fr - - -# Ce fichier est uniquement là pour vérifier que les invariants structurels sont bien garanties par les differences phases de compilation. - -```catala-test-inline -$ catala Typecheck --check-invariants -[RESULT] Invariant typing_defaults checked. result: [24676/24676] -[RESULT] Invariant match_inversion checked. result: [771/771] -[RESULT] Invariant app_inversion checked. result: [267/267] -[RESULT] Invariant no_return_a_function checked. result: [3046/3046] -[RESULT] Invariant no_partial_evaluation checked. result: [267/267] -[RESULT] Invariant default_no_arrow checked. result: [1332/1332] -[RESULT] Typechecking successful! -``` diff --git a/examples/allocations_familiales/.gitignore b/examples/allocations_familiales/.gitignore deleted file mode 100644 index 69ff37e1..00000000 --- a/examples/allocations_familiales/.gitignore +++ /dev/null @@ -1,19 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -*.html -_minted* -*.toc -*.pyg -*.d -*.new -*.ml -*.py -*.xdv -*.json diff --git a/examples/allocations_familiales/Makefile b/examples/allocations_familiales/Makefile deleted file mode 100644 index 1b5e0c16..00000000 --- a/examples/allocations_familiales/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=allocations_familiales.catala_fr - -include ../Makefile.common.mk diff --git a/examples/allocations_familiales/allocations_familiales.catala_fr b/examples/allocations_familiales/allocations_familiales.catala_fr deleted file mode 100644 index f797c14e..00000000 --- a/examples/allocations_familiales/allocations_familiales.catala_fr +++ /dev/null @@ -1,17 +0,0 @@ -> Inclusion: prologue.catala_fr - -> Inclusion: ../smic/smic.catala_fr - -> Inclusion: ../base_mensuelle_allocations_familiales/bmaf.catala_fr - -> Inclusion: autres_codes.catala_fr - -> Inclusion: securite_sociale_L.catala_fr - -> Inclusion: securite_sociale_R.catala_fr - -> Inclusion: securite_sociale_D.catala_fr - -> Inclusion: decrets_divers.catala_fr - -> Inclusion: epilogue.catala_fr diff --git a/examples/allocations_familiales/autres_codes.catala_fr b/examples/allocations_familiales/autres_codes.catala_fr deleted file mode 100644 index 3fe8d6fe..00000000 --- a/examples/allocations_familiales/autres_codes.catala_fr +++ /dev/null @@ -1,26 +0,0 @@ -# Code de la construction et de l'habitation - -## Partie législative - -### Livre VIII : Aides personnelles au logement - -#### Titre II : Dispositions communes aux aides personnelles au logement - -##### Chapitre Ier : Principes généraux - -###### Section 2 : Règles de non-cumul - -####### Sous-section 1 : Aides personnelles au logement - -######## Article L821-3 | LEGIARTI000038814972 - -Lorsqu'un enfant est bénéficiaire, à titre personnel, de l'aide -personnelle au logement, il n'est pas pris en compte, comme enfant -à charge, pour le bénéfice des prestations familiales. - -```catala -champ d'application PrestationsFamiliales: - exception cas_base règle droit_ouvert de enfant sous condition - enfant.bénéficie_titre_personnel_aide_personnelle_logement - conséquence non rempli -``` diff --git a/examples/allocations_familiales/decrets_divers.catala_fr b/examples/allocations_familiales/decrets_divers.catala_fr deleted file mode 100644 index 1fd809d3..00000000 --- a/examples/allocations_familiales/decrets_divers.catala_fr +++ /dev/null @@ -1,510 +0,0 @@ -# Montant des plafonds de ressources - -## Circulaire interministérielle N° DSS/SD2B/2017/352 du 22 décembre 2017 relative à la revalorisation au 1er janvier 2018 des plafonds de ressources d’attribution de certaines prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et à Mayotte - -Plafonds de ressources applicables pour l’attribution du montant modulé -des allocations familiales, de la majoration pour âge et de l’allocation -forfaitaire, du 1er janvier 2018 au 31 décembre 2018 (à comparer au revenu - net catégoriel de l'année 2016). - -La première tranche est celle dont les revenus sont inférieurs ou égaux -à un plafond de base de 56 286 € majoré de 5 628 euros par enfant -à charge. La deuxième tranche est celle dont les revenus sont supérieurs à un -plafond de base de 56 286 euros majoré de 5 628 euros par enfant à charge mais -inférieurs ou égaux au plafond de base de 78 770 euros majoré de 5 628 euros -par enfant à charge. La troisième tranche est celle dont les revenus -sont supérieurs au plafond de base de 78 770 euros majoré de -5 628 euros par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - exception - définition plafond_I_d521_3 sous condition - date_courante >= |2018-01-01| et date_courante <= |2018-12-31| - conséquence égal à 56 286 € + - 5 628 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) - - exception - définition plafond_II_d521_3 sous condition - date_courante >= |2018-01-01| et date_courante <= |2018-12-31| - conséquence égal à 78 770 € + - 5 628 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -## Instruction interministérielle n° DSS/SD2B/2018/279 du 17 décembre 2018 relative à la revalorisation au 1er janvier 2019 des plafonds de ressources d’attribution de certaines prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et à Mayotte - -Plafonds de ressources applicables pour l’attribution du montant -modulé des allocations familiales, de la majoration pour âge et -de l’allocation forfaitaire, du 1er janvier 2019 au 31 décembre -2019 (à comparer au revenu net catégoriel de l'année 2017). - -La première tranche est celle dont les revenus sont inférieurs ou -égaux à un plafond de base de 56 849 € majoré de 5 684 euros -par enfant à charge. La deuxième tranche est celle dont les revenus sont -supérieurs à un plafond de base de 56 849 euros majoré de 5 684 euros -par enfant à charge mais inférieurs ou égaux au plafond de base de -79 558 euros majoré de 5 684 euros par enfant à charge. La troisième -tranche est celle dont les revenus sont supérieurs au plafond de -base de 79 558 euros majoré de 5 684 euros par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - exception - définition plafond_I_d521_3 sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| - conséquence égal à 56 849 € + - 5 684 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) - - exception - définition plafond_II_d521_3 sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| - conséquence égal à 79 558 € + - 5 684 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -## Instruction interministerielle no DSS/SD2B/2019/261 du 18 décembre 2019 relative à la revalorisation au 1er janvier 2020 des plafonds de ressources d’attribution de certaines prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Saint-Barthélemy, à Saint-Martin et à Mayotte - -Plafonds de ressources applicables pour l’attribution du montant modulé des -allocations familiales, de la majoration pour âge et de l’allocation forfaitaire, -du 1er janvier 2020 au 31 décembre 2020 (à comparer au revenu net catégoriel de -l’année 2018) - -La première tranche est celle dont les revenus sont inférieurs ou -égaux à un plafond de base de 57 759 € majoré de 5 775 € par -enfant à charge. La deuxième tranche est celle dont les revenus -sont supérieurs à un plafond de base de 57 759 € majoré de 5 775 -€ par enfant à charge mais inférieurs ou égaux au plafond de base -de 80 831 € majoré de 5 775 € par enfant à charge. La troisième -tranche est celle dont les revenus sont supérieurs au plafond de base de -80 831 € majoré de 5 775 € par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - exception - définition plafond_I_d521_3 sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| - conséquence égal à 57 759 € + - 5 775 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) - - exception - définition plafond_II_d521_3 sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| - conséquence égal à 80 831 € + - 5 775 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -## Arrêté du 14 décembre 2020 relatif au montant des plafonds de ressources de certaines prestations familiales et aux tranches du barème applicable au recouvrement des indus et à la saisie des prestations - -### Article 1|JORFARTI000042694985 - -I. - Le plafond de ressources prévu au 1° du I des articles D. 521-1 et D. 521-2 -du code de la sécurité sociale relatif aux allocations familiales, à la majoration -pour âge et à l'allocation forfaitaire prévue au deuxième alinéa de l'article -L. 521-1 est fixé à 58 279 euros pour la période du 1er janvier 2021 au 31 -décembre 2021. Il est majoré de 5 827 euros par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - exception - définition plafond_I_d521_3 sous condition - date_courante >= |2021-01-01| et date_courante <= |2021-12-31| - conséquence égal à 58 279 € + - 5 827 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -II. - Le plafond de ressources prévu au 2° du I des articles D. 521-1 et -D. 521-2 du même code relatif aux allocations familiales, à la majoration -pour âge et à l'allocation forfaitaire prévue au deuxième alinéa de l'article -L. 521-1 est fixé à 81 558 euros pour la période du 1er janvier 2021 au 31 -décembre 2021. Il est majoré de 5 827 euros par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - exception - définition plafond_II_d521_3 sous condition - date_courante >= |2021-01-01| et date_courante <= |2021-12-31| - conséquence égal à 81 558 € + - 5 827 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -# Dispositions spéciales relatives à Mayotte - -## Décret n°2002-423 du 29 mars 2002 relatif aux prestations familiales à Mayotte - -### Article 7|LEGIARTI000036330048 - -Les taux servant au calcul des allocations familiales sont fixés, en -pourcentage de la base mensuelle de calcul des allocations familiales -prévue à l'article L. 551-1 du code de la sécurité sociale, ainsi qu'il suit : - -```catala -champ d'application AllocationsFamiliales sous condition résidence = Mayotte: - # La formule change à Mayotte par rapport au cas général. - exception définition montant_initial_base égal à - montant_initial_base_premier_enfant + - montant_initial_base_deuxième_enfant + - montant_initial_base_troisième_enfant_mayotte + - montant_initial_base_quatrième_enfant_et_plus_mayotte - - exception - règle droit_ouvert_base sous condition - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale >= 1) - conséquence rempli -``` - -1° 5,88 % pour un seul enfant à charge ; -```catala -champ d'application AllocationsFamiliales sous condition résidence = Mayotte : - étiquette mayotte exception base - définition montant_initial_base_premier_enfant égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 5,88 % - sinon 0 € -``` - -2° 32 % pour deux enfants à charge ; -```catala -champ d'application AllocationsFamiliales sous condition résidence = Mayotte: - étiquette mayotte exception base - définition montant_initial_base_deuxième_enfant égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 32 % - sinon 0 € -``` - -3° 16 % pour le troisième enfant à charge ; -```catala -champ d'application AllocationsFamiliales : - définition montant_initial_base_troisième_enfant_mayotte égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 16 % - sinon 0 € -``` - -4° 4,63 % pour le quatrième enfant à charge et chacun des suivants. -```catala -champ d'application AllocationsFamiliales : - définition montant_initial_base_quatrième_enfant_et_plus_mayotte égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 3 - alors (bmaf.montant * 4,63 %) * ( - décimal de - ((nombre de enfants_à_charge_droit_ouvert_prestation_familiale) - 3) - ) sinon 0 € -``` - -### Annexe | LEGIARTI000036326574 - -ANNEXE - -TABLEAU D'ÉVOLUTION DES TAUX SERVANT AU CALCUL DES ALLOCATIONS FAMILIALES -APPLICABLES DANS LE DÉPARTEMENT DE MAYOTTE POUR LA PÉRIODE DU 1ER JANVIER -2012 AU 1ER JANVIER 2021, FIXÉS EN APPLICATION DE L'ARTICLE 7 DE L'ORDONNANCE -N° 2002-149 DU 7 FÉVRIER 2002 MODIFIÉE SUSVISÉE - - -Les taux servant au calcul des allocations familiales (AF) sont fixés, dans le -tableau ci-après, au 1er janvier de chaque année, en pourcentage de la base -mensuelle de calcul des allocations familiales (BMAF) prévue à l'article L. -551-1 du code de la sécurité sociale. - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - Année Montant AF pour les Taux BMAF pour les Taux BMAF pour les familles Taux BMAF pour les familles Taux BMAF pour le Taux BMAF par enfant - familles ayant un enfant familles ayant un ayant deux enfants à charge ayant trois enfants à charge 3e enfant à charge supplémentaire à partir - à charge avant le 1er enfant à charge à compter du 4e enfant à charge - janvier 2012 du 1er janvier 2012 ------------------ ------------------------ ------------------------- --------------------------- ---------------------------- ------------------ ----------------------- -2011 57,28 € 14,50 % 23,2 % 27,83 % 4,63 % 4,63 % - -2012 57,28 € 13,93 % 23,79 % 29,18 % 5,39 % 4,63 % - -2013 57,28 € 13,35 % 24,37 % 30,52 % 6,15 % 4,63 % - -2014 57,28 € 12,78 % 24,96 % 31,86 % 6,90 % 4,63 % - -2015 57,28 € 12,20 % 25,55 % 33,21 % 7,66 % 4,63 % - -2016 57,28 € 11,63 % 26,13 % 34,55 % 8,42 % 4,63 % - -2017 57,28 € 11,05 % 26,72 % 35,90 % 9,18 % 4,63 % - -2018 57,28 € 9,76 % 28,04 % 38,93 % 10,89 % 4,63 % - -2019 57,28 € 8,47 % 29,36 % 41,95 % 12,59 % 4,63 % - -2020 57,28 € 7,17 % 30,68 % 44,98 % 14,30 % 4,63 % - -A compter de 2021 57,28 € 5,88 % 32 % 48 % 16 % 4,63 % ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -```catala -champ d'application AllocationsFamiliales sous condition résidence = Mayotte: - - # Premier enfant - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2011-01-01| et date_courante <= |2011-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 14,50 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2012-01-01| et date_courante <= |2012-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 13,93 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2013-01-01| et date_courante <= |2013-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 13,35 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2014-01-01| et date_courante <= |2014-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 12,78 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2015-01-01| et date_courante <= |2015-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 12,20 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2016-01-01| et date_courante <= |2016-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 11,63 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2017-01-01| et date_courante <= |2017-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 11,05 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2018-01-01| et date_courante <= |2018-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 9,76 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 8,47 % - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| et - non avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors bmaf.montant * 7,17% - sinon 0 € - - exception mayotte définition montant_initial_base_premier_enfant - sous condition - avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 0 - alors 57,28€ - sinon 0 € - - # Deuxième enfant - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2011-01-01| et date_courante <= |2011-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 23,2 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2012-01-01| et date_courante <= |2012-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 23,79 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2013-01-01| et date_courante <= |2013-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 24,37 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2014-01-01| et date_courante <= |2014-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 24,96 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2015-01-01| et date_courante <= |2015-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 25,55 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2016-01-01| et date_courante <= |2016-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 26,13 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2017-01-01| et date_courante <= |2017-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 26,72 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2018-01-01| et date_courante <= |2018-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 28,04 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 29,36 % - sinon 0 € - - exception mayotte définition montant_initial_base_deuxième_enfant - sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 30,68 % - sinon 0 € - - # Troisième enfant - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2011-01-01| et date_courante <= |2011-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 4,63 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2012-01-01| et date_courante <= |2012-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 5,39 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2013-01-01| et date_courante <= |2013-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 6,15 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2014-01-01| et date_courante <= |2014-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 6,90 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2015-01-01| et date_courante <= |2015-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 7,66 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2016-01-01| et date_courante <= |2016-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 8,42 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2017-01-01| et date_courante <= |2017-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 9,18 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2018-01-01| et date_courante <= |2018-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 10,89 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 12,59 % - sinon 0 € - - exception définition montant_initial_base_troisième_enfant_mayotte - sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| - conséquence égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors bmaf.montant * 14,30 % - sinon 0 € -``` diff --git a/examples/allocations_familiales/dune b/examples/allocations_familiales/dune deleted file mode 100644 index 503011ce..00000000 --- a/examples/allocations_familiales/dune +++ /dev/null @@ -1,39 +0,0 @@ -(rule - (targets allocations_familiales.ml allocations_familiales_api_web.ml) - (deps - (source_tree ..) - %{workspace_root}/compiler/plugins/api_web%{ext_plugin}) - (action - (chdir - %{workspace_root} - (run - catala - api_web - -t - --plugin-dir=compiler/plugins - %{dep:allocations_familiales.catala_fr})))) - -(rule - (targets allocations_familiales_schema.json) - (deps - (source_tree ..) - %{workspace_root}/compiler/plugins/json_schema%{ext_plugin}) - (action - (chdir - %{workspace_root} - (run - catala - json_schema - -t - --plugin-dir=compiler/plugins - --scope=InterfaceAllocationsFamiliales - %{dep:allocations_familiales.catala_fr})))) - -(rule - (target allocations_familiales.py) - (deps - (source_tree ..)) - (action - (chdir - %{workspace_root} - (run catala Python -O %{dep:allocations_familiales.catala_fr})))) diff --git a/examples/allocations_familiales/epilogue.catala_fr b/examples/allocations_familiales/epilogue.catala_fr deleted file mode 100644 index 69825582..00000000 --- a/examples/allocations_familiales/epilogue.catala_fr +++ /dev/null @@ -1,140 +0,0 @@ -# Épilogue - -## Règles diverses - -Les textes législatifs et règlementaires contiennent toutes les informations -kécessaires au calcul. Cependant, certaines règles de calcul sont implicites -dans ces textes et doivent être explicitées pour le calcul informatique. C'est -la fonction du bloc de code ci-dessous. - -```catala-metadata -champ d'application EnfantLePlusÂgé: - définition le_plus_âgé égal à - potentiel_plus_âgé parmi enfants tel que - potentiel_plus_âgé.date_de_naissance est minimum - ou si liste vide alors Enfant { - -- identifiant: -1 - -- obligation_scolaire: Pendant - -- rémuneration_mensuelle: 0€ - -- date_de_naissance: |2999-12-31| - -- prise_en_charge: EffectiveEtPermanente - -- a_déjà_ouvert_droit_aux_allocations_familiales: faux - -- bénéficie_titre_personnel_aide_personnelle_logement: faux - } - - -champ d'application AllocationsFamiliales: - définition montant_initial_métropole_majoration de enfant sous condition - non (droit_ouvert_majoration de enfant) - conséquence égal à 0 € - - règle droit_ouvert_complément rempli - - définition enfant_le_plus_âgé.enfants égal à enfants_à_charge - définition est_enfant_le_plus_âgé de enfant égal à - enfant_le_plus_âgé.le_plus_âgé = enfant - - définition montant_versé_base égal à - si droit_ouvert_base alors montant_avec_garde_alternée_base sinon 0€ - définition montant_versé_majoration égal à - si droit_ouvert_base alors - somme argent de (montant_avec_garde_alternée_majoration de enfant) - pour enfant parmi enfants_à_charge - sinon 0€ - - définition montant_versé égal à - si droit_ouvert_base alors - montant_versé_base + - montant_versé_majoration + - montant_versé_forfaitaire + - montant_versé_complément_pour_base_et_majoration + - montant_versé_complément_pour_forfaitaire - sinon 0€ -``` - -## Interface du programme - -Le calcul des allocations familiales nécessite un certain nombre d'informations -sur les enfants à charge. Certaines de ces informations sont dépendantes les -unes des autres : par exemple, l'âge de l'enfant se déduit de sa date de -naissance. Le but du block ci-dessous est d'encoder ces dépendances, de telle -sorte que l'utilisateur puisse ne doive saisir que le nombre minimal -d'informations sur les enfants à charge. - -```catala-metadata -déclaration structure EnfantEntrée: - donnée d_identifiant contenu entier - donnée d_rémuneration_mensuelle contenu argent - donnée d_date_de_naissance contenu date - donnée d_prise_en_charge contenu PriseEnCharge - donnée d_a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen - donnée d_bénéficie_titre_personnel_aide_personnelle_logement contenu booléen - -déclaration champ d'application InterfaceAllocationsFamiliales: - entrée i_date_courante contenu date - entrée i_enfants contenu liste de EnfantEntrée - interne enfants_à_charge contenu liste de Enfant - allocations_familiales champ d'application AllocationsFamiliales - entrée i_ressources_ménage contenu argent - entrée i_résidence contenu Collectivité - résultat i_montant_versé contenu argent - entrée i_personne_charge_effective_permanente_est_parent condition - entrée i_personne_charge_effective_permanente_remplit_titre_I condition - entrée i_avait_enfant_à_charge_avant_1er_janvier_2012 condition - -champ d'application InterfaceAllocationsFamiliales: - définition allocations_familiales.date_courante égal à i_date_courante - définition allocations_familiales.enfants_à_charge égal à enfants_à_charge - définition allocations_familiales.ressources_ménage égal à i_ressources_ménage - définition allocations_familiales.résidence égal à i_résidence - définition i_montant_versé égal à allocations_familiales.montant_versé - règle - allocations_familiales.personne_charge_effective_permanente_est_parent - sous condition i_personne_charge_effective_permanente_est_parent - conséquence rempli - règle - allocations_familiales.personne_charge_effective_permanente_remplit_titre_I - sous condition i_personne_charge_effective_permanente_remplit_titre_I - conséquence rempli - règle - allocations_familiales.avait_enfant_à_charge_avant_1er_janvier_2012 - sous condition i_avait_enfant_à_charge_avant_1er_janvier_2012 - conséquence rempli -``` - -### Code de l'éducation - -### Article L131-1|LEGIARTI000038901859 - -L'instruction est obligatoire pour chaque enfant dès l'âge de trois ans et -jusqu'à l'âge de seize ans. - -La présente disposition ne fait pas obstacle à l'application des prescriptions -particulières imposant une scolarité plus longue. - -```catala -champ d'application InterfaceAllocationsFamiliales: - définition enfants_à_charge égal à - (Enfant { - -- identifiant : enfant.d_identifiant - -- rémuneration_mensuelle : enfant.d_rémuneration_mensuelle - -- date_de_naissance : enfant.d_date_de_naissance - -- prise_en_charge : enfant.d_prise_en_charge - -- obligation_scolaire : - (si enfant.d_date_de_naissance + 3 an >= i_date_courante alors - Avant - sinon (si enfant.d_date_de_naissance + 16 an >= i_date_courante alors - Pendant - sinon Après)) - -- a_déjà_ouvert_droit_aux_allocations_familiales: - enfant.d_a_déjà_ouvert_droit_aux_allocations_familiales - -- bénéficie_titre_personnel_aide_personnelle_logement: - enfant.d_bénéficie_titre_personnel_aide_personnelle_logement - } - pour enfant parmi i_enfants) -``` - -NOTA : - -Conformément à l'article 63 de la loi n° 2019-791 du 26 juillet 2019, ces -dispositions entrent en vigueur à la rentrée scolaire 2019. diff --git a/examples/allocations_familiales/prologue.catala_fr b/examples/allocations_familiales/prologue.catala_fr deleted file mode 100644 index 95dabbde..00000000 --- a/examples/allocations_familiales/prologue.catala_fr +++ /dev/null @@ -1,156 +0,0 @@ -# Prologue - -Avant de présenter les textes réglementaires qui régissent le calcul des -allocations familiales, il est nécessaire de définir les structures de données -informatiques qui modélisent la situation dont parlent ces textes législatifs. - -## Types de données manipulées par le programme - -```catala-metadata -déclaration énumération PriseEnCharge : - -- GardeAlternéePartageAllocations - -- GardeAlternéeAllocataireUnique - -- EffectiveEtPermanente - -- ServicesSociauxAllocationVerséeÀLaFamille - -- ServicesSociauxAllocationVerséeAuxServicesSociaux - -déclaration énumération SituationObligationScolaire: - -- Avant - -- Pendant - -- Après - -déclaration structure Enfant : - donnée identifiant contenu entier - donnée obligation_scolaire contenu SituationObligationScolaire - donnée rémuneration_mensuelle contenu argent - donnée date_de_naissance contenu date - donnée prise_en_charge contenu PriseEnCharge - donnée a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen - donnée bénéficie_titre_personnel_aide_personnelle_logement contenu booléen - -déclaration énumération PriseEnCompte: - -- Complète - -- Partagée - -- Zéro - -déclaration énumération VersementAllocations: - -- Normal - -- AllocationVerséeAuxServicesSociaux -``` - -## Champs d'applications - -### Prestations familiales - -```catala-metadata -déclaration champ d'application PrestationsFamiliales: - résultat droit_ouvert condition dépend de enfant contenu Enfant - résultat conditions_hors_âge condition dépend de enfant contenu Enfant - interne plafond_l512_3_2 contenu argent - résultat âge_l512_3_2 contenu durée - résultat régime_outre_mer_l751_1 condition - entrée date_courante contenu date - entrée résidence contenu Collectivité - smic champ d'application Smic - -champ d'application PrestationsFamiliales: - définition smic.résidence égal à résidence - définition smic.date_courante égal à date_courante -``` - -### Allocations familiales - -```catala-metadata -déclaration champ d'application AllocationFamilialesAvril2008: - résultat âge_minimum_alinéa_1_l521_3 contenu durée - -déclaration champ d'application EnfantLePlusÂgé: - entrée enfants contenu liste de Enfant - résultat le_plus_âgé contenu Enfant - -déclaration champ d'application AllocationsFamiliales: - - # Variables concernant le ménage - entrée personne_charge_effective_permanente_est_parent condition - entrée personne_charge_effective_permanente_remplit_titre_I condition - entrée ressources_ménage contenu argent - entrée résidence contenu Collectivité - - # Date à laquelle le calcul est effectué - entrée date_courante contenu date - - # Variables concernant les enfants du ménage - entrée enfants_à_charge contenu liste de Enfant - interne enfants_à_charge_droit_ouvert_prestation_familiale - contenu liste de Enfant - interne prise_en_compte contenu PriseEnCompte dépend de enfant contenu Enfant - résultat versement contenu VersementAllocations - dépend de enfant contenu Enfant - - résultat montant_versé contenu argent - - # Variables liées à la base des allications familiales - interne droit_ouvert_base condition - interne montant_initial_base contenu argent - interne montant_initial_base_premier_enfant contenu argent - interne montant_initial_base_deuxième_enfant contenu argent - interne montant_initial_base_troisième_enfant_et_plus contenu argent - interne rapport_enfants_total_moyen contenu décimal - interne nombre_moyen_enfants contenu décimal - interne nombre_total_enfants contenu décimal - interne montant_avec_garde_alternée_base contenu argent - interne montant_versé_base contenu argent - - # Variables liées à Mayotte - entrée avait_enfant_à_charge_avant_1er_janvier_2012 condition - interne montant_initial_base_troisième_enfant_mayotte contenu argent - interne montant_initial_base_quatrième_enfant_et_plus_mayotte contenu argent - - # Variables liées à l'allocation forfaitaire - interne droit_ouvert_forfaitaire condition - dépend de enfant contenu Enfant - interne montant_versé_forfaitaire_par_enfant contenu argent - interne montant_versé_forfaitaire contenu argent - - # Variables liées aux majorations des allocations familiales - interne droit_ouvert_majoration condition - dépend de enfant contenu Enfant - interne montant_initial_métropole_majoration contenu argent - dépend de enfant contenu Enfant - interne montant_initial_majoration contenu argent - dépend de enfant contenu Enfant - interne montant_avec_garde_alternée_majoration contenu argent - dépend de enfant contenu Enfant - interne montant_versé_majoration contenu argent - - # Variables liées au complément dégressif - interne droit_ouvert_complément condition - interne montant_base_complément_pour_base_et_majoration contenu argent - interne complément_dégressif contenu argent - dépend de allocation contenu argent - interne montant_versé_complément_pour_base_et_majoration contenu argent - interne montant_versé_complément_pour_forfaitaire contenu argent - - # Sous-champs d'applications - prestations_familiales champ d'application PrestationsFamiliales - version_avril_2008 champ d'application AllocationFamilialesAvril2008 - enfant_le_plus_âgé champ d'application EnfantLePlusÂgé - bmaf champ d'application BaseMensuelleAllocationsFamiliales - - # Plafonds, âges limites et autres constantes - interne âge_minimum_alinéa_1_l521_3 contenu durée - dépend de enfant contenu Enfant - interne nombre_enfants_alinéa_2_l521_3 contenu entier - interne nombre_enfants_alinéa_2_l521_1 contenu entier - interne est_enfant_le_plus_âgé contenu booléen - dépend de enfant contenu Enfant - interne plafond_I_d521_3 contenu argent - interne plafond_II_d521_3 contenu argent - -champ d'application AllocationsFamiliales: - définition prestations_familiales.date_courante égal à - date_courante - définition prestations_familiales.résidence égal à - résidence - définition bmaf.date_courante égal à date_courante -``` diff --git a/examples/allocations_familiales/securite_sociale_D.catala_fr b/examples/allocations_familiales/securite_sociale_D.catala_fr deleted file mode 100644 index 10e6989b..00000000 --- a/examples/allocations_familiales/securite_sociale_D.catala_fr +++ /dev/null @@ -1,394 +0,0 @@ -## Partie réglementaire - Décrets simples - -#### Livre 5 : Prestations familiales et prestations assimilées - -##### Titre 2 : Prestations générales d'entretien - -###### Chapitre 1er : Allocations familiales - -####### Article D521-1|LEGIARTI000030680318 - -I.-Pour l'application de l'article L. 521-1 , le montant des allocations -familiales et de la majoration pour âge prévue à l'article L. 521-3 -est défini selon le barème suivant : - -```catala -# Composantes des allocations familiales -champ d'application AllocationsFamiliales : - définition montant_initial_base égal à - montant_initial_base_deuxième_enfant + - montant_initial_base_troisième_enfant_et_plus - - définition montant_initial_majoration de enfant égal à - montant_initial_métropole_majoration de enfant -``` - -1° Lorsque le ménage ou la personne a disposé d'un montant de ressources -inférieur ou égal au plafond défini au I de l'article D. 521-3, les taux -servant au calcul des allocations familiales sont fixés, en pourcentage -de la base mensuelle prévue à l'article L. 551-1, à : -a) 32 % pour le deuxième enfant à charge ; -b) 41 % pour le troisième enfant à charge et chacun des suivants. - -```catala -champ d'application AllocationsFamiliales sous condition - ressources_ménage <= plafond_I_d521_3: - - étiquette base - définition montant_initial_base_deuxième_enfant égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 32 % - sinon 0 € - - définition montant_initial_base_troisième_enfant_et_plus égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors (bmaf.montant * 41 %) * ( - décimal de - ((nombre de enfants_à_charge_droit_ouvert_prestation_familiale) - 2) - ) sinon 0 € -``` - -La majoration pour âge est fixée à 16 % de la base mensuelle de calcul des -prestations familiales ; - -```catala -champ d'application AllocationsFamiliales sous condition - ressources_ménage <= plafond_I_d521_3: - - définition montant_initial_métropole_majoration de enfant - sous condition - droit_ouvert_majoration de enfant - conséquence égal à - bmaf.montant * 16 % -``` - -2° Lorsque le ménage ou la personne a disposé d'un montant de ressources -supérieur au plafond défini au I de l'article D. 521-3 et inférieur ou égal -à celui défini au II du même article, les taux servant au calcul des -allocations familiales sont fixés, en pourcentage de la base mensuelle -prévue à l'article L. 551-1, à : -a) 16 % pour le deuxième enfant à charge ; -b) 20,5 % pour le troisième enfant à charge et chacun des suivants. - -```catala -champ d'application AllocationsFamiliales sous condition - (ressources_ménage > plafond_I_d521_3) et - (ressources_ménage <= plafond_II_d521_3): - - étiquette base - définition montant_initial_base_deuxième_enfant égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 16 % - sinon 0 € - - définition montant_initial_base_troisième_enfant_et_plus égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors (bmaf.montant * 20,5 %) * ( - décimal de - ((nombre de enfants_à_charge_droit_ouvert_prestation_familiale) - 2) - ) sinon 0 € -``` - -La majoration pour âge est fixée à 8 % de la base mensuelle de calcul des -prestations familiales ; - -```catala -champ d'application AllocationsFamiliales sous condition - (ressources_ménage > plafond_I_d521_3) et - (ressources_ménage <= plafond_II_d521_3): - - définition montant_initial_métropole_majoration de enfant sous condition - droit_ouvert_majoration de enfant - conséquence égal à - bmaf.montant * 8 % -``` - -3° Lorsque le ménage ou la personne a disposé d'un montant de ressources -supérieur au plafond défini au II de l'article D. 521-3, les taux servant -au calcul des allocations familiales sont fixés, en pourcentage de la base -mensuelle prévue à l'article L. 551-1, à : -a) 8 % pour le deuxième enfant à charge ; -b) 10,25 % pour le troisième enfant à charge et chacun des suivants. - -```catala -champ d'application AllocationsFamiliales sous condition - ressources_ménage > plafond_II_d521_3: - étiquette base - définition montant_initial_base_deuxième_enfant égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 1 - alors bmaf.montant * 8 % - sinon 0 € - - définition montant_initial_base_troisième_enfant_et_plus égal à - si nombre de enfants_à_charge_droit_ouvert_prestation_familiale > 2 - alors (bmaf.montant * 10,25 %) * ( - décimal de - ((nombre de enfants_à_charge_droit_ouvert_prestation_familiale) - 2) - ) sinon 0 € -``` - -La majoration pour âge est fixée à 4 % de la base mensuelle de calcul des -prestations familiales. - -```catala -champ d'application AllocationsFamiliales sous condition - ressources_ménage > plafond_II_d521_3: - - définition montant_initial_métropole_majoration de enfant sous condition - droit_ouvert_majoration de enfant - conséquence égal à - bmaf.montant * 4 % -``` - -II.-En application du sixième alinéa de l'article L. 521-1, le montant -mensuel des allocations familiales et, le cas échéant, de la majoration -pour âge est majoré d'un complément dégressif, lorsque les ressources -annuelles du ménage ou de la personne dépassent l'un des plafonds défini -au I ou au II de l'article D. 521-3 d'une somme inférieure à douze fois -le montant mensuel des allocations familiales augmenté, le cas échéant, -de la ou des majorations pour âge. - -Ce complément dégressif est égal, pour chaque mois, au douzième de la -différence entre, d'une part, ce plafond de ressources majoré de la somme -définie à l'alinéa précédent et, d'autre part, le montant des ressources. - -```catala -champ d'application AllocationsFamiliales : - - # Attention : cette formule ne marche que si la diminution des - # allocations se fait d'un facteur 1/2 à chaque passage de plafond de - # ressources. - - exception - définition complément_dégressif de allocation - sous condition - (ressources_ménage > plafond_I_d521_3) et - (ressources_ménage <= plafond_I_d521_3 + allocation * 12,0 ) - conséquence égal à - (plafond_I_d521_3 + allocation * 12,0 - ressources_ménage) * - (1,0 / 12,0) - - exception - définition complément_dégressif de allocation - sous condition - (ressources_ménage > plafond_II_d521_3) et - (ressources_ménage <= plafond_II_d521_3 + allocation * 12,0) - conséquence égal à - (plafond_II_d521_3 + allocation * 12,0 - ressources_ménage) * - (1,0 / 12,0) - - # Dans les autres cas, le dépassement est nul - définition complément_dégressif de allocation égal à 0 € - - définition montant_versé_complément_pour_base_et_majoration égal à - si droit_ouvert_complément alors - (complément_dégressif de - montant_base_complément_pour_base_et_majoration) - sinon 0 € - - définition montant_base_complément_pour_base_et_majoration égal à - montant_versé_base + montant_versé_majoration -``` - -####### Article D521-2|LEGIARTI000030680324 - -```catala -# L'allocation forfaitaire totale est la somme de toutes les allocations -# forfaitaires distribuées à chaque enfant du ménage -champ d'application AllocationsFamiliales : - définition montant_versé_forfaitaire égal à - montant_versé_forfaitaire_par_enfant * - décimal de - nombre de (enfant parmi enfants_à_charge - tel que droit_ouvert_forfaitaire de enfant) -``` - -I.-Le montant mensuel de l'allocation forfaitaire prévue au deuxième alinéa de -l'article L. 521-1 est défini selon le barème suivant : - -1° Lorsque le ménage ou la personne a disposé d'un montant de ressources -inférieur ou égal au plafond défini au I de l'article D. 521-3, le montant -mensuel de l'allocation forfaitaire est fixé à 20,234 % de la base mensuelle -de calcul des allocations familiales par enfant ; - -```catala -# TODO Liane: la syntaxe de la phrase est très ambiguë, on a l'impression que -# c'est la BMAF qui est "par enfant" et pas le montant de l'allocation -# forfaitaire. Erreur de rédaction ? Problème juridique ? - -champ d'application AllocationsFamiliales : - définition montant_versé_forfaitaire_par_enfant sous condition - ressources_ménage <= plafond_I_d521_3 - conséquence égal à - (bmaf.montant * 20,234 %) -``` - -2° Lorsque le ménage ou la personne a disposé d'un montant de ressources -supérieur au plafond défini au I de l'article D. 521-3 et inférieur ou égal -à celui défini au II du même article, le montant mensuel de l'allocation -forfaitaire est fixé à 10,117 % de la base mensuelle de calcul des allocations -familiales par enfant ; - -```catala -champ d'application AllocationsFamiliales : - définition montant_versé_forfaitaire_par_enfant sous condition - (ressources_ménage > plafond_I_d521_3) et - (ressources_ménage <= plafond_II_d521_3) - conséquence égal à - (bmaf.montant * 10,117 %) -``` - -3° Lorsque le ménage ou la personne a disposé d'un montant de ressources -supérieur au plafond défini au II de l'article D. 521-3, le montant mensuel -de l'allocation forfaitaire est fixé à 5,059 % de la base mensuelle de calcul -des allocations familiales par enfant. - -```catala -champ d'application AllocationsFamiliales : - définition montant_versé_forfaitaire_par_enfant sous condition - ressources_ménage > plafond_II_d521_3 - conséquence égal à - (bmaf.montant * 5,059 %) -``` - -II.-En application du sixième alinéa de l'article L. 521-1, le montant mensuel -de l'allocation forfaitaire est majoré d'un complément dégressif lorsque les -ressources annuelles du ménage ou de la personne dépassent l'un des plafonds -défini au I ou au II de l'article D. 521-3 d'une somme inférieure à douze fois -le montant mensuel de l'allocation forfaitaire auquel l'enfant ouvre droit. -Ce complément dégressif est égal, pour chaque mois, au douzième de la différence -entre, d'une part, ce plafond de ressources majoré de la somme définie à -l'alinéa précédent et, d'autre part, le montant des ressources. - -```catala -champ d'application AllocationsFamiliales : - exception - définition montant_versé_complément_pour_forfaitaire - sous condition - (ressources_ménage > plafond_I_d521_3) et - (ressources_ménage <= plafond_I_d521_3 + - montant_versé_forfaitaire * 12,0 ) - conséquence égal à - (plafond_I_d521_3 + montant_versé_forfaitaire * 12,0 - - ressources_ménage) * (1,0 / 12,0) - - exception - définition montant_versé_complément_pour_forfaitaire - sous condition - (ressources_ménage > plafond_II_d521_3) et - (ressources_ménage <= plafond_II_d521_3 + - montant_versé_forfaitaire * 12,0) - conséquence égal à - (plafond_II_d521_3 + montant_versé_forfaitaire * 12,0 - - ressources_ménage) * (1,0 / 12,0) - - # Dans les autres cas, le dépassement est nul - définition montant_versé_complément_pour_forfaitaire égal à 0 € -``` - -III.-Le nombre minimum d'enfants à charge mentionné au deuxième alinéa de -l'article L. 521-1 est fixé à trois. - -```catala -champ d'application AllocationsFamiliales : - définition nombre_enfants_alinéa_2_l521_1 égal à 3 -``` - -####### Article D521-3|LEGIARTI000044809227 - -I.-Le plafond prévu au 1° du I des articles D. 521-1 et D. 521-2 est fixé à -55 950 euros. Il est majoré de 5 595 euros par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - définition plafond_I_d521_3 égal à 55 950 € + - 5 595 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -II.-Le plafond prévu au 2° du I des articles D. 521-1 et D. 521-2 est fixé à -78 300 euros. Il est majoré de 5 595 euros par enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - définition plafond_II_d521_3 égal à 78 300 € + - 5 595 € * (décimal de - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale)) -``` - -III.-Les montants des plafonds et de leur majoration respective fixés au présent -article sont revalorisés au 1er janvier de chaque année, conformément à -l'évolution en moyenne annuelle des prix à la consommation hors tabac de -l'année civile de référence. - -```catala -# Nota : ces montants sont en réalités remis à jour chaque année par des -# décrets, voir decrets_divers.catala_fr -``` - -#### Livre 7 : Régimes divers - Dispositions diverses - -##### Titre 5 : Départements d'outre-mer - -###### Chapitre 5 : Prestations familiales et prestations assimilées - -####### Article D755-5|LEGIARTI000006738575 - -I.-Les taux servant au calcul des allocations familiales et de la majoration -prévue à l'article L. 755-11 sont identiques à ceux mentionnés à l'article -D. 521-1 . - -```catala -# Pas de changement à déclarer -``` - -II.-En application de l'article L. 755-11, 2e alinéa, le taux servant au -calcul des allocations familiales servies pour un seul enfant à charge est -fixé à 5,88 p. 100 de la base mensuelle prévue à l'article L. 755-3 . - -```catala -# Composantes des allocations familiales -champ d'application AllocationsFamiliales : - - exception - définition montant_initial_base sous condition - prestations_familiales.régime_outre_mer_l751_1 et - nombre de enfants_à_charge_droit_ouvert_prestation_familiale = 1 - conséquence égal à - montant_initial_base_premier_enfant - - # Valeur par défaut - étiquette base définition montant_initial_base_premier_enfant égal à 0€ - - exception base définition montant_initial_base_premier_enfant sous condition - prestations_familiales.régime_outre_mer_l751_1 et - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale = 1) - conséquence égal à - bmaf.montant * 5,88 % -``` - -La majoration des allocations familiales pour un seul enfant à charge est -fixée à 3,69 p. 100 de la base mensuelle prévue à l'article L. 755-3 à -partir de onze ans et à 5,67 p. 100 à partir de seize ans. - -```catala -champ d'application AllocationsFamiliales : - exception définition montant_initial_majoration de enfant - sous condition - (droit_ouvert_majoration de enfant) et - prestations_familiales.régime_outre_mer_l751_1 et - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale = 1) et - (enfant.date_de_naissance + 11 an <= date_courante et - enfant.date_de_naissance + 16 an > date_courante) - conséquence égal à - bmaf.montant * 3,69 % - - exception définition montant_initial_majoration de enfant - sous condition - (droit_ouvert_majoration de enfant) et - prestations_familiales.régime_outre_mer_l751_1 et - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale = 1) et - (enfant.date_de_naissance + 16 an <= date_courante) - conséquence égal à - bmaf.montant * 5,67 % -``` diff --git a/examples/allocations_familiales/securite_sociale_L.catala_fr b/examples/allocations_familiales/securite_sociale_L.catala_fr deleted file mode 100644 index de78468d..00000000 --- a/examples/allocations_familiales/securite_sociale_L.catala_fr +++ /dev/null @@ -1,465 +0,0 @@ -# Code de la sécurité sociale - -## Partie législative - -### Livre 5 : Prestations familiales et prestations assimilées - -#### Titre 1 : Champ d'application - Généralités - -##### Chapitre 1er : Liste des prestations - -###### Article L511-1 | LEGIARTI000041979747 - -Les prestations familiales comprennent : - -1°) la prestation d'accueil du jeune enfant ; - -2°) les allocations familiales ; - -3°) le complément familial ; - -4°) L'allocation de logement régie par les dispositions du livre VIII du code de la construction et de l'habitation ; - -5°) l'allocation d'éducation de l'enfant handicapé ; - -6°) l'allocation de soutien familial ; - -7°) l'allocation de rentrée scolaire ; - -8°) L'allocation forfaitaire versée en cas de décès d'un enfant ; - -9°) l'allocation journalière de présence parentale. - -NOTA : - -Conformément au IV de l’article 5 de la loi n° 2020-692 du 8 juin 2020, -ces dispositions entrent en vigueur à une date fixée par décret, et au plus -tard à compter du 1er janvier 2022, au titre des enfants dont le décès -intervient à compter de cette date. Se reporter aux dispositions du V du même -article en ce qui concerne le versement d'une l'allocation forfaitaire -transitoire. - -##### Chapitre 2 : Champ d'application - -###### Article L512-3|LEGIARTI000041979743 - -Sous réserve des règles particulières à chaque prestation, -ouvre droit aux prestations familiales : - -1°) tout enfant jusqu'à la fin de l'obligation scolaire ; - -```catala -champ d'application PrestationsFamiliales : - étiquette cas_base règle droit_ouvert de enfant sous condition - enfant.obligation_scolaire sous forme Avant ou - enfant.obligation_scolaire sous forme Pendant - conséquence rempli -``` - -2°) après la fin de l'obligation scolaire, et jusqu'à un âge limite, -tout enfant dont la rémunération éventuelle n'excède pas un plafond. - -```catala -champ d'application PrestationsFamiliales : - étiquette cas_base règle droit_ouvert de enfant sous condition - enfant.obligation_scolaire sous forme Après et - (enfant.rémuneration_mensuelle <= plafond_l512_3_2) et - (enfant.date_de_naissance + âge_l512_3_2 > date_courante) - conséquence rempli - - # On définit les conditions hors âge d'abord car elles - # sont référencées plus tard dans l'article L521-1 - règle conditions_hors_âge de enfant sous condition - (enfant.obligation_scolaire sous forme Avant ou - enfant.obligation_scolaire sous forme Pendant ou - enfant.obligation_scolaire sous forme Après) et - (enfant.rémuneration_mensuelle <= plafond_l512_3_2) - conséquence rempli - -champ d'application AllocationsFamiliales: - définition enfants_à_charge_droit_ouvert_prestation_familiale égal à - enfant parmi enfants_à_charge - tel que prestations_familiales.droit_ouvert de enfant -``` - -Toutefois, pour l'attribution du complément familial et de l'allocation -de logement mentionnés aux 3° et 4° de l'article L. 511-1 , l'âge limite -peut être différent de celui mentionné au 2° du présent article. - -```catala -# Sera géré avec une exception dans Catala. Le texte est équivalent -# à une méta-propriété du code à vérifier : i.e. pas d'exceptions pour -# cet âge autre part que pour Complément Familial ou AllocationLogement. -``` - -Pour l'attribution de l'allocation forfaitaire versée en cas de décès d'un -enfant prévue à l'article L. 545-1, l'âge limite retenu peut être différent de -celui fixé en application du 2° du présent article et la condition relative à -la rémunération de l'enfant n'est pas exigée. - -NOTA : - -Conformément au IV de l’article 5 de la loi n° 2020-692 du 8 juin 2020, ces -dispositions entrent en vigueur à une date fixée par décret, et au plus tard à -compter du 1er janvier 2022, au titre des enfants dont le décès intervient à -compter de cette date. Se reporter aux dispositions du V du même article en ce -qui concerne le versement d'une l'allocation forfaitaire transitoire. - -#### Titre 2 : Prestations générales d'entretien - -##### Chapitre 1er : Allocations familiales - -###### Article L521-1|LEGIARTI000029963006 - -Les allocations familiales sont dues à partir du deuxième enfant à charge. - -```catala -champ d'application AllocationsFamiliales : - règle droit_ouvert_base sous condition - nombre de enfants_à_charge_droit_ouvert_prestation_familiale >= 2 - conséquence rempli -``` - -Une allocation forfaitaire par enfant d'un montant fixé par décret est versée -pendant un an à la personne ou au ménage qui assume la charge d'un nombre -minimum d'enfants également fixé par décret lorsque l'un ou plusieurs des -enfants qui ouvraient droit aux allocations familiales atteignent l'âge -limite mentionné au 2° de l'article L. 512-3 . Cette allocation est versée -à la condition que le ou les enfants répondent aux conditions autres que -celles de l'âge pour l'ouverture du droit aux allocations familiales. - -```catala -champ d'application AllocationsFamiliales : - assertion fixé montant_versé par décret - - règle droit_ouvert_forfaitaire de enfant sous condition - # nombre_enfants_alinéa_2_l521_3 sera défini dans l'article R521-3 - (nombre de enfants_à_charge >= nombre_enfants_alinéa_2_l521_1) et - # Puisqu'un enfant ne garde un âge donné que pour une période d'un an, - # cette condition assure que l'allocation ne peut être distribuée que pour - # un an. - ((enfant.date_de_naissance + prestations_familiales.âge_l512_3_2) - - date_courante < 365 jour) et - (enfant.a_déjà_ouvert_droit_aux_allocations_familiales) et - (prestations_familiales.conditions_hors_âge de enfant) - conséquence rempli -``` - -Le montant des allocations mentionnées aux deux premiers alinéas du présent -article, ainsi que celui des majorations mentionnées à l'article L. 521-3 -varient en fonction des ressources du ménage ou de la personne qui a la charge -des enfants, selon un barème défini par décret. - -```catala -champ d'application AllocationsFamiliales : - assertion fixé montant_versé_base par décret - assertion varie montant_versé_base avec ressources_ménage - assertion fixé montant_versé_majorations par décret - assertion varie montant_versé_majorations avec ressources_ménage -``` - -Le montant des allocations familiales varie en fonction du nombre d'enfants -à charge. - -```catala -champ d'application AllocationsFamiliales : - assertion varie montant_versé_base.montant_versé avec - nombre de enfants_à_charge_droit_ouvert_prestation_familiale -``` - -Les niveaux des plafonds de ressources, qui varient en fonction du nombre -d'enfants à charge, sont révisés conformément à l'évolution annuelle de -l'indice des prix à la consommation, hors tabac. - -```catala -# Pour formaliser l'évolution des prix, il faudrait recopier ici -# tous les décrets d'application qui fixent la valeur des plafonds -# de ressources. Si cela reste possible à faire pour notre langage, -# nous avons choisi de ne pas inclure tout ce code dans ce document. -``` - -Un complément dégressif est versé lorsque les ressources du bénéficiaire -dépassent l'un des plafonds, dans la limite de montants définis par décret. -Les modalités de calcul de ces montants et celles du complément dégressif -sont définies par décret. - -```catala -# Ditto, le volume du code à inclure pour formaliser cette assertion -# est assez important et nous avons choisi de ne pas l'inclure dans ce -# document. - -champ d'application AllocationsFamiliales : - assertion fixé montant_versé_complément par décret -``` - -###### Article L521-2|LEGIARTI000039099826 - -Les allocations sont versées à la personne qui assume, dans quelques conditions -que ce soit, la charge effective et permanente de l'enfant. - -```catala -champ d'application AllocationsFamiliales : - définition prise_en_compte de enfant sous condition - enfant.prise_en_charge sous forme EffectiveEtPermanente - conséquence égal à PriseEnCompte.Complète - - définition versement de enfant sous condition - enfant.prise_en_charge sous forme EffectiveEtPermanente - conséquence égal à VersementAllocations.Normal -``` - -En cas de résidence alternée de l'enfant au domicile de chacun des parents telle -que prévue à l'article 373-2-9 du code civil, mise en oeuvre de manière -effective, les parents désignent l'allocataire. Cependant, la charge de l'enfant -pour le calcul des allocations familiales est partagée par moitié entre les deux -parents soit sur demande conjointe des parents, soit si les parents sont en -désaccord sur la désignation de l'allocataire. Un décret en Conseil d'Etat fixe -les conditions d'application du présent alinéa. - -```catala -champ d'application AllocationsFamiliales : - # Premier cas : garde alternée, parents désignent un unique allocataire - définition prise_en_compte de enfant sous condition - enfant.prise_en_charge sous forme GardeAlternéeAllocataireUnique - conséquence égal à PriseEnCompte.Complète - - définition versement de enfant sous condition - enfant.prise_en_charge sous forme GardeAlternéeAllocataireUnique - conséquence égal à VersementAllocations.Normal - - # Deuxième cas : garde alternée, parents partagent la charge pour - # l'allocation - définition prise_en_compte de enfant sous condition - enfant.prise_en_charge sous forme GardeAlternéePartageAllocations - conséquence égal à PriseEnCompte.Partagée - - définition versement de enfant sous condition - enfant.prise_en_charge sous forme GardeAlternéePartageAllocations - conséquence égal à VersementAllocations.Normal -``` - -Lorsque la personne qui assume la charge effective et permanente de l'enfant ne -remplit pas les conditions prévues au titre I du présent livre pour l'ouverture -du droit aux allocations familiales, ce droit s'ouvre du chef du père ou, -à défaut, du chef de la mère. - -```catala -champ d'application AllocationsFamiliales : - assertion - personne_charge_effective_permanente_est_parent ou - ( - (non personne_charge_effective_permanente_est_parent) et - personne_charge_effective_permanente_remplit_titre_I - ) -``` - -Lorsqu'un enfant est confié au service d'aide sociale à l'enfance, les -allocations familiales continuent d'être évaluées en tenant compte à la fois -des enfants présents au foyer et du ou des enfants confiés au service de -l'aide sociale à l'enfance. La part des allocations familiales dues à la -famille pour cet enfant est versée à ce service. Toutefois, le juge peut -décider, d'office ou sur saisine du président du conseil général, à la suite -d'une mesure prise en application des articles 375-3 et 375-5 du code civil ou -à l'article L. 323-1 du code de la justice pénale des mineurs, de maintenir le -versement des allocations à la famille, lorsque celle-ci participe à la prise -en charge morale ou matérielle de l'enfant ou en vue de faciliter le retour de -l'enfant dans son foyer. - -```catala -champ d'application AllocationsFamiliales : - définition prise_en_compte de enfant sous condition - enfant.prise_en_charge sous forme - ServicesSociauxAllocationVerséeAuxServicesSociaux - conséquence égal à PriseEnCompte.Zéro - - définition versement de enfant sous condition - enfant.prise_en_charge sous forme - ServicesSociauxAllocationVerséeAuxServicesSociaux - conséquence égal à VersementAllocations.AllocationVerséeAuxServicesSociaux - - définition prise_en_compte de enfant sous condition - enfant.prise_en_charge sous forme - ServicesSociauxAllocationVerséeÀLaFamille - conséquence égal à PriseEnCompte.Complète - - - définition versement de enfant sous condition - enfant.prise_en_charge sous forme - ServicesSociauxAllocationVerséeÀLaFamille - conséquence égal à VersementAllocations.Normal -``` - -Un décret en Conseil d'Etat fixe les conditions d'application du présent -article, notamment dans les cas énumérés ci-dessous : - -a) retrait total de l'autorité parentale des parents ou de l'un d'eux ; - -b) indignité des parents ou de l'un d'eux ; - -c) divorce, séparation de corps ou de fait des parents ; - -d) enfants confiés à un service public, à une institution privée, à un particulier. - -```catala -# Ce programme ne cherche pas à formaliser les détails pour lesquels un enfant -# est confié à un service social. -``` - -NOTA : - -Se reporter aux conditions d'application prévues à l'article 10 de -l'ordonnance n° 2019-950 du 11 septembre 2019. Conformément à l'article 25 de -la loi n°2020-734, l'ordonnance n°2019-950 entre en vigueur le 31 mars 2021. -Cette date a été reportée au 30 septembre 2021 par l'article 2 de la loi n° -2021-218 du 26 février 2021. - -###### Article L521-3|LEGIARTI000006743289 - -Chacun des enfants à charge, à l'exception du plus âgé, ouvre droit à partir -d'un âge minimum à une majoration des allocations familiales. - -```catala -champ d'application AllocationsFamiliales : - règle droit_ouvert_majoration de enfant - sous condition - (non (est_enfant_le_plus_âgé de enfant)) et - (enfant.date_de_naissance + âge_minimum_alinéa_1_l521_3 de enfant <= - date_courante) - conséquence rempli -``` - -Toutefois, les personnes ayant un nombre déterminé d'enfants à charge -bénéficient de ladite majoration pour chaque enfant à charge à partir -de l'âge mentionné au premier alinéa. - -```catala -champ d'application AllocationsFamiliales : - exception - règle droit_ouvert_majoration de enfant - sous condition - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale >= - nombre_enfants_alinéa_2_l521_3) et - (enfant.date_de_naissance + âge_minimum_alinéa_1_l521_3 de enfant <= - date_courante) - conséquence rempli -``` - -#### Titre 5 : Dispositions communes - -##### Chapitre 1er : Etablissement du salaire de base - -###### Article L551-1|LEGIARTI000031688371 - -Le montant des prestations familiales est déterminé d'après des bases -mensuelles de calcul revalorisées au 1er avril de chaque année par application -du coefficient mentionné à l'article L. 161-25 . - -```catala -# Idem que L521-1, on ne formalise pas ici l'évolution de la BMPA -champ d'application PrestationsFamiliales : - assertion fixé prestations_familiales.base_mensuelle par décret -``` - -### Livre 7 : Régimes divers - Dispositions diverses - -#### Titre 5 : Dispositions particulières à la Guadeloupe, à la Guyane, à la Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin - -##### Chapitre 1er : Généralités - -###### Article L751-1|LEGIARTI000031323778 - -Les dispositions du présent titre s'appliquent en Guadeloupe, en Guyane, -en Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin à -l'ensemble des bénéficiaires de la législation générale de sécurité -sociale, y compris les membres des professions agricoles. - -```catala -# Angle mort: ici nous n'avons pas formalisé la partie sur la législation -# générale de sécurité sociale et les membres des professions agricoles. - -champ d'application PrestationsFamiliales : - règle régime_outre_mer_l751_1 sous condition - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) - conséquence rempli -``` - -##### Chapitre 5 : Prestations familiales et prestations assimilées - -###### Article L755-3|LEGIARTI000041979722 - -Les dispositions des articles L. 512-1 à L. 512-4 , L. 513-1 , L. 521-2 , L. -552-1 , L. 552-7 , L. 553-1 , L. 553-2 , L. 553-4 , L. 582-1 , L. 582-2 , L. -583-3 et L. 583-5 sont applicables aux collectivités mentionnées à l'article -L. 751-1 . - -La base de calcul des prestations familiales est la même que celle qui est -fixée en application de l'article L. 551-1 . - -```catala -# Aucun changement dans le code, puisque les articles restent applicables -``` - -NOTA : - -Conformément au IV de l’article 4 de la loi n° 2020-692 du 8 juin 2020, ces -dispositions entrent en vigueur à une date fixée par décret, et au plus tard -le 1er janvier 2022, pour les décès intervenant à compter de cette date. - - -###### Article L755-11|LEGIARTI000031323803 - -Les conditions d'attribution des allocations familiales et de leurs majorations -fixées par les articles L. 521-1 et L. 521-3 sont applicables dans les -collectivités mentionnées à l'article L. 751-1 . - -```catala -# Aucun changement dans le code, puisque les articles restent applicables -``` - -Toutefois, les dispositions de l'article L. 755-12 restent en vigueur aussi -longtemps que le présent chapitre V est applicable. - -###### Article L755-12|LEGIARTI000029962999 - -Les allocations familiales sont dues, pour tout enfant, à la personne qui a -effectivement la charge de celui-ci. - -```catala -# TODO Liane: Angle mort, ici c'est marqué "effectivement la charge" mais dans -# l'article de L521-2 il faut charge effective ET permanente. Pourquoi -# cette différence ? Quelles conséquences pratiques ? -# Apparemment en 1987 il y avait encore des exceptions pour certains agents -# publics d'outre-mer - -champ d'application AllocationsFamiliales: - exception - règle droit_ouvert_base sous condition - prestations_familiales.régime_outre_mer_l751_1 et - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale >= 1) - conséquence rempli -``` -Toutefois, les quatre derniers alinéas de l'article L. 521-1 ne sont pas -applicables lorsque le ménage ou la personne a un seul enfant à charge. - -```catala -# Ceci concerne l'ouverture du droit à l'allocation forfaitaire -# et au complément dégressif. - -champ d'application AllocationsFamiliales : - exception - règle droit_ouvert_forfaitaire de enfant sous condition - prestations_familiales.régime_outre_mer_l751_1 et - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale = 1) - conséquence non rempli - - exception - règle droit_ouvert_complément sous condition - prestations_familiales.régime_outre_mer_l751_1 et - (nombre de enfants_à_charge_droit_ouvert_prestation_familiale = 1) - conséquence non rempli -``` diff --git a/examples/allocations_familiales/securite_sociale_R.catala_fr b/examples/allocations_familiales/securite_sociale_R.catala_fr deleted file mode 100644 index 056790ff..00000000 --- a/examples/allocations_familiales/securite_sociale_R.catala_fr +++ /dev/null @@ -1,218 +0,0 @@ -## Partie réglementaire - Décrets en Conseil d'Etat - -### Livre 5 : Prestations familiales et prestations assimilées - -#### Titre 1 : Champ d'application - Généralités - -##### Chapitre 2 : Champ d'application. - -###### Article R512-2|LEGIARTI000006750602 - -Les enfants ouvrent droit aux prestations familiales jusqu'à l'âge de vingt -ans sous réserve que leur rémunération n'excède pas le plafond fixé au deuxième -alinéa du présent article. - -```catala -# Attention: ici la condition de ressources au dessous du plafond est une -# répétition par rapport au texte de L512-3. On ne remet donc pas le code ici -# correspondant à cette limitation. - -champ d'application PrestationsFamiliales : - définition âge_l512_3_2 égal à 20 an -``` - -Le plafond de rémunération mentionné au 2° de l'article L. 512-3 est égal, pour -un mois, à 55 % du salaire minimum interprofessionnel de croissance défini aux -articles L. 141-1 à L. 141-9 du code du travail, multiplié par 169. - - -```catala -champ d'application PrestationsFamiliales : - définition plafond_l512_3_2 égal à - (smic.brut_horaire * 55 %) * 169,0 -``` - -Pour ceux des enfants qui bénéficient d'avantages en nature, l'évaluation de ces -avantages devra être faite suivant les barèmes fixés pour l'application de la -législation sur les assurances sociales. - - -```catala -# Le programme Catala ne tient pas en compte des avantages en nature. -# TODO: Liane, faire de la recherche juridique sur le sujet. -``` - -#### Titre 2 : Prestations générales d'entretien - -##### Chapitre 1er : Allocations familiales - -###### Article R521-1|LEGIARTI000018735853 -L'âge mentionné au premier alinéa de l'article L. 521-3 à partir duquel les -enfants ouvrent droit à la majoration des allocations familiales est fixé à -14 ans. - -```catala -champ d'application AllocationsFamiliales : - définition âge_minimum_alinéa_1_l521_3 de enfant égal à 14 an -``` - -Le nombre minimum d'enfants à charge, mentionné au deuxième alinéa de l'article -L. 521-3 ouvrant droit à ladite majoration pour chaque enfant est fixé à trois. - -```catala -champ d'application AllocationsFamiliales : - définition nombre_enfants_alinéa_2_l521_3 égal à 3 -``` - -NOTA : Décret n° 2008-409 du 28 avril 2008 JORF du 29 avril 2008 art. 2 : Les -modifications induites par le décret n° 2008-409 s'appliquent aux enfants dont -le onzième anniversaire est postérieur au 30 avril 2008. - -```catala -# Notons ici un champ d'application différent, correspondant à une ancienne -# version du corpus législatif dont un morceau s'applique encore. Nous avons -# choisi de montrer ce vieux champ d'application ici plutôt qu'à côté du texte -# du décret de 2008 pour des raisons de place seulement. -champ d'application AllocationFamilialesAvril2008: - # Âge limite avant décret n° 2008-409 du 28 avril 2008 - définition âge_minimum_alinéa_1_l521_3 égal à 16 an - -champ d'application AllocationsFamiliales : - exception - définition âge_minimum_alinéa_1_l521_3 de enfant - sous condition (enfant.date_de_naissance + 11 an <= |2008-04-30|) - conséquence égal à - version_avril_2008.âge_minimum_alinéa_1_l521_3 -``` - -###### Article R521-2|LEGIARTI000006750608 - -Dans les situations visées au deuxième alinéa de l'article L. 521-2 , -l'allocataire est celui des deux parents qu'ils désignent d'un commun accord. -A défaut d'accord sur la désignation d'un allocataire unique, chacun des deux -parents peut se voir reconnaître la qualité d'allocataire : - -1° Lorsque les deux parents en ont fait la demande conjointe ; - -2° Lorsque les deux parents n'ont ni désigné un allocataire unique, ni fait -une demande conjointe de partage. - -```catala -# Le fait que l'allocataire dans le cas d'un commun accord soit celui des -# deux parents désigné par l'accord est déjà modélisé dans L521-2. -``` - -Lorsque les parents ont désigné un allocataire unique ou fait une demande -conjointe de partage, ils ne peuvent remettre en cause les modalités ainsi -choisies qu'au bout d'un an, sauf modification des modalités de résidence du -ou des enfants. - -```catala -# On ne modélise pas le délai minimal entre changement de situation dans -# ce programme. -``` - -###### Article R521-3 | LEGIARTI000006750610 - -Sous réserve de l'article R. 521-4, dans les situations visées aux 1° et 2° de -l'article R. 521-2 , la prestation due à chacun des parents est égale au -montant des allocations familiales dues pour le total des enfants à charge, -multiplié par un coefficient résultant du rapport entre le nombre moyen -d'enfants et le nombre total d'enfants. - -```catala -champ d'application AllocationsFamiliales : - définition montant_avec_garde_alternée_base égal à - montant_initial_base * rapport_enfants_total_moyen - - définition rapport_enfants_total_moyen égal à - si nombre_total_enfants = 0,0 alors 0,0 sinon - (nombre_moyen_enfants / nombre_total_enfants) -``` - -Le nombre moyen d'enfants, pour chaque foyer, est obtenu en faisant la somme -du nombre d'enfants à charge dans les conditions suivantes : - -1° Chaque enfant en résidence alternée compte pour 0,5 ; - -2° Les autres enfants à charge comptent pour 1. - -```catala -champ d'application AllocationsFamiliales : - définition nombre_moyen_enfants égal à - somme décimal de - ((selon (prise_en_compte de enfant) sous forme - -- Complète : 1,0 - -- Partagée : 0,5 - # Pas directement dans cet article de loi, mais concerne le - # cas où l'enfant est pris en charge par les services sociaux et - # la part de l'allocation va également au service social - -- Zéro: 0,0) - pour enfant parmi enfants_à_charge_droit_ouvert_prestation_familiale) -``` - -Le nombre total d'enfants, pour chaque foyer, est obtenu en faisant la somme du -ou des enfants en résidence alternée et, le cas échéant, du ou des autres -enfants à charge. - -```catala -champ d'application AllocationsFamiliales : - définition nombre_total_enfants égal à - décimal de (nombre de - enfants_à_charge_droit_ouvert_prestation_familiale) -``` - -###### Article R521-4|LEGIARTI000006750613 - -Pour l'ouverture du droit à la majoration prévue à l'article L. 521-3 , le -nombre d'enfants à charge est évalué dans les conditions prévues au premier -alinéa de l'article R. 521-3. - -```catala -# Le renvoi ci-dessus ne fait qu'annoncer qu'on va appliquer un système -# de décote pour garde alternée au système de majorations. -# Ce renvoi signifie que notre liste -# enfants_à_charge_droit_ouvert_prestation_familiale -# qui était utilisée pour la prestation de base est la même que la liste -# d'enfant utilisée pour le calcul des majorations -``` - -Lorsque le ou les enfants ouvrant droit à ladite majoration sont en résidence -alternée, le montant servi au titre de cette majoration est réduit de moitié. - -```catala -champ d'application AllocationsFamiliales : - définition - montant_avec_garde_alternée_majoration de enfant - égal à montant_initial_majoration de enfant * ( - selon (prise_en_compte de enfant) sous forme - -- Complète : 100% - -- Partagée : 50% - # Pas directement dans cet arricle de loi, mais concerne le - # cas où l'enfant est pris en charge par les services sociaux et - # la part de l'allocation va également au service social - -- Zéro: 0% - ) -``` - -### Livre 7 : Régimes divers - Dispositions diverses - -#### Titre 5 : Départements d'outre-mer - -##### Chapitre 5 : Prestations familiales et prestations assimilées - -###### Article R755-0-2|LEGIARTI000006752633 - -Le plafond de rémunération des enfants à charge mentionnés à l'article -L. 512-3 est égal, pour un mois, à 55 % du salaire minimum de croissance en -vigueur dans chacun des départements mentionnés à l'article L. 751-1 , -multiplié par 169. - -```catala -champ d'application PrestationsFamiliales : - exception - définition plafond_l512_3_2 - sous condition régime_outre_mer_l751_1 - conséquence égal à - (smic.brut_horaire * 55%) * 169,0 -``` diff --git a/examples/allocations_familiales/tests/dune b/examples/allocations_familiales/tests/dune deleted file mode 100644 index cb1bdfdf..00000000 --- a/examples/allocations_familiales/tests/dune +++ /dev/null @@ -1,7 +0,0 @@ -(rule - (targets tests_allocations_familiales.ml) - (deps - (source_tree .) - ../allocations_familiales.ml) - (action - (run catala OCaml -t tests_allocations_familiales.catala_fr))) diff --git a/examples/allocations_familiales/tests/test_invariants.catala_fr b/examples/allocations_familiales/tests/test_invariants.catala_fr deleted file mode 100644 index b7a3ba8f..00000000 --- a/examples/allocations_familiales/tests/test_invariants.catala_fr +++ /dev/null @@ -1,15 +0,0 @@ -> Inclusion: ../allocations_familiales.catala_fr - - -# Ce fichier est uniquement là pour vérifier que les invariants structurels sont bien garanties par les differences phases de compilation. - -```catala-test-inline -$ catala Typecheck --check-invariants -[RESULT] Invariant typing_defaults checked. result: [3195/3195] -[RESULT] Invariant match_inversion checked. result: [18/18] -[RESULT] Invariant app_inversion checked. result: [26/26] -[RESULT] Invariant no_return_a_function checked. result: [96/96] -[RESULT] Invariant no_partial_evaluation checked. result: [26/26] -[RESULT] Invariant default_no_arrow checked. result: [284/284] -[RESULT] Typechecking successful! -``` \ No newline at end of file diff --git a/examples/allocations_familiales/tests/tests_allocations_familiales.catala_fr b/examples/allocations_familiales/tests/tests_allocations_familiales.catala_fr deleted file mode 100644 index 1bc691ac..00000000 --- a/examples/allocations_familiales/tests/tests_allocations_familiales.catala_fr +++ /dev/null @@ -1,480 +0,0 @@ -> Inclusion: ../allocations_familiales.catala_fr - -# Tests - -```catala -déclaration champ d'application Données: - résultat enfant1 contenu EnfantEntrée - résultat enfant2 contenu EnfantEntrée - résultat enfant3 contenu EnfantEntrée - résultat enfant4 contenu EnfantEntrée - résultat enfant5 contenu EnfantEntrée - -champ d'application Données: - définition enfant1 égal à EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2007-01-01| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant2 égal à EnfantEntrée { - -- d_identifiant: 2 - -- d_date_de_naissance: |2009-01-01| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant3 égal à EnfantEntrée { - -- d_identifiant: 3 - -- d_date_de_naissance: |2003-01-01| - -- d_rémuneration_mensuelle: 400€ - -- d_prise_en_charge: GardeAlternéePartageAllocations - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant4 égal à EnfantEntrée { - -- d_identifiant: 4 - -- d_date_de_naissance: |2001-01-01| - -- d_rémuneration_mensuelle: 1100€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant5 égal à EnfantEntrée { - -- d_identifiant: 5 - -- d_date_de_naissance: |2000-01-01| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - } - -déclaration champ d'application Test1: - f champ d'application InterfaceAllocationsFamiliales - données champ d'application Données - -champ d'application Test1: - définition f.i_enfants égal à - [données.enfant1;données.enfant2;données.enfant3;données.enfant4] - définition f.i_ressources_ménage égal à 30 000 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 351,54€ - -déclaration champ d'application Test2: - f champ d'application InterfaceAllocationsFamiliales - données champ d'application Données - -champ d'application Test2: - définition f.i_enfants égal à - [données.enfant1;données.enfant2;données.enfant5] - définition f.i_ressources_ménage égal à 30 000 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 216,46€ - - -déclaration champ d'application Test3: - f champ d'application InterfaceAllocationsFamiliales - données champ d'application Données - -champ d'application Test3: - définition f.i_enfants égal à [données.enfant1] - définition f.i_ressources_ménage égal à 63540 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Guyane - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 24,37 € - -déclaration champ d'application Test4: - f champ d'application InterfaceAllocationsFamiliales - données champ d'application Données - -champ d'application Test4: - définition f.i_enfants égal à [données.enfant1; données.enfant3] - définition f.i_ressources_ménage égal à 67 250 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 99,46€ - -déclaration champ d'application Test5: - f champ d'application InterfaceAllocationsFamiliales - données champ d'application Données - -champ d'application Test5: - définition f.i_enfants égal à [données.enfant1] - définition f.i_ressources_ménage égal à 30 000 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 0,00€ - -déclaration champ d'application Test6: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test6: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2009-11-10| - -- d_rémuneration_mensuelle: 439€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - };EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2020-09-25| - -- d_rémuneration_mensuelle: 1949€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 78 830 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Guadeloupe - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 66,30€ - -déclaration champ d'application Test7: - f champ d'application InterfaceAllocationsFamiliales - données champ d'application Données - -champ d'application Test7: - définition f.i_enfants égal à - [données.enfant1;données.enfant2;données.enfant3;données.enfant4] - définition f.i_ressources_ménage égal à 30 000 € - définition f.i_date_courante égal à |2021-02-01| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 417,84€ - -déclaration champ d'application Test8: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test8: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2004-01-01| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - };EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2005-01-01| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 69945 € - définition f.i_date_courante égal à |2021-01-01| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 197,90 € - -déclaration champ d'application Test9: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test9: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2001-07-27| - -- d_rémuneration_mensuelle: 1258€ - -- d_prise_en_charge: ServicesSociauxAllocationVerséeAuxServicesSociaux - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - };EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2008-04-27| - -- d_rémuneration_mensuelle: 1766€ - -- d_prise_en_charge: ServicesSociauxAllocationVerséeAuxServicesSociaux - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 75786 € - définition f.i_date_courante égal à |2020-05-01| - définition f.i_résidence égal à Guadeloupe - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 0€ - -déclaration champ d'application Test10: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test10: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2003-02-22| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - };EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2013-09-30| - -- d_rémuneration_mensuelle: 300€ - -- d_prise_en_charge: GardeAlternéePartageAllocations - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 30000 € - définition f.i_date_courante égal à |2020-04-20| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 99,46€ - -déclaration champ d'application Test11: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test11: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2003-02-22| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - };EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2013-09-30| - -- d_rémuneration_mensuelle: 300€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }; - EnfantEntrée { - -- d_identifiant: 2 - -- d_date_de_naissance: |2007-04-16| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 30000 € - définition f.i_date_courante égal à |2021-12-31| - définition f.i_résidence égal à Métropole - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 435,55€ - -déclaration champ d'application Test12: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test12: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2003-02-22| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - };EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2013-09-30| - -- d_rémuneration_mensuelle: 300€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }; - EnfantEntrée { - -- d_identifiant: 2 - -- d_date_de_naissance: |2007-04-16| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }; - EnfantEntrée { - -- d_identifiant: 3 - -- d_date_de_naissance: |2012-02-02| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 20000 € - définition f.i_date_courante égal à |2019-08-26| - définition f.i_résidence égal à Mayotte - règle f.i_avait_enfant_à_charge_avant_1er_janvier_2012 rempli - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 315,84€ - -déclaration champ d'application Test13: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test13: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2008-02-22| - -- d_rémuneration_mensuelle: 0€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 65000 € - définition f.i_date_courante égal à |2019-08-26| - définition f.i_résidence égal à Mayotte - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 34,99€ - -déclaration champ d'application Test14: - f champ d'application InterfaceAllocationsFamiliales - -champ d'application Test14: - définition f.i_enfants égal à [EnfantEntrée { - -- d_identifiant: 0 - -- d_date_de_naissance: |2004-12-22| - -- d_rémuneration_mensuelle: 435€ - -- d_prise_en_charge: EffectiveEtPermanente - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }; - EnfantEntrée { - -- d_identifiant: 1 - -- d_date_de_naissance: |2001-12-05| - -- d_rémuneration_mensuelle: 1682€ - -- d_prise_en_charge: GardeAlternéeAllocataireUnique - -- d_a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- d_bénéficie_titre_personnel_aide_personnelle_logement: faux - }] - définition f.i_ressources_ménage égal à 64033 € - définition f.i_date_courante égal à |2022-05-01| - définition f.i_résidence égal à Guadeloupe - règle f.i_personne_charge_effective_permanente_est_parent rempli - assertion f.i_montant_versé = 48,77€ -``` - -```catala-test-inline -$ catala Typecheck -[RESULT] Typechecking successful! -``` - -```catala-test-inline -$ catala Interpret -s Test1 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test2 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test3 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test4 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test5 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test6 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test7 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test8 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test9 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test10 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test11 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test12 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test13 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test13 --disable-warnings -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test1 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test2 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test3 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test4 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test5 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test6 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test7 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test8 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test9 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test10 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test11 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test12 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test13 --avoid-exceptions -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test13 --avoid-exceptions -[RESULT] Computation successful! -``` diff --git a/examples/allocations_familiales/tests/tests_ouverture_droits.catala_fr b/examples/allocations_familiales/tests/tests_ouverture_droits.catala_fr deleted file mode 100644 index 9a25cc14..00000000 --- a/examples/allocations_familiales/tests/tests_ouverture_droits.catala_fr +++ /dev/null @@ -1,70 +0,0 @@ -> Inclusion: ../allocations_familiales.catala_fr - -# Tests - -```catala -déclaration champ d'application Données: - résultat enfant1 contenu Enfant - résultat enfant2 contenu Enfant - résultat enfant3 contenu Enfant - résultat enfant4 contenu Enfant - -champ d'application Données: - définition enfant1 égal à Enfant { - -- identifiant: 1 - -- obligation_scolaire : Pendant - -- date_de_naissance: |2007-01-01| - -- rémuneration_mensuelle: 0€ - -- prise_en_charge: EffectiveEtPermanente - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant2 égal à Enfant { - -- identifiant: 2 - -- obligation_scolaire : Après - -- date_de_naissance: |2003-01-01| - -- rémuneration_mensuelle: 1000€ - -- prise_en_charge: EffectiveEtPermanente - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant3 égal à Enfant { - -- identifiant: 3 - -- obligation_scolaire : Après - -- date_de_naissance: |2003-01-01| - -- rémuneration_mensuelle: 400€ - -- prise_en_charge: EffectiveEtPermanente - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- bénéficie_titre_personnel_aide_personnelle_logement: faux - } - définition enfant4 égal à Enfant { - -- identifiant: 4 - -- obligation_scolaire : Après - -- date_de_naissance: |1999-01-01| - -- rémuneration_mensuelle: 0€ - -- prise_en_charge: EffectiveEtPermanente - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - -- bénéficie_titre_personnel_aide_personnelle_logement: faux - } - -déclaration champ d'application Test1: - données champ d'application Données - f champ d'application PrestationsFamiliales - -champ d'application Test1: - définition f.date_courante égal à |2020-05-01| - définition f.résidence égal à Métropole - assertion (f.droit_ouvert de données.enfant1) - assertion (non (f.droit_ouvert de données.enfant2)) - assertion (f.droit_ouvert de données.enfant3) - assertion (non (f.droit_ouvert de données.enfant4)) -``` - -```catala-test-inline -$ catala Interpret -s Test1 --disable-warnings -[RESULT] Computation successful! -``` -```catala-test-inline -$ catala Interpret_Lcalc -s Test1 --avoid-exceptions -[RESULT] Computation successful! -``` diff --git a/examples/base_mensuelle_allocations_familiales/Makefile b/examples/base_mensuelle_allocations_familiales/Makefile deleted file mode 100644 index 40230833..00000000 --- a/examples/base_mensuelle_allocations_familiales/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=bmaf.catala_fr - -include ../Makefile.common.mk diff --git a/examples/base_mensuelle_allocations_familiales/bmaf.catala_fr b/examples/base_mensuelle_allocations_familiales/bmaf.catala_fr deleted file mode 100644 index 840e30c3..00000000 --- a/examples/base_mensuelle_allocations_familiales/bmaf.catala_fr +++ /dev/null @@ -1,108 +0,0 @@ -# Montant de la base mensuelle des allocations familiales - -```catala-metadata -déclaration champ d'application BaseMensuelleAllocationsFamiliales: - entrée date_courante contenu date - résultat montant contenu argent -champ d'application BaseMensuelleAllocationsFamiliales: - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2019-04-01| -``` - -## Instruction ministérielle N°DSS/SD2B/2019/65 du 25 mars 2019 relative à la revalorisation au 1er avril 2019 des prestations familiales servies en métropole - -Conformément à l’article L. 551-1 du code de la sécurité sociale, le montant -des prestations familiales est déterminé d'après des bases mensuelles -de calcul revalorisées au 1er avril de chaque année, par application -du coefficient mentionnée à l’article L. 161-25 du code de la -sécurité sociale. Au titre de l’année 2019, l’article 68 de la loi du 22 -décembre 2018 de financement de la sécurité sociale a prévu, par dérogation -aux dispositions de l’article L. 161-25, une revalorisation de 0,3 % du montant -des prestations relevant de cet article. - -Le montant précité de la base mensuelle de calcul des allocations -familiales (BMAF), en pourcentage duquel sont fixés les montants des prestations -familiales, est ainsi porté de 411,92 € à 413,16 € au 1er avril 2019. - -```catala -champ d'application BaseMensuelleAllocationsFamiliales : - définition montant - sous condition - date_courante >= |2019-04-01| et - date_courante < |2020-04-01| - conséquence égal à 413,16 € -``` - -## Instruction interministérielle no DSS/SD2B/2020/33 du 18 février 2020 relative à la revalorisation au 1er avril 2020 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte - -Au titre de l’année 2020, l’article 81 de la loi du 24 décembre 2019 de -financement de la sécurité sociale a prévu, par dérogation aux dispositions -de l’article L. 161-25, une revalorisation de 0,3 % du montant des prestations -relevant de cet article. - -Le montant précité de la base mensuelle de calcul des allocations familiales -(BMAF), en pourcentage duquel sont fxés les montants des prestations familiales, -est ainsi porté de 413,16 € à 414,4 € au 1er avril 2020. - -```catala -champ d'application BaseMensuelleAllocationsFamiliales : - définition montant - sous condition - date_courante >= |2020-04-01| et - date_courante < |2021-04-01| - conséquence égal à 414,4 € -``` - -## Instruction interministérielle n°DSS/2B/2021/65 du 19 mars 2021 relative à la revalorisation au 1er avril 2021 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte - -Au 1er avril 2021, le coefficient de revalorisation de la BMAF est ainsi fixé à -1,001 soit un taux de revalorisation de la BMAF de 0,1 %. Le montant de cette -base mensuelle, en pourcentage duquel sont fixées les prestations familiales, -est donc porté de 414,4 € au 1er avril 2020 à 414,81 € au 1er avril 2021. - -```catala -champ d'application BaseMensuelleAllocationsFamiliales : - définition montant - sous condition - date_courante >= |2021-04-01| et - date_courante < |2022-04-01| - conséquence égal à 414,81 € -``` - -## Instruction interministérielle n°DSS/2B/2022/82 du 28 mars 2022 relative à la revalorisation au 1er avril 2022 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte - -Au 1er avril 2022, le coefficient de revalorisation de la base mensuelle de -calcul des allocations familiales (BMAF) est ainsi fixé à 1,018 soit un taux -de revalorisation de la BMAF de 1,8 %. Le montant de cette base mensuelle, -en pourcentage duquel sont fixées les prestations familiales, est donc porté -de 414,81 € au 1er avril 2021 à 422,28 € au 1er avril 2022. - - -```catala -champ d'application BaseMensuelleAllocationsFamiliales : - définition montant - sous condition - date_courante >= |2022-04-01| et - date_courante < |2023-04-01| - conséquence égal à 422,28 € -``` - -## Instruction interministérielle N° DSS/2B/2023/41 du 24 mars 2023 relative à la revalorisation au 1er avril 2023 des prestations familiales servies en métropole, en Guadeloupe, en Guyane, en Martinique, à la Réunion, à Saint-Barthélemy, à Saint-Martin et dans le département de Mayotte - -Au 1er avril 2023, le coefficient de revalorisation de la base mensuelle des -allocations familiales (BMAF) mentionné à l’article L. 551-1 du code de la -sécurité sociale1 est fixé à 1,056 soit un taux de revalorisation de la BMAF -de 5,6 %, déduction faite de la revalorisation anticipée de 4% entrée en -vigueur en juillet 2022 et introduite par l’article 9 de la loi n° 2022- 1158 -du 16 août 2022 portant mesures d'urgence pour la protection du pouvoir -d'achat. Le montant de cette base mensuelle, en pourcentage duquel sont fixées -les prestations familiales, est donc porté à 445,93 €. - -```catala -champ d'application BaseMensuelleAllocationsFamiliales : - définition montant - sous condition - date_courante >= |2023-04-01| - conséquence égal à 445,93 € -``` diff --git a/examples/droit_successions/.gitignore b/examples/droit_successions/.gitignore deleted file mode 100644 index 5304e283..00000000 --- a/examples/droit_successions/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -_minted* -*.toc -*.pyg -*.d -*.ml \ No newline at end of file diff --git a/examples/droit_successions/Makefile b/examples/droit_successions/Makefile deleted file mode 100644 index 00d1d5e0..00000000 --- a/examples/droit_successions/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=droit_successions.catala_fr - -include ../Makefile.common.mk diff --git a/examples/droit_successions/droit_successions.catala_fr b/examples/droit_successions/droit_successions.catala_fr deleted file mode 100644 index 92d4a1e9..00000000 --- a/examples/droit_successions/droit_successions.catala_fr +++ /dev/null @@ -1,141 +0,0 @@ -## Code civil - -### Livre III : Des différentes manières dont on acquiert la propriété - -#### Titre II : Des libéralités - -##### Chapitre III : De la réserve héréditaire, de la quotité disponible et de la réduction - -####### Section 1 : De la réserve héréditaire et de la quotité disponible - -######## Article 912 | LEGIARTI000006435530 - -La réserve héréditaire est la part des biens et droits successoraux dont la -loi assure la dévolution libre de charges à certains héritiers dits réservataires, -s'ils sont appelés à la succession et s'ils l'acceptent. - -La quotité disponible est la part des biens et droits successoraux qui n'est -pas réservée par la loi et dont le défunt a pu disposer librement par des -libéralités. - -```catala-metadata -déclaration structure Enfant: - donnée identifiant contenu entier - donnée a_renoncé_à_la_succession contenu booléen - donnée est_représenté contenu booléen - donnée est_tenu_au_rapport_libéralité contenu booléen - -déclaration structure BienUsufruitRenteViagère: - donnée valeur contenu argent - donnée prise_en_compte_pour_réserve_héréditaire contenu booléen - -déclaration champ d'application RéserveHéréditaire: - résultat quotité_réserve_héréditaire contenu décimal - entrée enfants contenu liste de Enfant - interne enfant_pris_en_compte_réserve_héréditaire contenu booléen - dépend de enfant contenu Enfant - interne enfants_réserve_héréditaire contenu liste de Enfant - entrée conjoint_survivant_non_divorcé condition - - entrée patrimoine_total contenu argent - entrée biens_usufruit_rente_viagère contenu liste de BienUsufruitRenteViagère - résultat patrimoine_assiette_réserve_héréditaire contenu argent - résultat montant_réserve_héréditaire contenu argent -``` - -######## Article 913 | LEGIARTI000006435557 - -Les libéralités, soit par actes entre vifs, soit par testament, ne pourront -excéder la moitié des biens du disposant, s'il ne laisse à son décès qu'un -enfant ; le tiers, s'il laisse deux enfants ; le quart, s'il en laisse trois -ou un plus grand nombre. - -```catala -champ d'application RéserveHéréditaire: - définition quotité_réserve_héréditaire - sous condition nombre de enfants_réserve_héréditaire = 1 conséquence - égal à 1,0 / 2,0 - - définition quotité_réserve_héréditaire - sous condition nombre de enfants_réserve_héréditaire = 2 conséquence - égal à 1,0 / 3,0 - - définition quotité_réserve_héréditaire - sous condition nombre de enfants_réserve_héréditaire >= 3 conséquence - égal à 1,0 / 4,0 -``` - -L'enfant qui renonce à la succession n'est compris dans le nombre d'enfants -laissés par le défunt que s'il est représenté ou s'il est tenu au rapport -d'une libéralité en application des dispositions de l'article 845. - -```catala -champ d'application RéserveHéréditaire: - définition enfant_pris_en_compte_réserve_héréditaire de enfant égal à - si enfant.a_renoncé_à_la_succession alors - (enfant.est_représenté ou enfant.est_tenu_au_rapport_libéralité) - sinon vrai - - définition enfants_réserve_héréditaire égal à - enfant parmi enfants tel que - (enfant_pris_en_compte_réserve_héréditaire de enfant) -``` - -######## Article 913-1 | LEGIARTI000006433705 - -Sont compris dans l'article 913, sous le nom d'enfants, les descendants en -quelque degré que ce soit, encore qu'ils ne doivent être comptés que pour -l'enfant dont ils tiennent la place dans la succession du disposant. - -```catala -# Rien à ajouter à la formalisation de l'article 913 -``` - -######## Article 914-1 | LEGIARTI000006433720 - -Les libéralités, par actes entre vifs ou par testament, ne pourront excéder -les trois quarts des biens si, à défaut de descendant, le défunt laisse un -conjoint survivant, non divorcé. - -```catala -champ d'application RéserveHéréditaire: - définition quotité_réserve_héréditaire - sous condition nombre de enfants_réserve_héréditaire = 0 et conjoint_survivant_non_divorcé - conséquence égal à 1,0 - (3,0 / 4,0) -``` - -NOTA: -Loi n° 2006-728 du 23 juin 2006 article 29 : Une anomalie s'est glissée lors -de la rédaction de l'article 29 26°. Il faut lire article 914-1 au lieu de 914-4. - -######## Article 916 | LEGIARTI000006435592 - -A défaut de descendant et de conjoint survivant non divorcé, les libéralités -par actes entre vifs ou testamentaires pourront épuiser la totalité des biens. - -```catala -champ d'application RéserveHéréditaire: - définition quotité_réserve_héréditaire - sous condition nombre de enfants_réserve_héréditaire = 0 et (non conjoint_survivant_non_divorcé) - conséquence égal à 0,0 -``` - -######## Article 917 | LEGIARTI000006433731 - -Si la disposition par acte entre vifs ou par testament est d'un usufruit ou -d'une rente viagère dont la valeur excède la quotité disponible, les héritiers -au profit desquels la loi fait une réserve, auront l'option, ou d'exécuter -cette disposition, ou de faire l'abandon de la propriété de la quotité -disponible. - -```catala -champ d'application RéserveHéréditaire: - définition patrimoine_assiette_réserve_héréditaire égal à - patrimoine_total - ( - somme argent de - (si bien.prise_en_compte_pour_réserve_héréditaire - alors 0 € sinon bien.valeur) - pour bien parmi biens_usufruit_rente_viagère) - définition montant_réserve_héréditaire égal à - patrimoine_assiette_réserve_héréditaire * quotité_réserve_héréditaire -``` diff --git a/examples/droit_successions/tests/tests_droit_succession.catala_fr b/examples/droit_successions/tests/tests_droit_succession.catala_fr deleted file mode 100644 index 8e589212..00000000 --- a/examples/droit_successions/tests/tests_droit_succession.catala_fr +++ /dev/null @@ -1,88 +0,0 @@ -> Inclusion: ../droit_successions.catala_fr - -# Tests - -```catala -déclaration champ d'application Enfants: - résultat base contenu Enfant dépend de identifiant contenu entier - -champ d'application Enfants: - définition base de identifiant égal à - Enfant { - -- identifiant: 0 - -- a_renoncé_à_la_succession: faux - -- est_représenté: faux - -- est_tenu_au_rapport_libéralité: faux - } -``` - -```catala -déclaration champ d'application Test1: - réserve_héréditaire champ d'application RéserveHéréditaire - -champ d'application Test1: - définition réserve_héréditaire.patrimoine_total égal à 300 000€ - définition réserve_héréditaire.enfants égal à [] - définition réserve_héréditaire.biens_usufruit_rente_viagère égal à [] - assertion réserve_héréditaire.quotité_réserve_héréditaire = 0,0 -``` - -```catala -déclaration champ d'application Test2: - réserve_héréditaire champ d'application RéserveHéréditaire - enfants champ d'application Enfants - -champ d'application Test2: - définition réserve_héréditaire.patrimoine_total égal à 300 000 € - définition réserve_héréditaire.enfants égal à [enfants.base de 0] - définition réserve_héréditaire.biens_usufruit_rente_viagère égal à [] - assertion réserve_héréditaire.montant_réserve_héréditaire = 150 000 € -``` - -```catala -déclaration champ d'application Test3: - réserve_héréditaire champ d'application RéserveHéréditaire - enfants champ d'application Enfants - -champ d'application Test3: - définition réserve_héréditaire.patrimoine_total égal à 300 000 € - définition réserve_héréditaire.enfants égal à - [enfants.base de 0; enfants.base de 1] - définition réserve_héréditaire.biens_usufruit_rente_viagère égal à [] - assertion réserve_héréditaire.montant_réserve_héréditaire = 100 000 € -``` - -```catala -déclaration champ d'application Test4: - réserve_héréditaire champ d'application RéserveHéréditaire - enfants champ d'application Enfants - -champ d'application Test4: - définition réserve_héréditaire.patrimoine_total égal à 300 000 € - définition réserve_héréditaire.enfants égal à - [enfants.base de 0; enfants.base de 1] - définition réserve_héréditaire.biens_usufruit_rente_viagère égal à - [BienUsufruitRenteViagère { -- valeur: 250 000 € -- prise_en_compte_pour_réserve_héréditaire : faux }] - assertion réserve_héréditaire.patrimoine_assiette_réserve_héréditaire = 50 000 € - assertion réserve_héréditaire.montant_réserve_héréditaire = 16666,67 € -``` - -```catala-test-inline -$ catala Interpret -s Test1 -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test2 -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test3 -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test4 -[RESULT] Computation successful! -``` diff --git a/examples/polish_taxes/.gitignore b/examples/polish_taxes/.gitignore deleted file mode 100644 index 5304e283..00000000 --- a/examples/polish_taxes/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -_minted* -*.toc -*.pyg -*.d -*.ml \ No newline at end of file diff --git a/examples/polish_taxes/Makefile b/examples/polish_taxes/Makefile deleted file mode 100644 index 15d94880..00000000 --- a/examples/polish_taxes/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=pl -SRC=polish_tax_code.catala_pl - -include ../Makefile.common.mk diff --git a/examples/polish_taxes/podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl b/examples/polish_taxes/podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl deleted file mode 100644 index ef72b971..00000000 --- a/examples/polish_taxes/podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl +++ /dev/null @@ -1,145 +0,0 @@ -### Rozdział 3 - -#### Art. 7. - -1. Stawki podatku wynoszą: - -1) od umowy sprzedaży: - -a) nieruchomości, rzeczy ruchomych, prawa użytkowania wieczystego, własnościowego spółdzielczego prawa do lokalu mieszkalnego, spółdzielczego prawa do lokalu użytkowego oraz wynikających z przepisów prawa spółdzielczego: prawa do domu jednorodzinnego oraz prawa do lokalu w małym domu mieszkalnym – 2%, - -```catala -deklaracja zakres UmowaSprzedaży: - kontekst kwota typu pieniądze - kontekst inne_prawa_majątkowe warunek - kontekst stawka_podatku typu dziesiętny - wyjście podatek typu pieniądze - -zakres UmowaSprzedaży: - definicja podatek wynosi - kwota * stawka_podatku - -zakres UmowaSprzedaży: - etykieta a7_u1_p1_ppa - definicja stawka_podatku wynosi 2% -``` - - -b) innych praw majątkowych – 1%; -```catala -zakres UmowaSprzedaży: - wyjątek a7_u1_p1_ppa - definicja stawka_podatku pod warunkiem - inne_prawa_majątkowe - konsekwencja wynosi 1% -``` - -2) od umów zamiany, dożywocia, o dział spadku, o zniesienie współwłasności oraz darowizny: - -a) przy przeniesieniu własności nieruchomości, rzeczy ruchomych, prawa użytkowania wieczystego, własnościowego spółdzielczego prawa do lokalu -mieszkalnego, spółdzielczego prawa do lokalu użytkowego oraz wynikających z przepisów prawa spółdzielczego: prawa do domu jednorodzinnego oraz prawa do lokalu w małym domu mieszkalnym – 2%, - -```catala -deklaracja zakres UmowaZamianyLubDarowizny: - kontekst kwota typu pieniądze - kontekst inne_prawa_majątkowe warunek - kontekst stawka_podatku typu dziesiętny - wyjście podatek typu pieniądze - -zakres UmowaZamianyLubDarowizny: - definicja podatek wynosi - kwota * stawka_podatku - -zakres UmowaZamianyLubDarowizny: - etykieta a7_u1_p2_ppa - definicja stawka_podatku wynosi 2% -``` - -b) przy przeniesieniu własności innych praw majątkowych – 1%; - -```catala -zakres UmowaZamianyLubDarowizny: - wyjątek a7_u1_p2_ppa - definicja stawka_podatku pod warunkiem - inne_prawa_majątkowe - konsekwencja wynosi 1% -``` - -3) od umowy ustanowienia odpłatnego użytkowania, w tym nieprawidłowego, oraz odpłatnej służebności – 1%, z zastrzeżeniem ust. 5; - -```catala -deklaracja zakres OdpłatneUżytkowanie: - kontekst kwota typu pieniądze - kontekst stawka_podatku typu dziesiętny - wyjście podatek typu pieniądze - -zakres OdpłatneUżytkowanie: - definicja podatek wynosi - kwota * stawka_podatku - -zakres OdpłatneUżytkowanie: - definicja stawka_podatku wynosi 1% -``` - -4) od umowy pożyczki oraz depozytu nieprawidłowego – 0,5%, z zastrzeżeniem ust. 5; - -```catala -deklaracja zakres PożyczkaLubDepozytNieprawidłowy: - kontekst kwota typu pieniądze - kontekst stawka_podatku typu dziesiętny - wyjście podatek typu pieniądze - -zakres PożyczkaLubDepozytNieprawidłowy: - definicja podatek wynosi - kwota * stawka_podatku # TODO: extract somehow? - # this exists in every declaration - -zakres PożyczkaLubDepozytNieprawidłowy: - definicja stawka_podatku wynosi 0.5% -``` - -7) od ustanowienia hipoteki: - -a) na zabezpieczenie wierzytelności istniejących – od kwoty zabezpieczonej wierzytelności – 0,1%, - -```catala -deklaracja zakres Hipoteka: - kontekst kwota typu pieniądze - kontekst wysokość_nieustalona warunek - kontekst stawka_podatku typu dziesiętny - kontekst podatek typu pieniądze - -zakres Hipoteka: - etykieta a7_u1_p7_ppa - definicja podatek wynosi - kwota * stawka_podatku - -zakres Hipoteka: - definicja stawka_podatku wynosi 0.1% -``` - -b) na zabezpieczenie wierzytelności o wysokości nieustalonej – 19 zł; - -```catala -zakres Hipoteka: - wyjątek a7_u1_p7_ppa - definicja podatek pod warunkiem - wysokość_nieustalona - konsekwencja wynosi 19 PLN -``` - -9) od umowy spółki – 0,5%. - -```catala -deklaracja zakres UmowaSpółki: - kontekst kwota typu pieniądze - kontekst stawka_podatku typu dziesiętny - wyjście podatek typu pieniądze - -zakres UmowaSpółki: - definicja podatek wynosi - kwota * stawka_podatku - -zakres UmowaSpółki: - definicja stawka_podatku wynosi 0.5% -``` diff --git a/examples/polish_taxes/podatek_od_czynnosci_cywilnoprawnych/wstep.catala_pl b/examples/polish_taxes/podatek_od_czynnosci_cywilnoprawnych/wstep.catala_pl deleted file mode 100644 index 011f5b76..00000000 --- a/examples/polish_taxes/podatek_od_czynnosci_cywilnoprawnych/wstep.catala_pl +++ /dev/null @@ -1 +0,0 @@ -## Ustawa z dnia 9 września 2000 r. o podatku od czynności cywilnoprawnych diff --git a/examples/polish_taxes/polish_taxes.catala_pl b/examples/polish_taxes/polish_taxes.catala_pl deleted file mode 100644 index e4556439..00000000 --- a/examples/polish_taxes/polish_taxes.catala_pl +++ /dev/null @@ -1,3 +0,0 @@ -> Include: podatek_od_czynnosci_cywilnoprawnych/wstep.catala_pl - -> Include: podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl diff --git a/examples/polish_taxes/tests/test_a7_u1_p1.catala_pl b/examples/polish_taxes/tests/test_a7_u1_p1.catala_pl deleted file mode 100644 index 44614202..00000000 --- a/examples/polish_taxes/tests/test_a7_u1_p1.catala_pl +++ /dev/null @@ -1,33 +0,0 @@ -> Include: ../podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl - -## Test - Art. 7 ustęp 1 punkt 1 - -```catala -deklaracja zakres Test_A7_U1_P1_PPa: - sprzedaż zakres UmowaSprzedaży - -zakres Test_A7_U1_P1_PPa: - definicja sprzedaż.kwota wynosi 100 PLN - - asercja sprzedaż.podatek = 2 PLN - - -deklaracja zakres Test_A7_U1_P1_PPb: - sprzedaż zakres UmowaSprzedaży - -zakres Test_A7_U1_P1_PPb: - definicja sprzedaż.kwota wynosi 100 PLN - definicja sprzedaż.inne_prawa_majątkowe wynosi prawda - - asercja sprzedaż.podatek = 1 PLN -``` - -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P1_PPa --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P1_PPb --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/polish_taxes/tests/test_a7_u1_p2.catala_pl b/examples/polish_taxes/tests/test_a7_u1_p2.catala_pl deleted file mode 100644 index d2c99223..00000000 --- a/examples/polish_taxes/tests/test_a7_u1_p2.catala_pl +++ /dev/null @@ -1,33 +0,0 @@ -> Include: ../podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl - -## Test - Art. 7 ustęp 1 punkt 2 - -```catala -deklaracja zakres Test_A7_U1_P2_PPa: - sprzedaż zakres UmowaZamianyLubDarowizny - -zakres Test_A7_U1_P2_PPa: - definicja sprzedaż.kwota wynosi 100 PLN - - asercja sprzedaż.podatek = 2 PLN - - -deklaracja zakres Test_A7_U1_P2_PPb: - sprzedaż zakres UmowaZamianyLubDarowizny - -zakres Test_A7_U1_P2_PPb: - definicja sprzedaż.kwota wynosi 100 PLN - definicja sprzedaż.inne_prawa_majątkowe wynosi prawda - - asercja sprzedaż.podatek = 1 PLN -``` - -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P2_PPa --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P2_PPb --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/polish_taxes/tests/test_a7_u1_p3.catala_pl b/examples/polish_taxes/tests/test_a7_u1_p3.catala_pl deleted file mode 100644 index dcd5d45d..00000000 --- a/examples/polish_taxes/tests/test_a7_u1_p3.catala_pl +++ /dev/null @@ -1,17 +0,0 @@ -> Include: ../podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl - -## Test - Art. 7 ustęp 1 punkt 3 - -```catala -deklaracja zakres Test_A7_U1_P3: - sprzedaż zakres OdpłatneUżytkowanie - -zakres Test_A7_U1_P3: - definicja sprzedaż.kwota wynosi 100 PLN - - asercja sprzedaż.podatek = 1 PLN -``` -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P3 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/polish_taxes/tests/test_a7_u1_p4.catala_pl b/examples/polish_taxes/tests/test_a7_u1_p4.catala_pl deleted file mode 100644 index 0c453391..00000000 --- a/examples/polish_taxes/tests/test_a7_u1_p4.catala_pl +++ /dev/null @@ -1,17 +0,0 @@ -> Include: ../podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl - -## Test - Art. 7 ustęp 1 punkt 4 - -```catala -deklaracja zakres Test_A7_U1_P4: - sprzedaż zakres PożyczkaLubDepozytNieprawidłowy - -zakres Test_A7_U1_P4: - definicja sprzedaż.kwota wynosi 200 PLN - - asercja sprzedaż.podatek = 1 PLN -``` -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P4 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/polish_taxes/tests/test_a7_u1_p7.catala_pl b/examples/polish_taxes/tests/test_a7_u1_p7.catala_pl deleted file mode 100644 index 2b5f89df..00000000 --- a/examples/polish_taxes/tests/test_a7_u1_p7.catala_pl +++ /dev/null @@ -1,17 +0,0 @@ -> Include: ../podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl - -## Test - Art. 7 ustęp 1 punkt 7 - -```catala -deklaracja zakres Test_A7_U1_P7: - sprzedaż zakres PożyczkaLubDepozytNieprawidłowy - -zakres Test_A7_U1_P7: - definicja sprzedaż.kwota wynosi 200 PLN - - asercja sprzedaż.podatek = 1 PLN -``` -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P7 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/polish_taxes/tests/test_a7_u1_p9.catala_pl b/examples/polish_taxes/tests/test_a7_u1_p9.catala_pl deleted file mode 100644 index c9cae692..00000000 --- a/examples/polish_taxes/tests/test_a7_u1_p9.catala_pl +++ /dev/null @@ -1,17 +0,0 @@ -> Include: ../podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl - -## Test - Art. 7 ustęp 1 punkt 9 - -```catala -deklaracja zakres Test_A7_U1_P9: - sprzedaż zakres UmowaSpółki - -zakres Test_A7_U1_P9: - definicja sprzedaż.kwota wynosi 1000 PLN - - asercja sprzedaż.podatek = 5 PLN -``` -```catala-test-inline -$ catala Interpret -s Test_A7_U1_P9 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/prestations_familiales/Makefile b/examples/prestations_familiales/Makefile deleted file mode 100644 index da830b17..00000000 --- a/examples/prestations_familiales/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=prestations_familiales.catala_fr - -include ../Makefile.common.mk diff --git a/examples/prestations_familiales/prestations_familiales.catala_fr b/examples/prestations_familiales/prestations_familiales.catala_fr deleted file mode 100644 index a1297550..00000000 --- a/examples/prestations_familiales/prestations_familiales.catala_fr +++ /dev/null @@ -1,10 +0,0 @@ -> Inclusion: ../smic/smic.catala_fr - -> Inclusion: prologue.catala_fr - -# Code de la sécurité sociale - -> Inclusion: sécurité_sociale_L.catala_fr - -> Inclusion: sécurité_sociale_R.catala_fr - diff --git a/examples/prestations_familiales/prologue.catala_fr b/examples/prestations_familiales/prologue.catala_fr deleted file mode 100644 index bc833d58..00000000 --- a/examples/prestations_familiales/prologue.catala_fr +++ /dev/null @@ -1,38 +0,0 @@ -# Prologue : prestations familiales - -Avant de présenter les textes réglementaires qui régissent le calcul des -prestations familiales, il est nécessaire de définir les structures de données -informatiques qui modélisent la situation dont parlent ces textes législatifs. - -```catala-metadata -déclaration énumération SituationObligationScolaire: - -- Avant - -- Pendant - -- Après - -déclaration structure EnfantPrestationsFamiliales : - donnée identifiant contenu entier - donnée obligation_scolaire contenu SituationObligationScolaire - donnée rémuneration_mensuelle contenu argent - donnée date_de_naissance contenu date - donnée a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen - -déclaration champ d'application ÉligibilitéPrestationsFamiliales: - entrée date_courante contenu date - entrée résidence contenu Collectivité - - interne plafond_l512_3_2 contenu argent - - contexte résultat âge_l512_3_2 contenu durée - résultat droit_ouvert condition - dépend de enfant contenu EnfantPrestationsFamiliales - résultat conditions_hors_âge condition - dépend de enfant contenu EnfantPrestationsFamiliales - résultat régime_outre_mer_l751_1 condition - - smic champ d'application Smic - -champ d'application ÉligibilitéPrestationsFamiliales: - définition smic.résidence égal à résidence - définition smic.date_courante égal à date_courante -``` diff --git a/examples/prestations_familiales/sécurité_sociale_L.catala_fr b/examples/prestations_familiales/sécurité_sociale_L.catala_fr deleted file mode 100644 index f66b75b8..00000000 --- a/examples/prestations_familiales/sécurité_sociale_L.catala_fr +++ /dev/null @@ -1,130 +0,0 @@ -## Partie législative - -### Livre 5 : Prestations familiales et prestations assimilées - -#### Titre 1 : Champ d'application - Généralités - -##### Chapitre 1er : Liste des prestations - -###### Article L511-1 | LEGIARTI000041979747 - -Les prestations familiales comprennent : - -1°) la prestation d'accueil du jeune enfant ; - -2°) les allocations familiales ; - -3°) le complément familial ; - -4°) L'allocation de logement régie par les dispositions du livre VIII du code de la construction et de l'habitation ; - -5°) l'allocation d'éducation de l'enfant handicapé ; - -6°) l'allocation de soutien familial ; - -7°) l'allocation de rentrée scolaire ; - -8°) L'allocation forfaitaire versée en cas de décès d'un enfant ; - -9°) l'allocation journalière de présence parentale. - -NOTA : - -Conformément au IV de l’article 5 de la loi n° 2020-692 du 8 juin 2020, -ces dispositions entrent en vigueur à une date fixée par décret, et au plus -tard à compter du 1er janvier 2022, au titre des enfants dont le décès -intervient à compter de cette date. Se reporter aux dispositions du V du -même article en ce qui concerne le versement d'une l'allocation forfaitaire -transitoire. - -##### Chapitre 2 : Champ d'application - -###### Article L512-3 | LEGIARTI000041979743 - -Sous réserve des règles particulières à chaque prestation, -ouvre droit aux prestations familiales : - -1°) tout enfant jusqu'à la fin de l'obligation scolaire ; - -```catala -champ d'application ÉligibilitéPrestationsFamiliales : - étiquette cas_base règle droit_ouvert de enfant sous condition - enfant.obligation_scolaire sous forme Avant ou - enfant.obligation_scolaire sous forme Pendant - conséquence rempli -``` - -2°) après la fin de l'obligation scolaire, et jusqu'à un âge limite, tout enfant -dont la rémunération éventuelle n'excède pas un plafond. - -```catala -champ d'application ÉligibilitéPrestationsFamiliales : - étiquette cas_base règle droit_ouvert de enfant sous condition - enfant.obligation_scolaire sous forme Après et - (enfant.rémuneration_mensuelle <= plafond_l512_3_2) et - (résultat de VérificationÂgeSupérieurÀ avec - { -- date_naissance: enfant.date_de_naissance - -- date_courante: date_courante - -- années: âge_l512_3_2 }).est_supérieur - conséquence rempli - - # On définit les conditions hors âge d'abord car elles - # sont référencées plus tard dans l'article L521-1 - règle conditions_hors_âge de enfant sous condition - (enfant.obligation_scolaire sous forme Avant ou - enfant.obligation_scolaire sous forme Pendant ou - enfant.obligation_scolaire sous forme Après) et - (enfant.rémuneration_mensuelle <= - plafond_l512_3_2) - conséquence rempli -``` - -Toutefois, pour l'attribution du complément familial et de l'allocation de -logement mentionnés aux 3° et 4° de l'article L. 511-1 , l'âge limite peut être -différent de celui mentionné au 2° du présent article. - -Pour l'attribution de l'allocation forfaitaire versée en cas de décès d'un enfant -prévue à l'article L. 545-1, l'âge limite retenu peut être différent de celui -fixé en application du 2° du présent article et la condition relative à la -rémunération de l'enfant n'est pas exigée. - -NOTA : Conformément au IV de l’article 5 de la loi n° 2020-692 du 8 juin 2020, -ces dispositions entrent en vigueur à une date fixée par décret, et au plus -tard à compter du 1er janvier 2022, au titre des enfants dont le décès intervient -à compter de cette date. Se reporter aux dispositions du V du même article en -ce qui concerne le versement d'une l'allocation forfaitaire transitoire. - -```catala -# Sera géré avec une exception dans Catala. Le texte est équivalent -# à une méta-propriété du code à vérifier : i.e. pas d'exceptions pour -# cet âge autre part que pour Complément Familial ou AllocationLogement. -``` - - -### Livre 7 : Régimes divers - Dispositions diverses - -#### Titre 5 : Dispositions particulières à la Guadeloupe, à la Guyane, à la Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin - -##### Chapitre 1er : Généralités - -###### Article L751-1|LEGIARTI000031323778 - -Les dispositions du présent titre s'appliquent en Guadeloupe, en Guyane, -en Martinique, à La Réunion, à Saint-Barthélemy et à Saint-Martin à -l'ensemble des bénéficiaires de la législation générale de sécurité -sociale, y compris les membres des professions agricoles. - -```catala -# Angle mort: ici nous n'avons pas formalisé la partie sur la législation -# générale de sécurité sociale et les membres des professions agricoles. - -champ d'application ÉligibilitéPrestationsFamiliales : - règle régime_outre_mer_l751_1 sous condition - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) - conséquence rempli -``` diff --git a/examples/prestations_familiales/sécurité_sociale_R.catala_fr b/examples/prestations_familiales/sécurité_sociale_R.catala_fr deleted file mode 100644 index 9049ec8d..00000000 --- a/examples/prestations_familiales/sécurité_sociale_R.catala_fr +++ /dev/null @@ -1,65 +0,0 @@ -## Partie réglementaire - Décrets en Conseil d'Etat - -### Livre 5 : Prestations familiales et prestations assimilées - -#### Titre 1 : Champ d'application - Généralités - -##### Chapitre 2 : Champ d'application. - -###### Article R512-2|LEGIARTI000006750602 - -Les enfants ouvrent droit aux prestations familiales jusqu'à l'âge de vingt -ans sous réserve que leur rémunération n'excède pas le plafond fixé au deuxième -alinéa du présent article. - -```catala -# Attention: ici la condition de ressources au dessous du plafond est une -# répétition par rapport au texte de L512-3. On ne remet donc pas le code -# ici correspondant à cette limitation. - -champ d'application ÉligibilitéPrestationsFamiliales : - définition âge_l512_3_2 égal à 20 an -``` - -Le plafond de rémunération mentionné au 2° de l'article L. 512-3 est égal, pour -un mois, à 55 % du salaire minimum interprofessionnel de croissance défini aux -articles L. 141-1 à L. 141-9 du code du travail, multiplié par 169. - - -```catala -champ d'application ÉligibilitéPrestationsFamiliales : - définition plafond_l512_3_2 égal à - (smic.brut_horaire * 55 %) * 169,0 -``` - -Pour ceux des enfants qui bénéficient d'avantages en nature, l'évaluation de ces -avantages devra être faite suivant les barèmes fixés pour l'application de la -législation sur les assurances sociales. - - -```catala -# Le programme Catala ne tient pas en compte des avantages en nature. -# TODO: Liane, faire de la recherche juridique sur le sujet. -``` - -### Livre 7 : Régimes divers - Dispositions diverses - -#### Titre 5 : Départements d'outre-mer - -##### Chapitre 5 : Prestations familiales et prestations assimilées - -###### Article R755-0-2|LEGIARTI000006752633 - -Le plafond de rémunération des enfants à charge mentionnés à l'article -L. 512-3 est égal, pour un mois, à 55 % du salaire minimum de croissance en -vigueur dans chacun des départements mentionnés à l'article L. 751-1 , -multiplié par 169. - -```catala -champ d'application ÉligibilitéPrestationsFamiliales : - exception - définition plafond_l512_3_2 - sous condition régime_outre_mer_l751_1 - conséquence égal à - (smic.brut_horaire * 55%) * 169,0 -``` diff --git a/examples/prestations_familiales/tests/tests_ouverture_droits.catala_fr b/examples/prestations_familiales/tests/tests_ouverture_droits.catala_fr deleted file mode 100644 index 541bf841..00000000 --- a/examples/prestations_familiales/tests/tests_ouverture_droits.catala_fr +++ /dev/null @@ -1,58 +0,0 @@ -> Inclusion: ../prestations_familiales.catala_fr - -# Tests - -```catala -déclaration champ d'application Données: - résultat enfant1 contenu EnfantPrestationsFamiliales - résultat enfant2 contenu EnfantPrestationsFamiliales - résultat enfant3 contenu EnfantPrestationsFamiliales - résultat enfant4 contenu EnfantPrestationsFamiliales - -champ d'application Données: - définition enfant1 égal à EnfantPrestationsFamiliales { - -- identifiant: 1 - -- obligation_scolaire : Pendant - -- date_de_naissance: |2007-01-01| - -- rémuneration_mensuelle: 0€ - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - } - définition enfant2 égal à EnfantPrestationsFamiliales { - -- identifiant: 2 - -- obligation_scolaire : Après - -- date_de_naissance: |2003-01-01| - -- rémuneration_mensuelle: 1000€ - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - } - définition enfant3 égal à EnfantPrestationsFamiliales { - -- identifiant: 3 - -- obligation_scolaire : Après - -- date_de_naissance: |2003-01-01| - -- rémuneration_mensuelle: 400€ - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - } - définition enfant4 égal à EnfantPrestationsFamiliales { - -- identifiant: 4 - -- obligation_scolaire : Après - -- date_de_naissance: |1999-01-01| - -- rémuneration_mensuelle: 0€ - -- a_déjà_ouvert_droit_aux_allocations_familiales: vrai - } - -déclaration champ d'application Test1: - données champ d'application Données - f champ d'application ÉligibilitéPrestationsFamiliales - -champ d'application Test1: - définition f.date_courante égal à |2020-05-01| - définition f.résidence égal à Métropole - assertion (f.droit_ouvert de données.enfant1) - assertion (non (f.droit_ouvert de données.enfant2)) - assertion (f.droit_ouvert de données.enfant3) - assertion (non (f.droit_ouvert de données.enfant4)) -``` - -```catala-test-inline -$ catala Interpret -s Test1 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/prologue_france/Makefile b/examples/prologue_france/Makefile deleted file mode 100644 index 887bfefd..00000000 --- a/examples/prologue_france/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=prologue.catala_fr - -include ../Makefile.common.mk diff --git a/examples/prologue_france/prologue.catala_fr b/examples/prologue_france/prologue.catala_fr deleted file mode 100644 index b71f9ee7..00000000 --- a/examples/prologue_france/prologue.catala_fr +++ /dev/null @@ -1,38 +0,0 @@ -```catala-metadata -# Cette catégorisation des collectivités d'outre-mer est pour l'instant plate -# mais on pourrait la subdiviser plus finement selon les conseils du guide -# de légistique du Conseil d'État. En effet les articles 73 et 74 de la -# Constitution établissent deux régimes différents pour les collectivités -# d'outre-mer. -déclaration énumération Collectivité : - -- Guadeloupe - -- Guyane - -- Martinique - -- LaRéunion - -- SaintBarthélemy - -- SaintMartin - -- Métropole - -- SaintPierreEtMiquelon - -- Mayotte - -déclaration champ d'application VérificationÂgeInférieurOuÉgalÀ: - entrée date_naissance contenu date - entrée date_courante contenu date - entrée années contenu durée - résultat est_inférieur_ou_égal contenu booléen - -champ d'application VérificationÂgeInférieurOuÉgalÀ: - définition est_inférieur_ou_égal égal à - date_naissance + années <= date_courante - date arrondi croissant - -déclaration champ d'application VérificationÂgeSupérieurÀ: - entrée date_naissance contenu date - entrée date_courante contenu date - entrée années contenu durée - résultat est_supérieur contenu booléen - -champ d'application VérificationÂgeSupérieurÀ: - définition est_supérieur égal à date_naissance + années > date_courante - date arrondi croissant -``` diff --git a/examples/smic/Makefile b/examples/smic/Makefile deleted file mode 100644 index 6daa225e..00000000 --- a/examples/smic/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=smic.catala_fr - -include ../Makefile.common.mk diff --git a/examples/smic/smic.catala_fr b/examples/smic/smic.catala_fr deleted file mode 100644 index 25713cf9..00000000 --- a/examples/smic/smic.catala_fr +++ /dev/null @@ -1,331 +0,0 @@ -# Montant du salaire minimum de croissance - -## Prologue - -> Inclusion: ../prologue_france/prologue.catala_fr - -```catala-metadata -déclaration champ d'application Smic : - entrée date_courante contenu date - entrée résidence contenu Collectivité - résultat brut_horaire contenu argent - -champ d'application Smic : - # Ce programme ne peut pas être utilisé avec des dates trop anciennes, - # pour lesquelles les textes en vigueur n'ont pas été formalisés. - assertion date_courante >= |2019-01-01| -``` - -## Décret n° 2018-1173 du 19 décembre 2018 portant relèvement du salaire minimum de croissance - -### Article 1 | JORFARTI000037833214 - -A compter du 1er janvier 2019, pour les catégories de travailleurs mentionnés à -l' article L. 2211-1 du code du travail , le montant du salaire minimum de -croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, -à Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, -son montant est porté à 10,03 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 10,03 € -``` - -2° A Mayotte, son montant est fixé à 7,57 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2019-01-01| et date_courante <= |2019-12-31| et ( - (résidence = Mayotte) - ) - conséquence égal à 7,57 € -``` - -## Décret n° 2019-1387 du 18 décembre 2019 portant relèvement du salaire minimum de croissance - -### Article 1 | LEGIARTI000039640195 - -A compter du 1er janvier 2020, pour les catégories de travailleurs mentionnés à -l' article L. 2211-1 du code du travail , le montant du salaire minimum de -croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, -à Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, -son montant est porté à 10,15 € l'heure ; - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 10,15 € -``` - -2° A Mayotte, son montant est fixé à 7,66 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2020-01-01| et date_courante <= |2020-12-31| et ( - (résidence = Mayotte) - ) - conséquence égal à 7,66 € -``` - -## Décret n° 2020-1598 du 16 décembre 2020 portant relèvement du salaire minimum de croissance - -### Article 1 | JORFARTI000042677367 - -A compter du 1er janvier 2021, pour les catégories de travailleurs mentionnés à -l' article L. 2211-1 du code du travail , le montant du salaire minimum de -croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, -à Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, -son montant est porté à 10,25 € l'heure ; - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2021-01-01| et date_courante <= |2021-12-31| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 10,25 € -``` - -2° A Mayotte, son montant est fixé à 7,74 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2021-01-01| et date_courante <= |2021-12-31| et ( - (résidence = Mayotte) - ) - conséquence égal à 7,74 € -``` - -## Décret n° 2021-1741 du 22 décembre 2021 portant relèvement du salaire minimum de croissance - -### Article 1 | JORFARTI000044546655 - -A compter du 1er janvier 2022, pour les catégories de travailleurs mentionnés à -l' article L. 2211-1 du code du travail , le montant du salaire minimum de -croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à -Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, son montant est -porté à 10,57 euros l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2022-01-01| et date_courante <= |2022-04-30| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 10,57 € -``` - - -2° A Mayotte, son montant est fixé à 7,98 euros l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2022-01-01| et date_courante <= |2022-04-30| et ( - (résidence = Mayotte) - ) - conséquence égal à 7,98 € -``` - -## Arrêté du 19 avril 2022 relatif au relèvement du salaire minimum de croissance - -### Article 2 | JORFARTI000045602327 - -En conséquence, à compter du 1er mai 2022, pour les catégories de travailleurs -mentionnés à l' article L. 2211-1 du code du travail , le montant du salaire -minimum de croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à -Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, son montant -est porté à 10,85 € l'heure ; - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2022-05-01| et date_courante <= |2022-07-31| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 10,85 € -``` - -2° A Mayotte, son montant est fixé à 8,19 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2022-05-01| et date_courante <= |2022-07-31| et ( - (résidence = Mayotte) - ) - conséquence égal à 8,19 € -``` - -## Arrêté du 29 juillet 2022 relatif au relèvement du salaire minimum de croissance - -### Article 2 | JORFARTI000046113526 - -En conséquence, à compter du 1er août 2022, pour les catégories de travailleurs -mentionnés à l' article L. 2211-1 du code du travail , le montant du salaire -minimum de croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, -à Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, -son montant est porté à 11,07 € l'heure ; - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2022-08-01| et date_courante <= |2022-12-31| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 11,07 € -``` - -2° A Mayotte, son montant est fixé à 8,35 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2022-08-01| et date_courante <= |2022-12-31| et ( - (résidence = Mayotte) - ) - conséquence égal à 8,35 € -``` - -## Décret n° 2022-1608 du 22 décembre 2022 portant relèvement du salaire minimum de croissance - -### Article 1 | JORFARTI000046780051 - - -A compter du 1er janvier 2023, pour les catégories de travailleurs mentionnés à -l' article L. 2211-1 du code du travail , le montant du salaire minimum de -croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, -à Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, -son montant est porté à 11,27 euros l'heure ; - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2023-01-01| et date_courante < |2023-05-01| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 11,27 € -``` - -2° A Mayotte, son montant est fixé à 8,51 euros l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2023-01-01| et date_courante < |2023-05-01| et ( - (résidence = Mayotte) - ) - conséquence égal à 8,51 € -``` - -## Arrêté du 26 avril 2023 relatif au relèvement du salaire minimum de croissance - -### Article 2 | JORFARTI000047495827 - -En conséquence, à compter du 1er mai 2023, pour les catégories de travailleurs -mentionnés à l'article L. 2211-1 du code du travail, le montant du salaire -minimum de croissance est relevé dans les conditions ci-après : - -1° En métropole, en Guadeloupe, en Guyane, en Martinique, à La Réunion, à -Saint-Barthélemy, à Saint-Martin et à Saint-Pierre-et-Miquelon, son montant -est porté à 11,52 € l'heure ; - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2023-05-01| et ( - (résidence = Métropole) ou - (résidence = Guadeloupe) ou - (résidence = Guyane) ou - (résidence = Martinique) ou - (résidence = LaRéunion) ou - (résidence = SaintBarthélemy) ou - (résidence = SaintMartin) ou - (résidence = SaintPierreEtMiquelon) - ) - conséquence égal à 11,52 € -``` - -2° A Mayotte, son montant est fixé à 8,70 € l'heure. - -```catala -champ d'application Smic : - définition brut_horaire sous condition - date_courante >= |2023-05-01| et ( - (résidence = Mayotte) - ) - conséquence égal à 8,70 € -``` \ No newline at end of file diff --git a/examples/tutorial_en/.gitignore b/examples/tutorial_en/.gitignore deleted file mode 100644 index 5304e283..00000000 --- a/examples/tutorial_en/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -_minted* -*.toc -*.pyg -*.d -*.ml \ No newline at end of file diff --git a/examples/tutorial_en/Makefile b/examples/tutorial_en/Makefile deleted file mode 100644 index 5bcab213..00000000 --- a/examples/tutorial_en/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=en -SRC=tutorial_en.catala_en - -include ../Makefile.common.mk diff --git a/examples/tutorial_en/tests/test_tutorial.catala_en b/examples/tutorial_en/tests/test_tutorial.catala_en deleted file mode 100644 index c684da2f..00000000 --- a/examples/tutorial_en/tests/test_tutorial.catala_en +++ /dev/null @@ -1,39 +0,0 @@ -> Include: ../tutorial_en.catala_en - -## Test - -```catala -declaration scope UnitTest1: - tax_computation scope NewIncomeTaxComputation - -scope UnitTest1: - definition - tax_computation.individual - equals - Individual { - -- income: $230,000 - -- number_of_children: 0 - } - assertion tax_computation.income_tax = $72,000 - -declaration scope UnitTest2: - tax_computation scope NewIncomeTaxComputationFixed - -scope UnitTest2: - definition tax_computation.individual equals Individual { - -- income: $4,000 - -- number_of_children: 0 - } - - assertion tax_computation.income_tax = $0.00 -``` - -```catala-test-inline -$ catala Interpret -s UnitTest1 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s UnitTest2 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/tutorial_en/tutorial_en.catala_en b/examples/tutorial_en/tutorial_en.catala_en deleted file mode 100644 index 41ab0154..00000000 --- a/examples/tutorial_en/tutorial_en.catala_en +++ /dev/null @@ -1,1004 +0,0 @@ -# The Catala language tutorial - -Welcome to this tutorial, whose objective is to guide you through the features -of the Catala language and teach you how to annotate a legislative text using -the language. This document is addressed primarily to developers or people that -have a programming background, though tech-savvy lawyers will probably figure -things out. - -```catala -# Welcome to the code mode of Catala. This is a comment, because the line is -# prefixed by #. - -# This tutorial does not cover the installation of Catala. For more -# information about this, please refer the readme at: -# https://github.com/CatalaLang/catala#building-and-installation - -# If you want to get started with your own Catala program to follow this -# tutorial, simply create an empty file with the extension .catala_en -# and start typing your program. - -# For a complete reference of the Catala syntax, see: -# https://github.com/CatalaLang/catala/raw/master/doc/syntax/syntax.pdf - -# This tutorial itself is written as a Catala program and can be accessed at: -# https://github.com/CatalaLang/catala/blob/master/examples/tutorial_en -``` - -## Literate programming - -To begin writing a Catala program, you must start from the text of the -legislative source that will justify the code that you will write. Concretely, -that means copy-pasting the text of the law into a Catala source file and -formatting it according so that Catala can understand it. Catala source files -have the ".catala_en" extension. If you were to write a Catala program for a -French law, you would use the ".catala_fr" extension; for Polish law, -"catala_pl", etc. - -You can write any kind of plain text in Catala, and it will be printed as is -in PDF or HTML output. You can split your text into short lines of less than -80 characters, terminal-style, and those will appear as a single paragraph -in the output. If you want to create a new paragraph, you have to leave a blank -line in the source. The syntax for non-code text in a Catala program follows -a subset of Markdown that supports titles and Catala block codes. - -Catala allows you to declare section or subsection headers as it is done -here, with the "#" symbol. You can define heading of lower -importance by adding increasing numbers of "#" after the title of the heading. -Generally, the literate programming syntax of Catala follows the syntax of -Markdown (though it does not have all of its features). - -In the rest of this tutorial, we will analyze a fictional example that -defines an income tax. This income tax is defined through several articles -of law, each of them introduced by a header. Here is the first one: - -### Article 1 - -The income tax for an individual is defined as a fixed percentage of the -individual's income over a year. - -```catala -# We will soon learn what to write here in order to translate the meaning -# of the article into Catala code. - -# To create a block of Catala code in your file, bound it with Mardown-style -# "```catala" and "```" delimiters. -``` - -To translate that fictional income tax definition into a Catala program, -we will intertwine short snippets of code between the sentences of -the legislative text. Each snippet of code should be as short as possible and -as close as possible to the actual sentence that justifies the code. This style -is called literate programming, a programming paradigm invented by the famous -computer scientist Donald Knuth in the 70s. - -## Defining a fictional income tax - -The content of article 1 uses a lot of implicit context: there exists an -individual with an income, as well as an income tax that the individual has -to pay each year. Even if this implicit context is not verbatim in the law, -we have to explicit it for programming purposes. Concretely, we need a -"metadata" section that defines the shape and types of the data used -inside the law. - -Let's start our metadata section by declaring the type information for the -individual, the taxpayer that will be the subject of the tax computation. -This individual has an income and a number of children, both pieces of -information which will be needed for tax purposes : - -```catala-metadata -declaration structure Individual: - # The name of the structure "Individual", must start with an - # uppercase letter: this is the CamelCase convention. - data income content money - # In this line, "income" is the name of the structure field and - # "money" is the type of what is stored in that field. - # Available types include: integer, decimal, money, date, duration, - # and any other structure or enumeration that you declare. - data number_of_children content integer - # "income" and "number_of_children" start by a lowercase letter, - # they follow the snake_case convention. -``` - -This structure contains two data fields, "income" and "number_of_children". -Structures are useful to group together data that goes together. Usually, you -get one structure per concrete object on which the law applies (like the -individual). It is up to you to decide how to group the data together, -but you should aim to optimize code readability. - -Sometimes, the law gives an enumeration of different situations. These -enumerations are modeled in Catala using an enumeration type, like: - -```catala-metadata -declaration enumeration TaxCredit: -# The name "TaxCredit" is also written in CamelCase. --- NoTaxCredit -# This line says that "TaxCredit" can be a "NoTaxCredit" situation. --- ChildrenTaxCredit content integer -# This line says that alternatively, "TaxCredit" can be a -# "ChildrenTaxCredit" situation. This situation carries a content -# of type integer corresponding to the number of children concerned -# by the tax credit. This means that if you're in the "ChildrenTaxCredit" -# situation, you will also have access to this number of children. -``` - -In computer science terms, such an enumeration is called a "sum type" or simply -an enum. The combination of structures and enumerations allow the Catala -programmer to declare all possible shapes of data, as they are equivalent to -the powerful notion of "algebraic data types". - -We've defined and typed the data that the program will manipulate. Now we have -to define the logical context in which this data will evolve. This is done in -Catala using "scopes". Scopes are close to functions in terms of traditional -programming. Scopes also have to be declared in metadata, so here we go: - -```catala-metadata -declaration scope IncomeTaxComputation: - # Scope names use CamelCase. - input individual content Individual - # This line declares a scope variable of the scope, which is akin to - # a function parameter in computer science term. This is the piece of - # data on which the scope will operate. - internal fixed_percentage content decimal - output income_tax content money -``` - -The scope is the basic abstraction unit in Catala programs, and the declaration -of the scope is akin to a function signature: it contains a list of all the -arguments along with their types. But in Catala, scopes' variables stand -for three things: input arguments, local variables and outputs. The difference -between these three categories can be specified by the different input/output -attributes preceding the variable names. "input" means that the variable has to -be defined only when the scope IncomeTaxComputation is called. "internal" means -that the variable cannot be seen from outside the scope: it is neither an input -nor an output of the scope. "output" means that a caller scope can retrieve the -computed value of the variable. Note that a variable can also be simulataneously -an input and an output of the scope, in that case it should be annotated with -"input output". - -We now have everything to annotate the contents of article 1, which is copied -over below. - -### Article 1 - -The income tax for an individual is defined as a fixed percentage of the -individual's income over a year. - -```catala -scope IncomeTaxComputation: - definition income_tax equals - individual.income * fixed_percentage -``` - -In the code, we are defining inside our scope the amount of the income tax -according to the formula described in the article. When defining formulas, -you have access to all the usual arithmetic operators: addition "+", -subtraction "-", multiplication "*" and division (slash). - -However, in the Catala code, you should be aware that these operators can behave -differently depending on the quantities considered: indeed, money for example is -rounded at the cent. The Catala compiler is able to automatically select the -appropriate operation: here it can detect that money is being multiplied by a -decimal which is a known operation that yields an amount of money, rounded at -the cent. Some other operations are not allowed, like multiplying two amounts of -money together, or adding two dates. - -Coming back to article 1, one question remains unknown: what is the value -of the fixed percentage? Often, precise values are defined elsewhere in the -legislative source. Here, let's suppose we have: - -### Article 2 - -The fixed percentage mentioned at article 1 is equal to 20 %. - -```catala -scope IncomeTaxComputation: - definition fixed_percentage equals 20 % - # Writing 20% is just an abbreviation for "0.20". -``` - -You can see here that Catala allows definitions to be scattered throughout -the annotation of the legislative text, so that each -definition is as close as possible to its location in the text. - -## Conditional definitions - -So far so good, but now the legislative text introduces some trickiness. Let us -suppose the third article says: - -### Article 3 - -If the individual is in charge of 2 or more children, then the fixed -percentage mentioned at article 1 is equal to 15 %. - -```catala -# How to redefine fixed_percentage? -``` - -This article actually gives another definition for the fixed percentage, which -was already defined in article 2. However, article 3 defines the percentage -conditionally to the individual having more than 2 children. Catala allows -you precisely to redefine a variable under a condition: - -```catala -scope IncomeTaxComputation: - definition fixed_percentage under condition - individual.number_of_children >= 2 - consequence equals 15 % - # Writing 15% is just an abbreviation for "0.15". -``` -While conditional definitions are a powerful tool for expressing legal conditions, -a correctly drafted legislative source should always ensure that at most one -condition is true at all times. This way, when the Catala program is -executed, the right definition will be dynamically chosen by looking at which -condition is true. - -Here, however, our definition of `fixed_percentage` conflicts -with the more general definition that we gave above---so Catala will give us -an error if we try and use this definition as is. In situations like this, Catala -allows us to define a precedence on the conditions, which has to be justified by -the law. But we will see how to do that later. - -## Rules - -So far, you've learnt how to declare a scope with some variables, and -give definitions to these variables scattered accross the text of -the law at the relevant locations. But there is a pattern very frequent -in legislative texts: what about conditions? A condition is a value that -can be either true or false, like a boolean in programming. However, the -law implicitly assumes a condition is false unless specified otherwise. -This pattern is so common in law that Catala gives it a special syntax. More -precisely, it calls the definition of conditions "rules", which coincides -with the usual meaning law people would give it. - -Here is an example of a condition that might arise in the law: - -### Article 3 bis - -The children eligible for application of article 3 - -```catala -# To deal with children eligibility, we create a new scope. -declaration scope Child: - input age content integer - # The age of the child can be declared as before. - output is_eligible_article_3 condition - # For we declare the eligibility using the special "condition" keyword - # that stands for the content of the variable. - -scope Child: - rule is_eligible_article_3 under condition age < 18 consequence fulfilled - # When defining when a condition is true, we use the special "rule" syntax - # instead of "definition". Rules set conditions to be "fulfilled" or - # "not fulfilled" conditionally. -``` - -When interacting with other elements of the code, condition values behaves -like boolean values. - -## Functions - -Catala lets you define functions anywhere in your scope variable. Indeed, -Catala is a functional language and encourages using functions to describe -relationships between data. Here's what it looks -like in the metadata definition when we want to define a two-brackets tax -computation: - -```catala-metadata -declaration structure TwoBrackets: - data breakpoint content money - data rate1 content decimal - data rate2 content decimal -# This structure describes the parameters of a tax computation formula that -# has two tax brackets, each with their own tax rate. - -declaration scope TwoBracketsTaxComputation : - input brackets content TwoBrackets - # This input variable contains the description of the - # parameters of the tax formula. - output tax_formula content money depends on income content money - # But for declaring the tax_formula variable, we declare it as - # a function: "content money depends on income content money" means a function - # that returns money as output (the tax) and takes the income money as input. -``` - -### Article 4 - -The tax amount for a two-brackets computation is equal to the amount -of income in each bracket multiplied by the rate of each bracket. - -```catala -scope TwoBracketsTaxComputation : - definition tax_formula of income equals - # The money parameter for the "tax_formula" function is introduced as - # "income". The name of the parameter is your choice, and will not impact - # things outside this part of the definition. You can choose another - # name in another definition of "tax_formula". - if income <= brackets.breakpoint then - income * brackets.rate1 - else ( - brackets.breakpoint * brackets.rate1 + - (income - brackets.breakpoint) * brackets.rate2 - ) - # This is the formula for implementing a two-bracketstax system. -``` - -## Scope inclusion - -Now that we've defined our helper scope for computing a two-brackets tax, we -want to use it in our main tax computation scope. As mentioned before, -Catala's scope can also be thought of as big functions. And these big functions -can call each other, which is what we'll see in the below article. - -### Article 5 - -For individuals whose income is greater than $100,000, the income -tax of article 1 is 40% of the income above $100,000. Below $100,000, the -income tax is 20% of the income. - -```catala -declaration scope NewIncomeTaxComputation: - two_brackets scope TwoBracketsTaxComputation - # This line says that we add the item two_brackets to the context. - # However, the "scope" keyword tells that this item is not a piece of data - # but rather a subscope that we can use to compute things. - input individual content Individual - output income_tax content money - -scope NewIncomeTaxComputation : - # Since the subscope "two_brackets" is like a big function we can call, - # we need to define its arguments. This is done below: - definition two_brackets.brackets equals TwoBrackets { - -- breakpoint: $100,000 - -- rate1: 20% - -- rate2: 40% - } - # By defining the input variable "brackets" of the subscope "two_brackets", - # we have changed how the subscope will execute. The subscope will execute - # with all the values defined by the caller, then compute the value - # of its other variables. - - definition income_tax equals two_brackets.tax_formula of individual.income - # After the subscope has executed, you can retrieve results from it. Here, - # we retrive the result of variable "tax_formula" of computed by the - # subscope "two_brackets". It's up yo you to choose what is an input and - # an output of your subscope; if you make an inconsistent choice, the - # Catala compiler will warn you. -``` - -Now that we've successfully defined our income tax computation, the legislator -inevitably comes to disturb our beautiful and regular formulas to add a special -case! The article below is a really common pattern in statutes, and let's -see how Catala handles it. - -### Article 6 - -Individuals earning less than $10,000 are exempted of the income tax mentioned -at article 1. - -```catala -scope NewIncomeTaxComputation: - # Here, we simply define a new conditional definition for "income tax" - # that handles the special case. - definition income_tax under condition - individual.income <= $10,000 - consequence equals $0 - # What, you think something might be wrong with this? Hmmm... We'll see - # later! -``` - -That's it! We've defined a two-brackets tax computation with a special case -simply by annotating legislative article by snippets of Catala code. -However, attentive readers may have caught something weird in the Catala -translation of articles 5 and 6. What happens when the income of the individual -is lesser than $10,000? Right now, the two definitions at articles 5 and 6 -for income_tax apply, and they're in conflict. - -This is a flaw in the Catala translation, but the language can help you -find this sort of errors via simple testing or -even formal verification. Let's start with the testing. - -## Testing Catala programs - -Testing Catala programs can be done directly into Catala. Indeed, writing test -cases for each Catala scope that you define is a good practice called -"unit testing" in the software engineering community. A test case is defined -as another scope: - -### Testing NewIncomeTaxComputation - -```catala -declaration scope Test1: - # We include the scope to tax as a subscope. - tax_computation scope NewIncomeTaxComputation - output income_tax content money - -# To execute that test, assuming that the Catala compiler can be called -# with "catala", enter the following command: -# catala Interpret --scope=Test1 tutorial_en.catala_en - -scope Test1: - definition - tax_computation.individual - # We define the argument to the subscope - equals - # The four lines below define a whole structure by giving a value to - # each of its fields - Individual { - -- income: $230,000 - -- number_of_children: 0 - } - - definition income_tax equals tax_computation.income_tax - # Next, we retrieve the income tax value compute it by the subscope and - # assert that it is equal to the expected value : - # ($230,000-100,000)*40%+100,000*20% = $72,000 - assertion income_tax = $72,000 -``` - -This test should pass. Let us now consider a failing test case: - -```catala -declaration scope Test2: - tax_computation scope NewIncomeTaxComputation - output income_tax content money - -scope Test2: - definition tax_computation.individual equals Individual { - -- income: $4,000 - -- number_of_children: 0 - } - - definition income_tax equals tax_computation.income_tax - assertion income_tax = $0 -``` - -This test case should compute a $0 income tax because of Article 6. But instead, -execution will yield an error saying that there is a conflict between rules. - -## Defining exceptions to rules - -Indeed, the definition of the income tax in article 6 conflicts with the -definition of income tax in article 5. But actually, article 6 is just an -exception of article 5. In the law, it is implicit that if article 6 is -applicable, then it takes precedence over article 5. - -### Fixing the computation - -This implicit precedence has to be explicitly declared in Catala. Here is a -fixed version of the NewIncomeTaxComputation scope: - -```catala -declaration scope NewIncomeTaxComputationFixed: - two_brackets scope TwoBracketsTaxComputation - input individual content Individual - output tax_formula content money depends on income content money - context output income_tax content money - # This variable is tagged with "context", a new concept which we have not - # introduced yet. For now, ignore it as we'll come back to it in the section - # "Context scope variables". - -scope NewIncomeTaxComputationFixed : - definition two_brackets.brackets equals TwoBrackets { - -- breakpoint: $100,000 - -- rate1: 20% - -- rate2: 40% - } - definition tax_formula of income equals two_brackets.tax_formula of income -``` - -To define an exception to a rule, you have to first label the rule that -you want to attach the exception to. You can put any snake_case identifier -for the label: - -```catala -scope NewIncomeTaxComputationFixed: - label article_5 - definition income_tax equals two_brackets.tax_formula of individual.income - - # Then, you can declare the exception by referring back to the label - exception article_5 - definition income_tax under condition - individual.income <= $10,000 - consequence equals $0 -``` - -And the test that should now work: - -```catala -declaration scope Test3: - tax_computation scope NewIncomeTaxComputationFixed - output income_tax content money - -scope Test3: - definition tax_computation.individual equals Individual { - -- income: $4,000 - -- number_of_children: 0 - } - definition income_tax equals tax_computation.income_tax - assertion income_tax = $0 -``` - -### Defining exceptions to groups of rules - -Note that the label system also lets you define more complicated exceptions -patterns. Sometimes, you want to declare an exception to a group of -piecewise definitions. To do that, simply use the same label for all -the piecewise definitions. - -### Cumulative exceptions - -As we have seen, two exceptions applying at the same time to a given rule are in -conflict, and trigger an error. It happens, though, that these exceptions yield -the same end result: for convenience, Catala tolerates this case and returns the -common result, as long as there is a strict syntactic equality. - -#### Article 6 bis - -Individuals with 7 children or more are exempted of the income tax mentioned -at article 1. - -```catala -scope NewIncomeTaxComputationFixed: - exception article_5 - definition income_tax under condition - individual.number_of_children >= 7 - consequence equals $0 -``` - -The same problem as above would be triggered for families with an income below -`$10,000` and 7 children or more. But here Catala can detect that it won't -matter since the result in both cases is an exemption. - -```catala -declaration scope Test4: - tax_computation scope NewIncomeTaxComputationFixed - output income_tax content money - -scope Test4: - definition tax_computation.individual equals Individual { - -- income: $7,000 - -- number_of_children: 7 - } - definition income_tax equals tax_computation.income_tax - assertion income_tax = $0 -``` - -### Direct scope calls - -In some cases, it is useful to apply the computation of a scope only under -specific circumstances. For example, some social benefits may have different -computation modes depending on the situation of the beneficiary. In this case, -defining each of the different modes as subscopes is tedious for two reasons: -first, some input values may not be relevant for the cases the beneficiary is -not concerned with, and the language will still enforce that you leave nothing -undefined ; second, unnecessary computation will take place. - -For these cases, it is possible to call a scope directly, specifying all its -input variables at once, and getting back its output variables in a way similar -to usual subscopes. - -```catala -declaration scope Test5: - internal individual content Individual - internal normal_income_tax_computation_applies content boolean - output income_tax content money - -scope Test5: - definition normal_income_tax_computation_applies equals true - definition individual equals Individual { - -- income: $7,000 - -- number_of_children: 7 - } - definition income_tax equals - if normal_income_tax_computation_applies then - (output of NewIncomeTaxComputationFixed with - { -- individual: individual }).income_tax - else $0 # Insert some other modes of computation here -``` - -Here the `output of NewIncomeTaxComputationFixed with` syntax triggers a call of the scope -while setting its input variable `individual`; then the "dot" syntax is used to -recover its `income_tax` output field. - -## Context scope variables - -With its "input","output" and "internal" variables, Catala's scope are close -to regular functions with arguments, local variables and output. However, the -law can sometimes be adversarial to good programming practices and define -provisions that break the abstraction barrier normally associated to a function. - -This can be the case when an outside body of legislative text "reuses" a -a legal concept but adding a twist on it. Consider the following fictionnal -(but not quite pathological computational-wise) example. - -### Article 7 - -The justice system delivers fines to individuals when they committed an offense. -The fines are determined based on the amount of taxes paid by the individual. -The more taxes the invidual pays, the higher the fine. However, the determination -of the amount of taxes paid by an individual in this context shall include -a flat tax fee of $500 for individuals earning less than $10,000. - -```catala -# To compute the basis determined for issuing the fines, we create a new scope. -declaration scope BasisForFineDetermination: - tax_computation scope NewIncomeTaxComputationFixed - # This scope will call the NewIncomeTaxComputationFixed scope that defines - # the proper tax computation. - input individual content Individual - output basis_for_fine content money - -scope BasisForFineDetermination : - # First, we link the inputs and outputs of the two scopes. - definition tax_computation.individual equals individual - definition basis_for_fine equals tax_computation.income_tax - - # But then, how to account for the provision of the law that reverts the - # mechanism canceling taxes for individuals earning less than $10,000 dollars? - - # This is where the "context" concept comes into play. Indeed, we had - # annotated the "income_tax" variable of "NewIncomeTaxComputationFixed" with - # the "context" attribute. "context" is a variant of "input" that exposes the - # variable as an input of the scope. However, it is more permissive than - # "input" because it lets you re-define the "context" variable inside its - # own scope. Then, you're faced with a choice for the value of "income_tax": - # do you take the value coming from its definition inside - # "NewIncomeTaxComputationFixed" or do you take the value coming from the - # input of the scope? This dilemma is resolved in two ways. First, by looking - # at the conditions of the definitions: only definitions that have a condition - # evaluating to "true" at runtime will be considered. If there's only one, - # the pick is easy. But what if two definitions trigger at the same time, - # one from the input and one from the "NewIncomeTaxComputationFixed" scope? - # Well, second, in that case we always prioritize the input definition for - # picking. In Catala, the caller scope has priority over the callee scope - # for "context" variable. It's as if the caller provided an extra exception - # for the definition of the scope variable. - - # Back to our little problem, the solution is here to provide from the outside - # an exceptional definition for income tax for people earning less than - # $10,0000. - definition tax_computation.income_tax under condition - individual.income <= $10,000 - consequence equals $500 -``` - -## One variable, multiple states - -When a quantity is mentioned in the law, it does not always maps exactly to -a unique Catala variable. More precisely, it often happens that the law defines -a unique quantity with multiple computation steps, each new one building on the -previous one. Here is an example of such a setup and how to deal with it thanks -to a dedicated Catala feature. - -Under the hood, the different states of a Catala variable are implemented by -distinct variables inside the lower intermediate representations of the -language. - -### Article 8 - -For taxation purposes, the values of the building operated for charity -purposes can be deducted from the wealth of the individual, which is then -capped at $2,500,000. - -```catala -declaration scope WealthTax: - input value_of_buildings_used_for_charity content money - input total_wealth content money - internal wealth content money - # After the type of the variable, we can define the ordered list of states - # that the variable shall take before computing its final value. In each - # state, we'll be able to refer to the value of the previous state. - state total - state after_charity_deductions - state after_capping - -scope WealthTax: - definition wealth state total equals total_wealth - definition wealth state after_charity_deductions equals - wealth - # Here, "wealth" refers to the state "total" - value_of_buildings_used_for_charity - definition wealth state after_capping equals - if wealth >= $2,500,000 then $2,500,000 else wealth - # Here, "wealth" refers to the state "after_charity_decuctions" - - assertion wealth > $0 - # Outside of the definition of "wealth", "wealth" always refer to the final - # state of the variable, here "after_capping". - -``` - -## Catala values - -So far, this tutorial has introduced you to the basic structure of Catala -programs with scope, definitions and exceptions. But to be able to handle -most statutes, Catala comes with support for the usual types of values -on which legislative computations operate. - -### Booleans - -Booleans are the most basic type of value in Catala: they can be either true -or false. Conditions are simply booleans with a default value of false, -see the section about conditions above. - -```catala -declaration scope BooleanValues: - internal value1 condition - internal value2 content boolean - -scope BooleanValues: - rule value1 under condition false and true consequence fulfilled - # Sets the boolean of the value1 condition to "true" under condition - # "false and true" - definition value2 equals value1 xor (value1 and true) = false - # Boolean operators include and, or, xor -``` - -### Integers - -Integers in Catala are infinite precision: they behave like true mathematical -integers, and not like computer integers that are bounded by a maximum value -due to them being stored in 32 or 64 bits. Integers can be negative. - -```catala -declaration scope IntegerValues: - internal value1 content integer - internal value2 content integer - -scope IntegerValues: - definition value1 under condition 12 - (5 * 3) < 65 consequence equals 45 * 9 - # The / operators corresponds to an integer division that truncates towards 0. - definition value2 equals value1 * value1 * 65 * 100 -``` - -### Decimals - -Decimals in Catala also have infinite precisions, behaving like true mathematical -rational numbers, and not like computer floating point numbers that perform -approximate computations. Operators are suffixed with ".". - -```catala -declaration scope DecimalValues: - internal value1 content decimal - internal value2 content decimal - -scope DecimalValues: - definition value1 under condition - 12.655465446655426 - 0.45265426541654 < 12.3554654652 consequence - equals 45 / 9 - # The / operator corresponds to an exact division. The division of integers - # yields a decimal. - definition value2 equals value1 * value1 * 65% - # Percentages are decimal numbers (0.65 here) -``` - -### Money - -In Catala, money is simply represented as an integer number of cents. You cannot -in Catala have a more precise amount of money than a cent. However, you can -muliply an amount of money by a decimal, and the result is rounded towards the -nearest cent. This principled behaviour to keep track of where you need precision -in your computations and select decimals for precision instead of relying on -money figures where sub-cent precision matters. Two money amounts can be divided, -yielding a decimal. - -```catala -declaration scope MoneyValues: - internal value1 content decimal - internal value2 content money - -scope MoneyValues: - definition value1 under condition - 12.655465446655426 - 0.45265426541654 < 12.3554654652 consequence - equals (decimal of 45) / (decimal of 9) - definition value2 equals - $1.00 * ((($6,520.23 - $320.45) * value1) / $45) -``` - - -### Dates and durations - -Catala has support for Gregorian calendar dates as well as duration computations -in terms of days, months and years. A difference between dates is a duration -measured in days, and the addition of a date and a duration yields a new date. -Durations measured in days, months or years are not mixable with each other, -as months and years do not always have the same number of days. This non-mixability -is not captured by the type system of Catala but will yield errors at runtime. -Date literals are specified using the ISO 8601 standard to avoid confusion between -american and european notations. Date operators are prefixed by "@" while -duration operators are prefixed by "^". - -```catala -declaration scope DateValues: - internal value1 content date - internal value2 content duration - -scope DateValues: - definition value1 equals |2000-01-01| + 1 year # yields |2001-01-01| - definition value2 equals - (value1 - |1999-12-31|) + 45 day # 367 + 45 days (2000 is bissextile) -``` - -### Listes - -Often, Catala programs need to speak about a collection of data because the law -talks about the number of children, the maximum of a list, etc. Catala features -first-class support for lists. -You can create a list, filter its elements but also aggregate over its contents -to compute all sorts of values. - -```catala -declaration scope ListValues: - internal value1 content list of integer - internal value2 content integer - -scope ListValues: - definition value1 equals [45;-6;3;4;0;2155] - definition value2 equals sum integer of (i * i) for i among value1 - # sum of squares -``` - -## Conclusion - -This tutorial presents the basic concepts and syntax of the Catala language -features. It is then up to you use them to annotate legislative texts -with their algorithmic translation. - -There is no single way to write Catala programs, as the program style should be -adapted to the legislation it annotates. However, Catala is a functional -language at heart, so following standard functional programming design patterns -should help achieve concise and readable code. - - - -# Annex A: top-level value definitions - -Toplevel definitions provide a way to define values or functions directly in the -program, without putting them in a scope. This is useful for constants or helper -functions, as shown in the examples below. - -Toplevel definitions are available by name throughout the program ; they can -depend on each other (as long as there are no cycles), but are not allowed to -rely on any scope evaluations. - -## Example 1: toplevel constants - -### A. Using only scope definitions - -a. Throughout this corpus, the number of workdays per week is assumed to be 5. - -```catala -declaration scope WorkdaysPerWeek: - output value content integer - -scope WorkdaysPerWeek: - definition value equals 5 - -# Requiring to declare the scope with just an output variable is quite -# cumbersome, and impedes readability -``` - -b. The General Lunch Allocation is $2 per workday, over the number of work weeks. - -```catala -declaration scope LunchAllocation_A: - input number_of_work_weeks content integer - workdays_per_week scope WorkdaysPerWeek - # The subscope needs to be declared just to access its value. - # Note that in some cases it may be a good thing to have that dependency - # explicit - output value content money - -scope LunchAllocation_A: - definition value equals - $2 * (number_of_work_weeks * workdays_per_week.value / 7) - # The value requires . to be accessed -``` - - - -### B. Using toplevel definitions - -a. Throughout this corpus, the number of workdays per week is assumed to be 5. - -```catala -declaration workdays_per_week content integer equals 5 -# This is more straightforward: declaration and value are given at once, -# no need for a sub-variable name. -``` - -b. The General Lunch Allocation is $2 per workday, over the number of work weeks. - -```catala -declaration scope LunchAllocation_B: - input number_of_work_weeks content integer - output value content money - -scope LunchAllocation_B: - definition value equals $2 * (number_of_work_weeks * workdays_per_week / 7) - # No need for a subscope, `workdays_per_week` is accessed directly by name -``` - -## Example 2: toplevel functions - -a. The base allocation is equal to 30% of the rent - -```catala -declaration scope Allocation: - input rent content money - output value content money - state base - state final - -scope Allocation: - definition value state base equals rent * 30% -``` - -### A. With the current syntax - -b. The final allocation is rounded up to the next multiple of $100 - -```catala -scope Allocation: - definition value state final equals - round of (value / 100.0 + $0.49) * 100.0 - # Here you should explain why that formula does what the text says, - # since that's far from obvious - # It's ok if it's just used once, but far from ideal if that specific - # rounding is used all over the law. -``` - - -### B. Proposed new syntax for "toplevel functions" - -b. The final allocation is rounded up to the next multiple of $100 - -```catala -declaration round_up_100 - content money - depends on money_amount content money - equals - round of (money_amount / 100.0 + $0.49) * 100.0 - # The explanation is still needed, but it doesn't clutter the current scope - # This definition could even be put in the Prelude - -scope Allocation: - definition value state final equals round_up_100 of value -``` - -## Example 3: functions with multiple parameters - -The amount to include in gross income is the excess of the fair market value of -the property over the amount paid. - -```catala-metadata -declaration scope IncludeInGrossIncome: - input fair_market_value content money - input amount_paid content money - output amount_to_include content money -``` - -### A. With the current syntax - -```catala -scope IncludeInGrossIncome: - definition amount_to_include equals - if fair_market_value > amount_paid then fair_market_value - amount_paid - else $0 - # That's basically the definition of "excess of" -``` - -### B. With a two-argument function - -```catala -declaration excess - content money - depends on x content money, - y content money - equals - if x > y then x - y - else $0 - -scope IncludeInGrossIncome: - definition amount_to_include equals excess of fair_market_value, amount_paid -``` diff --git a/examples/tutoriel_fr/.gitignore b/examples/tutoriel_fr/.gitignore deleted file mode 100644 index 5304e283..00000000 --- a/examples/tutoriel_fr/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -_minted* -*.toc -*.pyg -*.d -*.ml \ No newline at end of file diff --git a/examples/tutoriel_fr/Makefile b/examples/tutoriel_fr/Makefile deleted file mode 100644 index bf2ffb31..00000000 --- a/examples/tutoriel_fr/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=fr -SRC=tutoriel_fr.catala_fr - -include ../Makefile.common.mk diff --git a/examples/tutoriel_fr/tests/test_tutoriel.catala_fr b/examples/tutoriel_fr/tests/test_tutoriel.catala_fr deleted file mode 100644 index 0b648a81..00000000 --- a/examples/tutoriel_fr/tests/test_tutoriel.catala_fr +++ /dev/null @@ -1,39 +0,0 @@ -> Inclusion: ../tutoriel_fr.catala_fr - -#### Test - -```catala -déclaration champ d'application TestUnitaire1: - calcul_impôt champ d'application NouveauCalculImpôtRevenu - -champ d'application TestUnitaire1: - définition - calcul_impôt.personne - égal à - Personne { - -- revenu: 230 000€ - -- nombre_enfants: 0 - } - assertion calcul_impôt.impôt_revenu = 72 000€ - -déclaration champ d'application TestUnitaire2: - calcul_impôt champ d'application NouveauCalculImpôtRevenuCorrect - -champ d'application TestUnitaire2: - définition calcul_impôt.personne égal à Personne { - -- revenu: 4 000 € - -- nombre_enfants: 0 - } - - assertion calcul_impôt.impôt_revenu = 0,00 € -``` - -```catala-test-inline -$ catala Interpret -s TestUnitaire1 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s TestUnitaire2 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/tutoriel_fr/tutoriel_fr.catala_fr b/examples/tutoriel_fr/tutoriel_fr.catala_fr deleted file mode 100644 index 085205f8..00000000 --- a/examples/tutoriel_fr/tutoriel_fr.catala_fr +++ /dev/null @@ -1,1057 +0,0 @@ -# Tutoriel d’utilisation du langage Catala - -Bienvenue dans ce tutoriel, son objectif est de vous accompagner dans les -fonctionnalités du langage Catala et de vous apprendre d’annoter des textes -législatifs avec ce langage. Ce document s’adresse principalement à des -développeurs ou des personnes ayant déjà programmé, même si des juristes avec -des compétences en informatique devraient pouvoir s’en sortir. - -```catala -# Attention, ce tutoriel en français n’est peut-être pas à jour avec -# les dernières fonctionnalités du langage. En effet, le tutoriel en anglais -# disponible sur https://catala-lang.org/en/examples/tutorial constitue -# la référence pour le langage. - -# Bienvenue dans le code de Catala. Ceci est un commentaire, parce que la ligne -# est prefixée par #. - -# Ce tutoriel ne couvre pas l’installation de Catala. Pour plus -# d’informations sur ce sujet, veuillez-vous référer à : -# https://github.com/CatalaLang/catala#building-and-installation - -# Si vous souhaitez commencez votre propre programme Catala pour suivre ce -# tutoriel, créez simplement un fichier vide avec l’extension .catala_fr -# et commencez à taper votre programme. - -# Pour une référence complète de la syntaxe Catala, voyez sur : -# https://github.com/CatalaLang/catala/raw/master/doc/syntax/syntax.pdf - -# Ce tutoriel est lui-même écrit comme un programme Catala et est accessible à : -# https://github.com/CatalaLang/catala/blob/master/examples/tutoriel_fr -``` - -## Programmation littéraire - -Pour commencer à écrire un programme Catala, vous devez partir du texte -d’une source législative qui va justifier le code que vous écrirez. -Concrètement, cela signifie de faire un copier-coller du texte de la loi dans un -fichier source Catala, et de le formater afin que Catala puisse le comprendre. -Les fichiers sources Catala ont l’extension « .catala_en » en version anglaise. -Si vous écriviez un programme Catala pour une loi française, vous devrez -utiliser l’extension « .catala_fr »; pour une loi polonaise, « catala_pl », etc. - -Vous pouvez écrire n’importe quel texte simple en Catala, cela sera affiché -sans modification dans une sortie PDF ou HTML. Vous pouvez découper votre texte -en de courtes lignes de moins de 80 caractères, donnant un style « terminal », -et cela apparaîtra comme un seul paragraphe en sortie. Si vous voulez créer un -nouveau paragraphe, laisser une ligne vierge dans le fichier source. -Dans un programme Catala, la syntaxe du texte, autre que du code, reprend un -sous-ensemble du langage Markdown qui supporte des titres et des blocs de code -Catala. - -Catala vous permet de déclarer des en-têtes de section ou de sous-section, -comme c’est le cas ici, avec le symbole «#». Vous pouvez diminuer l’importance -du titre en augmentant le nombre de «#» après le titre de l’en-tête. -Généralement, la syntaxe de la programmation littéraire de Catala suit la -syntaxe de Markdown (bien qu’il n’ait pas toutes ses fonctionnalités). - -Dans le reste de ce tutoriel, nous allons étudier un exemple fictif qui définit -un impôt sur le revenu. Cet impôt sur le revenu est définit à travers différents -articles de loi, chacun d’eux étant introduit par un en-tête. Le premier -commence ici : - -### Article 1 - -L’impôt sur le revenu d’un individu est calculé en tant qu’un pourcentage fixe -sur les revenus d’une personne pour une année. - -```catala -# Nous allons bientôt apprendre ce que l’on doit écrire, ici, pour traduire -# le sens d’un article de loi en code Catala. - -# Pour créer un bloc de code Catala dans votre fichier, encadrez le avec -# les délimiteurs Markdown « ```catala » et « ``` ». -``` - -Afin de traduire cette définition fictive de l’impôt sur le revenu en un -programme Catala, nous allons entremêler des bouts de code entre les phrases -du texte législatif. Chaque bout de code devra être aussi court que possible -et aussi proche que possible de la phrase qui justifie le code. Ce style -s’appelle la programmation littéraire, un paradigme de programmation inventé -par le célèbre informaticien Donald Knuth dans les années 70. - -## Définir un impôt fictif sur le revenu - -Le contenu de l’article 1 utilise beaucoup d’éléments contextuels implicites : -il existe une personne avec un revenu et en même temps un impôt sur le revenu, -qu’une personne doit acquitter chaque année. Même si ce contexte implicite n’est -pas inscrit en tant que tel dans la loi, nous devons l’expliciter pour le -traduire en code. Concrètement, nous avons besoin d’une section « métadonnées » -qui définit la forme et les types de données contenues dans la loi. - -Commençons notre section métadonnée en déclarant l’information sur le type -« personne », c’est à dire le contribuable qui sera le sujet du calcul de -l’impôt. Cette personne a un revenu et un nombre d’enfants, qui sont des -pièces d’information qui seront nécessaires pour les objectifs fiscaux : - -```catala-metadata -déclaration structure Personne: - # Le nom de la structure « Personne », doit commencer - # par une lettre majuscule: c'est la convention « CamelCase ». - donnée revenu contenu argent - # A cette ligne, « revenu » est le nom du champ de la structure et - # « argent » est le type de données de ce champ. - # On peut utiliser d’autres types comme : entier, décimal, - # argent, date, durée ou tout autre structure ou énumération - # que vous aurez déclaré - donnée nombre_enfants contenu entier - # « revenu » et « nombre_enfants » commencent par une lettre minuscule, - # ils adhèrent à la convention « snake_case ». -``` - -Cette structure contient deux champs de données, « revenu » et -« nombre_enfants ». Les structures sont utiles pour regrouper des données qui -vont ensemble. Typiquement, vous aurez une structure pour une entité concrète -sur laquelle s’applique la loi (comme une personne). C’est à vous de décider -comment regrouper les données, mais vous devrez viser à optimiser la lisibilité -du code. - -Parfois, la loi donne une énumération de différentes situations. Ces énumérations -sont modélisées en Catala par le type énumération, comme suit : - -```catala-metadata -déclaration énumération CréditImpôt: -# Le nom "CréditImpôt" s’écrit aussi en « CamelCase » --- AucunCréditImpôt -# Cette ligne indique que « CréditImpôt » peut être -# en situation « AucunCréditImpôt » --- CréditImpôtEnfants contenu entier -# Cette ligne indique, de manière alternative, que « CréditImpôt » peut aussi -# être une situation « CréditImpôtEnfants ». Cette situation porte un contenu -# de type entier qui correspond au nombre d’enfants concernés par le crédit -# d’impôt. Cela signifie que si vous êtes dans la situation  -# « CréditImpôtEnfants », vous aurez aussi accès à ce nombre d’enfants. -``` - -En informatique, une telle énumération est appelée « type somme » ou simplement -énumération. La combinaison de structures et d’énumération permet au programmeur -Catala de déclarer toutes les formes possibles de données, car cette combinaison -est équivalente à la puissante notion de « types de données algébriques ». - -Nous avons défini et typé les données que le programme va manipuler. Maintenant, -nous devons définir un contexte logique dans lequel ces données vont évoluer. -On effectue cela par la notion de « champ d’application » en Catala. -Les champs d’application sont proches des fonctions en termes de programmation -traditionnelle. Les champs d’application doivent avoir été déclarés -préalablement dans les métadonnées, de la manière suivante: - -```catala-metadata -déclaration champ d'application CalculImpôtRevenu: - # Les champs d’application utilisent le CamelCase - entrée personne contenu Personne - # Cette ligne déclare un élémént de contexte du champ d'application, - # cela ressemble à un paramètre de fonction en informatique. C'est la - # donnée sur laquelle le champ d'application va intervenir - interne pourcentage_fixe contenu décimal - résultat impôt_revenu contenu argent -``` - -Le champ d'application est l’unité d’abstraction de base dans des programmes -Catala, et la déclaration du champ d’application est semblable à une signature -de fonction : elle contient une liste de tous les paramètres ainsi que leurs -types. Mais dans Catala, les variables d’un champ d’application représentent -trois choses: paramètres d’entrées, paramètres locaux et paramètres de -résultats. La différence entre les trois catégories peuvent être spécifiées par -les différents attributs d’entrée/résultat qui précèdent les noms de variables. -« entrée » signifie que la variable doit être définie seulement quand le champ -d’application « CalculImpôtRevenu » est appelé. -« interne » signifie que la variable ne peut pas être vue en dehors du champ -d’application : elle n’est ni une entrée, ni un résultat du champ d’application. -« résultat » signifie qu’un appel au champ d’application peut récupérer la -valeur calculée de la variable. Notez qu’une variable peut aussi être -simultanément une entrée et un résultat du champ d’application, dans ce cas -elle devrait être annotée avec "entrée résultat". - -Nous avons maintenant tout ce dont nous avons besoin pour annoter le contenu -de l’article 1 qui a été copié ci-dessous. - -### Article 1 - -L’impôt sur le revenu pour une personne est défini comme un pourcentage fixe -des revenus de la personne pour une année. - -```catala -champ d'application CalculImpôtRevenu: - définition impôt_revenu égal à - personne.revenu * pourcentage_fixe -``` - -Dans le code, nous définissons à l’intérieur de notre champ d’application -le montant d’impôt sur le revenu selon la formule décrit dans l’article. -Quand nous définissons des formules, vous avez accès à tous les opérateurs -arithmétiques habituels : addition "+", soustraction "-", multiplication "*" -et division (barre oblique). - -Toutefois, dans le code Catala, ces opérateurs peuvent avoir un sens légèrement -différent suivant les unités concernées. En effet, l’argent par exemple est -arrondi au centime. Le compilateur Catala sélectionne automatiquement -l’opération appropriée: ici, de l’argent est multiplié par un pourcentage (soit -un nombre décimal), ce qui est une opération connue dont le résultat est une -quantité d’argent, arrondie au centime. D’autres opérations sont rejetées, comme -la multiplication de deux quantités d’argent entre elles, ou l’addition de deux -dates. - -Revenons à l’article 1, dont une question reste sans réponse: quelle est la -valeur du pourcentage fixe ? Souvent, des valeurs précises sont définies -ailleurs dans les sources législatives. Ici, supposons que nous avons: - -### Article 2 - -Le pourcentage fixe mentionné à l’article 1 est égal à 20%. - -```catala -champ d'application CalculImpôtRevenu: - définition pourcentage_fixe égal à 20% - # Ecrire 20% est juste une abbréviation pour « 0.20 » -``` - -Vous pouvez voir ici que Catala permet des définitions réparties dans toute -l’annotation du texte législatif, afin que chaque définition soit le plus -proche possible de sa localisation dans le texte. - -## Définitions conditionnelles - -Jusqu'à là tout va bien mais maintenant le texte législatif présente quelques -difficultés. Supposons que le troisième article s’écrit : - -### Article 3 - -Si l’individu a à sa charge deux ou plus enfants, alors -le pourcentage fixe mentionné à l’article 1 vaut 15 %. - -```catala -# Comment redéfinir « pourcentage_fixe » ? -``` - -Cet article donne en réalité une autre définition pour le pourcentage fixe, -préalablement défini à l’article 2. De plus, l’article 3 définit le pourcentage -de manière conditionnelle pour la personne ayant plus de deux enfants. -Catala permet de redéfinir précisément une variable sous une condition : - -```catala -champ d'application CalculImpôtRevenu: - définition pourcentage_fixe sous condition - personne.nombre_enfants >= 2 - conséquence égal à 15% - # Ecrire 15% est juste une abbréviation pour « 0.15 » -``` - -Même si les définitions conditionelles sont un outil puissant et expressif, -une document juridique correctement rédigé doit toujours garantir qu’une seule -condition au maximum soit vraie à tout moment. De cette façon, quand le -programme Catala va s’exécuter, la juste définition sera choisie dynamiquement -en déterminant quelle condition est vraie, selon le contexte. - -Ici, nous pouvons détecter un conflit sur `pourcentage_fixe` entre la -définition générale et celle ci-dessus avec plus de ceux enfants. Catala -donnera une erreur à l'exécution si nous essayons d'utiliser ces définitions -de `pourcentage_fixe` avec plus de deux enfants ; les deux définitions -contradictoires sont valables en même temps. - - -Dans des situations comme celle-ci, Catala vous permettra de définir un ordre -des priorité sur les conditions, qui devra être justifié par un raisonnement -juridique. Mais nous verrons comment faire cela plus tard. - -## Règles - -Jusqu’à présent, vous avez appris comment déclarer un champ d’application avec -quelques variables, et donner des définitions à ces variables dispersées à -travers le texte de la loi, à des endroits pertinents. Mais il y a un modèle -très fréquent dans des textes législatifs : qu’en est-il des conditions ? Une -condition est une valeur qui peut être soit vraie ou fausse, comme un booléen -en programmation. Cependant, la loi suppose implicitement qu’une condition est -fausse, sauf indication contraire. Ce modèle est si commun en droit que Catala -lui donne une syntaxe spéciale. Plus précisément, il nomme la définition -de conditions des « règles », ce qui coïncide avec le sens habituel que les gens -lui donneraient. - -Voici un exemple de condition qui pourrait survenir dans la loi: - -### Article 3 bis - -Les enfants éligiblent à l’application de l’article 3. - -```catala -# Pour traiter l’égibilité des enfants, -# nous créons un nouveau champ d’application. -déclaration champ d'application Enfant: - entrée âge contenu entier - # L’âge de l’enfant peut être déclarée comme ci-dessus. - résultat éligible_à_article_3 condition - # Nous déclarons l’éligibilité en utilisant le mot-clé spécial « condition » - # qui représente le contenu de la variable. - -champ d'application Enfant: - règle éligible_à_article_3 sous condition âge < 18 conséquence rempli - # Au moment de définir la valeur d’une condition à vraie, nous utilisons - # la syntaxe spéciale « règle » au lieu de « définition ». Les règles fixent - # les conditions à « rempli » ou à « non rempli » par des tests conditionnels. -``` - -Lors de l’interaction avec d’autres éléments du code, les valeurs -des conditions se comportent comme des valeurs booléennes. - -## Fonctions - -Catala vous permet de définir des fonctions partout dans vos données. En effet, -Catala est un langage de programmation fonctionnel et encourage, en utilisant -des fonctions, à décrire les relations entre les données. Voici à quoi -cela ressemble, dans la définition des métadonnées, lorsque nous voulons -définir un calcul de l’impôt sur le revenu à deux tranches : - -```catala-metadata -déclaration structure DeuxTranches: - donnée seuil contenu argent - donnée taux1 contenu décimal - donnée taux2 contenu décimal -# Cette structure décrit les paramètres d’un calcul de la formule de l’impôt qui -# possède deux tranches d’impôts, chacune avec leur propre taux d’imposition. - -déclaration champ d'application CalculImpôtDeuxTranches : - entrée tranches contenu DeuxTranches - # Cette variable d’entrée contient la description des paramètres - # de la formule d’imposition. - résultat formule_imposition contenu argent - dépend de revenu contenu argent - # Mais en déclarant la variable « formule_imposition », nous la déclarons - # comme une fonction : « contenu argent dépend de » signifie qu’une fonction - # retourne de « l’argent » en résultat (l’impôt) et prend de « l’argent » en - # entrée (le revenu). -``` - -Et dans le code : - -### Article 4 - -Le montant de l’impôt pour le calcul à deux tranches est égal au montant -de l’impôt de chaque tranche, multiplié par le taux de chaque tranche. - -```catala -champ d'application CalculImpôtDeuxTranches : - définition formule_imposition de revenu égal à - # Le paramètre de type « argent », de la fonction « formule_imposition », - # est « revenu ». Le nom du paramètre peut-être ce que vous voulez, et cela - # n’impactera pas les autres parties du code en dehors de la définition. - # Vous pouvez choisir un autre nom pour le paramètre, lors de sa définition, - # de la fonction « formule_imposition ». - si revenu <= tranches.seuil alors - revenu * tranches.taux1 - sinon ( - tranches.seuil * tranches.taux1 + - (revenu - tranches.seuil) * tranches.taux2 - ) - # C’est cette formule pour implémenter un système à deux tranches. -``` - -## Inclusion d’un champ d'application - -Maintenant que nous avons défini notre champ d'application utilitaire pour -calculer un impôt à deux tranches, nous voulons l’utiliser dans notre champ -d’application principal du calcul de l’impôt. Comme mentionné précédement, le -champ d'application de Catala peut être aussi pensé comme de grandes fonctions. -Et ces grandes fonctions peuvent s’appeler entre elles, c’est ce que nous allons -voir dans l’article ci-dessous. - -### Article 5 - -Pour les individus dont le revenu est supérieur à 100 000€, l’impôt sur -le revenu de l’article 1 est de 40% du revenu au-delà de 100 000€. -En dessous de 100 000€, l’impôt sur le revenu est de 20% du revenu. - -```catala -déclaration champ d'application NouveauCalculImpôtRevenu: - deux_tranches champ d'application CalculImpôtDeuxTranches - # Cette ligne indique que nous ajoutons l’élément « deux_tranches » - # au contexte. Toutefois, le mot-clé « champ d'application » indique - # que l’élément n’est pas une donnée mais plutôt un sous-champ d'application, - # qui peut être utilisé pour calculer des choses. - entrée personne contenu Personne - résultat impôt_revenu contenu argent - -champ d'application NouveauCalculImpôtRevenu : - # Puisque le sous-champ d’application « deux_tranches » est une grande - # fonction que nous pouvons appelé, nous avons besoin de définir ses - # paramètres. Ceci est fait ci-dessous : - définition deux_tranches.tranches égal à DeuxTranches { - -- seuil: 100 000€ - -- taux1: 20% - -- taux2: 40% - } - # En définissant la variable d’entrée « tranches », du sous-champ - # d’application « deux_tranches », nous avons changé la manière dont - # le sous-champ d’application s’éxécutera. Le sous-champ d'application - # s’éxécutera avec toutes les valeurs définies par l’appelant, puis calculera - # la valeur de ses autres variables. - - définition impôt_revenu égal à - deux_tranches.formule_imposition de personne.revenu - # Après que le sous-champ d'application ait été éxécuté, vous pouvez en - # récupérer les résultats. Ci-dessus, vous récupérez les résultats de la - # variable « formule_imposition » calculée par le sous-champ d’application - # « deux_tranches ». C’est à vous de choisir ce qui est une entrée et un - # résultat de votre sous-champ d'application ; si vous faites un choix - # incohérent, le compilateur Catala vous en avertira. -``` -Maintenant que vous avez réussi de définir le calcul d’impôt sur le revenu, -le législateur vient inévitablement pérturber nos belles et irréprochables -formules pour rajouter un cas particulier ! L’article ci-dessous est un -modèle très fréquent dans les lois, et allez voir comment Catala le gère. - -### Article 6 - -Les personnes ayant moins de 10 000€ de revenus sont exemptés de l’impôt -sur le revenu prévu à l’article 1. - -```catala -champ d'application NouveauCalculImpôtRevenu: - # Ici, nous définissons simplement une nouvelle définition conditionnelle - # pour « l’impôt sur le revenu », qui manipule le cas particulier. - définition impôt_revenu sous condition - personne.revenu <= 10 000€ - conséquence égal à 0€ - # Quoi ? Pensez-vous que quelque chose peut-être faux avec ceci ? - # Hmmm… Nous verrons cela plus tard ! -``` - -Et voilà ! Nous avons défini un calcul d’impôt à deux tranches en annotant -tout simplement un texte législatif par des bouts de code Catala. -Cependant, les lecteurs attentifs ont vu quelque chose de curieux dans les -articles 5 et 6. Que se passe-t-il si le revenu d’une personne est inférieur -à 10 000€ ? Tout de suite, les deux définitions de l’article 5 et 6 -pour l’impôt sur le revenu s’appliquent, et ils sont en conflit. - -La loi ne le précise pas; nos articles sont clairement mal rédigés. -Mais Catala vous aide à trouver ce genre d’erreur par de simples tests ou -même la vérification formelle. Commençons par les tests. - -## Tester les programmes Catala - -Tester les programmes Catala peut se faire directement en Catala. En effet, -écrire des cas de tests pour chaque champ d’application Catala que vous -définissez est une bonne pratique, qui est appelée « tests unitaires » dans -la communauté du génie logicielle. -Les cas de test sont définis dans des champs d’application : - -### Tester NouveauCalculImpotRevenu - -```catala -déclaration champ d'application Test1: - # Incluons le champ d’application du calcul de l’impôt comme un sous-champ - calcul_impôt champ d'application NouveauCalculImpôtRevenu - résultat impôt_revenu contenu argent - -# Pour éxécuter ce test, en supposant que le compilateur Catala peut être -# appelé avec « catala », entrez la commande suivante : -# catala Interpret --scope=Test1 tutoriel_fr.catala_fr - -champ d'application Test1: - définition calcul_impôt.personne égal à - # On définit le paramètre au sous-champ d’application, puis les - # quatre lignes ci-dessous définissent une structure entière, - # dans laquelle nous y mettons des valeurs. - Personne { - -- revenu: 230 000€ - -- nombre_enfants: 0 - } - définition impôt_revenu égal à calcul_impôt.impôt_revenu - # Ensuite nous récupérons le montant de l’impôt, calculé par - # le sous-champ d’application, et nous écrivons l’assertion de - # la valeur attendue : (230 000€ - 100 000€) * 40% + 100 000€ * 20% = 72 000€ - assertion impôt_revenu = 72 000€ -``` - -Ce test devrait être bon. Maintenant étudions un test en échec : - -```catala -déclaration champ d'application Test2: - calcul_impôt champ d'application NouveauCalculImpôtRevenu - résultat impôt_revenu contenu argent - -champ d'application Test2: - définition calcul_impôt.personne égal à Personne { - -- revenu: 4 000€ - -- nombre_enfants: 0 - } - - définition impôt_revenu égal à calcul_impôt.impôt_revenu - assertion impôt_revenu = 0€ -``` - -Ce cas de test devrait calculer un impôt sur le revenu de 0€, -en raison de l’article 6. Mais au lieu de cela, l’exécution produira -une erreur car il y a un conflit entre les règles. - -## Définir des exceptions à des règles - -En effet, la définition d’un impôt sur le revenu à l’article 6 entre en -conflit avec la définition de l’article 5. Mais en réalité, l’article 6 -est une simple exception à l’article 5. Dans la loi, il est implicite que -si l’article 6 est applicable, alors son application est prioritaire -sur l’article 5. - -### Régler correctement le calcul - -Cette priorité implicite doit être explicitement déclarée en Catala. -Voici une version correcte du champ d'application NouveauCalculImpotRevenu : - -```catala -déclaration champ d'application NouveauCalculImpôtRevenuCorrect: - deux_tranches champ d'application CalculImpôtDeuxTranches - entrée personne contenu Personne - résultat formule_imposition contenu argent dépend de revenu contenu argent - contexte résultat impôt_revenu contenu argent - # Cette variable est marquée avec un « contexte », un nouveau concept que - # nous n’avons pas encore introduit. Pour le moment, ignorons le jusqu’à - # ce que nous revenions dessus dans la section « Variables de contexte ». - -champ d'application NouveauCalculImpôtRevenuCorrect : - définition deux_tranches.tranches égal à DeuxTranches { - -- seuil: 100 000€ - -- taux1: 20% - -- taux2: 40% - } - définition formule_imposition de revenu égal à - deux_tranches.formule_imposition de revenu -``` - -Pour définir une exception à une règle, vous devez d’abord étiquetter -la règle à laquelle vous voulez attacher l’exception. Vous pouvez mettre -n’importe quel identifiant en « snake_case » pour l’étiquette : - -```catala -champ d'application NouveauCalculImpôtRevenuCorrect: - étiquette article_5 - définition impôt_revenu égal à - deux_tranches.formule_imposition de personne.revenu - - # Puis, vous pouvez déclarez l’exception qui se réfère à l’étiquette - exception article_5 - définition impôt_revenu sous condition - personne.revenu <= 10 000€ - conséquence égal à 0€ -``` - -Et le test devrait désormais fonctionner : - -```catala -déclaration champ d'application Test3: - calcul_impôt champ d'application NouveauCalculImpôtRevenuCorrect - résultat impôt_revenu contenu argent - -champ d'application Test3: - définition calcul_impôt.personne égal à Personne { - -- revenu: 4 000€ - -- nombre_enfants: 0 - } - définition impôt_revenu égal à calcul_impôt.impôt_revenu - assertion impôt_revenu = 0€ -``` -### Définir des exceptions aux groupes de règles - -Notez que le système d’étiquettes vous permet de définir des modèles -d’exception plus compliqués. Parfois, vous voulez déclarer une exception -à un groupe de définitions par morceau. Pour cela, utilisez simplement la -même étiquette à tout un morceau de définitions. - -### Les exceptions cumulatives - -Comme nous l’avons vu… Deux exceptions s’appliquant pour une même règle, au même -moment, sont en conflits et déclenchent une erreur. Cela arrive, cependant, -que ces exceptions produisent le même résultat à la fin : par convenance, Catala -tolère ce cas et retourne le résultat commun, aussi longtemps qu’il y a une -stricte égalité syntaxique. - -#### Article 6 bis - -Des personnes avec 7 enfants ou plus sont exonérées de l’impôt sur le revenu -mentionné à l’article 1. - -```catala -champ d'application NouveauCalculImpôtRevenuCorrect: - exception article_5 - définition impôt_revenu sous condition - personne.nombre_enfants >= 7 - conséquence égal à 0€ -``` - -Le même problème devrait être déclenché ci-dessus, pour des familles avec un -revenu en dessous de 10 000€ et avec 7 enfants ou plus. Mais Catala peut -détecter qu’il n’y aura pas de problèmes puisque le résultat est une éxonération -dans les 2 cas. - - -### Les appels directs au champ d'application - -Dans certains cas, il est utile d’appliquer le calcul d’un champ d’application -seulement sous des circonstances spécifiques. Par exemple, certaines allocations -sociales peuvent avoir différents modes de calcul, qui dépendent de la situation -des allocataires. Dans ce cas définir chacun de ces modes de calcul, comme un -sous-champ d’application, est ennuyeux pour deux raisons : premièrement, -certaines valeurs en entrée peuvent ne pas être pertinantes dans des cas où -un allocataire n’est pas concerné, et le langage continuera d’éxiger à ce que -vous ne laissez rien d’indéfini ; deuxièmement, un calcul inutile aura lieu. - -Pour ces cas, il est possible d’appeler un champ d'application directement, en -spécifiant en même temps toutes ses variables d’entrées, et de récupérer ses -variables de résultat de la même manière qu’avec des sous-champs d’application. - - -```catala -déclaration champ d'application Test5: - interne personne contenu Personne - interne est_applicable_au_calcul_normal_impôt_revenu contenu booléen - résultat impôt_revenu contenu argent - -champ d'application Test5: - définition personne égal à Personne { - -- revenu: 7 000€ - -- nombre_enfants: 7 - } - définition impôt_revenu égal à - si est_applicable_au_calcul_normal_impôt_revenu alors - (résultat de NouveauCalculImpôtRevenuCorrect avec - { -- personne: personne }).impôt_revenu - sinon 0€ # Insérez d’autres modes de calcul ici -``` - -Ici le syntaxe « NouveauCalculImpôtRevenuCorrect avec » déclenche un appel -au champ d’application, qui valorise sa variable d’entrée « personne ». -Ensuite, la syntaxe du point « . » est utilisée pour récupérer le résultat -« impôt_revenu » du champ d’application. - -## Les variables contextuelles d’un champ d'application - -Avec ses variables « entrée », « interne » et « résultat », les champs -d’application de Catala sont proches des fonctions avec des paramètres, -des variables locales et des variables retournant un résultat. Cependant, -la loi peut parfois être contradictoire aux bonnes pratiques de programmation, -et ainsi définir des dispositions qui cassent la barrière d’abstraction -normalement associée à une fonction. - -Ceci peut être le cas quand un corps extérieur du texte législatif « réutilise » -un concept légal, mais en y ajoutant un changement. Considérez l’exemple fictif -suivant (mais pas tout à fait pathologique d’un point de vue informatique). - -### Article 7 - -Le système de justice inflige des amendes aux individus quand ils commettent une -infraction. Les amendes sont déterminées en fonction du montant des impôts payés -par le particulier. Plus l’individu paie d’impôts, plus l’amende est élevée. -Toutefois la détermination du montant de l’impôt à payer par un particulier, -dans ce contexte, comprend des frais d’imposition fixes de 500€ pour les -particuliers gagnant moins de 10 000€. - -```catala -# Pour calculer la base qui détermine l’imposition de l’amende, nous créons -# un nouveau champ d’application. -déclaration champ d'application DétermineBaseAmende: - calcul_impôt champ d'application NouveauCalculImpôtRevenuCorrect - entrée personne contenu Personne - résultat base_amende contenu argent - -champ d'application DétermineBaseAmende: - # Tout d’abord, nous relions l’entrée et le résultat des - # deux champs d’applications. - définition calcul_impôt.personne égal à personne - définition base_amende égal à calcul_impôt.impôt_revenu - - # Mais ensuite, comment prend-on en compte l’application de la loi qui - # rétablit le mécanisme d’annulation de l’impôt, pour les particuliers - # gagnant moins de 10 000€ ? - - # C'est là que le concept de « contexte » entre en jeu. En effet, nous avions - # annoté la variable « impôt_revenu », de « NouveauCalculImpôtRevenuCorrect », - # avec l’attribut « contexte ». - # « contexte » est une variante de « entrée » qui expose la variable en tant - # qu’entrée du champ d'application. Cependant, elle est plus permissive que - # « entrée » car elle vous permet de redéfinir la variable « contexte » dans - # son propre champ d'application. Vous êtes alors confronté à un choix pour - # la valeur de « impôt_revenu » : prenez-vous la valeur venant de sa - # définition, à l’intérieur de « NouveauCalculImpôtRevenuCorrect », ou - # prenez-vous la valeur venant de l’entrée du champ d'application ? - # Ce dilemme est résolu de deux manières. - # Premièrement, en examinant les conditions des définitions : seules les - # définitions, dont la condition est évaluée à « vrai > au moment de - # l’exécution, seront prises en compte. S’il n’y en a qu'une, le choix est - # facile. Mais que se passe-t-il si deux définitions se déclenchent en même - # temps, l’une provenant de l’entrée et l’autre du champ d'application - # « NouveauCalculImpôtRevenuCorrect » ? - # Deuxièmement, dans ce cas, nous donnons toujours la priorité à la définition - # de l’entrée. Dans Catala, pour la variable « contexte », le champ - # d'application de l’appelant a la priorité sur le champ d'application de - # l’appelé. C'est comme si l’appelant fournissait une exception supplémentaire - # pour la définition de la variable du champ d'application. - - # Pour en revenir à notre petit problème, la solution est ici de fournir, - # depuis l’extérieur, une définition exceptionnelle de l’impôt sur le revenu - # pour les personnes gagnant moins de 10 000€. - définition calcul_impôt.impôt_revenu sous condition - personne.revenu <= 10 000€ - conséquence égal à 500€ -``` - -## Une variable, plusieurs états - -Lorsqu'une quantité est mentionnée dans la loi, elle ne correspond pas toujours -exactement à une variable unique de Catala. Plus précisément, il arrive souvent -que la loi définisse une quantité unique avec plusieurs étapes de calcul, -chacune s’appuyant sur la précédente. Voici un exemple d’une telle -configuration et la manière de la traiter grâce à une fonction dédiée de Catala. - -Sous le capot, les différents états d’une variable de Catala sont mis en -œuvre par des variables distinctes, à l’intérieur des représentations -intermédiaires-inférieures du langage. - -### Article 8 - -Fiscalement parlant, la valeur du bâtiment exploité à des fins caritatives peut -être déduite du patrimoine d’une personne, qui est alors plafonné à 2 500 000€. - -```catala -déclaration champ d'application ImpôtSurLaFortune: - entrée valeur_du_bâtiment_pour_exploitation_caritative contenu argent - entrée total_du_patrimoine contenu argent - interne patrimoine contenu argent - # Après le type de la variable, nous pouvons définir la liste ordonnée - # des états que la variable doit prendre avant de calculer sa valeur finale. - # À chaque état, nous pourrons nous référer à la valeur de l’état précédent. - état total - état après_déduction_caritative - état après_plafonnement - -champ d'application ImpôtSurLaFortune: - définition patrimoine état total égal à total_du_patrimoine - définition patrimoine état après_déduction_caritative égal à - patrimoine - valeur_du_bâtiment_pour_exploitation_caritative - # Ci-dessus, « patrimoine » se réfère à l’état « total » - définition patrimoine état après_plafonnement égal à - si patrimoine >= 2 500 000€ alors 2 500 000€ sinon patrimoine - # Ci-dessus, « patrimoine » réfère à l’état « après_déduction_caritative » - assertion patrimoine > 0€ - # En dehors de la définition de « patrimoine », « patrimoine » réfère toujours - # à l’état final de la variable, ici « après_plafonnement ». -``` - -## Les types de données de Catala - -Jusqu'à présent, ce tutoriel vous a présenté la structure de base des programmes -Catala avec le champ d'application, les définitions et les exceptions. Mais pour -être en mesure de gérer la plupart des lois, Catala vient en soutien avec les -types de données habituels sur lesquels les calculs legislatifs opèrent. - -### Booléens - -Le booléen est le type de donnée le plus élémentaire dans Catala : sa valeur -peut être soit à « vrai », soit à « faux ». La condition est un simple booléen -avec une valeur par défaut à « faux ». Rendez-vous à la section qui -concerne les conditions, décrite plus haut. - -```catala -déclaration champ d'application ValeursBooléennes: - interne valeur1 condition - interne valeur2 contenu booléen - -champ d'application ValeursBooléennes: - règle valeur1 sous condition faux et vrai conséquence rempli - # Mets le booléen de la condition « valeur1 » à « vrai », - # si la condition « faux et vrai » est respectée. - définition valeur2 égal à valeur1 ou bien (valeur1 et vrai) = faux - # Les opérateurs booléens incluent « et », « ou », « ou bien » -``` - -### Entiers - -Les entiers dans Catala sont en précision infinie : ils se comportent comme -des vrais entiers en mathématique, et non comme des entiers d’ordinateur qui -sont limités par une valeur maximale, en raison de leur stockage sur 32 ou -64 bits. Les entiers peuvent être négatifs. - -```catala -déclaration champ d'application ValeursEntières: - interne valeur1 contenu entier - interne valeur2 contenu entier - -champ d'application ValeursEntières: - définition valeur1 sous condition 12 - (5 * 3) < 65 conséquence égal à 45 * 9 - # L’opérateur « / » correspond à une division entière qui tronque vers 0. - définition valeur2 égal à valeur1 * valeur1 * 65 * 100 -``` - -### Décimales - -Les décimales dans Catala sont aussi en précision infinie, qui se comportent -comme de vrais nombres rationnels en mathématique, et non comme des nombres -à virgule flottante dans un ordinateur qui effectuent des calculs approxmatifs. -Les opérateurs sont suffixés avec « , ». - -```catala -déclaration champ d'application ValeursDécimales: - interne valeur1 contenu décimal - interne valeur2 contenu décimal - -champ d'application ValeursDécimales: - définition valeur1 sous condition - 12,655465446655426 - 0,45265426541654 < 12,3554654652 - conséquence égal à 45 / 9 - # L’opérateur « / » correspond à une division éxacte. - # La division d’entiers produit une décimale. - définition valeur2 égal à valeur1 * valeur1 * 65% - # Les pourcentages sont des nombres décimaux (ici 0,65) -``` - -### Argent - -En Catala, l’argent est simplement représenté par un nombre entier de centimes. -Il n’est pas possible en Catala d’avoir une quantité d’argent plus précise -qu'un centime. Cependant, vous pouvez multiplier une quantité d’argent -avec une décimale, et le résultat est arrondi au centime le plus proche. - -Ce comportement vous permet de repérer l’endroit où vous avez besoin -de précision dans vos calculs et de sélectionner les décimales en guise de -précision, au lieu de vous fier sur des chiffres monétaires, où la précision -est de l’ordre du centime d’euro. Deux sommes d’argent peuvent être divisées, -produisant une décimale. - -```catala -déclaration champ d'application ValeursMonétaires: - interne valeur1 contenu décimal - interne valeur2 contenu argent - -champ d'application ValeursMonétaires: - définition valeur1 sous condition - 12,655465446655426 - 0,45265426541654 < 12,3554654652 conséquence - égal à (décimal de 45) / (décimal de 9) - définition valeur2 égal à - 1,00€ * (((6 520,23€ - 320,45€) * valeur1) / 45€) -``` - -### Dates et durées - -Catala prend en charge les dates du calendrier grégorien, ainsi que les calculs -de durée en termes de jours, de mois et d’années. La soustraction entre une date -et une durée est mesurée en jours, et l’addition entre une date et une durée -donne une nouvelle date. Les durées sont mesurées en jours, en mois ou en années -et ne peuvent pas être mélangées, car les mois et les années n’ont pas toujours -le même nombre de jours. Cette non-mixité n’est pas prise en compte par le -système de typage de Catala, mais des erreurs seront générées à l’exécution. -Les dates sont spécifiées selon la norme ISO 8601 afin d’éviter toute confusion -entre les notations américaines et européennes. Les opérateurs de date sont -préfixés par « @ », tandis que les opérateurs de durée sont préfixés par « ^ ». - -```catala -déclaration champ d'application ValeursDate: - interne valeur1 contenu date - interne valeur2 contenu durée - -champ d'application ValeursDate: - définition valeur1 égal à |2000-01-01| + 1 an # produit |2001-01-01| - définition valeur2 égal à - (valeur1 - |1999-12-31|) + 45 jour # 367 + 45 jours (2000 est bissextile) -``` - -### Collections - -Souvent, les programmes Catala ont besoin de parler de collection de données -parce que la loi parle du nombre d’enfants, du maximum d’une liste, etc. Catala -propose un support de première classe pour les listes. Vous pouvez créer une -liste, filtrer ses éléments, mais aussi agréger son contenu pour calculer toutes -sortes de valeurs. - -```catala -déclaration champ d'application ValeursDeListe: - interne valeur1 contenu liste de entier - interne valeur2 contenu entier - -champ d'application ValeursDeListe: - définition valeur1 égal à [45;-6;3;4;0;2155] - définition valeur2 égal à somme entier de (i * i) pour i parmi valeur1 - # somme de carré -``` - -## Conclusion - -Ce tutoriel présente les concepts de base et la syntaxe des fonctionnalités -du langage Catala. C’est à vous de les utiliser pour annoter du texte -législatif avec leur traduction algorithmique. - -Il n’y a pas une seule bonne façon d’écrire des programmes Catala, car le style -de programmation doit être adapté au texte de loi qui sera annoté. Cependant, -le coeur de Catala est un langage de programmation fonctionnelle. -Par conséquent, suivre les modèles de conception habituels de la programmation -fonctionnelle devrait aider à obtenir du code concis et lisible. - -# Annexe A : Les définitions de valeurs de premier niveau - -Les définitions de premier niveau permettent de définir des valeurs ou -des fonctions directement dans le programme, sans les placer dans un champ -d’application. Cela est utile pour les constantes ou les fonctions d’aide, -comme le montrent les exemples ci-dessous. - -Les définitions de premier niveau sont disponibles, en les appelant par leur nom, -dans tout le programme ; elles peuvent dépendre les unes des autres (tant qu'il -n’y a pas de cycles), mais elles ne sont pas autorisées à être dépendantes des -évaluations faites dans des champs d’application. - -## Example 1: Les constantes de premier niveau - -### A. En utilisant les définitions du champ d'application - -a. Dans ce corpus, le nombre de jours de travail par semaine est supposé -être de 5. - -```catala -déclaration champ d'application NombreDeJoursTravaillésParSemaine: - résultat valeur contenu entier - -champ d'application NombreDeJoursTravaillésParSemaine: - définition valeur égal à 5 - # L’obligation de déclarer le champ d'application avec une simple variable - # de résultat est assez lourde et nuit à la lisibilité. -``` - -b. Les frais de repas sont de 2€ par jour de travail, sur le nombre de -semaines travaillées. - -```catala -déclaration champ d'application FraisDeRepas_A: - entrée nombre_de_semaines_travaillées contenu entier - nombre_de_jours_travaillés_par_semaine champ d'application - NombreDeJoursTravaillésParSemaine - # Le sous-champ d'application doit être déclaré pour accéder à sa valeur. - # Dans certains cas, il peut être bon d’avoir une dépendance explicite. - résultat valeur contenu argent - -champ d'application FraisDeRepas_A: - définition valeur égal à - 2€ * (nombre_de_semaines_travaillées * - nombre_de_jours_travaillés_par_semaine.valeur / 7) - # La syntaxe est . - # afin d’accéder à la valeur -``` - -### B. En utilisant les définitions de premier niveau - -a. À travers ce corpus, le nombre de jours de travail par semaine est supposé -être 5. - -```catala -déclaration nombre_de_jours_travaillés_par_semaine contenu entier égal à 5 -# C’est plus simple: une déclaration et une valeur sont données en une fois, -# il n’est pas nécessaire d’un nom de sous-variable. -``` - -b. Les frais de repas sont de 2€ par jour de travail, sur le nombre de -semaines travaillées. - -```catala -déclaration champ d'application FraisDeRepas_B: - entrée nombre_de_semaines_travaillées contenu entier - résultat valeur contenu argent - -champ d'application FraisDeRepas_B: - définition valeur égal à - 2€ * (nombre_de_semaines_travaillées * - nombre_de_jours_travaillés_par_semaine / 7) - # Il n’est pas nécessaire d’un sous-champ d'application, la valeur - # de « nombre_de_jours_travaillés_par semaine » est accessible - # directement par son nom -``` - -## Exemple 2: Les fonctions de premier niveau - -a. L’allocation de base est égale à 30% du loyer - -```catala -déclaration champ d'application Allocation: - entrée loyer contenu argent - résultat valeur contenu argent - état de_base - état final - -champ d'application Allocation: - définition valeur état de_base égal à loyer * 30% -``` - -### A. Avec la syntaxe actuelle - -b. L’allocation finale est arrondie au multiple supérieur de 100€. - -```catala -champ d'application Allocation: - définition valeur état final égal à - arrondi de (valeur / 100,0 + 0,49€) * 100,0 - # Ici vous devriez expliquer pourquoi cette formule fait ce que - # le texte exprime, puisque c’est loin d’être évident. - # Ça n’est pas grave s’il est utilisé qu’une seule fois, mais c’est loin - # d’être l’idéal si cet arrondi spécifique est utilisé partout dans la loi. -``` - - -### B. Nouvelle syntaxe proposée pour les « fonctions de niveau supérieur » - -b. L’allocation finale est arrondie au multiple supérieur de 100€ - -```catala -déclaration arrondi_supérieur_à_100 - contenu argent - dépend de montant contenu argent - égal à - arrondi de (montant / 100,0 + 0,49€) * 100,0 - # L’explication est encore nécessaire, bien que - # ça n’encombre pas le champ d'application actuel. - # Cette définition pourrait même être mise dans le prologue. - -champ d'application Allocation: - définition valeur état final égal à arrondi_supérieur_à_100 de valeur -``` - -## Exemple 3: Des fonctions avec plusieurs paramètres - -Le montant à inclure dans le revenu brut est l’excédent de la juste valeur -marchande du bien sur le montant payé. - -```catala-metadata -déclaration champ d'application InclureDansRevenuBrut: - entrée juste_valeur_marchande contenu argent - entrée montant_payé contenu argent - résultat montant_à_inclure contenu argent -``` - -### A. Avec la syntaxe actuelle - -```catala -champ d'application InclureDansRevenuBrut: - définition montant_à_inclure égal à - si juste_valeur_marchande > montant_payé alors - juste_valeur_marchande - montant_payé - sinon - 0€ - # C’est essentiellement la définition de « l’excédent de » -``` - -### B. Avec une fonction à deux paramètres - -```catala -déclaration excédent - contenu argent - dépend de x contenu argent, - y contenu argent - égal à - si x > y alors x - y - sinon 0€ - -champ d'application InclureDansRevenuBrut: - définition montant_à_inclure égal à - excédent de juste_valeur_marchande, montant_payé -``` diff --git a/examples/us_tax_code/.gitignore b/examples/us_tax_code/.gitignore deleted file mode 100644 index 5304e283..00000000 --- a/examples/us_tax_code/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.aux -*.dvi -*.fdb_latexmk -*.fls -*.log -*.out -*.fls -*.tex -*.pdf -_minted* -*.toc -*.pyg -*.d -*.ml \ No newline at end of file diff --git a/examples/us_tax_code/Ideas for pair programming.md b/examples/us_tax_code/Ideas for pair programming.md deleted file mode 100644 index 398e9256..00000000 --- a/examples/us_tax_code/Ideas for pair programming.md +++ /dev/null @@ -1,23 +0,0 @@ -# Ideas for pair programming: - -* Some functions are very mathematical, and the lawyers won't be able to check that the code is correct, in that case the programmer should write up a plain text specification of the function that the layer should agree to. Then, it's up to the programmer to verify that the code matches the specification. - -* Some inputs have to be filled by the user but are regulated as a fact and circumstance, so the user interface has to flag those inputs specially and -warn the user that what he enters as input is actually governed by strict -rules - -* The difficulty of translating law to code is independent (or even it has a reverse relationship) of the difficulty of grasping the meaning of the law for the lawyer. - -* Variables are defined multiple times. We could use default prioritized logic to solve the ordering between those definitions but then it would be -difficult for the user to refer to a specific point of the chain of definitions, which happens in reality (for instance Section 24 of the US Tax Code according to Sarah). So this feature would be a nice syntactic sugar to avoid defining 6 different variables for the same concept in a simple settings but it wouldn't scale to more complex settings. - -* Whenever we try to code up an article, we identify the notions inside the article, we turn them into variables, and then we connect variables with rules. - -* Idea for the paper: compare the Catala implementation with the equivalent using OpenFisca. - -* Sometimes we have to turn a variable into a function, this -is very important and kind of the core of the formalization. - -* Formalizing helps you think way more about a statute than -you thought you knew about it. Parallel with formalization -of traditional software. diff --git a/examples/us_tax_code/Makefile b/examples/us_tax_code/Makefile deleted file mode 100644 index f71051a0..00000000 --- a/examples/us_tax_code/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CATALA_LANG=en -SRC=us_tax_code.catala_en - -include ../Makefile.common.mk diff --git a/examples/us_tax_code/preamble.catala_en b/examples/us_tax_code/preamble.catala_en deleted file mode 100644 index 0e9d691d..00000000 --- a/examples/us_tax_code/preamble.catala_en +++ /dev/null @@ -1,6 +0,0 @@ -## The US Tax Code - -```catala-metadata -declaration structure Person: - data id content integer -``` diff --git a/examples/us_tax_code/section_121.catala_en b/examples/us_tax_code/section_121.catala_en deleted file mode 100644 index ee84b1f1..00000000 --- a/examples/us_tax_code/section_121.catala_en +++ /dev/null @@ -1,457 +0,0 @@ -## Section 121 - -```catala-metadata -declaration structure Period: - data begin content date - data end content date - -declaration scope PeriodMerge: - context periods1 content list of Period - context periods2 content list of Period - output output_periods content list of Period - -scope PeriodMerge: - # Placeholders, overwritten by caller - definition periods1 equals [] - definition periods2 equals [] - - # TODO: find a way to implement the merging of two collections of date - # periods into a single non-overlapping collection of date periods such - # that the output covers both input date ranges. - definition output_periods equals [] - -declaration structure PreviousSaleWhereSection121aApplied: - data date_of_sale_or_exchange content date - - -declaration enumeration OtherSection121aSale: - -- NoOtherSaleWhereSection121aApplied - -- MostRecentSaleWhereSection121aApplied content - PreviousSaleWhereSection121aApplied - -declaration scope Section121SinglePerson: - output requirements_met condition - output requirements_ownership_met condition - output requirements_usage_met condition - input date_of_sale_or_exchange content date - input property_ownage content list of Period - # Invariant: the periods in the collection are disjoint - input property_usage_as_principal_residence - content list of Period - # Invariant: the periods in the collection are disjoint - internal aggregate_periods_from_last_five_years content duration - depends on periods content list of Period - context output gain_cap content money - input gain_from_sale_or_exchange_of_property content money - output income_excluded_from_gross_income_uncapped content money - output income_excluded_from_gross_income content money - context output section_121_b_3_applies condition - input other_section_121a_sale content OtherSection121aSale - -declaration structure PersonalData: - data property_ownage content list of Period - data property_usage_as_principal_residence - content list of Period - data other_section_121a_sale content OtherSection121aSale - -declaration structure JointReturn: - data person1 content PersonalData - data person2 content PersonalData - -declaration structure DeadSpouseInfo: - data return content PersonalData - data date_of_spouse_death content date - data death_spouse_info_at_time_of_death content PersonalData - -declaration enumeration ReturnType: - -- SingleReturn content PersonalData - -- JointReturn content JointReturn - -- SingleReturnSurvivingSpouse content DeadSpouseInfo - -declaration scope Section121TwoPersons: - context output person1 content PersonalData - section121Person1 scope Section121SinglePerson - context output person2 content PersonalData - section121Person2 scope Section121SinglePerson - internal section121a_requirements_met condition - output section_121_b_2_A_condition condition - output gain_cap_person_1 content money - output gain_cap_person_2 content money - context gain_cap content money - input return_type content ReturnType - input return_date content date - input date_of_sale_or_exchange content date - input gain_from_sale_or_exchange_of_property content money - output income_excluded_from_gross_income_uncapped content money - output income_excluded_from_gross_income content money - period_merge scope PeriodMerge - -# Defining sub-scopes arguments -scope Section121TwoPersons: - definition section121Person2.date_of_sale_or_exchange equals - date_of_sale_or_exchange - definition section121Person1.date_of_sale_or_exchange equals - date_of_sale_or_exchange - - definition person1 equals match return_type with pattern - -- SingleReturn of data_person1 : data_person1 - -- JointReturn of data_couple : data_couple.person1 - -- SingleReturnSurvivingSpouse of data_single: data_single.return - - definition person2 equals match return_type with pattern - -- SingleReturn of data_person2 : data_person2 - -- JointReturn of data_couple : data_couple.person2 - -- SingleReturnSurvivingSpouse of data_single: data_single.return - - definition section121Person1.property_ownage equals person1.property_ownage - - definition section121Person1.property_usage_as_principal_residence equals - person1.property_usage_as_principal_residence - - definition section121Person2.property_ownage equals person2.property_ownage - - definition section121Person2.property_usage_as_principal_residence equals - person1.property_usage_as_principal_residence - - definition section121Person1.gain_from_sale_or_exchange_of_property equals - gain_from_sale_or_exchange_of_property - definition section121Person2.gain_from_sale_or_exchange_of_property equals - gain_from_sale_or_exchange_of_property - - definition section121Person1.other_section_121a_sale equals - person1.other_section_121a_sale - - definition section121Person2.other_section_121a_sale equals - person2.other_section_121a_sale - - definition gain_cap_person_1 equals section121Person1.gain_cap - definition gain_cap_person_2 equals section121Person2.gain_cap - -declaration scope Section121TwoPasses: - first_pass scope Section121TwoPersons - second_pass scope Section121TwoPersons - input return_type content ReturnType - input return_date content date - input date_of_sale_or_exchange content date - input gain_from_sale_or_exchange_of_property content money - period_merge scope PeriodMerge - output income_excluded_from_gross_income content money - -# Defining sub-scopes arguments -scope Section121TwoPasses: - definition first_pass.return_type equals return_type - definition second_pass.return_type equals return_type - - definition first_pass.return_date equals return_date - definition second_pass.return_date equals return_date - - definition first_pass.gain_from_sale_or_exchange_of_property equals - gain_from_sale_or_exchange_of_property - definition second_pass.gain_from_sale_or_exchange_of_property equals - gain_from_sale_or_exchange_of_property - - definition first_pass.date_of_sale_or_exchange equals date_of_sale_or_exchange - definition second_pass.date_of_sale_or_exchange equals - date_of_sale_or_exchange - - definition income_excluded_from_gross_income equals - second_pass.income_excluded_from_gross_income -``` - -### (a) Exclusion - -Gross income shall not include gain from the sale or exchange of property if, -during the 5-year period ending on the date of the sale or exchange, such -property has been owned and used by the taxpayer as the taxpayer’s principal -residence for periods aggregating 2 years or more. - -```catala -scope Section121SinglePerson: - # Here we aggregate over all the periods of the collection. For - # each period, three cases: - # - either the period began less that 5 years before the - # date_of_sale_or_exchange in which case we count if full - # - either the period ended more that 5 years before the - # date_of_sale_or_exchange in which case we don't count it - # - either the 5 years mark is inside the period and we only - # cound the half after 5 years - definition aggregate_periods_from_last_five_years of periods equals - sum duration of ( - if date_of_sale_or_exchange <= period.begin + 5 year then - period.end - period.begin - else (if date_of_sale_or_exchange >= period.end + 5 year then - 0 day - else ((period.end + 5 year) - date_of_sale_or_exchange)) - ) - for period among periods - - # Regulation 1.121-1(c)(1): 2 years = 730 days - # Regulation 1.121-1(c)(1): the periods of ownage and usage - # don't have to overlap - rule requirements_ownership_met under condition - aggregate_periods_from_last_five_years of property_ownage >= 730 day - consequence fulfilled - - rule requirements_usage_met under condition - aggregate_periods_from_last_five_years of - property_usage_as_principal_residence >= 730 day - consequence fulfilled - - rule requirements_met under condition - requirements_ownership_met and requirements_usage_met - consequence fulfilled - - definition income_excluded_from_gross_income_uncapped equals - if requirements_met then gain_from_sale_or_exchange_of_property - else $0 - -scope Section121TwoPersons: - definition section121a_requirements_met equals - section121Person1.requirements_met - - definition income_excluded_from_gross_income_uncapped equals - section121Person1.income_excluded_from_gross_income_uncapped - -``` - -### (b) Limitations - -#### (1) In general - -The amount of gain excluded from gross income under subsection (a) with -respect to any sale or exchange shall not exceed $250,000. - -```catala -scope Section121SinglePerson: - definition gain_cap equals $250,000 - - # Big semantics insight for Catala. Here we could want to get rid of - # the "_uncapped" version of the variable. But in the current - # semantics we can't do that because we don't allow for recursion. - definition income_excluded_from_gross_income equals - if income_excluded_from_gross_income_uncapped >= gain_cap then - gain_cap - else - income_excluded_from_gross_income_uncapped - -scope Section121TwoPersons: - definition gain_cap equals section121Person1.gain_cap - - definition income_excluded_from_gross_income equals - if income_excluded_from_gross_income_uncapped >= gain_cap then - gain_cap - else - income_excluded_from_gross_income_uncapped -``` - -#### (2) Special rules for joint returns - -In the case of a husband and wife who make a joint return for the taxable year -of the sale or exchange of the property— - -```catala -# Taxable year of the sale or exchange ?=? year when the income is taxed -# Imagine a couple selling the house in 2020 and getting the payment in -# 2021 where they file a joint return. Does (A) apply or not ? -# Reasonably it should. -``` - -##### (A) $500,000 Limitation for certain joint returns - -Paragraph (1) shall be applied by substituting “$500,000” for “$250,000” if— - -(i) either spouse meets the ownership requirements of subsection (a) with -respect to such property; - -(ii) both spouses meet the use requirements of subsection (a) with respect to -such property; and - -(iii) neither spouse is ineligible for the benefits of subsection (a) with -respect to such property by reason of paragraph (3). - -```catala -scope Section121TwoPersons: - rule section_121_b_2_A_condition under condition - (return_type with pattern JointReturn) - and - # i) - (section121Person1.requirements_ownership_met or - section121Person2.requirements_ownership_met) - and - # ii) - (section121Person1.requirements_usage_met and - section121Person2.requirements_usage_met) - # iii) - and - (not (section121Person1.section_121_b_3_applies)) - and - (not (section121Person2.section_121_b_3_applies)) - consequence fulfilled - - exception - rule section121a_requirements_met under condition - section_121_b_2_A_condition - consequence fulfilled - - exception - definition gain_cap under condition - section_121_b_2_A_condition - consequence equals $500,000 -``` - -##### (B) Other joint returns - -If such spouses do not meet the requirements of subparagraph (A), the limitation -under paragraph (1) shall be the sum of the limitations under paragraph (1) to -which each spouse would be entitled if such spouses had not been married. For -purposes of the preceding sentence, each spouse shall be treated as owning the -property during the period that either spouse owned the property. - -```catala -scope Section121TwoPasses under condition - (return_type with pattern JointReturn) and - not (first_pass.section_121_b_2_A_condition): - - definition second_pass.gain_cap equals - first_pass.gain_cap_person_1 + - first_pass.gain_cap_person_2 - - definition period_merge.periods1 equals match return_type with pattern - -- JointReturn of joint_return: joint_return.person1.property_ownage - -- SingleReturnSurvivingSpouse of dead_spouse_info : [] # does not happen - -- SingleReturn of return : [] # does not happen - definition period_merge.periods2 equals match return_type with pattern - -- JointReturn of joint_return: joint_return.person2.property_ownage - -- SingleReturnSurvivingSpouse of dead_spouse_info : [] # does not happen - -- SingleReturn of return : [] # does not happen - - definition second_pass.person1 equals PersonalData { - -- property_ownage: period_merge.output_periods - -- property_usage_as_principal_residence: - first_pass.person1.property_usage_as_principal_residence - -- other_section_121a_sale: first_pass.person1.other_section_121a_sale - } - definition second_pass.person2 equals PersonalData { - -- property_ownage: period_merge.output_periods - -- property_usage_as_principal_residence: - first_pass.person2.property_usage_as_principal_residence - -- other_section_121a_sale: first_pass.person2.other_section_121a_sale - } -``` - -#### (3) Application to only 1 sale or exchange every 2 years - - -Subsection (a) shall not apply to any sale or exchange by the taxpayer if, -during the 2-year period ending on the date of such sale or exchange, there -was any other sale or exchange by the taxpayer to which subsection (a) applied. - -```catala -scope Section121SinglePerson: - rule section_121_b_3_applies under condition - other_section_121a_sale with pattern - MostRecentSaleWhereSection121aApplied of other_sale and - date_of_sale_or_exchange - other_sale.date_of_sale_or_exchange <= 2 year - consequence fulfilled - - exception - definition income_excluded_from_gross_income_uncapped under condition - section_121_b_3_applies - consequence equals $0 -``` - -#### (4) Special rule for certain sales by surviving spouses - -```catala -# Sarah: the year when your spouse dies, do you file a joint return or -# separate returns? -``` -In the case of a sale or exchange of property by an unmarried individual whose -spouse is deceased on the date of such sale, paragraph (1) shall be applied by -substituting “$500,000” for “$250,000” if such sale occurs not later than 2 -years after the date of death of such spouse and the requirements of paragraph -(2)(A) were met immediately before such date of death. - -```catala -scope Section121TwoPasses under condition - return_type with pattern SingleReturnSurvivingSpouse of single_data and - single_data.date_of_spouse_death < date_of_sale_or_exchange and - date_of_sale_or_exchange <= single_data.date_of_spouse_death + 2 year - : - - definition first_pass.date_of_sale_or_exchange equals - match return_type with pattern - -- SingleReturnSurvivingSpouse of single_data: - single_data.date_of_spouse_death - -- SingleReturn of return: date_of_sale_or_exchange # does not happen - -- JointReturn of return: date_of_sale_or_exchange # does not happen - - definition first_pass.return_type equals - match return_type with pattern - -- SingleReturnSurvivingSpouse of single_data: - JointReturn content (JointReturn { - -- person1: single_data.return - -- person2: single_data.death_spouse_info_at_time_of_death - }) - -- SingleReturn of return: SingleReturn content return # does not happen - -- JointReturn of return: JointReturn content return # does not happen - - definition second_pass.gain_cap under condition - first_pass.section_121_b_2_A_condition - consequence equals $500,000 -``` - -#### (5) Exclusion of gain allocated to nonqualified use - -##### (A) In general - -Subsection (a) shall not apply to so much of the gain from the sale or exchange -of property as is allocated to periods of nonqualified use. - -##### (B) Gain allocated to periods of nonqualified use - -For purposes of subparagraph (A), gain shall be allocated to periods of -nonqualified use based on the ratio which— - -(i) the aggregate periods of nonqualified use during the period such property -was owned by the taxpayer, bears to - -(ii) the period such property was owned by the taxpayer. - -##### (C) Period of nonqualified use - -For purposes of this paragraph— - -###### (i) In general - -The term “period of nonqualified use” means any period (other than the portion -of any period preceding January 1, 2009) during which the property is not used -as the principal residence of the taxpayer or the taxpayer’s spouse or former -spouse. - -###### (ii) Exceptions - -The term “period of nonqualified use” does not include— - -(I) any portion of the 5-year period described in subsection (a) which is after -the last date that such property is used as the principal residence of the -taxpayer or the taxpayer’s spouse, - -(II) any period (not to exceed an aggregate period of 10 years) during which the -taxpayer or the taxpayer’s spouse is serving on qualified official extended duty -(as defined in subsection (d)(9)(C)) described in clause (i), (ii), or (iii) of -subsection (d)(9)(A), and - -(III) any other period of temporary absence (not to exceed an aggregate period -of 2 years) due to change of employment, health conditions, or such other -unforeseen circumstances as may be specified by the Secretary. - -##### (D) Coordination with recognition of gain attributable to depreciation - -For purposes of this paragraph— - -(i) subparagraph (A) shall be applied after the application of subsection -(d)(6), and - -(ii) subparagraph (B) shall be applied without regard to any gain to which -subsection (d)(6) applies. diff --git a/examples/us_tax_code/section_132.catala_en b/examples/us_tax_code/section_132.catala_en deleted file mode 100644 index d6d6c999..00000000 --- a/examples/us_tax_code/section_132.catala_en +++ /dev/null @@ -1,133 +0,0 @@ -## Section 132 - -```catala-metadata -# We only formalize part (c) here -declaration enumeration DiscountType: - -- Property - -- Services - -declaration scope QualifiedEmployeeDiscount: - input customer_price content money - input employee_price content money - output gross_profit_percentage content decimal - output qualified_employee_discount content money - output employee_discount content money - context aggregate_cost content money - input discount_type content DiscountType - internal is_property content boolean - internal is_services content boolean - -scope QualifiedEmployeeDiscount: - definition is_property equals match discount_type with pattern - -- Property: true - -- Services: false - definition is_services equals match discount_type with pattern - -- Property: false - -- Services: true -``` - -### (c) Qualified employee discount defined - For purposes of this section— - -#### (1) Qualified employee discount - -The term “qualified employee discount” means any employee discount with respect -to qualified property or services to the extent such discount does not exceed— -(A) in the case of property, the gross profit percentage of the price at which -the property is being offered by the employer to customers, or - -```catala -scope QualifiedEmployeeDiscount : - definition qualified_employee_discount - under condition is_property consequence - equals - if employee_discount > - customer_price * gross_profit_percentage - then customer_price * gross_profit_percentage - else employee_discount -``` - -(B) in the case of services, 20 percent of the price at which the services are -being offered by the employer to customers. - -```catala -scope QualifiedEmployeeDiscount : -definition qualified_employee_discount - under condition is_services consequence -equals - if employee_discount > - customer_price * 20% - then customer_price * 20% - else employee_discount - -scope QualifiedEmployeeDiscount under condition is_services: - # When selling a service, one does not need the aggregate cost. - # We provide a default value here so that the computations run smooth. - definition aggregate_cost equals $0 - definition gross_profit_percentage equals 0% -``` - -#### (2) Gross profit percentage - -##### (A) In general - -The term “gross profit percentage” means the percent which— - -(i) the excess of the aggregate sales price of property sold by the employer -to customers over the aggregate cost of such property to the employer, is of - -(ii) the aggregate sale price of such property. - -```catala -scope QualifiedEmployeeDiscount under condition is_property: - assertion customer_price >= aggregate_cost - - definition gross_profit_percentage equals - (customer_price - aggregate_cost) / customer_price -``` - -##### (B) Determination of gross profit percentage - -Gross profit percentage shall be determined on the basis of— - -(i) all property offered to customers in the ordinary course of the line of -business of the employer in which the employee is performing services (or a -reasonable classification of property selected by the employer), and - -(ii) the employer’s experience during a representative period. - -```catala -# (i) and (ii) are subjective criteria for determining the gross profit -# percentage ; we do not formalize them -``` - -#### (3) Employee discount defined - -The term “employee discount” means the amount by which— - -(A) the price at which the property or services are provided by the employer to -an employee for use by such employee, is less than - -(B) the price at which such property or services are being offered by the -employer to customers. - -```catala -scope QualifiedEmployeeDiscount: - assertion customer_price >= employee_price - - definition employee_discount equals - customer_price - employee_price -``` - -#### (4) Qualified property or services - -The term “qualified property or services” means any property (other than real -property and other than personal property of a kind held for investment) or -services which are offered for sale to customers in the ordinary course of -the line of business of the employer in which the employee is performing -services. - -```catala -# Again, this is for subjectively determining what item qualifies for a -# discount, not formalizing -``` diff --git a/examples/us_tax_code/tests/test_section_121.catala_en b/examples/us_tax_code/tests/test_section_121.catala_en deleted file mode 100644 index 84ee075e..00000000 --- a/examples/us_tax_code/tests/test_section_121.catala_en +++ /dev/null @@ -1,176 +0,0 @@ -> Include: ../section_121.catala_en - -## Testing paragraph (a) - -```catala -declaration scope Data: - output period_four_years_recent content Period - output period_one_year_recent content Period - output period_two_years_middle content Period - output date_of_sale_or_exchange content date - output gain_from_sale_or_exchange_of_property content money - output return_date content date - output person_ok_1 content PersonalData - output person_ok_2 content PersonalData - output person_ko_1 content PersonalData - output person_ko_2 content PersonalData - -scope Data: - definition date_of_sale_or_exchange equals |2021-01-01| - definition return_date equals |2021-01-01| - definition gain_from_sale_or_exchange_of_property equals $350,000 - definition period_four_years_recent equals Period { - -- begin: |2017-01-01| - -- end: |2021-01-01| - } - definition period_one_year_recent equals Period { - -- begin: |2019-01-01| - -- end: |2020-01-01| - } - definition period_two_years_middle equals Period { - -- begin: |2015-01-01| - -- end: |2017-01-02| - } - definition person_ok_1 equals PersonalData { - -- property_ownage: [period_four_years_recent] - -- property_usage_as_principal_residence: [period_four_years_recent] - -- other_section_121a_sale: NoOtherSaleWhereSection121aApplied - } - definition person_ok_2 equals PersonalData { - -- property_ownage: [period_four_years_recent] - -- property_usage_as_principal_residence: - [period_two_years_middle; period_one_year_recent] - -- other_section_121a_sale: NoOtherSaleWhereSection121aApplied - } - definition person_ko_1 equals PersonalData { - -- property_ownage: [period_four_years_recent] - -- property_usage_as_principal_residence: [period_one_year_recent] - -- other_section_121a_sale: NoOtherSaleWhereSection121aApplied - } - - definition person_ko_2 equals PersonalData { - -- property_ownage: [period_four_years_recent] - -- property_usage_as_principal_residence: [period_two_years_middle] - -- other_section_121a_sale: NoOtherSaleWhereSection121aApplied - } - - - - -####################### Testing Section121SinglePerson ######################### - -declaration scope Test1: - scope121a scope Section121SinglePerson - data_ scope Data - -scope Test1: - definition scope121a.date_of_sale_or_exchange equals data_.date_of_sale_or_exchange - definition scope121a.gain_from_sale_or_exchange_of_property equals - data_.gain_from_sale_or_exchange_of_property - definition scope121a.property_ownage equals [data_.period_four_years_recent] - definition scope121a.property_usage_as_principal_residence equals - [data_.period_four_years_recent] - definition scope121a.other_section_121a_sale equals NoOtherSaleWhereSection121aApplied - assertion scope121a.requirements_met - -declaration scope Test2: - scope121a scope Section121SinglePerson - data_ scope Data - -scope Test2: - definition scope121a.date_of_sale_or_exchange equals data_.date_of_sale_or_exchange - definition scope121a.gain_from_sale_or_exchange_of_property equals - data_.gain_from_sale_or_exchange_of_property - definition scope121a.property_ownage equals [data_.period_four_years_recent] - definition scope121a.property_usage_as_principal_residence equals - [data_.period_one_year_recent] - definition scope121a.other_section_121a_sale equals NoOtherSaleWhereSection121aApplied - assertion not scope121a.requirements_met - -declaration scope Test3: - scope121a scope Section121SinglePerson - data_ scope Data - -scope Test3: - definition scope121a.date_of_sale_or_exchange equals data_.date_of_sale_or_exchange - definition scope121a.gain_from_sale_or_exchange_of_property equals - data_.gain_from_sale_or_exchange_of_property - definition scope121a.property_ownage equals [data_.period_four_years_recent] - definition scope121a.property_usage_as_principal_residence equals - [data_.period_two_years_middle] - definition scope121a.other_section_121a_sale equals NoOtherSaleWhereSection121aApplied - assertion not scope121a.requirements_met - -declaration scope Test4: - scope121a scope Section121SinglePerson - data_ scope Data - -scope Test4: - definition scope121a.date_of_sale_or_exchange equals data_.date_of_sale_or_exchange - definition scope121a.gain_from_sale_or_exchange_of_property equals - data_.gain_from_sale_or_exchange_of_property - definition scope121a.property_ownage equals [data_.period_four_years_recent] - definition scope121a.property_usage_as_principal_residence equals - [data_.period_two_years_middle; data_.period_one_year_recent] - definition scope121a.other_section_121a_sale equals NoOtherSaleWhereSection121aApplied - assertion scope121a.requirements_met - -###################### Testing Section121TwoPersons ############################ - -declaration scope Test5: - scope121 scope Section121TwoPersons - data_ scope Data - -scope Test5: - definition scope121.date_of_sale_or_exchange equals data_.date_of_sale_or_exchange - definition scope121.return_date equals data_.return_date - definition scope121.gain_from_sale_or_exchange_of_property equals - data_.gain_from_sale_or_exchange_of_property - definition scope121.return_type equals SingleReturn content data_.person_ok_1 - assertion scope121.income_excluded_from_gross_income = $250,000 - -declaration scope Test6: - scope121 scope Section121TwoPersons - data_ scope Data - -scope Test6: - definition scope121.date_of_sale_or_exchange equals data_.date_of_sale_or_exchange - definition scope121.return_date equals data_.return_date - definition scope121.gain_from_sale_or_exchange_of_property equals - data_.gain_from_sale_or_exchange_of_property - definition scope121.return_type equals JointReturn content (JointReturn { - -- person1: data_.person_ok_1 - -- person2: data_.person_ok_2 - }) - assertion scope121.income_excluded_from_gross_income = $350,000 -``` - -```catala-test-inline -$ catala Interpret -s Test1 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test2 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test3 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test4 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test5 --disable-warnings -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s Test6 --disable-warnings -[RESULT] Computation successful! -``` diff --git a/examples/us_tax_code/tests/test_section_132.catala_en b/examples/us_tax_code/tests/test_section_132.catala_en deleted file mode 100644 index edcc4905..00000000 --- a/examples/us_tax_code/tests/test_section_132.catala_en +++ /dev/null @@ -1,58 +0,0 @@ -> Include: ../section_132.catala_en - -### Test - -```catala -declaration scope TestSection132_1: - section_132 scope QualifiedEmployeeDiscount - -scope TestSection132_1: - definition section_132.customer_price equals $1500 - definition section_132.employee_price equals $1000 - definition section_132.aggregate_cost equals $900 - definition section_132.discount_type equals Property - assertion section_132.employee_discount = $500 - assertion section_132.gross_profit_percentage = 0.4 - assertion section_132.qualified_employee_discount = $500 -``` - -```catala -declaration scope TestSection132_2: - section_132 scope QualifiedEmployeeDiscount - -scope TestSection132_2: - definition section_132.customer_price equals $1500 - definition section_132.employee_price equals $1000 - definition section_132.aggregate_cost equals $1200 - definition section_132.discount_type equals Property - assertion section_132.employee_discount = $500 - assertion section_132.gross_profit_percentage = 0.2 - assertion section_132.qualified_employee_discount = $300.00 -``` - -```catala -declaration scope TestSection132_3: - section_132 scope QualifiedEmployeeDiscount - -scope TestSection132_3: - definition section_132.customer_price equals $1500 - definition section_132.employee_price equals $1000 - definition section_132.discount_type equals Services - assertion section_132.employee_discount = $500 - assertion section_132.qualified_employee_discount = $300 -``` - -```catala-test-inline -$ catala Interpret -s TestSection132_1 -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s TestSection132_2 -[RESULT] Computation successful! -``` - -```catala-test-inline -$ catala Interpret -s TestSection132_3 -[RESULT] Computation successful! -``` diff --git a/examples/us_tax_code/us_tax_code.catala_en b/examples/us_tax_code/us_tax_code.catala_en deleted file mode 100644 index eea16f01..00000000 --- a/examples/us_tax_code/us_tax_code.catala_en +++ /dev/null @@ -1,7 +0,0 @@ -# Master file - -> Include: preamble.catala_en - -> Include: section_121.catala_en - -> Include: section_132.catala_en diff --git a/examples/whitelist.en b/examples/whitelist.en deleted file mode 100644 index eb2d2902..00000000 --- a/examples/whitelist.en +++ /dev/null @@ -1,3 +0,0 @@ -catala -enum -durations diff --git a/examples/whitelist.fr b/examples/whitelist.fr deleted file mode 100644 index 54ec9234..00000000 --- a/examples/whitelist.fr +++ /dev/null @@ -1 +0,0 @@ -catala diff --git a/french_law.opam b/french_law.opam deleted file mode 100644 index f67e36f3..00000000 --- a/french_law.opam +++ /dev/null @@ -1,31 +0,0 @@ -opam-version: "2.0" -version: "0.8.0" -synopsis: "A collection of algorithms and computations defined by French law" -description: - "This library contains the implementations of algorithmic portions of French law. The library source code was generated from Catala annotations of the relevant portions of the French law, see https://catala-lang.org" -maintainer: ["contact@catala-lang.org"] -authors: ["Denis Merigoux"] -license: "Apache-2.0" -homepage: "https://github.com/CatalaLang/catala" -bug-reports: "https://github.com/CatalaLang/catala/issues" -depends: [ - "dune" {>= "2.8"} - "ocaml" {>= "4.11.0"} - "catala" {= version} - "odoc" {with-doc} -] -build: [ - ["dune" "subst"] {dev} - [ - "dune" - "build" - "-p" - name - "-j" - jobs - "@install" - "@runtest" {with-test} - "@doc" {with-doc} - ] -] -dev-repo: "git+https://github.com/CatalaLang/catala.git" diff --git a/french_law/README.md b/french_law/README.md deleted file mode 100644 index c08004fe..00000000 --- a/french_law/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# French Law Libraries - -This folder presents a working example of how Catala could be distributed and -deployed inside existing applications. Each sub-folder is specialized for -a particular programming language, and features a ready-to-use library of -all the French public algorithms coded up using Catala so far. - -Pre-built artifacts for the OCaml, JS and Python backends are available at -https://catalalang.github.io/catala/ ; they are automatically updated to follow -the latest updates of the development version of Catala (`master` branch). - -## General principles - -Let us say you want to deploy a Catala program inside an application written -in programming language X. The Catala compiler will translate the source -Catala program into X, yielding a new `.x` source code file. This `.x` file -will export functions corresponding to the scopes of the original Catala -program. You can then reuse those exported functions in your application written -in X. - -## OCaml - -To see how to deploy Catala programs as an OCaml library, see -[the dedicated readme](ocaml/README.md). - -## JS - -To see how to deploy Catala programs as a JS library, see -[the dedicated readme](js/README.md). - -## Python - -To see how to deploy Catala programs as a Python library, see -[the dedicated readme](python/README.md). diff --git a/french_law/js/.gitignore b/french_law/js/.gitignore deleted file mode 100644 index 15caee17..00000000 --- a/french_law/js/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -lib/ -*.bs.js diff --git a/french_law/js/Makefile b/french_law/js/Makefile deleted file mode 100644 index 33db2262..00000000 --- a/french_law/js/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -dependencies: - npm install - -bench: - node examples.js diff --git a/french_law/js/README.md b/french_law/js/README.md deleted file mode 100644 index 8f950241..00000000 --- a/french_law/js/README.md +++ /dev/null @@ -1,151 +0,0 @@ -# [`@catala-lang/french-law`](https://www.npmjs.com/package/@catala-lang/french-law?activeTab=readme) ![npm][npm] - -This folder contains a ready-to-use Javascript library featuring French public -algorithms coded up in Catala and the corresponding ReScript wrapper. - -## Generating the source files - -The JS code is extracted from OCaml using -[`js_of_ocaml`](https://ocsigen.org/js_of_ocaml/). See the -[dedicated README](../ocaml/README.md) of the OCaml library for more precisions -about the OCaml code. - -The wrapping between OCaml and JS is done by the generated -`../ocaml/law_source/_api_web.ml` modules. - -You can generate the `french_law.js` source JS module by invoking this command -from the root of the repository: - -``` -make build_french_law_library_js -``` - -## API description - -The `./src/french_law.js` library exposes: - -- an [event manager](#the-event-manager) -- a list of [API functions](#api-functions) -- a list of fully exposed [sub-libraries](#sub-libraries) - -### ReScript - -The ReScript API is essentialy the same that the JS one within the -`CatalaFrenchLaw` top module. - -Example of project using the ReScript wrapper: - -* [`catala-website`](https://github.com/CatalaLang/catala-website) - -### The event manager - -A JavaScript object `eventsManager` is exposed with three callable methods: - -```javascript -var frenchLaw = require("french_law.js"); - -// Clears the raw log event array. -frenchLaw.eventsManager.resetLog(0); - -// Returns the current content of the raw log event array. -let rawEvents = frenchLaw.eventsManager.retrieveRawEvents(0) - -// Returns the event array parsed from the current content of the raw log event array. -let events = frenchLaw.eventsManager.retrieveEvents(0) -``` - -> **Important**: you need to give an arbitrary value as argument. - -### Date and time - -Date values are encoded to JS string according the [ISO8601 -format](https://www.iso.org/iso-8601-date-and-time-format.html): 'YYYY-MM-DD'. - -### API functions - -The `french_law.js` library exposes for each Catala program available in -`../ocaml/law_source/` a function to call in order to run the corresponding -encoded algorithm. - -#### Available algorithms - -##### Allocations familiales - -The function is `computeAllocationsFamiliales`. This computation -returns the amount of _allocations familiales_ for one household described -by the input. More precisely, the result returned is the sum of: - -- _la base des allocations familiales_ -- _l'allocation forfaitaire relai pour dépassement de l'âge limite_ -- _la majoration pour âge_ -- _le complément dégressif en cas de dépassement du plafond de revenus_ - -An example of use: - -```javascript -var frenchLaw = require("french_law.js"); - -let amount = frenchLaw.computeAllocationsFamiliales({ - iDateCouranteIn: "2020-04-20", - iEnfantsIn: [ - { - dIdentifiant: 0, - dRemunerationMensuelle: 0, - dDateDeNaissance: "2003-02-02", - dPriseEnCharge: { kind: "EffectiveEtPermanente", payload: null }, - dADejaOuvertDroitAuxAllocationsFamiliales: true, - dBeneficieTitrePersonnelAidePersonnelleLogement: false, - }, - { - dIdentifiant: 1, - dRemunerationMensuelle: 300, - dDateDeNaissance: "2013-09-30", - dPriseEnCharge: { - kind: "GardeAlterneePartageAllocations", - payload: null, - }, - dADejaOuvertDroitAuxAllocationsFamiliales: true, - dBeneficieTitrePersonnelAidePersonnelleLogement: false, - }, - ], - iRessourcesMenageIn: 30000, - iResidenceIn: { kind: "Metropole", payload: null }, - iPersonneChargeEffectivePermanenteEstParentIn: true, - iPersonneChargeEffectivePermanenteRemplitTitreIIn: true, - iAvaitEnfantAChargeAvant1erJanvier2012In: false, -}); -``` - -Notably, the `dPriseEnCharge` variable for each child expects a value among: -- "GardeAlterneePartageAllocations" -- "GardeAlterneeAllocataireUnique" -- "EffectiveEtPermanente" -- "ServicesSociauxAllocationVerseeALaFamille" -- "ServicesSociauxAllocationVerseeAuxServicesSociaux" - -> See `../ocaml/law_source/allocations_familiales_api_web.ml` for more -> information about data types. - -##### Aides logement - -> TODO: add information about `aides_logement_api_web.ml`. - -### Sub libraries - -All declared types and scopes of a Catala program are available in JavaScript -via the following sub libs: - -```javascript -var frenchLaw = require("french_law.js"); - -// Allocations familiales -// corresponding to the file: `../ocaml/law_source/allocations_familiales_api_web.ml -var allocationsFamiliales = frenchLaw.AllocationsFamilialesLib - -// APL -// corresponding to the file: `../ocaml/law_source/aides_logement_api_web.ml -var aidesLogement = frenchLaw.AidesLogementLib -``` - - -[npm]: https://img.shields.io/npm/v/@catala-lang/french-law diff --git a/french_law/js/bsconfig.json b/french_law/js/bsconfig.json deleted file mode 100644 index 92cfa7bb..00000000 --- a/french_law/js/bsconfig.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "@catala-lang/french-law", - "refmt": 3, - "sources": ["src"], - "package-specs": [ - { - "module": "es6", - "in-source": true - } - ], - "suffix": ".bs.js", - "bs-dependencies": [ - "@catala-lang/rescript-catala" - ] -} diff --git a/french_law/js/dune b/french_law/js/dune deleted file mode 100644 index ba313895..00000000 --- a/french_law/js/dune +++ /dev/null @@ -1 +0,0 @@ -(dirs src) diff --git a/french_law/js/examples.js b/french_law/js/examples.js deleted file mode 100644 index 02e68e80..00000000 --- a/french_law/js/examples.js +++ /dev/null @@ -1,198 +0,0 @@ -var Law = require("./src/french_law.js"); -var Benchmark = require("benchmark"); -const util = require("util"); -const { cachedDataVersionTag } = require("v8"); -const { truncateSync } = require("fs"); -var suite = new Benchmark.Suite(); - -function run_computation_AF(log) { - var result = Law.computeAllocationsFamiliales({ - iDateCouranteIn: "2020-04-20", - iEnfantsIn: [ - { - dIdentifiant: 0, - dRemunerationMensuelle: 0, - dDateDeNaissance: "2003-02-02", - dPriseEnCharge: { kind: "EffectiveEtPermanente", payload: null }, - dADejaOuvertDroitAuxAllocationsFamiliales: true, - dBeneficieTitrePersonnelAidePersonnelleLogement: false, - }, - { - dIdentifiant: 1, - dRemunerationMensuelle: 300, - dDateDeNaissance: "2013-09-30", - dPriseEnCharge: { - kind: "GardeAlterneePartageAllocations", - payload: null, - }, - dADejaOuvertDroitAuxAllocationsFamiliales: true, - dBeneficieTitrePersonnelAidePersonnelleLogement: false, - }, - ], - iRessourcesMenageIn: 30000, - iResidenceIn: { kind: "Metropole", payload: null }, - iPersonneChargeEffectivePermanenteEstParentIn: true, - iPersonneChargeEffectivePermanenteRemplitTitreIIn: true, - iAvaitEnfantAChargeAvant1erJanvier2012In: false, - }); - if (log) { - console.log( - util.inspect(Law.eventsManager.retrieveEvents(0).slice(1, 10), { - showHidden: false, - depth: null, - colors: true, - }), - ); - } - Law.eventsManager.resetLog(); - console.log("Family benefits mounthly amount:", result, "€"); -} - -function run_computation_AL(log) { - var result = Law.computeAidesAuLogement({ - menageIn: { - prestationsRecues: [], - logement: { - residencePrincipale: true, - estEhpadOuMaisonAutonomieL31312Asf: false, - modeOccupation: { - kind: "Locataire", - payload: { - bailleur: { - kind: "BailleurPrive", - }, - beneficiaireAideAdulteOuEnfantHandicapes: false, - logementEstChambre: false, - colocation: false, - ageesOuHandicapAdultesHebergeesOnereuxParticuliers: false, - logementMeubleD8422: false, - changementLogementD8424: { - kind: "PasDeChangement", - payload: null, - }, - loyerPrincipal: 450, - }, - }, - proprietaire: { - kind: "Autre", - payload: null, - }, - loueOuSousLoueADesTiers: { - kind: "Non", - }, - usufruit: { - kind: "Autre", - payload: null, - }, - logementDecentL89462: true, - zone: { - kind: "Zone2", - }, - surfaceMCarres: 65, - }, - personnesACharge: [ - { - kind: "EnfantACharge", - payload: { - aDejaOuvertDroitAuxAllocationsFamiliales: true, - remunerationMensuelle: 0, - nationalite: { - kind: "Francaise", - payload: null, - }, - etudesApprentissageStageFormationProImpossibiliteTravail: false, - obligationScolaire: { - kind: "Pendant", - payload: null, - }, - situationGardeAlternee: { - kind: "PasDeGardeAlternee", - payload: null, - }, - dateDeNaissance: "2015-01-01", - identifiant: 0, - }, - }, - { - kind: "EnfantACharge", - payload: { - aDejaOuvertDroitAuxAllocationsFamiliales: true, - remunerationMensuelle: 0, - nationalite: { - kind: "Francaise", - payload: null, - }, - etudesApprentissageStageFormationProImpossibiliteTravail: false, - obligationScolaire: { - kind: "Pendant", - payload: null, - }, - situationGardeAlternee: { - kind: "PasDeGardeAlternee", - payload: null, - }, - dateDeNaissance: "2016-01-01", - identifiant: 1, - }, - }, - ], - nombreAutresOccupantsLogement: 0, - situationFamiliale: { - kind: "Concubins", - payload: null, - }, - conditionRattacheFoyerFiscalParentIfi: false, - enfantANaitreApresQuatriemeMoisGrossesse: false, - personnesAgeesHandicapeesFoyerR8444: false, - residence: { - kind: "Metropole", - payload: null, - }, - }, - demandeurIn: { - nationalite: { - kind: "Francaise", - payload: null, - }, - estNonSalarieAgricoleL7818L78146CodeRural: false, - magistratFonctionnaireCentreInteretsMaterielsFamiliauxHorsMayotte: false, - patrimoine: { - produisantRevenuPeriodeR82233R8224: 0, - neProduisantPasRevenuPeriodeR82233R8224: 0, - }, - personneHebergeeCentreSoinLL162223SecuriteSociale: false, - dateNaissance: "1992-01-01", - }, - dateCouranteIn: "2022-05-01", - ressourcesMenagePrisesEnCompteIn: 11500, - }); - if (log) { - console.log( - util.inspect(Law.eventsManager.retrieveEvents(0).slice(1, 10), { - showHidden: false, - depth: null, - colors: true, - }), - ); - } - Law.eventsManager.resetLog(); - console.log("Housing benefits mounthly amount:", result, "€"); -} - -try { - run_computation_AF(false); - run_computation_AL(false); -} catch (error) { - console.error(error.message); - process.exit(1); -} -process.exit(0); - -// suite -// .add("AllocationFamiliales#benchmark", function () { -// run_computation_AF(false); -// }) -// .on("cycle", function (event) { -// console.log(String(event.target)); -// }) -// .run({ async: true }); diff --git a/french_law/js/package-lock.json b/french_law/js/package-lock.json deleted file mode 100644 index b57f3012..00000000 --- a/french_law/js/package-lock.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "name": "@catala-lang/french-law", - "version": "0.8.10", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "@catala-lang/french-law", - "version": "0.8.10", - "license": "Apache-2.0", - "dependencies": { - "benchmark": "^2.1.4", - "lodash": "^4.17.21", - "platform": "^1.3.6" - }, - "devDependencies": { - "@catala-lang/rescript-catala": "^0.8.1-b.0", - "rescript": "^10.1.4" - } - }, - "node_modules/@catala-lang/rescript-catala": { - "version": "0.8.1-b.0", - "resolved": "https://registry.npmjs.org/@catala-lang/rescript-catala/-/rescript-catala-0.8.1-b.0.tgz", - "integrity": "sha512-rOCwTFZE8u7r1WUqohU5r1Aq/cNJYZEJ4/S/MEJkrKUrwdV7tU0Pr8bU6i0MuYRWssclEUUy38yx2mm2dD29Cg==", - "dev": true, - "dependencies": { - "decco": "^1.6.0", - "rescript": "^10.1.4" - } - }, - "node_modules/benchmark": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", - "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", - "dependencies": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, - "node_modules/bs-platform": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bs-platform/-/bs-platform-9.0.2.tgz", - "integrity": "sha512-Ye9JqJ4Oa7mcjjoOVRYI8Uc2Cf8N7jQLWDcdUplY7996d/YErSR7WitmV7XnSwr4EvdrbwjEsg1NxNjUQv3ChA==", - "dev": true, - "hasInstallScript": true, - "peer": true, - "bin": { - "bsb": "bsb", - "bsc": "bsc", - "bsrefmt": "bsrefmt", - "bstracing": "lib/bstracing" - } - }, - "node_modules/decco": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/decco/-/decco-1.6.0.tgz", - "integrity": "sha512-gdeDDPOh45Hz8YGvTkDP7ySo3Ll3ty+KfuFj21+jRbiCoE8HTCNB++pozCiMljxJx39CfvrHRYBY5FO5PMyXzw==", - "dev": true, - "hasInstallScript": true, - "peerDependencies": { - "bs-platform": "6 || 7 || 8 || 9" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" - }, - "node_modules/rescript": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-10.1.4.tgz", - "integrity": "sha512-FFKlS9AG/XrLepWsyw7B+A9DtQBPWEPDPDKghV831Y2KGbie+eeFBOS0xtRHp0xbt7S0N2Dm6hhX+kTZQ/3Ybg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "bsc": "bsc", - "bsrefmt": "bsrefmt", - "bstracing": "lib/bstracing", - "rescript": "rescript" - } - } - }, - "dependencies": { - "@catala-lang/rescript-catala": { - "version": "0.8.1-b.0", - "resolved": "https://registry.npmjs.org/@catala-lang/rescript-catala/-/rescript-catala-0.8.1-b.0.tgz", - "integrity": "sha512-rOCwTFZE8u7r1WUqohU5r1Aq/cNJYZEJ4/S/MEJkrKUrwdV7tU0Pr8bU6i0MuYRWssclEUUy38yx2mm2dD29Cg==", - "dev": true, - "requires": { - "decco": "^1.6.0", - "rescript": "^10.1.4" - } - }, - "benchmark": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", - "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=", - "requires": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, - "bs-platform": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/bs-platform/-/bs-platform-9.0.2.tgz", - "integrity": "sha512-Ye9JqJ4Oa7mcjjoOVRYI8Uc2Cf8N7jQLWDcdUplY7996d/YErSR7WitmV7XnSwr4EvdrbwjEsg1NxNjUQv3ChA==", - "dev": true, - "peer": true - }, - "decco": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/decco/-/decco-1.6.0.tgz", - "integrity": "sha512-gdeDDPOh45Hz8YGvTkDP7ySo3Ll3ty+KfuFj21+jRbiCoE8HTCNB++pozCiMljxJx39CfvrHRYBY5FO5PMyXzw==", - "dev": true, - "requires": {} - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" - }, - "rescript": { - "version": "10.1.4", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-10.1.4.tgz", - "integrity": "sha512-FFKlS9AG/XrLepWsyw7B+A9DtQBPWEPDPDKghV831Y2KGbie+eeFBOS0xtRHp0xbt7S0N2Dm6hhX+kTZQ/3Ybg==", - "dev": true - } - } -} diff --git a/french_law/js/package.json b/french_law/js/package.json deleted file mode 100644 index a6570dbe..00000000 --- a/french_law/js/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@catala-lang/french-law", - "version": "0.8.11", - "description": "Library of computations defined by French legislative texts, extract from Catala programs (https://catala-lang.org)", - "main": "index.js", - "dependencies": {}, - "devDependencies": { - "@catala-lang/rescript-catala": "^0.8.1-b.0", - "benchmark": "^2.1.4", - "rescript": "^10.1.4" - }, - "scripts": { - "clean": "rescript clean", - "build": "rescript build -with-deps", - "watch": "yarn run build -w", - "test": "node examples.js" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/CatalaLang/catala.git" - }, - "keywords": [ - "ReScript", - "JavaScript", - "law" - ], - "contributors": [ - "Denis Merigoux", - "Emile Rolley " - ], - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/CatalaLang/catala/issues" - }, - "homepage": "https://github.com/CatalaLang/catala/blob/master/french_law/js/README.md", - "publishConfig": { - "access": "public" - } -} diff --git a/french_law/js/src/CatalaFrenchLaw.res b/french_law/js/src/CatalaFrenchLaw.res deleted file mode 100644 index f7fe3813..00000000 --- a/french_law/js/src/CatalaFrenchLaw.res +++ /dev/null @@ -1,33 +0,0 @@ -let frenchLaw = %raw(`require("./french_law.js")`) - -let resetLog: unit => unit = %raw(` - function() { - return frenchLaw.eventsManager.resetLog(0); - } -`) - -let retrieveRawEventsSerialized: unit => array = %raw(` - function() { - return frenchLaw.eventsManager.retrieveRawEvents(0); - } -`) - -let retrieveEventsSerialized: unit => array = %raw(` - function() { - return frenchLaw.eventsManager.retrieveEvents(0); - } -`) - -let computeAllocationsFamiliales: Js.Json.t => float = %raw(` - function(input) { - frenchLaw.eventsManager.resetLog(0); - return frenchLaw.computeAllocationsFamiliales(input); - } -`) - -let computeAidesAuLogement: Js.Json.t => float = %raw(` - function(input) { - frenchLaw.eventsManager.resetLog(0); - return frenchLaw.computeAidesAuLogement(input); - } -`) diff --git a/french_law/js/src/CatalaFrenchLaw.resi b/french_law/js/src/CatalaFrenchLaw.resi deleted file mode 100644 index c9e6a2dd..00000000 --- a/french_law/js/src/CatalaFrenchLaw.resi +++ /dev/null @@ -1,22 +0,0 @@ -/* - Wrapper around the [french_law.js] library. -*/ - -/* Log events related functions. */ - -let resetLog: unit => unit - -let retrieveRawEventsSerialized: unit => array - -let retrieveEventsSerialized: unit => array - -/* French algorithms API */ - -/* Root of the JS library. */ -let frenchLaw: 'a - -/* Resets logs before calling [french_law.computeAllocationsFamiliales]. */ -let computeAllocationsFamiliales: Js.Json.t => float - -/* Resets logs before calling [french_law.computeAidesAuLogement]. */ -let computeAidesAuLogement: Js.Json.t => float diff --git a/french_law/js/src/dune b/french_law/js/src/dune deleted file mode 100644 index 61511929..00000000 --- a/french_law/js/src/dune +++ /dev/null @@ -1,4 +0,0 @@ -(rule - (mode promote) - (action - (copy ../../ocaml/api_web.bc.js french_law.js))) diff --git a/french_law/js/yarn.lock b/french_law/js/yarn.lock deleted file mode 100644 index a818c046..00000000 --- a/french_law/js/yarn.lock +++ /dev/null @@ -1,39 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@catala-lang/rescript-catala@^0.8.1-b.0": - version "0.8.1-b.0" - resolved "https://registry.yarnpkg.com/@catala-lang/rescript-catala/-/rescript-catala-0.8.1-b.0.tgz#46762f85f2e16af8b42ebb980db446189391a978" - integrity sha512-rOCwTFZE8u7r1WUqohU5r1Aq/cNJYZEJ4/S/MEJkrKUrwdV7tU0Pr8bU6i0MuYRWssclEUUy38yx2mm2dD29Cg== - dependencies: - decco "^1.6.0" - rescript "^10.1.4" - -benchmark@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-2.1.4.tgz#09f3de31c916425d498cc2ee565a0ebf3c2a5629" - integrity sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ== - dependencies: - lodash "^4.17.4" - platform "^1.3.3" - -decco@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/decco/-/decco-1.6.0.tgz#79a07d518691f92519066a067b77f04ce89b4896" - integrity sha512-gdeDDPOh45Hz8YGvTkDP7ySo3Ll3ty+KfuFj21+jRbiCoE8HTCNB++pozCiMljxJx39CfvrHRYBY5FO5PMyXzw== - -lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -platform@^1.3.3: - version "1.3.6" - resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" - integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== - -rescript@^10.1.4: - version "10.1.4" - resolved "https://registry.yarnpkg.com/rescript/-/rescript-10.1.4.tgz#0f37710d371f32a704f17b4e804f66ce3c79a305" - integrity sha512-FFKlS9AG/XrLepWsyw7B+A9DtQBPWEPDPDKghV831Y2KGbie+eeFBOS0xtRHp0xbt7S0N2Dm6hhX+kTZQ/3Ybg== diff --git a/french_law/ocaml/README.md b/french_law/ocaml/README.md deleted file mode 100644 index 12947aff..00000000 --- a/french_law/ocaml/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# OCaml French Law Library - -This folder contains a ready-to-use OCaml library featuring French public -algorithms coded up in Catala. - -## Organization - -### Law source - -The `law_source` folder contains the files generated by the Catala compiler. -These files are generated using the following rule from the top-level `Makefile` -of this repository: - -``` -make generate_french_law_library_ocaml -``` - -They can be compiled using - -``` -make build_french_law_library_ocaml -``` - -In particular, `law_source/unit_tests/run_tests.ml` provides an executable -that runs the unit tests coming from the source Catala examples, and that can -be launched with - -``` -make run_french_law_library_ocaml_tests -``` - -The `law_source` files rely on the Catala OCaml runtime, located in -`runtimes/ocaml/runtime.{ml, mli}`. This runtime defines the types of the values -manipulated by the Catala programs in OCaml and the operations available for them. - -### Wrappers - -Then, the `api.{ml, mli}` module provides a wrapper around the functions -exported in `law_source`. These wrappers mostly convert back and forth between -idiomatic OCaml types and the types expected by the Catala programs in OCaml. - -`api_web.ml` is used for the JS library (see the [dedicated README](../js/README.md)). - -Finally, `bench.ml` provides a simple benchmarking executable that runs the -computations of each algorithm a bunch of times with random inputs. You can run it -from the root of this repository with - -``` -make run_french_law_library_benchmark_ocaml -``` diff --git a/french_law/ocaml/api.ml b/french_law/ocaml/api.ml deleted file mode 100644 index e25a66c4..00000000 --- a/french_law/ocaml/api.ml +++ /dev/null @@ -1,48 +0,0 @@ -(* This file is part of the French law library, a collection of functions for - computing French taxes and benefits derived from Catala programs. Copyright - (C) 2021 Inria, contributor: Denis Merigoux , Emile - Rolley - - Licensed under the Apache License, Version 2.0 (the "License"); you may not - use this file except in compliance with the License. You may obtain a copy of - the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations under - the License. *) - -open Runtime_ocaml.Runtime -module Allocations_familiales = Law_source.Allocations_familiales -module AF = Allocations_familiales - -let compute_allocations_familiales - ~(current_date : date) - ~(children : AF.EnfantEntree.t array) - ~(income : int) - ~(residence : AF.Collectivite.t) - ~(is_parent : bool) - ~(fills_title_I : bool) - ~(had_rights_open_before_2012 : bool) : float = - let result = - AF.interface_allocations_familiales - { - AF.InterfaceAllocationsFamiliales_in.i_date_courante_in = current_date; - AF.InterfaceAllocationsFamiliales_in.i_enfants_in = children; - AF.InterfaceAllocationsFamiliales_in.i_ressources_menage_in = - money_of_units_int income; - AF.InterfaceAllocationsFamiliales_in.i_residence_in = residence; - AF.InterfaceAllocationsFamiliales_in - .i_personne_charge_effective_permanente_est_parent_in = is_parent; - AF.InterfaceAllocationsFamiliales_in - .i_personne_charge_effective_permanente_remplit_titre_I_in = - fills_title_I; - AF.InterfaceAllocationsFamiliales_in - .i_avait_enfant_a_charge_avant_1er_janvier_2012_in = - had_rights_open_before_2012; - } - in - money_to_float result.AF.InterfaceAllocationsFamiliales.i_montant_verse diff --git a/french_law/ocaml/api.mli b/french_law/ocaml/api.mli deleted file mode 100644 index 38889883..00000000 --- a/french_law/ocaml/api.mli +++ /dev/null @@ -1,29 +0,0 @@ -(* This file is part of the French law library, a collection of functions for - computing French taxes and benefits derived from Catala programs. Copyright - (C) 2021 Inria, contributor: Denis Merigoux - - Licensed under the Apache License, Version 2.0 (the "License"); you may not - use this file except in compliance with the License. You may obtain a copy of - the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations under - the License. *) - -open Runtime_ocaml.Runtime -module Allocations_familiales = Law_source.Allocations_familiales - -val compute_allocations_familiales : - current_date:date -> - children:Allocations_familiales.EnfantEntree.t array -> - income:int -> - residence:Allocations_familiales.Collectivite.t -> - is_parent:bool -> - fills_title_I:bool -> - had_rights_open_before_2012:bool -> - float -(** Usage *) diff --git a/french_law/ocaml/api_web.ml b/french_law/ocaml/api_web.ml deleted file mode 100644 index 9b128959..00000000 --- a/french_law/ocaml/api_web.ml +++ /dev/null @@ -1,49 +0,0 @@ -(* This file is part of the French law library, a collection of functions for - computing French taxes and benefits derived from Catala programs. Copyright - (C) 2021 Inria, contributor: Denis Merigoux , Emile - Rolley - - Licensed under the Apache License, Version 2.0 (the "License"); you may not - use this file except in compliance with the License. You may obtain a copy of - the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations under - the License. *) - -open Js_of_ocaml -open Law_source -open Runtime_jsoo.Runtime -module AF = Allocations_familiales -module AF_web = Allocations_familiales_api_web -module AL = Aides_logement -module AL_web = Aides_logement_api_web - -let () = - Js.export_all - (object%js - val eventsManager = event_manager - - method computeAllocationsFamiliales - : (AF_web.interface_allocations_familiales_in -> float) Js.callback = - Js.wrap_callback (fun interface_allocations_familiales_in -> - let result = - interface_allocations_familiales_in - |> AF_web.interface_allocations_familiales - in - result##.iMontantVerse) - - method computeAidesAuLogement - : (AL_web.calculette_aides_au_logement_garde_alternee_in -> float) - Js.callback = - Js.wrap_callback (fun calculette_aides_au_logement_garde_alternee_in -> - let result = - calculette_aides_au_logement_garde_alternee_in - |> AL_web.calculette_aides_au_logement_garde_alternee - in - result##.aideFinale) - end) diff --git a/french_law/ocaml/bench.ml b/french_law/ocaml/bench.ml deleted file mode 100644 index 399570a1..00000000 --- a/french_law/ocaml/bench.ml +++ /dev/null @@ -1,261 +0,0 @@ -(* This file is part of the French law library, a collection of functions for - computing French taxes and benefits derived from Catala programs. Copyright - (C) 2021 Inria, contributor: Denis Merigoux - - Licensed under the Apache License, Version 2.0 (the "License"); you may not - use this file except in compliance with the License. You may obtain a copy of - the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - License for the specific language governing permissions and limitations under - the License. *) - -module AF = Api.Allocations_familiales -module Runtime = Runtime_ocaml -open Runtime - -let random_children (id : int) = - Runtime. - { - AF.EnfantEntree.d_identifiant = integer_of_int id; - d_remuneration_mensuelle = money_of_units_int (Random.int 2000); - d_date_de_naissance = - date_of_numbers - (2020 - Random.int 22) - (1 + Random.int 12) - (1 + Random.int 28); - d_prise_en_charge = - AF.PriseEnCharge.( - match Random.int 5 with - | 0 -> EffectiveEtPermanente () - | 1 -> GardeAlterneePartageAllocations () - | 2 -> GardeAlterneeAllocataireUnique () - | 3 -> ServicesSociauxAllocationVerseeALaFamille () - | _ -> ServicesSociauxAllocationVerseeAuxServicesSociaux ()); - d_a_deja_ouvert_droit_aux_allocations_familiales = Random.bool (); - d_beneficie_titre_personnel_aide_personnelle_logement = Random.bool (); - } - -let format_residence (fmt : Format.formatter) (r : AF.Collectivite.t) : unit = - Format.fprintf fmt "%s" - AF.Collectivite.( - match r with - | Metropole _ -> "Métropole" - | Guyane _ -> "Guyane" - | Guadeloupe _ -> "Guadeloupe" - | Martinique _ -> "Martinique" - | LaReunion _ -> "La Réunion" - | SaintBarthelemy _ -> "Saint Barthélemy" - | SaintPierreEtMiquelon _ -> "Saint Pierre et Miquelon" - | SaintMartin _ -> "Saint Martin" - | Mayotte _ -> "Mayotte") - -let format_prise_en_charge (fmt : Format.formatter) (g : AF.PriseEnCharge.t) : - unit = - Format.fprintf fmt "%s" - AF.PriseEnCharge.( - match g with - | EffectiveEtPermanente _ -> "Effective et permanente" - | GardeAlterneePartageAllocations _ -> - "Garde alternée, allocations partagée" - | GardeAlterneeAllocataireUnique _ -> "Garde alternée, allocataire unique" - | ServicesSociauxAllocationVerseeALaFamille _ -> - "Oui, allocations versée à la famille" - | ServicesSociauxAllocationVerseeAuxServicesSociaux _ -> - "Oui, allocations versée aux services sociaux") - -let num_successful = ref 0 -let total_amount = ref 0. - -let run_test_allocations_familiales () = - let num_children = Random.int 7 in - let children = Array.init num_children random_children in - let income = Random.int 100000 in - let current_date = Runtime.date_of_numbers 2020 05 01 in - let residence = - let x = Random.int 2 in - match x with - | 0 -> AF.Collectivite.Metropole () - | 1 -> AF.Collectivite.Guadeloupe () - | _ -> AF.Collectivite.Mayotte () - in - try - let amount = - Api.compute_allocations_familiales ~current_date ~income ~residence - ~children ~is_parent:true ~fills_title_I:true - ~had_rights_open_before_2012:(Random.bool ()) - in - incr num_successful; - total_amount := Float.add !total_amount amount - with - | (Runtime.NoValueProvided _ | Runtime.ConflictError _) as err -> - Format.printf "%s\n%a\nincome: %d\ncurrent_date: %s\nresidence: %a\n" - (match err with - | Runtime.NoValueProvided _ -> "No value provided somewhere!" - | Runtime.ConflictError _ -> "Conflict error!" - | _ -> failwith "impossible") - (Format.pp_print_list (fun fmt child -> - Format.fprintf fmt - "Child %d:\n\ - \ income: %.2f\n\ - \ birth date: %s\n\ - \ prise en charge: %a" - (Runtime.integer_to_int child.AF.EnfantEntree.d_identifiant) - (Runtime.money_to_float - child.AF.EnfantEntree.d_remuneration_mensuelle) - (Runtime.date_to_string child.AF.EnfantEntree.d_date_de_naissance) - format_prise_en_charge child.AF.EnfantEntree.d_prise_en_charge)) - (Array.to_list children) income - (Runtime.date_to_string current_date) - format_residence residence; - exit (-1) - | Runtime.AssertionFailed _ -> () - -let aides_logement_input : - Law_source.Aides_logement.CalculetteAidesAuLogementGardeAlternee_in.t = - { - menage_in = - { - personnes_agees_handicapees_foyer_r844_4 = false; - prestations_recues = Array.of_list []; - logement = - { - residence_principale = true; - mode_occupation = - Law_source.Aides_logement.ModeOccupation.Locataire - { - bailleur = - Law_source.Aides_logement.TypeBailleur.BailleurPrive (); - beneficiaire_aide_adulte_ou_enfant_handicapes = false; - logement_est_chambre = false; - colocation = false; - agees_ou_handicap_adultes_hebergees_onereux_particuliers = - false; - logement_meuble_d842_2 = false; - changement_logement_d842_4 = - Law_source.Aides_logement.ChangementLogementD842_4 - .PasDeChangement - (); - loyer_principal = Runtime.money_of_units_int 450; - }; - proprietaire = Law_source.Aides_logement.ParentOuAutre.Autre (); - loue_ou_sous_loue_a_des_tiers = - Law_source.Aides_logement.LoueOuSousLoueADesTiers.Non (); - usufruit = Law_source.Aides_logement.ParentOuAutre.Autre (); - logement_decent_l89_462 = true; - surface_m_carres = Runtime.integer_of_int 65; - zone = Law_source.Aides_logement.ZoneDHabitation.Zone2 (); - }; - personnes_a_charge = - Array.of_list - [ - Law_source.Aides_logement.PersonneACharge.EnfantACharge - { - a_deja_ouvert_droit_aux_allocations_familiales = true; - nationalite = - Law_source.Aides_logement.Nationalite.Francaise (); - etudes_apprentissage_stage_formation_pro_impossibilite_travail = - false; - remuneration_mensuelle = Runtime.money_of_units_int 0; - obligation_scolaire = - Law_source.Aides_logement.SituationObligationScolaire - .Pendant - (); - situation_garde_alternee = - Law_source.Aides_logement.SituationGardeAlternee - .PasDeGardeAlternee - (); - date_de_naissance = Runtime.date_of_numbers 2015 1 1; - identifiant = Runtime.integer_of_int 0; - }; - Law_source.Aides_logement.PersonneACharge.EnfantACharge - { - a_deja_ouvert_droit_aux_allocations_familiales = true; - remuneration_mensuelle = Runtime.money_of_units_int 0; - obligation_scolaire = - Law_source.Aides_logement.SituationObligationScolaire - .Pendant - (); - situation_garde_alternee = - Law_source.Aides_logement.SituationGardeAlternee - .PasDeGardeAlternee - (); - nationalite = - Law_source.Aides_logement.Nationalite.Francaise (); - etudes_apprentissage_stage_formation_pro_impossibilite_travail = - false; - date_de_naissance = Runtime.date_of_numbers 2016 1 1; - identifiant = Runtime.integer_of_int 1; - }; - ]; - nombre_autres_occupants_logement = Runtime.integer_of_int 0; - situation_familiale = - Law_source.Aides_logement.SituationFamiliale.Concubins (); - condition_rattache_foyer_fiscal_parent_ifi = false; - enfant_a_naitre_apres_quatrieme_mois_grossesse = false; - residence = Metropole (); - }; - demandeur_in = - { - nationalite = Law_source.Aides_logement.Nationalite.Francaise (); - personne_hebergee_centre_soin_l_L162_22_3_securite_sociale = false; - date_naissance = Runtime.date_of_numbers 1992 1 1; - est_non_salarie_agricole_l781_8_l_781_46_code_rural = false; - magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte = - false; - }; - date_courante_in = Runtime.date_of_numbers 2022 5 1; - ressources_menage_prises_en_compte_in = Runtime.money_of_units_int 11500; - } - -let run_test_aides_logement () = - try - ignore - (Law_source.Aides_logement.calculette_aides_au_logement_garde_alternee - aides_logement_input) - with - | (Runtime.NoValueProvided _ | Runtime.ConflictError _) as err -> - Format.printf "%s" - (match err with - | Runtime.NoValueProvided _ -> "No value provided somewhere!" - | Runtime.ConflictError _ -> "Conflict error!" - | _ -> failwith "impossible"); - exit (-1) - | Runtime.AssertionFailed _ -> () - -let _test = - let () = run_test_aides_logement () in - let raw_events = Runtime.retrieve_log () in - Runtime.EventParser.parse_raw_events raw_events - -let _test = - let () = run_test_allocations_familiales () in - let raw_events = Runtime.retrieve_log () in - Runtime.EventParser.parse_raw_events raw_events - -let _bench = - Random.init (int_of_float (Unix.time ())); - let num_iter = 10000 in - let (_ : Benchmark.samples) = - Benchmark.latency1 ~style:Auto ~name:"Allocations familiales" - (Int64.of_int num_iter) run_test_allocations_familiales () - in - Printf.printf - "Successful\n\ - \ computations: %d (%.2f%%)\n\ - \ Total benefits awarded: %.2f€ (mean %.2f€)\n" - !num_successful - (Float.mul - (Float.div (float_of_int !num_successful) (float_of_int num_iter)) - 100.) - !total_amount - (Float.div !total_amount (float_of_int !num_successful)); - let (_ : Benchmark.samples) = - Benchmark.latency1 ~style:Auto ~name:"Aides au logement" - (Int64.of_int num_iter) run_test_aides_logement () - in - Printf.printf "Successful\n" diff --git a/french_law/ocaml/dune b/french_law/ocaml/dune deleted file mode 100644 index 0ee51ae4..00000000 --- a/french_law/ocaml/dune +++ /dev/null @@ -1,35 +0,0 @@ -(executable - (name bench) - (modes native) - (public_name bench) - (modules bench) - (package french_law) - (libraries catala.runtime_ocaml french_law benchmark)) - -(executable - (name api_web) - (modes byte js) - (modules - (:standard \ bench api)) - (preprocess - (pps js_of_ocaml-ppx)) - (libraries - catala.runtime_ocaml - catala.runtime_jsoo - js_of_ocaml - yojson - law_source)) - -(library - (name api) - (public_name french_law) - (synopsis - "A collection of functions for computing French taxes and benefits derived from Catala programs") - (libraries catala.runtime_ocaml law_source) - (modules api)) - -(rule - (alias runtest) - (package french_law) - (action - (run bench))) diff --git a/french_law/ocaml/law_source/.ocamlformat-ignore b/french_law/ocaml/law_source/.ocamlformat-ignore deleted file mode 100644 index 72e8ffc0..00000000 --- a/french_law/ocaml/law_source/.ocamlformat-ignore +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/french_law/ocaml/law_source/dune b/french_law/ocaml/law_source/dune deleted file mode 100644 index ccc022e7..00000000 --- a/french_law/ocaml/law_source/dune +++ /dev/null @@ -1,30 +0,0 @@ -(library - (name law_source) - (public_name french_law.law_source) - (preprocess - (pps js_of_ocaml-ppx)) - (libraries catala.runtime_ocaml catala.runtime_jsoo js_of_ocaml)) - -(rule - (target allocations_familiales.ml) - (mode promote) - (action - (copy ../../../examples/allocations_familiales/%{target} %{target}))) - -(rule - (target allocations_familiales_api_web.ml) - (mode promote) - (action - (copy ../../../examples/allocations_familiales/%{target} %{target}))) - -(rule - (target aides_logement.ml) - (mode promote) - (action - (copy ../../../examples/aides_logement/%{target} %{target}))) - -(rule - (target aides_logement_api_web.ml) - (mode promote) - (action - (copy ../../../examples/aides_logement/%{target} %{target}))) diff --git a/french_law/ocaml/law_source/unit_tests/dune b/french_law/ocaml/law_source/unit_tests/dune deleted file mode 100644 index a3b5a5c3..00000000 --- a/french_law/ocaml/law_source/unit_tests/dune +++ /dev/null @@ -1,7 +0,0 @@ -(executable - (name run_tests) - (modes native) - (libraries catala.runtime_ocaml ocolor)) - -(copy_files# - ../../../../examples/allocations_familiales/tests/tests_allocations_familiales.ml) diff --git a/french_law/ocaml/law_source/unit_tests/run_tests.ml b/french_law/ocaml/law_source/unit_tests/run_tests.ml deleted file mode 100644 index 2c5995b4..00000000 --- a/french_law/ocaml/law_source/unit_tests/run_tests.ml +++ /dev/null @@ -1,26 +0,0 @@ -let failure = ref false - -let try_test msg test = - try - test (); - Format.printf "@{PASS@} @{%s@}\n" msg - with Runtime_ocaml.Runtime.AssertionFailed _ -> - failure := true; - Format.printf "@{FAIL@} @{%s@}\n" msg - -let () = - try_test "Allocations familiales #1" Tests_allocations_familiales.test1; - try_test "Allocations familiales #2" Tests_allocations_familiales.test2; - try_test "Allocations familiales #3" Tests_allocations_familiales.test3; - try_test "Allocations familiales #4" Tests_allocations_familiales.test4; - try_test "Allocations familiales #5" Tests_allocations_familiales.test5; - try_test "Allocations familiales #6" Tests_allocations_familiales.test6; - try_test "Allocations familiales #7" Tests_allocations_familiales.test7; - try_test "Allocations familiales #8" Tests_allocations_familiales.test8; - try_test "Allocations familiales #9" Tests_allocations_familiales.test9; - try_test "Allocations familiales #10" Tests_allocations_familiales.test10; - try_test "Allocations familiales #11" Tests_allocations_familiales.test11; - try_test "Allocations familiales #12" Tests_allocations_familiales.test12; - try_test "Allocations familiales #13" Tests_allocations_familiales.test13; - try_test "Allocations familiales #14" Tests_allocations_familiales.test14; - exit (if !failure then -1 else 0) diff --git a/french_law/python/.gitignore b/french_law/python/.gitignore deleted file mode 100644 index a1ba2597..00000000 --- a/french_law/python/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -env/ -.mypy_cache/ -**/__pycache__ diff --git a/french_law/python/Makefile b/french_law/python/Makefile deleted file mode 100644 index bfff462a..00000000 --- a/french_law/python/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -SOURCES=../../runtimes/python/catala/src/catala/runtime.py \ - src/allocations_familiales.py \ - src/aides_logement.py \ - main.py src/api.py - -dependencies: - pip install -r requirements.txt - -type: - mypy $(SOURCES) - -format: - autopep8 --in-place $(SOURCES) - -bench: - python main.py bench_family - python main.py bench_housing - -show_log: - python main.py show_log diff --git a/french_law/python/README.md b/french_law/python/README.md deleted file mode 100644 index 0d4f1748..00000000 --- a/french_law/python/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# Python French Law Library - -This folder contains a ready-to-use Python library featuring French public -algorithms coded up in Catala. - -The Python version expected to run the Python code is above 3.6. For the -commands noted below to run, you are expected to setup a virtual Python -environment: run `make dependencies-python` from the root of the Catala -repository. - -Then activate the environment (needs to be done every time you open a new shell -session). From the root of the Catala repository, run the following command: - -``` -. _python_venv/bin/activate -``` - -## Organization - -### Law source - -The `src/` folder contains the Python files generated by the Catala compiler. -To update them from the Catala sources, invoke this command from the root -of the repository: - -``` -make generate_french_law_library_python -``` - -The Python files generated by the Catala compiler depends on the `catala.runtime` -package, whose source doe can be found in `runtimes/python/catala` from the -root of the Catala repository. - -All theses Python files feature type annotations which can be checked against -using the following command inside this directory (`french_law/python`): - -``` -make type -``` - -### API - -To use the algorithms of this library, you can take a look at the example provided in -`main.py`. All the algorithms are centralized with wrappers in `api.py`, as it is -very important internally to wrap all of the input parameters using `src/catala.py` -conversion functions. - -You can benchmark the computation using the following command inside this -directory (`french_law/python`): - -``` -make bench -``` - -### Logging - -The generated Catala code also features a logging feature that let you inspect -each step of the computation, as well as the values flowing through it. You can -directly retrieve a list of log events just after using a Catala-generated -function, and display this list as you wish. An example of such a display can -be showcases by using the following command inside this directory (`french_law/python`): - -``` -make show_log -``` diff --git a/french_law/python/cnaf_cross_tester/README.md b/french_law/python/cnaf_cross_tester/README.md deleted file mode 100644 index fdca4b5d..00000000 --- a/french_law/python/cnaf_cross_tester/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# How to execute ? - -From the `french_law` directory, launch: - -``` -python -m python.cnaf_cross_tester.main -``` diff --git a/french_law/python/cnaf_cross_tester/__init__.py b/french_law/python/cnaf_cross_tester/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/french_law/python/cnaf_cross_tester/call_cnaf.py b/french_law/python/cnaf_cross_tester/call_cnaf.py deleted file mode 100644 index 8556bc74..00000000 --- a/french_law/python/cnaf_cross_tester/call_cnaf.py +++ /dev/null @@ -1,171 +0,0 @@ -# This code is ported from https://github.com/jboillot/apl-fetcher - -from .input import AppartementOuMaison, AppartementOuMaisonType, CnafSimulatorInput, LogementCrousType, Logement_Code, SeulOuCouple -import json -import requests # type: ignore - - -def get_bearer(): - url = "https://wwwd.caf.fr/wps/s/GenerateTokenJwtPublic/" - - payload = {} - headers = { - 'Accept': 'application/json, text/plain, */*', - 'Connection': 'keep-alive', - 'Referer': 'https://wwwd.caf.fr/wps/portal/caffr/aidesetdemarches/mesdemarches/faireunesimulation/lelogement', - 'Sec-Fetch-Dest': 'empty', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Site': 'same-origin', - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', - 'Cookie': 'DYN_PERSYS=438624522.14119.0000; PERSYS=2801671596.47138.0000; TS015047ff=015e43680bb2f0a3e2996d95996eaa92a52fbad1221c1d64a9f10e25a1c12f8c7ec932a9aff3ba4fd7bdd4441e48f788df0b32610f' - } - - response = requests.request("GET", url, headers=headers, data=payload) - data = json.loads(response.text) - return data['cnafTokenJwt'] - - -def get_simulation(bearer, payload_json): - import requests - - url = "https://wwwd.caf.fr/api/prestationalmiddle/v1/simuler" - - payload = json.dumps(payload_json) - headers = { - 'Accept': 'application/json, text/plain, */*', - 'Accept-Language': 'en-GB,en-US;q=0.9,en;q=0.8,fr;q=0.7', - 'Authorization': bearer, - 'Connection': 'keep-alive', - 'Content-Type': 'application/json; charset=UTF-8', - 'Origin': 'https://wwwd.caf.fr', - 'Referer': 'https://wwwd.caf.fr/wps/portal/caffr/aidesetdemarches/mesdemarches/faireunesimulation/lelogement', - 'Sec-Fetch-Dest': 'empty', - 'Sec-Fetch-Mode': 'cors', - 'Sec-Fetch-Site': 'same-origin', - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', - # 'Cookie': 'DYN_PERSYS=438624522.14119.0000; PERSYS=2801671596.47138.0000; TS015047ff=015e43680bb2f0a3e2996d95996eaa92a52fbad1221c1d64a9f10e25a1c12f8c7ec932a9aff3ba4fd7bdd4441e48f788df0b32610f' - } - - response = requests.request("POST", url, headers=headers, data=payload) - response_json = response.json() - # print(response_json) - if response_json['possedeDesDroits']: - return int(response_json['montantDroit']) - else: - return 0 - - -def format_payload(input: CnafSimulatorInput): - - flgLogementConventionne = False - if input.logement.code() == Logement_Code.CodeLogementMaisonRetraite: - if input.logement.conventionne: - flgLogementConventionne = True - - if input.logement.meublee() is None: - flgMeubleLogement = False - else: - flgMeubleLogement = input.logement.meublee() - - logement = { - "adresse": { - "codeInsee": str(input.zone.value) - }, - "loyer": { - "mtLoyerFoyer": float(input.loyer) - }, - # parmi ["APPARTEMENT_OU_MAISON", "FOYER", "LOGEMENT_CROUS", - "cdTypeLogement": str(input.logement.residence_v), - # "MAISON_RETRAITE_EHPAD", "RESIDENCE_SOCIALE_FJT", "CHAMBRE"] - "flgLogementConventionne": flgLogementConventionne, - "flgMeubleLogement": flgMeubleLogement - } - personne1 = { - "personne": { - "enActivite": False, - "estAuChomage": False, - "flgDemandeur": True, # Est ce la personne demandeuse ? - "situationProfessionnelleList": [ - { - "situationProfessionnelle": "ACT_INCONNUE" - # parmi "ETU" (étudiant non boursier) - # "CONGE_MATPAT", - # "ST_RSA", - # "EBO" (étudiant boursier) - # "ACT_INCONNUE" (autre situation) - # Et pour les enfants ça peut être - # "ETU" - # "APPRENTI" - # "SALARIE_CP" - } - ], - "ressourceList": [ - { - "groupeOrigine": "salaire", - # parmi "salaire", "allocation_chomage", - # "retraite_pension_imposable", "pension_alimentaire_recue" - # "revenu_travailleur_independant" - "mtRessource": int(float(input.revenu_pris_en_compte) / 0.9) - }, - - ] - } - } - household_members = [personne1] - if input.seul_ou_couple == SeulOuCouple.Seul: - personne2 = None - else: - personne2 = { - "personne": { - "flgDemandeur": False, - "situationProfessionnelleList": [ - { - "situationProfessionnelle": "ACT_INCONNUE" - } - ], - "ressourceList": [] - } - } - household_members.append(personne2) - children = [ - { - "role": "ENF", - "personne": { - "role": "ENF", - "enfantACharge": enfant.age < 21, - "flgDemandeur": False, - "ressourceList": [] - } - } - for enfant in input.enfants - ] - household_members.extend(children) - - flgColocation = False - if input.logement.code() == Logement_Code.CodeAppartementOuMaison: - if input.logement.typ_v == AppartementOuMaisonType.Colocation: - flgColocation = True - result = { - "rattachementLogementList": [ - { - "flgColocation": flgColocation, - "logement": logement - } - ], - "compoFoyerList": household_members, - "situationFamilialeList": [ - { - "estEnCouple": True if input.seul_ou_couple == SeulOuCouple.EnCouple else False, - "situationFamille": str(input.seul_ou_couple.value) - # Parmi "CEL" (célibataire) - # "VIM" (vie maritale = couple) - } - ]} - return result - - -def run_simulator(input: CnafSimulatorInput) -> int: - payload = format_payload(input) - # print(payload) - bearer = get_bearer() - return (get_simulation(bearer, payload)) diff --git a/french_law/python/cnaf_cross_tester/cnaf_to_catala.py b/french_law/python/cnaf_cross_tester/cnaf_to_catala.py deleted file mode 100644 index 124b85c7..00000000 --- a/french_law/python/cnaf_cross_tester/cnaf_to_catala.py +++ /dev/null @@ -1,172 +0,0 @@ -import datetime -from typing import List -from catala.runtime import Unit # type: ignore -from ..src.aides_logement import Collectivite, Collectivite_Code, Nationalite, CategorieEquivalenceLoyerAllocationLogementFoyer_Code, LogementFoyer, ModeOccupation_Code, Nationalite_Code, SituationFamiliale_Code, SituationGardeAlternee_Code, SituationObligationScolaire_Code, TypeBailleur_Code, TypeLogementFoyer_Code, ZoneDHabitation_Code -from ..src.api import EnfantAPL, InfosLocation, InfosLogementFoyer, InfosSpecifiques, PersonneAChargeAPL, aides_logement -from .input import Logement_Code, AppartementOuMaison, AppartementOuMaisonType, CnafSimulatorInput, LogementCrous, LogementCrousType, LogementMaisonRetraite, LogementResidenceSocialeFJT, SeulOuCouple, Zone - - -def run_catala_by_converting_cnaf_input(sample_input: CnafSimulatorInput) -> float: - enfants: List[PersonneAChargeAPL] = [] - i = 0 - for enfant in sample_input.enfants: - enfants.append(EnfantAPL( - identifiant=i, - a_deja_ouvert_droit_aux_allocations_familiales=False, - date_de_naissance=datetime.date.today() - datetime.timedelta(days=366 * enfant.age), - remuneration_mensuelle=int(0), - obligation_scolaire=SituationObligationScolaire_Code.Avant if enfant.age < 3 else ( - SituationObligationScolaire_Code.Apres if enfant.age > 16 else SituationObligationScolaire_Code.Pendant), - situation_garde_alternee=SituationGardeAlternee_Code.PasDeGardeAlternee, - coefficient_garde_alternee=None, - nationalite=Nationalite( - code=Nationalite_Code.Francaise, value=Unit()), - etudes_apprentissage_stage_formation_pro_impossibilite_travail=False - )) - i += 1 - - mode_occupation: ModeOccupation_Code - infos_specifiques: InfosSpecifiques - if sample_input.logement.code() == Logement_Code.CodeAppartementOuMaison: - mode_occupation = ModeOccupation_Code.Locataire - infos_specifiques = InfosLocation( - loyer_principal=sample_input.loyer, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=False, - colocation=sample_input.logement.typ_v == AppartementOuMaisonType.Colocation, - agees_ou_handicap_adultes_hebergees_onereux_particuliers=False, - logement_meuble_d842_2=sample_input.logement.meuble_v, - ancien_loyer_et_apl_relogement=None, - type_bailleur=TypeBailleur_Code.BailleurPrive, - bailleur_conventionne=None, - reduction_loyer_solidarite=None - ) - elif sample_input.logement.code() == Logement_Code.CodeLogementCrous: - # Les correspondances avec les catégories réglementaires sont faites selon DGALN/DHUP/FE4 (mail du 26/07/2022) - mode_occupation = ModeOccupation_Code.Locataire if sample_input.logement.typ_v == LogementCrousType.Studio else ModeOccupation_Code.ResidentLogementFoyer - infos_specifiques = InfosLocation( - loyer_principal=sample_input.loyer, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=False, - colocation=False, - logement_meuble_d842_2=False, - ancien_loyer_et_apl_relogement=None, - type_bailleur=TypeBailleur_Code.BailleurPrive, - agees_ou_handicap_adultes_hebergees_onereux_particuliers=False, - bailleur_conventionne=None, - reduction_loyer_solidarite=None, - ) if sample_input.logement.typ_v == LogementCrousType.Studio else InfosLogementFoyer( - type=TypeLogementFoyer_Code.Autre, - remplit_conditions_r832_21=True, - conventionne_livre_III_titre_V_chap_III=True, - date_conventionnement=datetime.date(2000, 1, 1), - construit_application_loi_1957_12_III=False, - redevance=sample_input.loyer, - categorie_equivalence_loyer_d842_16=CategorieEquivalenceLoyerAllocationLogementFoyer_Code.EtudiantLogeEnChambreCROUS if - sample_input.logement.typ_v == LogementCrousType.Chambre else - CategorieEquivalenceLoyerAllocationLogementFoyer_Code.EtudiantLogeEnChambreCROUSRehabilitee, - conventionne_selon_regles_drom=False, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=False, - colocation=False, - logement_meuble_d842_2=False, - logement_foyer_jeunes_travailleurs=False - ) - elif sample_input.logement.code() == Logement_Code.CodeLogementFoyer: - mode_occupation = ModeOccupation_Code.ResidentLogementFoyer - infos_specifiques = InfosLogementFoyer( - conventionne_selon_regles_drom=False, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=False, - colocation=False, - logement_meuble_d842_2=False, - logement_foyer_jeunes_travailleurs=False, - type=TypeLogementFoyer_Code.Autre, - remplit_conditions_r832_21=False, - conventionne_livre_III_titre_V_chap_III=False, - date_conventionnement=datetime.date(2000, 1, 1), - construit_application_loi_1957_12_III=False, - redevance=sample_input.loyer, - categorie_equivalence_loyer_d842_16=CategorieEquivalenceLoyerAllocationLogementFoyer_Code.AutresPersonnes - ) - elif sample_input.logement.code() == Logement_Code.CodeLogementResidenceSocialeFJT: - # Correspond au 2° du D832-25 selon DGALN/DHUP/FE4 (mail du 26/07/2022) - mode_occupation = ModeOccupation_Code.ResidentLogementFoyer - infos_specifiques = InfosLogementFoyer( - conventionne_selon_regles_drom=False, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=False, - colocation=False, - logement_meuble_d842_2=False, - logement_foyer_jeunes_travailleurs=False, - type=TypeLogementFoyer_Code.ResidenceSociale, - remplit_conditions_r832_21=True, - conventionne_livre_III_titre_V_chap_III=True, - date_conventionnement=datetime.date(2000, 1, 1), - construit_application_loi_1957_12_III=False, - redevance=sample_input.loyer, - categorie_equivalence_loyer_d842_16=CategorieEquivalenceLoyerAllocationLogementFoyer_Code.AutresPersonnes - ) - elif sample_input.logement.code() == Logement_Code.CodeLogementMaisonRetraite: - # Correspond au 3° du D842-16 et au 1° du R832-20 selon DGALN/DHUP/FE4 (mail du 26/07/2022) - mode_occupation = ModeOccupation_Code.ResidentLogementFoyer - infos_specifiques = InfosLogementFoyer( - conventionne_selon_regles_drom=False, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=False, - colocation=False, - logement_meuble_d842_2=False, - logement_foyer_jeunes_travailleurs=False, - type=TypeLogementFoyer_Code.LogementPersonnesAgeesOuHandicapees if sample_input.logement.conventionne else TypeLogementFoyer_Code.Autre, - remplit_conditions_r832_21=True, - conventionne_livre_III_titre_V_chap_III=sample_input.logement.conventionne, - date_conventionnement=datetime.date(2000, 1, 1), - construit_application_loi_1957_12_III=False, - redevance=sample_input.loyer, - categorie_equivalence_loyer_d842_16=CategorieEquivalenceLoyerAllocationLogementFoyer_Code.PersonnesAgeesSelon3DeD842_16 - ) - else: # sample_input.logement.code() == Logement_Code.CodeLogementChambre: - mode_occupation = ModeOccupation_Code.Locataire - infos_specifiques = InfosLocation( - loyer_principal=sample_input.loyer, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - logement_est_chambre=True, - colocation=False, - agees_ou_handicap_adultes_hebergees_onereux_particuliers=False, - logement_meuble_d842_2=sample_input.logement.meuble_v, - ancien_loyer_et_apl_relogement=None, - type_bailleur=TypeBailleur_Code.BailleurPrive, - bailleur_conventionne=None, - reduction_loyer_solidarite=None - ) - - housing_benefits_gross = aides_logement( - datetime.date.today(), - ressources_menage_prises_en_compte=sample_input.revenu_pris_en_compte, - date_naissance_demandeur=datetime.date(1992, 1, 1), - nationalite_demandeur=Nationalite( - code=Nationalite_Code.Francaise, value=Unit()), - personne_hebergee_centre_soins=False, - personnes_agees_handicapees_foyer_r844_4=False, - magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte=False, - est_non_salarie_agricole_l781_8_l_781_46_code_rural=False, - residence=Collectivite_Code.Metropole, - personne_rattache_foyer_fiscal_parent_ifi=False, - nombre_autres_occupants_logement_hors_menage=0, - enfant_a_naitre_apres_quatrieme_mois_grossesse=False, - situation_familiale=SituationFamiliale_Code.Celibataire if sample_input.seul_ou_couple == SeulOuCouple.Seul else SituationFamiliale_Code.Concubins, - date_mariage=None, - prestations_recues=[], - residence_principale=True, - logement_est_decent=True, - surface_logement_m_carres=10000, - zone=ZoneDHabitation_Code.Zone1 if sample_input.zone == Zone.Zone1 else ( - ZoneDHabitation_Code.Zone2 if sample_input.zone == Zone.Zone2 else ZoneDHabitation_Code.Zone3), - parts_logement_propriete_famille=None, - parts_logement_usufruits_famille=None, - date_naissance_et_conformite_sous_locataire_tiers=None, - personnes_a_charge=enfants, - mode_occupation=mode_occupation, - infos_specifiques=infos_specifiques) - - return round(housing_benefits_gross*0.995) # We take the CRDS diff --git a/french_law/python/cnaf_cross_tester/input.py b/french_law/python/cnaf_cross_tester/input.py deleted file mode 100644 index 903bdc62..00000000 --- a/french_law/python/cnaf_cross_tester/input.py +++ /dev/null @@ -1,222 +0,0 @@ -from abc import ABC, abstractmethod -from enum import Enum -from typing import Any, List, Optional - -class Logement_Code(Enum): - CodeAppartementOuMaison = 0 - CodeLogementCrous = 1 - CodeLogementFoyer = 2 - CodeLogementResidenceSocialeFJT = 3 - CodeLogementMaisonRetraite = 4 - CodeLogementChambre = 5 - -class Logement(ABC): - @abstractmethod - def residence(self) -> str: - pass - - @abstractmethod - def code(self) -> Logement_Code: - pass - - @abstractmethod - def typ(self) -> Optional[str]: - pass - - @abstractmethod - def meublee(self) -> Optional[bool]: - pass - - @abstractmethod - def __str__(self) -> str: - pass - - - -class AppartementOuMaisonType(Enum): - Location = "LOCATION" - Colocation = "COLOCATION" - - -class AppartementOuMaison(Logement): - def __init__(self, typ: AppartementOuMaisonType, meuble: bool): - self.residence_v = "APPARTEMENT_OU_MAISON" - self.typ_v = typ - self.meuble_v = meuble - self.code_v = Logement_Code.CodeAppartementOuMaison - - def residence(self) -> str: - return self.residence_v - - def code(self) -> Logement_Code: - return self.code_v - - def typ(self) -> Optional[str]: - return self.typ_v.value - - def meublee(self) -> Optional[bool]: - return self.meuble_v - - def __str__(self) -> str: - return "AppartementOuMaison(typ={},meuble={})".format(self.typ_v.name, self.meuble_v) - - -class LogementCrousType(Enum): - Chambre = 'CHAMBRE' - Chambre_rehabilitee = 'CHAMBRE_REHABILITEE' - Studio = 'STUDIO' - - -class LogementCrous(Logement): - def __init__(self, typ: LogementCrousType): - self.residence_v = 'LOGEMENT_CROUS' - self.typ_v = typ - self.code_v = Logement_Code.CodeLogementCrous - - def residence(self) -> str: - return self.residence_v - - def code(self) -> Logement_Code: - return self.code_v - - def typ(self) -> Optional[str]: - return self.typ_v.value - - def meublee(self) -> Optional[bool]: - return None - - def __str__(self) -> str: - return "LogementCrous(typ={})".format(self.typ_v.name) - - -class LogementFoyer(Logement): - def __init__(self): - self.residence_v = 'FOYER' - self.code_v = Logement_Code.CodeLogementFoyer - - def residence(self) -> str: - return self.residence_v - - def code(self) -> Logement_Code: - return self.code_v - - def typ(self) -> Optional[str]: - return None - - def meublee(self) -> Optional[bool]: - return None - - def __str__(self) -> str: - return "LogementFoyer" - - -class LogementResidenceSocialeFJT(Logement): - def __init__(self): - self.residence_v = 'RESIDENCE_SOCIALE_FJT' - self.code_v = Logement_Code.CodeLogementResidenceSocialeFJT - - def residence(self) -> str: - return self.residence_v - - def typ(self) -> Optional[str]: - return None - - def code(self) -> Logement_Code: - return self.code_v - - def meublee(self) -> Optional[bool]: - return None - - def __str__(self) -> str: - return "LogementResidenceSocialeFJT" - - -class LogementMaisonRetraite(Logement): - def __init__(self, conventionne : bool): - self.residence_v = 'MAISON_RETRAITE_EHPAD' - self.code_v = Logement_Code.CodeLogementMaisonRetraite - self.conventionne = conventionne - - def residence(self) -> str: - return self.residence_v - - def code(self) -> Logement_Code: - return self.code_v - - def typ(self) -> Optional[str]: - return None - - def meublee(self) -> Optional[bool]: - return None - - def __str__(self) -> str: - return "LogementMaisonRetraite" - - -class LogementChambre(Logement): - def __init__(self, meuble: bool): - self.residence_v = 'CHAMBRE' - self.meuble_v = meuble - self.code_v = Logement_Code.CodeLogementChambre - - def residence(self) -> str: - return self.residence_v - - def code(self) -> Logement_Code: - return self.code_v - - def typ(self) -> Optional[str]: - return None - - def meublee(self) -> Optional[bool]: - return self.meuble_v - - def __str__(self) -> str: - return "LogementChambre(meuble={})".format(self.meuble_v) - - -class SeulOuCouple(Enum): - Seul = 'CEL' - EnCouple = 'VIM' - - -class Enfant(): - def __init__(self, - age: int): - self.age = age - - def __str__(self) -> str: - return "Enfant(age={})".format(self.age) - - -# Le simulateur de la CNAF prend les codes INSEE des communes -class Zone(Enum): - Zone1 = "75101" - Zone2 = "69381" - Zone3 = "46201" - - -class CnafSimulatorInput(): - def __init__(self, - zone: Zone, - logement: Logement, - loyer: int, - seul_ou_couple: SeulOuCouple, - enfants: List[Enfant], - revenu_pris_en_compte: int): - self.zone = zone - self.logement = logement - self.loyer = loyer - self.seul_ou_couple = seul_ou_couple - self.enfants = enfants - self.revenu_pris_en_compte = revenu_pris_en_compte - - def __str__(self): - return "-> Code postal : {}\n-> Logement : {}\n-> Loyer : {} €\n-> Seul of couple : {}\n-> Enfants :\n{}\n-> Revenus pris en compte : {} €".format( - self.zone.name, - self.logement, - self.loyer, - self.seul_ou_couple.name, - "\n".join(["{}".format(enfant) for enfant in self.enfants]), - self.revenu_pris_en_compte - ) diff --git a/french_law/python/cnaf_cross_tester/main.py b/french_law/python/cnaf_cross_tester/main.py deleted file mode 100644 index 1b305f5c..00000000 --- a/french_law/python/cnaf_cross_tester/main.py +++ /dev/null @@ -1,102 +0,0 @@ -from .random_input_generator import generate_random_input -from .input import LogementFoyer, CnafSimulatorInput, Enfant, SeulOuCouple, Zone -from .call_cnaf import run_simulator -from .cnaf_to_catala import run_catala_by_converting_cnaf_input -from catala.runtime import LogEventCode, retrieve_log -from termcolor import colored - - -def print_value(v) -> str: - if isinstance(v, list): - return "[" + ",".join([str(x) for x in v]) + "]" - else: - return str(v) - -# Cas à débugguer : -# sample_input = CnafSimulatorInput( -# zone=Zone.Zone2, -# logement=LogementResidenceSocialeFJT(), -# loyer=200, -# seul_ou_couple=SeulOuCouple.Seul, -# enfants=[], -# revenu_pris_en_compte=9_000 -# ) -# sample_input = CnafSimulatorInput( -# zone=Zone.Zone2, -# logement=LogementCrous(typ=LogementCrousType.Chambre_rehabilitee), -# loyer=400, -# seul_ou_couple=SeulOuCouple.Seul, -# enfants=[], -# revenu_pris_en_compte=6_000 -# ) -# sample_input = CnafSimulatorInput( -# zone=Zone.Zone1, -# logement=LogementFoyer(), -# loyer=804, -# seul_ou_couple=SeulOuCouple.Seul, -# enfants=[ -# Enfant(age=14), -# Enfant(age=13), -# Enfant(age=14), -# Enfant(age=12), -# Enfant(age=22), -# ], -# revenu_pris_en_compte=1_600 -# ) - - -print_log = False -# input identical to the JS test of the housing benefits -sample_input = CnafSimulatorInput( - zone=Zone.Zone1, - logement=LogementFoyer(), - loyer=804, - seul_ou_couple=SeulOuCouple.Seul, - enfants=[ - Enfant(age=14), - Enfant(age=13), - Enfant(age=14), - Enfant(age=12), - Enfant(age=22), - ], - revenu_pris_en_compte=1_600 -) -# Or a random input -# sample_input = generate_random_input() -print("🏡 Description du ménage") -print(sample_input) -housing_benefits_catala = run_catala_by_converting_cnaf_input(sample_input) -print("💰 Aides au logement (Catala): {} €".format(housing_benefits_catala)) -housing_benefits_cnaf = run_simulator(sample_input) -print("💰 Aides au logement (CNAF) : {} €".format(housing_benefits_cnaf)) - -if print_log: - log = retrieve_log() - indentation = 0 - for log_event in log: - if log_event.code == LogEventCode.BeginCall: - print("{}{} {}".format( - "".ljust(indentation), colored("Begin call:", "yellow"), colored(" >> ".join(log_event.payload), "magenta"))) # type: ignore - indentation += 2 - elif log_event.code == LogEventCode.EndCall: - indentation -= 2 - print("{}{} {}".format( - "".ljust(indentation), colored("End call:", "yellow"), colored(" >> ".join(log_event.payload), "magenta"))) # type: ignore - elif log_event.code == LogEventCode.VariableDefinition: - headings, value = log_event.payload # type: ignore - print("{}{} {} {} {}".format( - "".ljust(indentation), colored("Variable definition:", "blue"), colored(" >> ".join(headings), "magenta"), colored(":=", "blue"), colored(print_value(value), "green"))) # type: ignore - elif log_event.code == LogEventCode.DecisionTaken: - print("{}{} {}".format( - "".ljust(indentation), colored("Decision taken:", "green"), colored("{}".format(log_event.payload), "magenta"))) # type: ignore - -delta = abs(housing_benefits_catala - housing_benefits_cnaf) -if delta == 0: - print("✅ Pas de difference") - exit(0) -elif delta == 1: - print("⚠️ Différence de +/- 1 €, on laisse tomber les erreurs d'arrondi...") - exit(0) -else: - print("❌ Différence") - exit(-1) diff --git a/french_law/python/cnaf_cross_tester/random_input_generator.py b/french_law/python/cnaf_cross_tester/random_input_generator.py deleted file mode 100644 index cbc11d5a..00000000 --- a/french_law/python/cnaf_cross_tester/random_input_generator.py +++ /dev/null @@ -1,66 +0,0 @@ -import random -from .input import AppartementOuMaison, AppartementOuMaisonType, CnafSimulatorInput, Enfant, Logement, LogementChambre, LogementCrous, LogementCrousType, LogementFoyer, LogementMaisonRetraite, LogementResidenceSocialeFJT, SeulOuCouple, Zone - - -def generate_random_child() -> Enfant: - age = random.randint(0, 25) - # For now we don't put income for children for simplicity - return Enfant(age) - - -def generate_random_input() -> CnafSimulatorInput: - zone_i = random.randint(1, 3) - if zone_i == 1: - zone = Zone.Zone1 - elif zone_i == 2: - zone = Zone.Zone2 - else: # zone_i == 3 - zone = Zone.Zone3 - loyer = random.randint(300, 1000) - revenus_pris_en_compte = random.randint(0, 200) * 100 - seul_ou_couple_i = random.randint(1, 2) - if seul_ou_couple_i == 1: - seul_ou_couple = SeulOuCouple.Seul - else: # seul_ou_couple_i == 2 - seul_ou_couple = SeulOuCouple.EnCouple - nb_enfants = random.randint(0, 8) - enfants = [generate_random_child() for i in range(nb_enfants)] - typ_logement = random.randint(1, 6) - meuble_i = random.randint(1, 2) - logement: Logement - if meuble_i == 1: - meuble = True - else: # meuble_i == 2 - meuble = False - if typ_logement == 1: - typ_location_i = random.randint(1, 2) - if typ_location_i == 1: - typ_location = AppartementOuMaisonType.Location - else: # typ_location_i == 2 - typ_location = AppartementOuMaisonType.Colocation - logement = AppartementOuMaison(typ_location, meuble) - elif typ_logement == 2: - typ_i = random.randint(1, 3) - if typ_i == 1: - typ = LogementCrousType.Chambre - elif typ_i == 2: - typ = LogementCrousType.Chambre_rehabilitee - else: # typ_i == 3 - typ = LogementCrousType.Studio - logement = LogementCrous(typ) - elif typ_logement == 3: - logement = LogementFoyer() - elif typ_logement == 4: - logement = LogementResidenceSocialeFJT() - elif typ_logement == 5: - logement = LogementMaisonRetraite() - else: # typ_logement == 6: - logement = LogementChambre(meuble) - return CnafSimulatorInput( - zone=zone, - logement=logement, - loyer=loyer, - seul_ou_couple=seul_ou_couple, - enfants=enfants, - revenu_pris_en_compte=revenus_pris_en_compte - ) diff --git a/french_law/python/main.py b/french_law/python/main.py deleted file mode 100755 index 1a22629a..00000000 --- a/french_law/python/main.py +++ /dev/null @@ -1,168 +0,0 @@ -#!python3 - -from datetime import date -from src.aides_logement import ModeOccupation_Code, Nationalite_Code, PrestationRecue_Code, SituationFamiliale_Code, SituationGardeAlternee_Code, SituationObligationScolaire_Code, TypeBailleur_Code, ZoneDHabitation_Code, Nationalite -from src.aides_logement import Collectivite_Code as Collectivite_Code_APL -from src.allocations_familiales import PriseEnCharge_Code, Collectivite_Code, SituationObligationScolaire -from src.api import EnfantAPL, InfosLocation, aides_logement, allocations_familiales, Enfant -from catala.runtime import LogEvent, LogEventCode, reset_log, retrieve_log, Unit -import timeit -import argparse -from typing import List, Any -from termcolor import colored - - -def call_allocations_familiales() -> float: - return allocations_familiales( - date_courante=date(2020, 4, 20), - enfants=[ - Enfant(id=0, remuneration_mensuelle=0, - date_de_naissance=date(2003, 2, 2), - prise_en_charge=PriseEnCharge_Code.EffectiveEtPermanente, - a_deja_ouvert_droit_aux_allocations_familiales=True, - beneficie_titre_personnel_aide_personnelle_logement=False), - Enfant(id=1, remuneration_mensuelle=300, - date_de_naissance=date(2013, 9, 30), - prise_en_charge=PriseEnCharge_Code.GardeAlterneePartageAllocations, - a_deja_ouvert_droit_aux_allocations_familiales=True, - beneficie_titre_personnel_aide_personnelle_logement=False) - ], - ressources_menage=30000, - residence=Collectivite_Code.Metropole, - personne_charge_effective_permanente_est_parent=True, - personne_charge_effective_permanente_remplit_titre_I=True, - avait_enfant_a_charge_avant_1er_janvier_2012=False, - ) - - -def call_aides_logement() -> float: - return aides_logement( - residence=Collectivite_Code_APL.Metropole, - date_courante=date(2022, 5, 1), - ressources_menage_prises_en_compte=11_500, - date_naissance_demandeur=date(1992, 1, 1), - nationalite_demandeur=Nationalite( - code=Nationalite_Code.Francaise, value=Unit()), - personne_hebergee_centre_soins=False, - personne_rattache_foyer_fiscal_parent_ifi=False, - nombre_autres_occupants_logement_hors_menage=0, - enfant_a_naitre_apres_quatrieme_mois_grossesse=False, - personnes_agees_handicapees_foyer_r844_4=False, - situation_familiale=SituationFamiliale_Code.Concubins, - date_mariage=None, - prestations_recues=[], - residence_principale=True, - surface_logement_m_carres=65, - zone=ZoneDHabitation_Code.Zone2, - parts_logement_propriete_famille=None, - parts_logement_usufruits_famille=None, - date_naissance_et_conformite_sous_locataire_tiers=None, - mode_occupation=ModeOccupation_Code.Locataire, - personnes_a_charge=[ - EnfantAPL( - identifiant=1, - etudes_apprentissage_stage_formation_pro_impossibilite_travail=False, - a_deja_ouvert_droit_aux_allocations_familiales=True, - date_de_naissance=date(2015, 1, 1), - remuneration_mensuelle=0, - nationalite=Nationalite( - code=Nationalite_Code.Francaise, value=Unit()), - obligation_scolaire=SituationObligationScolaire_Code.Pendant, - situation_garde_alternee=SituationGardeAlternee_Code.PasDeGardeAlternee, - coefficient_garde_alternee=None - ), - EnfantAPL( - identifiant=2, - etudes_apprentissage_stage_formation_pro_impossibilite_travail=False, - a_deja_ouvert_droit_aux_allocations_familiales=True, - date_de_naissance=date(2016, 1, 1), - remuneration_mensuelle=0, - nationalite=Nationalite( - code=Nationalite_Code.Francaise, value=Unit()), - obligation_scolaire=SituationObligationScolaire_Code.Pendant, - situation_garde_alternee=SituationGardeAlternee_Code.PasDeGardeAlternee, - coefficient_garde_alternee=None) - ], - logement_est_decent=True, - infos_specifiques=InfosLocation( - loyer_principal=450, - beneficiaire_aide_adulte_ou_enfant_handicapes=False, - colocation=False, - logement_est_chambre=False, - agees_ou_handicap_adultes_hebergees_onereux_particuliers=False, - logement_meuble_d842_2=False, - ancien_loyer_et_apl_relogement=None, - type_bailleur=TypeBailleur_Code.BailleurPrive, - bailleur_conventionne=None, - reduction_loyer_solidarite=None - ), - magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte=False, - est_non_salarie_agricole_l781_8_l_781_46_code_rural=False - ) - - -def benchmark_iteration_family(): - money_given = call_allocations_familiales() - assert (money_given == 99.46) - - -def benchmark_iteration_housing(): - money_given = call_aides_logement() - assert (money_given == 352.77) - - -def run_with_log() -> List[LogEvent]: - money_given = call_allocations_familiales() - assert (money_given == 99.46) - log = retrieve_log() - reset_log() - return log - - -def print_value(v: Any) -> str: - if isinstance(v, list): - return "[" + ",".join([str(x) for x in v]) + "]" - else: - return str(v) - - -if __name__ == '__main__': - parser = argparse.ArgumentParser( - description='French law library in Python') - parser.add_argument('action', metavar='ACTION', type=str, nargs=1, - help="'bench' or 'show_log'") - - args = parser.parse_args() - action = args.action[0] - if action == "bench_family": - iterations = 1000 - print("Iterating {} iterations of the family benefits computation. Total time (s):".format( - iterations)) - print(timeit.timeit(benchmark_iteration_family, number=iterations)) - elif action == "bench_housing": - iterations = 1000 - print("Iterating {} iterations of the housing benefits computation. Total time (s):".format( - iterations)) - print(timeit.timeit(benchmark_iteration_housing, number=iterations)) - elif action == "show_log": - log = run_with_log() - indentation = 0 - for log_event in log: - if log_event.code == LogEventCode.BeginCall: - print("{}{} {}".format( - "".ljust(indentation), colored("Begin call:", "yellow"), colored(" >> ".join(log_event.payload), "magenta"))) # type: ignore - indentation += 2 - elif log_event.code == LogEventCode.EndCall: - indentation -= 2 - print("{}{} {}".format( - "".ljust(indentation), colored("End call:", "yellow"), colored(" >> ".join(log_event.payload), "magenta"))) # type: ignore - elif log_event.code == LogEventCode.VariableDefinition: - headings, value = log_event.payload # type: ignore - print("{}{} {} {} {}".format( - "".ljust(indentation), colored("Variable definition:", "blue"), colored(" >> ".join(headings), "magenta"), colored(":=", "blue"), colored(print_value(value), "green"))) # type: ignore - elif log_event.code == LogEventCode.DecisionTaken: - print("{}{} {}".format( - "".ljust(indentation), colored("Decision taken:", "green"), colored("{}".format(log_event.payload), "magenta"))) # type: ignore - else: - print("Action '{}' not recognized!".format(action)) - exit(-1) diff --git a/french_law/python/requirements.txt b/french_law/python/requirements.txt deleted file mode 100644 index d2f0c06d..00000000 --- a/french_law/python/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --e ../../runtimes/python/catala diff --git a/french_law/python/src/__init__.py b/french_law/python/src/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/french_law/python/src/api.py b/french_law/python/src/api.py deleted file mode 100644 index 68dc1f90..00000000 --- a/french_law/python/src/api.py +++ /dev/null @@ -1,450 +0,0 @@ -from abc import ABC, abstractmethod -from catala.runtime import * # type: ignore -from .allocations_familiales import Collectivite, Collectivite_Code, InterfaceAllocationsFamilialesIn, PriseEnCharge, interface_allocations_familiales, PriseEnCharge_Code, EnfantEntree, InterfaceAllocationsFamilialesIn -from .aides_logement import AutrePersonneACharge, CategorieEquivalenceLoyerAllocationLogementFoyer, CategorieEquivalenceLoyerAllocationLogementFoyer_Code, ChangementLogementD8424, ChangementLogementD8424_Code, ConventionANHA, ConventionBailleurSocial, EnfantACharge, InfosChangementLogementD8424, Location, Logement, LogementFoyer, LoueOuSousLoueADesTiers, LoueOuSousLoueADesTiers_Code, Menage, ModeOccupation, ModeOccupation_Code, Nationalite, Nationalite_Code, NeufOuAncien, NeufOuAncien_Code, ParentOuAutre, ParentOuAutre_Code, Parente, Parente_Code, PersonneACharge, PersonneSousLocation, PrestationRecue, PrestationRecue_Code, Pret, Proprietaire, SituationFamiliale, SituationFamiliale_Code, SituationGardeAlternee_Code, SituationObligationScolaire_Code, TitulairePret, TitulairePret_Code, TypeBailleur, TypeBailleur_Code, TypeLogementFoyer, TypeLogementFoyer_Code, TypePret, TypePret_Code, TypeTravauxLogementD83215, TypeTravauxLogementD83215_Code, TypeTravauxLogementR8425, TypeTravauxLogementR8425_Code, ZoneDHabitation, ZoneDHabitation_Code, calculette_aides_au_logement_garde_alternee, CalculetteAidesAuLogementGardeAlterneeIn, Demandeur, PersonneACharge_Code, SituationObligationScolaire, SituationGardeAlternee, AccordFinancementRepresentantEtatOutreMer_Code, AccordFinancementRepresentantEtatOutreMer -from .aides_logement import Collectivite_Code as Collectivite_Code_APL -from .aides_logement import Collectivite as Collectivite_APL -from typing import cast - -# Allocations familiales - - -class Enfant: - def __init__( - self, - id: int, - remuneration_mensuelle: int, - date_de_naissance: datetime.date, - prise_en_charge: PriseEnCharge_Code, - a_deja_ouvert_droit_aux_allocations_familiales: bool, - beneficie_titre_personnel_aide_personnelle_logement: bool - ) -> None: - self.id = id - self.remuneration_mensuelle = remuneration_mensuelle - self.date_de_naissance = date_de_naissance - self.prise_en_charge = prise_en_charge - self.a_deja_ouvert_droit_aux_allocations_familiales = a_deja_ouvert_droit_aux_allocations_familiales - self.beneficie_titre_personnel_aide_personnelle_logement = beneficie_titre_personnel_aide_personnelle_logement - - def to_allocations_familiales(self) -> EnfantEntree: - return EnfantEntree( - d_identifiant=integer_of_int(self.id), - d_remuneration_mensuelle=money_of_units_int( - self.remuneration_mensuelle), - d_a_deja_ouvert_droit_aux_allocations_familiales=self.a_deja_ouvert_droit_aux_allocations_familiales, - d_beneficie_titre_personnel_aide_personnelle_logement=self.beneficie_titre_personnel_aide_personnelle_logement, - d_date_de_naissance=date_of_datetime(self.date_de_naissance), - d_prise_en_charge=PriseEnCharge(self.prise_en_charge, Unit()) - ) - - -def allocations_familiales( - date_courante: datetime.date, - enfants: List[Enfant], - ressources_menage: int, - residence: Collectivite_Code, - personne_charge_effective_permanente_est_parent: bool, - personne_charge_effective_permanente_remplit_titre_I: bool, - avait_enfant_a_charge_avant_1er_janvier_2012: bool -): - out = interface_allocations_familiales(InterfaceAllocationsFamilialesIn( - i_date_courante_in=date_of_datetime(date_courante), - i_enfants_in=[enfant.to_allocations_familiales() - for enfant in enfants], - i_ressources_menage_in=money_of_units_int(ressources_menage), - i_residence_in=Collectivite(residence, Unit()), - i_personne_charge_effective_permanente_est_parent_in=personne_charge_effective_permanente_est_parent, - i_personne_charge_effective_permanente_remplit_titre_I_in=personne_charge_effective_permanente_remplit_titre_I, - i_avait_enfant_a_charge_avant_1er_janvier_2012_in=avait_enfant_a_charge_avant_1er_janvier_2012 - )) - return money_to_float(out.i_montant_verse) - -# Aides au logement - - -class PersonneAChargeAPL_Code(Enum): - CodeEnfant = 0 - CodeParent = 1 - - -class PersonneAChargeAPL(ABC): - - @abstractmethod - def code(self) -> PersonneAChargeAPL_Code: - pass - - -class EnfantAPL(PersonneAChargeAPL): - def __init__(self, identifiant: int, - a_deja_ouvert_droit_aux_allocations_familiales: bool, - date_de_naissance: datetime.date, - remuneration_mensuelle: int, - obligation_scolaire: SituationObligationScolaire_Code, - situation_garde_alternee: SituationGardeAlternee_Code, - coefficient_garde_alternee: Optional[int], - nationalite: Nationalite, - etudes_apprentissage_stage_formation_pro_impossibilite_travail: bool): - self.identifiant = identifiant - self.a_deja_ouvert_droit_aux_allocations_familiales = a_deja_ouvert_droit_aux_allocations_familiales - self.date_de_naissance = date_de_naissance, - self.remuneration_mensuelle = remuneration_mensuelle - self.obligation_scolaire = obligation_scolaire - self.situation_garde_alternee = situation_garde_alternee - self.coefficient_garde_alternee = coefficient_garde_alternee - self.nationalite = nationalite - self.etudes_apprentissage_stage_formation_pro_impossibilite_travail = etudes_apprentissage_stage_formation_pro_impossibilite_travail - self.code_v = PersonneAChargeAPL_Code.CodeEnfant - - def code(self): - return self.code_v - - -class ParentAPL(PersonneAChargeAPL): - def __init__(self, date_naissance: datetime.date, - ressources: int, - ascendant_descendant_collateral_deuxieme_troisieme_degre: bool, - parente: Parente_Code, - incapacite_80_pourcent_ou_restriction_emploi: bool, - beneficiaire_l161_19_l351_8_l643_3_secu: bool, - titulaire_allocation_personne_agee: bool): - self.date_naissance = date_naissance - self.ressources = ressources - self.ascendant_descendant_collateral_deuxieme_troisieme_degre = ascendant_descendant_collateral_deuxieme_troisieme_degre - self.parente = parente - self.incapacite_80_pourcent_ou_restriction_emploi = incapacite_80_pourcent_ou_restriction_emploi - self.beneficiaire_l161_19_l351_8_l643_3_secu = beneficiaire_l161_19_l351_8_l643_3_secu - self.titulaire_allocation_personne_agee = titulaire_allocation_personne_agee - self.code_v = PersonneAChargeAPL_Code.CodeParent - - def code(self): - return self.code_v - - -class InfosSpecifiques_Code(Enum): - CodeLocation = 0 - CodeLogementFoyer = 1 - CodeAccessionPropriete = 2 - - -class InfosSpecifiques(ABC): - - @abstractmethod - def code(self) -> InfosSpecifiques_Code: - pass - - -class InfosLocation(InfosSpecifiques): - def __init__(self, - loyer_principal: int, - beneficiaire_aide_adulte_ou_enfant_handicapes: bool, - logement_est_chambre: bool, - colocation: bool, - agees_ou_handicap_adultes_hebergees_onereux_particuliers: bool, - logement_meuble_d842_2: bool, - ancien_loyer_et_apl_relogement: Optional[Tuple[int, int]], - type_bailleur: TypeBailleur_Code, - bailleur_conventionne: Optional[bool], - reduction_loyer_solidarite: Optional[int]): - self.loyer_principal = loyer_principal - self.beneficiaire_aide_adulte_ou_enfant_handicapes = beneficiaire_aide_adulte_ou_enfant_handicapes - self.logement_est_chambre = logement_est_chambre - self.colocation = colocation - self.agees_ou_handicap_adultes_hebergees_onereux_particuliers = agees_ou_handicap_adultes_hebergees_onereux_particuliers - self.logement_meuble_d842_2 = logement_meuble_d842_2 - self.ancien_loyer_et_apl_relogement = ancien_loyer_et_apl_relogement - self.type_bailleur = type_bailleur - self.bailleur_conventionne = bailleur_conventionne - self.reduction_loyer_solidarite = reduction_loyer_solidarite - self.code_v = InfosSpecifiques_Code.CodeLocation - - def code(self): - return self.code_v - - -class InfosLogementFoyer(InfosSpecifiques): - def __init__(self, - type: TypeLogementFoyer_Code, - remplit_conditions_r832_21: bool, - conventionne_livre_III_titre_V_chap_III: bool, - date_conventionnement: datetime.date, - construit_application_loi_1957_12_III: bool, - redevance: int, - categorie_equivalence_loyer_d842_16: CategorieEquivalenceLoyerAllocationLogementFoyer_Code, - conventionne_selon_regles_drom: bool, - beneficiaire_aide_adulte_ou_enfant_handicapes: bool, - logement_est_chambre: bool, - colocation: bool, - logement_meuble_d842_2: bool, - logement_foyer_jeunes_travailleurs: bool): - self.logement_foyer_jeunes_travailleurs = logement_foyer_jeunes_travailleurs - self.type = type - self.remplit_conditions_r832_21 = remplit_conditions_r832_21 - self.conventionne_livre_III_titre_V_chap_III = conventionne_livre_III_titre_V_chap_III - self.date_conventionnement = date_conventionnement - self.construit_application_loi_1957_12_III = construit_application_loi_1957_12_III - self.redevance = redevance - self.categorie_equivalence_loyer_d842_16 = categorie_equivalence_loyer_d842_16 - self.conventionne_selon_regles_drom = conventionne_selon_regles_drom - self.beneficiaire_aide_adulte_ou_enfant_handicapes = beneficiaire_aide_adulte_ou_enfant_handicapes - self.logement_meuble_d842_2 = logement_meuble_d842_2 - self.logement_est_chambre = logement_est_chambre - self.colocation = colocation - self.code_v = InfosSpecifiques_Code.CodeLogementFoyer - - def code(self): - return self.code_v - - -class InfosAccessionPropriete(InfosSpecifiques): - def __init__(self, - logement_situe_commune_desequilibre_l831_2: bool, - mensualite_principale: int, - charges_mensuelles_pret: int, - date_entree_logement: datetime.date, - local_habite_premiere_fois_beneficiaire: bool, - copropriete: bool, - situation_r822_11_13_17: bool, - type_travaux_logement_d832_15: TypeTravauxLogementD83215_Code, - type_travaux_logement_r842_5: TypeTravauxLogementR8425_Code, - anciennete_logement: NeufOuAncien_Code, - ameliore_par_occupant: Optional[bool], - type_pret: TypePret_Code, - date_signature_pret: datetime.date, - titulaire_pret: TitulairePret_Code, - operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat: bool, - accord_financement_representant_Etat_outre_mer: AccordFinancementRepresentantEtatOutreMer_Code): - self.logement_situe_commune_desequilibre_l831_2 = logement_situe_commune_desequilibre_l831_2 - self.mensualite_principale = mensualite_principale - self.charges_mensuelles_pret = charges_mensuelles_pret - self.date_entree_logement = date_entree_logement - self.local_habite_premiere_fois_beneficiaire = local_habite_premiere_fois_beneficiaire - self.copropriete = copropriete - self.situation_r822_11_13_17 = situation_r822_11_13_17 - self.type_travaux_logement_d832_15 = type_travaux_logement_d832_15 - self.type_travaux_logement_r842_5 = type_travaux_logement_r842_5 - self.anciennete_logement = anciennete_logement - self.ameliore_par_occupant = ameliore_par_occupant - self.type_pret = type_pret - self.date_signature_pret = date_signature_pret - self.titulaire_pret = titulaire_pret - self.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat = operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat - self.accord_financement_representant_Etat_outre_mer = accord_financement_representant_Etat_outre_mer - self.code_v = InfosSpecifiques_Code.CodeAccessionPropriete - - def code(self): - return self.code_v - - -def aides_logement( - date_courante: datetime.date, - residence: Collectivite_Code_APL, - ressources_menage_prises_en_compte: int, - date_naissance_demandeur: datetime.date, - nationalite_demandeur: Nationalite, - personne_hebergee_centre_soins: bool, - personne_rattache_foyer_fiscal_parent_ifi: bool, - nombre_autres_occupants_logement_hors_menage: int, - enfant_a_naitre_apres_quatrieme_mois_grossesse: bool, - personnes_agees_handicapees_foyer_r844_4: bool, - situation_familiale: SituationFamiliale_Code, - date_mariage: Optional[datetime.date], - prestations_recues: List[PrestationRecue_Code], - residence_principale: bool, - logement_est_decent: bool, - surface_logement_m_carres: int, - zone: ZoneDHabitation_Code, - parts_logement_propriete_famille: Optional[int], - parts_logement_usufruits_famille: Optional[int], - date_naissance_et_conformite_sous_locataire_tiers: Optional[Tuple[datetime.date, bool]], - magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte: bool, - est_non_salarie_agricole_l781_8_l_781_46_code_rural: bool, - mode_occupation: ModeOccupation_Code, - infos_specifiques: InfosSpecifiques, - personnes_a_charge: List[PersonneAChargeAPL], -): - if infos_specifiques.code() == InfosSpecifiques_Code.CodeLocation: - infos_specifiques = cast(InfosLocation, infos_specifiques) - mode_occupation_value = cast(Any, Location( - loyer_principal=money_of_units_int( - infos_specifiques.loyer_principal), - beneficiaire_aide_adulte_ou_enfant_handicapes=infos_specifiques.beneficiaire_aide_adulte_ou_enfant_handicapes, - logement_est_chambre=infos_specifiques.logement_est_chambre, - colocation=infos_specifiques.colocation, - agees_ou_handicap_adultes_hebergees_onereux_particuliers=infos_specifiques.agees_ou_handicap_adultes_hebergees_onereux_particuliers, - logement_meuble_d842_2=infos_specifiques.logement_meuble_d842_2, - changement_logement_d842_4=ChangementLogementD8424( - code=ChangementLogementD8424_Code.PasDeChangement if - infos_specifiques.ancien_loyer_et_apl_relogement is None else - ChangementLogementD8424_Code.Changement, - value=Unit() if infos_specifiques.ancien_loyer_et_apl_relogement is None else - InfosChangementLogementD8424( - ancien_loyer_principal=money_of_units_int( - infos_specifiques.ancien_loyer_et_apl_relogement[0]), - ancienne_allocation_logement=money_of_units_int(infos_specifiques.ancien_loyer_et_apl_relogement[1])) - ), - bailleur=TypeBailleur( - code=infos_specifiques.type_bailleur, - value=Unit() if infos_specifiques.type_bailleur == TypeBailleur_Code.BailleurPrive else ( - ConventionBailleurSocial( - conventionne_livre_III_titre_V_chap_III=False if infos_specifiques.bailleur_conventionne is None - else infos_specifiques.bailleur_conventionne, - reduction_loyer_solidarite_percue=money_of_units_int(0 if infos_specifiques.reduction_loyer_solidarite is None - else infos_specifiques.reduction_loyer_solidarite)) - ) if infos_specifiques.type_bailleur == TypeBailleur_Code.BailleurSocial else ( - ConventionANHA( - conventionne_livre_III_titre_II_chap_I_sec_3=False if infos_specifiques.bailleur_conventionne is None - else infos_specifiques.bailleur_conventionne) - if infos_specifiques.type_bailleur == TypeBailleur_Code.BailleurPriveAvecConventionnementSocial else - None # type: ignore - )) - )) - elif infos_specifiques.code() == InfosSpecifiques_Code.CodeLogementFoyer: - infos_specifiques = cast(InfosLogementFoyer, infos_specifiques) - mode_occupation_value = cast(Any, LogementFoyer( - logement_foyer_jeunes_travailleurs=infos_specifiques.logement_foyer_jeunes_travailleurs, - type=TypeLogementFoyer( - code=infos_specifiques.type, value=Unit()), - conventionne_selon_regles_drom=infos_specifiques.conventionne_selon_regles_drom, - logement_meuble_d842_2=infos_specifiques.logement_meuble_d842_2, - beneficiaire_aide_adulte_ou_enfant_handicapes=infos_specifiques.beneficiaire_aide_adulte_ou_enfant_handicapes, - remplit_conditions_r832_21=infos_specifiques.remplit_conditions_r832_21, - conventionne_livre_III_titre_V_chap_III=infos_specifiques.conventionne_livre_III_titre_V_chap_III, - date_conventionnement=date_of_datetime( - infos_specifiques.date_conventionnement), - construit_application_loi_1957_12_III=infos_specifiques.construit_application_loi_1957_12_III, - redevance=money_of_units_int( - infos_specifiques.redevance), - categorie_equivalence_loyer_d842_16=CategorieEquivalenceLoyerAllocationLogementFoyer( - code=infos_specifiques.categorie_equivalence_loyer_d842_16, - value=Unit()), - logement_est_chambre=infos_specifiques.logement_est_chambre, - colocation=infos_specifiques.colocation - )) - else: # infos_specifiques.code == InfosSpecifiques_Code.CodeAccessionPropriete - infos_specifiques = cast(InfosAccessionPropriete, infos_specifiques) - mode_occupation_value = cast(Any, Proprietaire( - mensualite_principale=money_of_units_int( - infos_specifiques.mensualite_principale), - charges_mensuelles_pret=money_of_units_int( - infos_specifiques.charges_mensuelles_pret), - date_entree_logement=date_of_datetime( - infos_specifiques.date_entree_logement), - local_habite_premiere_fois_beneficiaire=infos_specifiques.local_habite_premiere_fois_beneficiaire, - copropriete=infos_specifiques.copropriete, - situation_r822_11_13_17=infos_specifiques.situation_r822_11_13_17, - type_travaux_logement_d832_15=TypeTravauxLogementD83215( - code=infos_specifiques.type_travaux_logement_d832_15, value=Unit()), - type_travaux_logement_r842_5=TypeTravauxLogementR8425( - code=infos_specifiques.type_travaux_logement_r842_5, - value=Unit() - ), - anciennete_logement=NeufOuAncien(code=infos_specifiques.anciennete_logement, value=Unit() - if infos_specifiques.ameliore_par_occupant is None - else infos_specifiques.ameliore_par_occupant), - pret=Pret( - type_pret=TypePret( - code=infos_specifiques.type_pret, value=Unit()), - date_signature=date_of_datetime( - infos_specifiques.date_signature_pret), - titulaire_pret=TitulairePret( - code=infos_specifiques.titulaire_pret, value=Unit()), - accord_financement_representant_Etat_outre_mer=AccordFinancementRepresentantEtatOutreMer( - code=infos_specifiques.accord_financement_representant_Etat_outre_mer, - value=Unit()) - ), - operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat=infos_specifiques.operations_logement_evolutifs_sociaux_accession_propriete_aidee_Etat - )) - - def transform_personnes_a_charge(personne_a_charge: PersonneAChargeAPL) -> Any: - if personne_a_charge.code() == PersonneAChargeAPL_Code.CodeEnfant: - personne_a_charge = cast(EnfantAPL, personne_a_charge) - out = PersonneACharge(code=PersonneACharge_Code.EnfantACharge, - value=EnfantACharge( - nationalite=personne_a_charge.nationalite, - etudes_apprentissage_stage_formation_pro_impossibilite_travail=personne_a_charge.etudes_apprentissage_stage_formation_pro_impossibilite_travail, - identifiant=integer_of_int( - personne_a_charge.identifiant), - a_deja_ouvert_droit_aux_allocations_familiales=personne_a_charge.a_deja_ouvert_droit_aux_allocations_familiales, - date_de_naissance=date_of_datetime( - personne_a_charge.date_de_naissance[0]), - remuneration_mensuelle=money_of_units_int( - personne_a_charge.remuneration_mensuelle), - obligation_scolaire=SituationObligationScolaire( - code=personne_a_charge.obligation_scolaire, value=Unit()), - situation_garde_alternee=SituationGardeAlternee(code=personne_a_charge.situation_garde_alternee, - value=Unit() if personne_a_charge.coefficient_garde_alternee is None else personne_a_charge.coefficient_garde_alternee) - )) - else: # personne_a_charge.code == PersonneAChargeAPL_Code.CodeParent - personne_a_charge = cast(ParentAPL, personne_a_charge) - out = PersonneACharge( - code=PersonneACharge_Code.AutrePersonneACharge, - value=AutrePersonneACharge( - date_naissance=date_of_datetime( - personne_a_charge.date_naissance), - ressources=money_of_units_int( - personne_a_charge.ressources), - ascendant_descendant_collateral_deuxieme_troisieme_degre=personne_a_charge.ascendant_descendant_collateral_deuxieme_troisieme_degre, - incapacite_80_pourcent_ou_restriction_emploi=personne_a_charge.incapacite_80_pourcent_ou_restriction_emploi, - beneficiaire_l161_19_l351_8_l643_3_secu=personne_a_charge.beneficiaire_l161_19_l351_8_l643_3_secu, - titulaire_allocation_personne_agee=personne_a_charge.titulaire_allocation_personne_agee, - parente=Parente( - code=personne_a_charge.parente, value=Unit()) - )) - return out - - out = calculette_aides_au_logement_garde_alternee(CalculetteAidesAuLogementGardeAlterneeIn( - menage_in=Menage( - residence=Collectivite_APL( - code=residence, value=Unit()), - prestations_recues=[PrestationRecue( - code=presta, value=Unit()) for presta in prestations_recues], - logement=Logement( - residence_principale=residence_principale, - mode_occupation=ModeOccupation( - code=mode_occupation, - value=mode_occupation_value - ), - proprietaire=ParentOuAutre( - code=ParentOuAutre_Code.Autre if parts_logement_propriete_famille is None else ParentOuAutre_Code.DemandeurOuConjointOuParentOuViaPartsSocietes, - value=Unit() if parts_logement_propriete_famille is None else parts_logement_propriete_famille), - usufruit=ParentOuAutre( - code=ParentOuAutre_Code.Autre if parts_logement_usufruits_famille is None else ParentOuAutre_Code.DemandeurOuConjointOuParentOuViaPartsSocietes, - value=Unit() if parts_logement_usufruits_famille is None else parts_logement_usufruits_famille), - loue_ou_sous_loue_a_des_tiers=LoueOuSousLoueADesTiers( - code=LoueOuSousLoueADesTiers_Code.Non if date_naissance_et_conformite_sous_locataire_tiers is None else LoueOuSousLoueADesTiers_Code.Oui, - value=Unit() if date_naissance_et_conformite_sous_locataire_tiers is None else PersonneSousLocation( - date_naissance_personne_sous_location=date_of_datetime(date_naissance_et_conformite_sous_locataire_tiers[ - 0]), - conforme_article_l442_1=date_naissance_et_conformite_sous_locataire_tiers[ - 1] - ) - ), - logement_decent_l89_462=logement_est_decent, - surface_m_carres=integer_of_int(surface_logement_m_carres), - zone=ZoneDHabitation(code=zone, value=Unit()) - ), - personnes_a_charge=[ - transform_personnes_a_charge(personne_a_charge) - for personne_a_charge in personnes_a_charge], - nombre_autres_occupants_logement=integer_of_int( - nombre_autres_occupants_logement_hors_menage), - situation_familiale=SituationFamiliale( - code=situation_familiale, - value=Unit() if date_mariage is None else date_of_datetime(date_mariage) - ), - condition_rattache_foyer_fiscal_parent_ifi=personne_rattache_foyer_fiscal_parent_ifi, - enfant_a_naitre_apres_quatrieme_mois_grossesse=enfant_a_naitre_apres_quatrieme_mois_grossesse, - personnes_agees_handicapees_foyer_r844_4=personnes_agees_handicapees_foyer_r844_4 - ), - demandeur_in=Demandeur( - date_naissance=date_of_datetime(date_naissance_demandeur), - nationalite=nationalite_demandeur, - est_non_salarie_agricole_l781_8_l_781_46_code_rural=est_non_salarie_agricole_l781_8_l_781_46_code_rural, - magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte=magistrat_fonctionnaire_centre_interets_materiels_familiaux_hors_mayotte, - personne_hebergee_centre_soin_l_L162_22_3_securite_sociale=personne_hebergee_centre_soins, - ), - date_courante_in=date_of_datetime(date_courante), - ressources_menage_prises_en_compte_in=money_of_units_int( - ressources_menage_prises_en_compte), - )) - return money_to_float(out.aide_finale) diff --git a/french_law/python/src/dune b/french_law/python/src/dune deleted file mode 100644 index 4566223a..00000000 --- a/french_law/python/src/dune +++ /dev/null @@ -1,17 +0,0 @@ -(rule - (target runtime.py) - (mode promote) - (action - (copy ../../../runtimes/python/catala/src/catala/%{target} %{target}))) - -(rule - (target allocations_familiales.py) - (mode promote) - (action - (copy ../../../examples/allocations_familiales/%{target} %{target}))) - -(rule - (target aides_logement.py) - (mode promote) - (action - (copy ../../../examples/aides_logement/%{target} %{target}))) diff --git a/ninja_utils.opam b/ninja_utils.opam index 3fdeb0c1..cedd7e11 100644 --- a/ninja_utils.opam +++ b/ninja_utils.opam @@ -5,7 +5,7 @@ synopsis: description: "This library contains the implementations of utility functions used to generate Ninja build files -- see https://ninja-build.org. It's currently used by the Catala build system (see https://github.com/CatalaLang/catala/tree/master/build_system)" maintainer: ["contact@catala-lang.org"] -authors: ["Emile Rolley"] +authors: ["Emile Rolley" "Louis Gesbert"] license: "Apache-2.0" homepage: "https://github.com/CatalaLang/catala" bug-reports: "https://github.com/CatalaLang/catala/issues" @@ -16,7 +16,6 @@ depends: [ "odoc" {with-doc} ] build: [ - ["dune" "subst"] {dev} [ "dune" "build" @@ -30,3 +29,7 @@ build: [ ] ] dev-repo: "git+https://github.com/CatalaLang/catala.git" +depexts: [ + ["ninja-build"] {os-family = "debian"} + ["samurai"] {os-distribution = "alpine"} +]