Merge pull request #146 from CatalaLang/jemsab_4b

add legislative text (new version from #68)
This commit is contained in:
Denis Merigoux 2021-09-28 12:11:26 +02:00 committed by GitHub
commit 8c7d538cfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 106 additions and 58 deletions

View File

@ -350,7 +350,7 @@ let process_name_item (ctxt : context) (item : Ast.code_item Pos.marked) : conte
Errors.raise_multispanned_error
(Format.asprintf "%s name \"%s\" already defined" msg
(Utils.Cli.print_with_style [ ANSITerminal.yellow ] "%s" name))
[ (Some "first definition", Pos.get_position use); (Some "second definition", pos) ]
[ (Some "First definition:", Pos.get_position use); (Some "Second definition:", pos) ]
in
match Pos.unmark item with
| ScopeDecl decl -> (

View File

@ -1,18 +1,16 @@
## Code général des impôts
## Livre premier : Assiette et liquidation de l'impôt
### Livre premier : Assiette et liquidation de l'impôt
### Première Partie : Impôts d'État
#### Première Partie : Impôts d'État
#### Titre premier : Impôts directs et taxes assimilées
##### Titre premier : Impôts directs et taxes assimilées
##### Chapitre premier : Impôt sur le revenu
###### Chapitre premier : Impôt sur le revenu
###### Section I : Dispositions générales
####### Section I : Dispositions générales
####### 0I : Définition du revenu net global
######## 0I : Définition du revenu net global
######### Article 1 A
######## Article 1 A
Il est établi un impôt annuel unique sur le revenu des personnes physiques
désigné sous le nom d'impôt sur le revenu. Cet impôt frappe le revenu net
@ -42,58 +40,69 @@ nature, déterminés conformément aux dispositions des articles 14 à 155,
total dont sont retranchées les charges énumérées à l'article 156.
```catala
déclaration structure RevenuNetGlobal:
donnée revenus_fonciers contenu argent
donnée bénéfices_industriels_commerciaux contenu argent
donnée rémunérations_dirigeants contenu argent
donnée bénéfices_agricoles contenu argent
donnée traitements_salaires contenu argent
donnée bénéfices_non_commerciaux contenu argent
donnée revenus_capitaux_mobiliers contenu argent
donnée plus_values contenu argent
donnée total contenu argent
déclaration champ d'application CalculImpotSurLeRevenu :
contexte revenu_net_global contenu RevenuNetGlobal
champ d'application CalculImpotSurLeRevenu:
définition revenu_net_global.total égal à
revenu_net_global.revenus_fonciers + revenu_net_global.bénéfices_industriels_commerciaux
+ revenu_net_global.rémunérations_dirigeants + revenu_net_global.bénéfices_agricoles
+ revenu_net_global.traitements_salaires + revenu_net_global.bénéfices_non_commerciaux
+ revenu_net_global.revenus_capitaux_mobiliers + revenu_net_global.plus_values
champ d'application CalculImpôtSurLeRevenu:
définition revenu_net_global égal à
détail_revenu_net_global.revenus_fonciers +€
détail_revenu_net_global.bénéfices_industriels_commerciaux +€
détail_revenu_net_global.rémunérations_dirigeants +€
détail_revenu_net_global.bénéfices_agricoles +€
détail_revenu_net_global.traitements_salaires +€
détail_revenu_net_global.bénéfices_non_commerciaux +€
détail_revenu_net_global.revenus_capitaux_mobiliers +€
détail_revenu_net_global.plus_values
```
######## 0I : Définition du revenu net global
####### 0I : Définition du revenu net global
######### Article 4 A
######## Article 4 A
Les personnes qui ont en France leur domicile fiscal sont passibles de l'impôt sur le revenu en raison de l'ensemble de leurs revenus.
Celles dont le domicile fiscal est situé hors de France sont passibles de cet impôt en raison de leurs seuls revenus de source française.
```catala
déclaration énumération DomicileFiscal:
-- France
-- HorsDeFrance
déclaration structure MontantsSourcesRevenus:
donnée source_française contenu argent
donnée source_étrangère contenu argent
déclaration structure Personne:
donnée domicile_fiscal contenu DomicileFiscal
donnée revenus contenu argent
donnée montants_sources_revenus contenu MontantsSourcesRevenus
déclaration champ d'application CalculImpotSurLeRevenu :
contexte personne contenu Personne
champ d'application CalculImpotSurLeRevenu:
définition personne.revenus égal à
si personne.domicileFiscal = France alors
montants_sources_revenus.source_française +€ montants_sources_revenus.source_étrangère
sinon
montants_sources_revenus.source_française
champ d'application CalculImpôtSurLeRevenu:
définition revenus égal à
si domicile_fiscal = France alors
montants_sources_revenus.source_française +€
montants_sources_revenus.source_étrangère
sinon
montants_sources_revenus.source_française
```
######## Article 4 B
1. Sont considérées comme ayant leur domicile fiscal en France au sens de l'article 4 A :
a. Les personnes qui ont en France leur foyer ou le lieu de leur séjour principal ;
b. Celles qui exercent en France une activité professionnelle, salariée ou non,
à moins qu'elles ne justifient que cette activité y est exercée à titre accessoire ;
Les dirigeants des entreprises dont le siège est situé en France
et qui y réalisent un chiffre d'affaires annuel supérieur à 250 millions d'euros
sont considérés comme exerçant en France leur activité professionnelle à titre principal,
à moins qu'ils ne rapportent la preuve contraire.
Pour les entreprises qui contrôlent d'autres entreprises dans les conditions définies
à l'article L. 233-16 du code de commerce, le chiffre d'affaires s'entend de la somme de leur chiffre d'affaires
et de celui des entreprises qu'elles contrôlent.
Les dirigeants mentionnés au deuxième alinéa du présent b s'entendent du président du conseil d'administration
lorsqu'il assume la direction générale de la société, du directeur général, des directeurs généraux délégués, du président
et des membres du directoire, des gérants et des autres dirigeants ayant des fonctions analogues ;
c. Celles qui ont en France le centre de leurs intérêts économiques.
2. Sont également considérés comme ayant leur domicile fiscal en France les agents de l'Etat,
des collectivités territoriales et de la fonction publique hospitalière qui exercent leurs fonctions
ou sont chargés de mission dans un pays étranger et qui ne sont pas soumis dans ce pays à un impôt personnel
sur l'ensemble de leurs revenus.
```catala
champ d'application CalculImpôtSurLeRevenu:
définition domicile_fiscal égal à
si
personne.foyer_lieu_sejour_principal_france
alors France
sinon HorsDeFrance
```

View File

@ -1,3 +1,4 @@
# Fichier maître
# Code général des impôts
> Inclusion: prologue.catala_fr
> Inclusion: Section_I_Dispositions_generales.catala_fr

View File

@ -0,0 +1,38 @@
## Prologue
> Début métadonnées
```catala
déclaration énumération DomicileFiscal:
-- France
-- HorsDeFrance
déclaration structure MontantsSourcesRevenus:
donnée source_française contenu argent
donnée source_étrangère contenu argent
déclaration structure Personne:
donnée foyer_lieu_sejour_principal_france contenu booléen
déclaration structure ActivitéProfessionnelle:
donnée exercée_en_france contenu booléen
donnée est_accessoire contenu booléen
déclaration structure DétailRevenuNetGlobal:
donnée revenus_fonciers contenu argent
donnée bénéfices_industriels_commerciaux contenu argent
donnée rémunérations_dirigeants contenu argent
donnée bénéfices_agricoles contenu argent
donnée traitements_salaires contenu argent
donnée bénéfices_non_commerciaux contenu argent
donnée revenus_capitaux_mobiliers contenu argent
donnée plus_values contenu argent
déclaration champ d'application CalculImpôtSurLeRevenu :
contexte personne contenu Personne
contexte détail_revenu_net_global contenu DétailRevenuNetGlobal
contexte revenu_net_global contenu argent
contexte revenus contenu argent
contexte montants_sources_revenus contenu MontantsSourcesRevenus
contexte domicile_fiscal contenu DomicileFiscal
```
> Fin métadonnées

View File

@ -1,13 +1,13 @@
[ERROR] struct name "S" already defined
[ERROR]
[ERROR] first definition
[ERROR] First definition:
[ERROR] --> test_struct/bad/bug_107.catala_en
[ERROR] |
[ERROR] 4 | declaration structure S:
[ERROR] | ^
[ERROR] + https://github.com/CatalaLang/catala/issues/107
[ERROR]
[ERROR] second definition
[ERROR] Second definition:
[ERROR] --> test_struct/bad/bug_107.catala_en
[ERROR] |
[ERROR] 8 | declaration structure S: