mirror of
https://github.com/CatalaLang/catala.git
synced 2024-11-08 07:51:43 +03:00
Remove french_law, examples, merge clerk into catala package
This commit is contained in:
parent
401fcd54be
commit
acdaf7c57d
@ -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
|
||||
|
10
INSTALL.md
10
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).
|
||||
|
131
Makefile
131
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
|
||||
##########################################
|
||||
|
@ -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
|
||||
|
||||
|
@ -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))
|
||||
|
@ -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"}
|
||||
]
|
||||
|
43
clerk.opam
43
clerk.opam
@ -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"}
|
||||
]
|
12
dune
12
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)))
|
||||
|
@ -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
|
@ -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=<ScopeName> <target_file>.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)$<
|
||||
|
||||
#> <target_file>.ml : Compiles the file to OCaml
|
||||
%.ml: %.catala_$(CATALA_LANG)
|
||||
@$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$<
|
||||
$(CATALA) OCaml $(CATALA_OPTS) \
|
||||
$(CURR_DIR)$<
|
||||
|
||||
#> <target_file>_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=<ScopeName> <target_file>_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)$<
|
||||
|
||||
#> <target_file>.py : Compiles the file to Python
|
||||
%.py: %.catala_$(CATALA_LANG)
|
||||
@$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$<
|
||||
$(CATALA) Python $(CATALA_OPTS) \
|
||||
$(CURR_DIR)$<
|
||||
|
||||
#> <target_file>.tex : Weaves the file to LaTeX
|
||||
%.tex: %.catala_$(CATALA_LANG)
|
||||
@$(CATALA) Makefile $(CATALA_OPTS) $(CURR_DIR)$<
|
||||
$(CATALA) LaTeX $(CATALA_OPTS) \
|
||||
--wrap \
|
||||
$(CURR_DIR)$<
|
||||
|
||||
#> <target_file>.pdf : Weaves the file to PDF (via XeLaTeX)
|
||||
%.pdf: %.tex
|
||||
cd $(@D) && $(LATEXMK) -g -xelatex -halt-on-error -shell-escape $(%F)
|
||||
|
||||
#> <target_file>.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:
|
14
examples/NSW_community_gaming/.gitignore
vendored
14
examples/NSW_community_gaming/.gitignore
vendored
@ -1,14 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.ml
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=en
|
||||
SRC=nsw_communit_gaming.catala_en
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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
|
||||
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
||||
|
@ -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#
|
||||
```
|
@ -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.
|
||||
|
||||
<strong>[Browse examples online »](https://catala-lang.org/en/examples)</strong>
|
||||
|
||||
## 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_<en/fr>/`: 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/<directory of example> <name of target>
|
||||
|
||||
The `<name of target>` 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.<language>` 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.
|
19
examples/aides_logement/.gitignore
vendored
19
examples/aides_logement/.gitignore
vendored
@ -1,19 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
*.html
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.new
|
||||
*.ml
|
||||
*.py
|
||||
*.xdv
|
||||
*.json
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=aides_logement.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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.
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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 .
|
Binary file not shown.
Binary file not shown.
@ -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}))))
|
File diff suppressed because it is too large
Load Diff
@ -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 €
|
||||
```
|
||||
|
@ -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 €
|
||||
```
|
@ -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 €
|
||||
```
|
@ -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 €
|
||||
```
|
@ -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 €
|
||||
```
|
@ -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 €
|
||||
```
|
@ -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
|
||||
```
|
@ -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!
|
||||
```
|
||||
|
@ -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!
|
||||
```
|
19
examples/allocations_familiales/.gitignore
vendored
19
examples/allocations_familiales/.gitignore
vendored
@ -1,19 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
*.html
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.new
|
||||
*.ml
|
||||
*.py
|
||||
*.xdv
|
||||
*.json
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=allocations_familiales.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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
|
@ -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
|
||||
```
|
@ -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 €
|
||||
```
|
@ -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}))))
|
@ -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.
|
@ -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
|
||||
```
|
@ -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 %
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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)))
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=bmaf.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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 €
|
||||
```
|
14
examples/droit_successions/.gitignore
vendored
14
examples/droit_successions/.gitignore
vendored
@ -1,14 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.ml
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=droit_successions.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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
|
||||
```
|
@ -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!
|
||||
```
|
14
examples/polish_taxes/.gitignore
vendored
14
examples/polish_taxes/.gitignore
vendored
@ -1,14 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.ml
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=pl
|
||||
SRC=polish_tax_code.catala_pl
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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%
|
||||
```
|
@ -1 +0,0 @@
|
||||
## Ustawa z dnia 9 września 2000 r. o podatku od czynności cywilnoprawnych
|
@ -1,3 +0,0 @@
|
||||
> Include: podatek_od_czynnosci_cywilnoprawnych/wstep.catala_pl
|
||||
|
||||
> Include: podatek_od_czynnosci_cywilnoprawnych/rozdzial_3.catala_pl
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -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!
|
||||
```
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=prestations_familiales.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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
|
||||
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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
|
||||
```
|
@ -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!
|
||||
```
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=prologue.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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
|
||||
```
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=smic.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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 €
|
||||
```
|
14
examples/tutorial_en/.gitignore
vendored
14
examples/tutorial_en/.gitignore
vendored
@ -1,14 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.ml
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=en
|
||||
SRC=tutorial_en.catala_en
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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!
|
||||
```
|
File diff suppressed because it is too large
Load Diff
14
examples/tutoriel_fr/.gitignore
vendored
14
examples/tutoriel_fr/.gitignore
vendored
@ -1,14 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.ml
|
@ -1,4 +0,0 @@
|
||||
CATALA_LANG=fr
|
||||
SRC=tutoriel_fr.catala_fr
|
||||
|
||||
include ../Makefile.common.mk
|
@ -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!
|
||||
```
|
File diff suppressed because it is too large
Load Diff
14
examples/us_tax_code/.gitignore
vendored
14
examples/us_tax_code/.gitignore
vendored
@ -1,14 +0,0 @@
|
||||
*.aux
|
||||
*.dvi
|
||||
*.fdb_latexmk
|
||||
*.fls
|
||||
*.log
|
||||
*.out
|
||||
*.fls
|
||||
*.tex
|
||||
*.pdf
|
||||
_minted*
|
||||
*.toc
|
||||
*.pyg
|
||||
*.d
|
||||
*.ml
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user