Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Salarié][BTP] Erreur de calcul des cotisations BTP #3351

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
5 changes: 1 addition & 4 deletions api/source/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,7 @@ export function mergeDeep(
if (!target[key]) {
Object.assign(target, { [key]: {} })
}
mergeDeep(
target[key] as Record<string, unknown>,
source[key] as Record<string, unknown>
)
mergeDeep(target[key] as Record<string, unknown>, source[key])
} else if (Array.isArray(target[key]) && Array.isArray(source[key])) {
return (target[key] as unknown[]).map((el, i) =>
mergeDeep(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ salarié . convention collective . BTP . catégorie:
- ouvrier
- etam
- cadre
reférences:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: références:

Convention collective nationale des ouvriers: https://www.legifrance.gouv.fr/conv_coll/id/KALICONT000005635467
Convention collective nationale des employés, techniciens et agents de maîtrise: https://www.legifrance.gouv.fr/conv_coll/id/KALICONT000018926209
Convention collective nationale des cadres: https://www.legifrance.gouv.fr/conv_coll/id/KALISCTA000032426777/?idConteneur=KALICONT000032437525



salarié . convention collective . BTP . catégorie . ouvrier:
titre: Ouvrier
Expand Down Expand Up @@ -136,47 +142,120 @@ salarié . convention collective . BTP . cotisations employeur:
remplace: cotisations . employeur
somme:
- cotisations . employeur
- congés intempéries
- congés payés
- OPPBTP
- OPPBTP travailleur temporaire
- chômage intempéries



salarié . convention collective . BTP . congés intempéries:

salarié . convention collective . BTP . congés payés:
formule:
produit:
- cotisations . assiette
- variations:
- si: caisse de rattachement = 'idf'
alors: 19.80%
alors: 19.70%
- si: caisse de rattachement = 'nord ouest'
alors: 19.95%
alors: 19.70%
- si: caisse de rattachement = 'grand ouest'
alors: 19.95%
- si: caisse de rattachement = 'centre ouest'
alors: 20.30%
alors: 19.70%
- si: caisse de rattachement = 'centre'
alors: 20.40%
alors: 20.20%
- si: caisse de rattachement = 'grand est'
alors: 20.00%
alors: 19.85%
- si: caisse de rattachement = 'rhône alpes auvergne'
alors: 19.80%
- si: caisse de rattachement = 'méditerranée'
alors: 19.60%
- si: caisse de rattachement = 'sud ouest'
alors: 19.90%
alors: 19.70%
références:
CIBTP: https://www.cibtp.fr/
Article L3141-30 du Code du Travail: https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=DF6E6424807679A6EDC2915496BEA32D.tplgfr22s_2?idArticle=LEGIARTI000033020675&cidTexte=LEGITEXT000006072050&dateTexte=20200320
Gestion des congés payés: https://www.cibtp.fr/missions-metiers/gestion-conges-payes/
Article D3141-29 du Code du Travail: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000018534243&cidTexte=LEGITEXT000006072050


salarié . convention collective . BTP . congés intempéries . caisse de rattachement:
question: À quelle caisse l'entreprise est-elle rattachée pour le versement de
la cotisation congés intempéries ?
# catégorie parente chômage intempéries
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On essaie de nommer les règles de manière à éviter les commentaires yaml … si besoin, on peut ajouter un champ description, qui sera utile également aux usagers.

salarié . convention collective . BTP . chômage intempéries:
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- gros oeuvre
- second oeuvre



# nouvelle catégorie de salarié gros oeuvre
salarié . convention collective . BTP . chômage intempéries . gros oeuvre:
formule:
produit:
- cotisations . assiette
- variations:
- si: caisse de rattachement = 'idf'
alors: 0.68%
- si: caisse de rattachement = 'nord ouest'
alors: 0.68%
- si: caisse de rattachement = 'grand ouest'
alors: 0.68%
- si: caisse de rattachement = 'centre'
alors: 0.68%
- si: caisse de rattachement = 'grand est'
alors: 0.68%
- si: caisse de rattachement = 'rhône alpes auvergne'
alors: 0.68%
- si: caisse de rattachement = 'méditerranée'
alors: 0.68%
- si: caisse de rattachement = 'sud ouest'
alors: 0.68%
références:
CIBTP: https://www.cibtp.fr/
Gestion du chômage intempéries: https://www.cibtp.fr/missions-metiers/chomage-intemperies
Article D5424-29 du Code du Travail: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000018524880&cidTexte=LEGITEXT000006072050&dateTexte=20190517



# nouvelle catégorie de salarié second oeuvre
salarié . convention collective . BTP . chômage intempéries . second oeuvre:
formule:
produit:
- cotisations . assiette
- variations:
- si: caisse de rattachement = 'idf'
alors: 0.13%
- si: caisse de rattachement = 'nord ouest'
alors: 0.13%
- si: caisse de rattachement = 'grand ouest'
alors: 0.13%
- si: caisse de rattachement = 'centre'
alors: 0.13%
- si: caisse de rattachement = 'grand est'
alors: 0.13%
- si: caisse de rattachement = 'rhône alpes auvergne'
alors: 0.13%
- si: caisse de rattachement = 'méditerranée'
alors: 0.13%
- si: caisse de rattachement = 'sud ouest'
alors: 0.13%
références:
CIBTP: https://www.cibtp.fr/
Gestion du chômage intempéries: https://www.cibtp.fr/missions-metiers/chomage-intemperies
Article D5424-29 du Code du Travail: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000018524880&cidTexte=LEGITEXT000006072050&dateTexte=20190517




salarié . convention collective . BTP . chômage intempéries . gros oeuvre . caisse de rattachement:
question: Quelle caisse est liée au salarié pour les opérations d'intempéries gros oeuvre?
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- idf
- nord ouest
- grand ouest
- centre ouest
- centre
- grand est
- rhône alpes auvergne
Expand All @@ -197,11 +276,131 @@ salarié . convention collective . BTP . congés intempéries . caisse de rattac
rhône alpes auvergne:
sud ouest:



salarié . convention collective . BTP . chômage intempéries . second oeuvre . caisse de rattachement:
question: Quelle caisse est liée au salarié pour les opérations d'intempéries second oeuvre?
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- idf
- nord ouest
- grand ouest
- centre
- grand est
- rhône alpes auvergne
- méditerranée
- sud ouest
par défaut: "'idf'"

avec:
centre:
grand est:
grand ouest:

idf:
titre: Île-de-France
méditerranée:
nord ouest:
rhône alpes auvergne:
sud ouest:


salarié . convention collective . BTP . congés payés . caisse de rattachement:
question: À quelle caisse l'entreprise est-elle rattachée pour le versement de
la cotisation congés payés ?
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- idf
- nord ouest
- grand ouest
- centre
- grand est
- rhône alpes auvergne
- méditerranée
- sud ouest
par défaut: "'idf'"


avec:
centre:
grand est:
grand ouest:

idf:
titre: Île-de-France
méditerranée:
nord ouest:
rhône alpes auvergne:
sud ouest:

salarié . convention collective . BTP . OPPBTP:
formule:
produit:
- contrat . salaire brut * 1.1314
- 0.11%
références:
OPPBTP: https://www.oppbtp.com/
CIBTP: https://www.cibtp.fr/

salarié . convention collective . BTP . OPPBTP travailleur temporaire:
formule:
produit:
- contrat . temps de travail
- 0.11%
- variations:
- si: caisse de rattachement = 'idf'
alors: 14.27€
- si: caisse de rattachement = 'nord ouest'
alors: 14.63€
- si: caisse de rattachement = 'grand ouest'
alors: 14.27€
- si: caisse de rattachement = 'centre'
alors: 14.63€
- si: caisse de rattachement = 'grand est'
alors: 14.27€
- si: caisse de rattachement = 'rhône alpes auvergne'
alors: 14.63€
- si: caisse de rattachement = 'méditerranée'
alors: 13.36€
- si: caisse de rattachement = 'sud ouest'
alors: 14.63€
références:
OPPBTP: https://www.oppbtp.com/
Base de cotisations: https://net-entreprises.custhelp.com/app/answers/detail_dsn/a_id/2331/kw/interimaires%20btp

salarié . convention collective . BTP . OPPBTP travailleur temporaire . caisse de rattachement:
question: À quelle caisse l'entreprise est-elle rattachée pour le versement de
la cotisation OPPBTP des travailleurs temporaires ?
formule:
une possibilité:
choix obligatoire: oui
possibilités:
- idf
- nord ouest
- grand ouest
- centre
- grand est
- rhône alpes auvergne
- méditerranée
- sud ouest
par défaut: "'idf'"


avec:
centre:
grand est:
grand ouest:

idf:
titre: Île-de-France
méditerranée:
nord ouest:
rhône alpes auvergne:
sud ouest:

salarié . convention collective . BTP . taux ATMP fonctions support:
remplace: cotisations . ATMP . taux fonctions support . montant
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"@ianvs/prettier-plugin-sort-imports": "^4.1.0",
"@publicodes/codemod": "^1.1.0",
"@publicodes/tools": "^1.0.7",
"@rollup/plugin-replace": "^6.0.1",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pourquoi ces ajouts ?

"@types/got": "^9.6.12",
"@typescript-eslint/eslint-plugin": "^6.7.2",
"@typescript-eslint/parser": "^6.7.2",
Expand All @@ -53,7 +54,9 @@
"eslint-plugin-vitest": "^0.3.22",
"prettier": "^3.0.3",
"publicodes": "^1.2.0",
"rimraf": "^5.0.1"
"rimraf": "^5.0.1",
"ts-node": "^10.9.2",
"typescript": "^5.6.3"
},
"resolutions": {
"rollup": "^3.10.0",
Expand Down
12 changes: 9 additions & 3 deletions scripts/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@
"compilerOptions": {
/* Basic Options */
"incremental": true,
"target": "ESNext",
"module": "NodeNext",
// "target": "ESNext",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi ces changements ?

//"module": "NodeNext",
"module":"CommonJS",
"target": "ES2020",

"outDir": "dist",
"declaration": true,

"allowSyntheticDefaultImports": true,

/* Strict Type-Checking Options */
"strict": true,
Expand All @@ -32,6 +37,7 @@
/* Advanced Options */
"forceConsistentCasingInFileNames": true
},
"include": ["codeAPESearch/**/*.ts"],
"include": ["codeAPESearch/**/*.ts", "src/**/*.ts",
"shims.d.ts"],
"exclude": ["**/node_modules"]
}
4 changes: 4 additions & 0 deletions shims.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
declare module 'responselike' {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pourquoi cet ajout ?

const ResponseLike: any
export default ResponseLike
}
4 changes: 2 additions & 2 deletions site/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,8 @@
"netlify-cli": "^17.10.1",
"serve-static": "^1.15.0",
"storybook": "^7.4.3",
"ts-node": "^10.9.1",
"typescript": "^5.2.2",
"ts-node": "^10.9.2",
"typescript": "^5.6.3",
"vite": "^4.4.9",
"vite-plugin-pwa": "^0.16.5",
"vitest": "^0.34.4",
Expand Down
Loading