Titres restaurants: mise à jour feuille de paie + règle
parent
a3cfc56c41
commit
e7475d626e
|
@ -66,13 +66,15 @@ contrat salarié . frais professionnels . titres-restaurant . part non exonéré
|
|||
formule:
|
||||
multiplication:
|
||||
facteur:
|
||||
encadrement:
|
||||
valeur: taux participation employeur * valeur - participation employeur . plafond
|
||||
plancher: 0€
|
||||
allègement:
|
||||
assiette: taux participation employeur * montant unitaire
|
||||
abattement: participation employeur . plafond
|
||||
assiette: titres-restaurant par mois
|
||||
|
||||
contrat salarié . frais professionnels . titres-restaurant . participation employeur . plafond:
|
||||
formule: 5.36€
|
||||
formule: 5.55€
|
||||
références:
|
||||
urssaf.fr: https://www.urssaf.fr/portail/home/taux-et-baremes/frais-professionnels/les-titres-restaurant.html
|
||||
|
||||
contrat salarié . frais professionnels . titres-restaurant . participation employeur:
|
||||
formule:
|
||||
|
@ -80,19 +82,20 @@ contrat salarié . frais professionnels . titres-restaurant . participation empl
|
|||
facteur: titres-restaurant par mois
|
||||
assiette:
|
||||
encadrement:
|
||||
valeur: taux participation employeur * valeur
|
||||
valeur: taux participation employeur * montant unitaire
|
||||
plafond: plafond
|
||||
|
||||
contrat salarié . frais professionnels . titres-restaurant . participation salarié:
|
||||
formule: valeur * titres-restaurant par mois - participation employeur
|
||||
titre: Titres-restaurant
|
||||
formule: montant unitaire * titres-restaurant par mois - participation employeur
|
||||
|
||||
contrat salarié . frais professionnels . titres-restaurant . titres-restaurant par mois:
|
||||
question: Combien de titres-restaurant recevez-vous par mois ?
|
||||
par défaut: 19
|
||||
unité: titres-restaurant/mois
|
||||
|
||||
contrat salarié . frais professionnels . titres-restaurant . valeur:
|
||||
question: Quelle est la valeur du titre-restaurant ?
|
||||
contrat salarié . frais professionnels . titres-restaurant . montant unitaire:
|
||||
question: Quelle est le montant du titre-restaurant ?
|
||||
par défaut: 8
|
||||
unité: €/titre-restaurant
|
||||
|
||||
|
@ -1281,7 +1284,6 @@ contrat salarié . rémunération . net imposable:
|
|||
somme:
|
||||
- frais professionnels . indemnité kilométrique vélo
|
||||
- (- frais professionnels . titres-restaurant . participation employeur)
|
||||
- frais professionnels . titres-restaurant . participation salarié
|
||||
- prime d'impatriation
|
||||
- exonération d'impôt des stagiaires et apprentis
|
||||
- heures supplémentaires et complémentaires défiscalisées
|
||||
|
@ -1335,7 +1337,7 @@ contrat salarié . rémunération . net:
|
|||
Aussi appelé salaire net à payer (c'était du moins le cas avant l'impôt à la source).
|
||||
|
||||
Cette somme peut varier en fonction de décisions politiques (augmentation ou diminution des cotisations) alors que le salaire brut est contractuel (pour le changer, il faut signer un avenant au contrat).
|
||||
formule: rémunération . net de cotisations - avantages en nature . montant
|
||||
formule: rémunération . net de cotisations - avantages en nature . montant - frais professionnels . titres-restaurant . participation salarié
|
||||
|
||||
contrat salarié . rémunération . net après impôt:
|
||||
titre: Salaire net après impôt
|
||||
|
|
|
@ -4,26 +4,33 @@ import { findRuleByDottedName, getRuleFromAnalysis } from 'Engine/rules'
|
|||
import React, { Fragment, useContext } from 'react'
|
||||
import { Trans } from 'react-i18next'
|
||||
import { useSelector } from 'react-redux'
|
||||
import { analysisWithDefaultsSelector, parsedRulesSelector } from 'Selectors/analyseSelectors'
|
||||
import {
|
||||
analysisWithDefaultsSelector,
|
||||
parsedRulesSelector
|
||||
} from 'Selectors/analyseSelectors'
|
||||
import { analysisToCotisationsSelector } from 'Selectors/ficheDePaieSelectors'
|
||||
import './PaySlip.css'
|
||||
import { Line, SalaireBrutSection, SalaireNetSection } from './PaySlipSections'
|
||||
import RuleLink from './RuleLink'
|
||||
|
||||
export default function PaySlip() {
|
||||
const { lightestColor } = useContext(ThemeColorsContext)
|
||||
const cotisations = useSelector(analysisToCotisationsSelector)
|
||||
const analysis = useSelector(analysisWithDefaultsSelector)
|
||||
const parsedRules = useSelector(parsedRulesSelector)
|
||||
let getRule = getRuleFromAnalysis(analysis)
|
||||
const { lightestColor } = useContext(ThemeColorsContext)
|
||||
const cotisations = useSelector(analysisToCotisationsSelector)
|
||||
const analysis = useSelector(analysisWithDefaultsSelector)
|
||||
const parsedRules = useSelector(parsedRulesSelector)
|
||||
let getRule = getRuleFromAnalysis(analysis)
|
||||
|
||||
const heuresSupplémentaires = getRule(
|
||||
'contrat salarié . temps de travail . heures supplémentaires'
|
||||
)
|
||||
return (
|
||||
<div
|
||||
className="payslip__container"
|
||||
css={`
|
||||
const heuresSupplémentaires = getRule(
|
||||
'contrat salarié . temps de travail . heures supplémentaires'
|
||||
)
|
||||
const retenueTitresRestaurant = getRule(
|
||||
'contrat salarié . frais professionnels . titres-restaurant . participation salarié'
|
||||
)
|
||||
console.log(retenueTitresRestaurant)
|
||||
return (
|
||||
<div
|
||||
className="payslip__container"
|
||||
css={`
|
||||
.value {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
|
@ -31,91 +38,115 @@ export default function PaySlip() {
|
|||
padding-right: 0.2em;
|
||||
}
|
||||
`}
|
||||
>
|
||||
<div className="payslip__salarySection">
|
||||
<Line
|
||||
rule={getRule('contrat salarié . temps de travail')}
|
||||
unit="heures/mois"
|
||||
maximumFractionDigits={1}
|
||||
/>
|
||||
{heuresSupplémentaires?.nodeValue > 0 && (
|
||||
<Line
|
||||
rule={heuresSupplémentaires}
|
||||
unit="heures/mois"
|
||||
maximumFractionDigits={1}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
>
|
||||
<div className="payslip__salarySection">
|
||||
<Line
|
||||
rule={getRule('contrat salarié . temps de travail')}
|
||||
unit="heures/mois"
|
||||
maximumFractionDigits={1}
|
||||
/>
|
||||
{heuresSupplémentaires?.nodeValue > 0 && (
|
||||
<Line
|
||||
rule={heuresSupplémentaires}
|
||||
unit="heures/mois"
|
||||
maximumFractionDigits={1}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<SalaireBrutSection getRule={getRule} />
|
||||
{/* Section cotisations */}
|
||||
<div className="payslip__cotisationsSection">
|
||||
<h4>
|
||||
<Trans>Cotisations sociales</Trans>
|
||||
</h4>
|
||||
<h4>
|
||||
<Trans>Part employeur</Trans>
|
||||
</h4>
|
||||
<h4>
|
||||
<Trans>Part salarié</Trans>
|
||||
</h4>
|
||||
{cotisations.map(([brancheDottedName, cotisationList]) => {
|
||||
let branche = findRuleByDottedName(parsedRules, brancheDottedName)
|
||||
return (
|
||||
<Fragment key={branche.dottedName}>
|
||||
<h5 className="payslip__cotisationTitle">
|
||||
<RuleLink {...branche} />
|
||||
</h5>
|
||||
{cotisationList.map(cotisation => (
|
||||
<Fragment key={cotisation.dottedName}>
|
||||
<RuleLink
|
||||
style={{ backgroundColor: lightestColor }}
|
||||
{...cotisation}
|
||||
/>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
unit="€"
|
||||
customCSS="background-color: var(--lightestColor)"
|
||||
>
|
||||
{cotisation.montant.partPatronale}
|
||||
</Value>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
unit="€"
|
||||
customCSS="background-color: var(--lightestColor)"
|
||||
>
|
||||
{cotisation.montant.partSalariale}
|
||||
</Value>
|
||||
</Fragment>
|
||||
))}
|
||||
</Fragment>
|
||||
)
|
||||
})}
|
||||
<SalaireBrutSection getRule={getRule} />
|
||||
{/* Section cotisations */}
|
||||
<div className="payslip__cotisationsSection">
|
||||
<h4>
|
||||
<Trans>Cotisations sociales</Trans>
|
||||
</h4>
|
||||
<h4>
|
||||
<Trans>Part employeur</Trans>
|
||||
</h4>
|
||||
<h4>
|
||||
<Trans>Part salarié</Trans>
|
||||
</h4>
|
||||
{cotisations.map(([brancheDottedName, cotisationList]) => {
|
||||
let branche = findRuleByDottedName(parsedRules, brancheDottedName)
|
||||
return (
|
||||
<Fragment key={branche.dottedName}>
|
||||
<h5 className="payslip__cotisationTitle">
|
||||
<RuleLink {...branche} />
|
||||
</h5>
|
||||
{cotisationList.map(cotisation => (
|
||||
<Fragment key={cotisation.dottedName}>
|
||||
<RuleLink
|
||||
style={{ backgroundColor: lightestColor }}
|
||||
{...cotisation}
|
||||
/>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
unit="€"
|
||||
customCSS="background-color: var(--lightestColor)"
|
||||
>
|
||||
{cotisation.montant.partPatronale}
|
||||
</Value>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
unit="€"
|
||||
customCSS="background-color: var(--lightestColor)"
|
||||
>
|
||||
{cotisation.montant.partSalariale}
|
||||
</Value>
|
||||
</Fragment>
|
||||
))}
|
||||
</Fragment>
|
||||
)
|
||||
})}
|
||||
|
||||
{/* Total cotisation */}
|
||||
<div className="payslip__total">
|
||||
<Trans>Total des retenues</Trans>
|
||||
</div>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
{...getRule('contrat salarié . cotisations . patronales')}
|
||||
unit="€"
|
||||
className="payslip__total"
|
||||
/>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
{...getRule('contrat salarié . cotisations . salariales')}
|
||||
unit="€"
|
||||
className="payslip__total"
|
||||
/>
|
||||
{/* Salaire chargé */}
|
||||
<Line rule={getRule('contrat salarié . rémunération . total')} />
|
||||
<span />
|
||||
{/* Titres-restaurant */}
|
||||
<Line rule={getRule('contrat salarié . frais professionnels . titres-restaurant . participation salarié')} />
|
||||
</div>
|
||||
{/* Section salaire net */}
|
||||
<SalaireNetSection getRule={getRule} />
|
||||
</div>
|
||||
)
|
||||
{/* Titres-restaurant */}
|
||||
{retenueTitresRestaurant.nodeValue > 0 && (
|
||||
<Fragment>
|
||||
<RuleLink
|
||||
style={{ backgroundColor: lightestColor }}
|
||||
{...retenueTitresRestaurant}
|
||||
/>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
unit="€"
|
||||
customCSS="background-color: var(--lightestColor)"
|
||||
>
|
||||
{0}
|
||||
</Value>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
unit="€"
|
||||
customCSS="background-color: var(--lightestColor)"
|
||||
>
|
||||
{retenueTitresRestaurant.nodeValue}
|
||||
</Value>
|
||||
</Fragment>
|
||||
)}
|
||||
|
||||
{/*<Line rule={retenueTitresRestaurant} />*/}
|
||||
|
||||
{/* Total cotisation */}
|
||||
<div className="payslip__total">
|
||||
<Trans>Total des retenues</Trans>
|
||||
</div>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
{...getRule('contrat salarié . cotisations . patronales')}
|
||||
unit="€"
|
||||
className="payslip__total"
|
||||
/>
|
||||
<Value
|
||||
nilValueSymbol="—"
|
||||
{...getRule('contrat salarié . cotisations . salariales')}
|
||||
unit="€"
|
||||
className="payslip__total"
|
||||
/>
|
||||
{/* Salaire chargé */}
|
||||
<Line rule={getRule('contrat salarié . rémunération . total')} />
|
||||
<span />
|
||||
</div>
|
||||
{/* Section salaire net */}
|
||||
<SalaireNetSection getRule={getRule} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -328,7 +328,7 @@ contrat salarié . CDD . contrat jeune vacances:
|
|||
description.fr: >-
|
||||
Aussi appelé CDD vendanges. Contrat conclu avec un jeune pendant ses
|
||||
vacances scolaires ou universitaires.
|
||||
note.en: "[automatic] That's not a reason for a fixed-term contract."
|
||||
note.en: '[automatic] That''s not a reason for a fixed-term contract.'
|
||||
note.fr: Ce n'est pas un motif de CDD.
|
||||
question.en: Is it a young holiday contract?
|
||||
question.fr: Est-ce un contrat jeune vacances ?
|
||||
|
@ -706,7 +706,7 @@ contrat salarié . aides employeur:
|
|||
France. Découvrez-les sur le [portail
|
||||
officiel](http://www.aides-entreprises.fr).
|
||||
résumé.en: Deferred aids available to the employer.
|
||||
résumé.fr: "Pour l'employeur, différées dans le temps"
|
||||
résumé.fr: 'Pour l''employeur, différées dans le temps'
|
||||
titre.en: deferred employer aids
|
||||
titre.fr: aides à l'embauche
|
||||
contrat salarié . aides employeur . aide à l'embauche d'apprentis:
|
||||
|
@ -798,7 +798,7 @@ contrat salarié . apprentissage . diplôme préparé . niveau supérieur au bac
|
|||
titre.fr: Diplôme d'un niveau supérieur au bac
|
||||
contrat salarié . assiette CSG et CRDS:
|
||||
note.en: '[automatic] This plate is complex, this version is only a simplification.'
|
||||
note.fr: "Cette assiette est complexe, cette version n'est qu'une simplification."
|
||||
note.fr: 'Cette assiette est complexe, cette version n''est qu''une simplification.'
|
||||
titre.en: CSG and CRDS base
|
||||
titre.fr: assiette CSG et CRDS
|
||||
contrat salarié . assiette CSG et CRDS . assiette abattue:
|
||||
|
@ -993,12 +993,12 @@ contrat salarié . convention collective:
|
|||
Néanmoins, cela permet d'obtenir une première estimation, plus précise
|
||||
que le régime général.
|
||||
question.en: 'Which "convention collective" is applicable to the company ? [beta] '
|
||||
question.fr: "Quelle convention collective est applicable à l'entreprise ? [beta] "
|
||||
question.fr: 'Quelle convention collective est applicable à l''entreprise ? [beta] '
|
||||
titre.en: convention collective
|
||||
titre.fr: convention collective
|
||||
contrat salarié . convention collective . HCR:
|
||||
description.en: 'The company is a hotel, café, restaurant or similar.'
|
||||
description.fr: "L'entreprise est un hôtel, café, restaurant ou assimilé."
|
||||
description.fr: 'L''entreprise est un hôtel, café, restaurant ou assimilé.'
|
||||
titre.en: 'hotels, cafés restaurants HCR (beta)'
|
||||
titre.fr: 'hôtels, cafés restaurants HCR (beta)'
|
||||
contrat salarié . convention collective . HCR . majoration heures supplémentaires:
|
||||
|
@ -1513,6 +1513,11 @@ contrat salarié . frais professionnels . titres-restaurant:
|
|||
question.fr: Le salarié reçoit-il des titres-restaurant ?
|
||||
titre.en: '[automatic] restaurant vouchers'
|
||||
titre.fr: titres-restaurant
|
||||
contrat salarié . frais professionnels . titres-restaurant . montant unitaire:
|
||||
question.en: '[automatic] How much is the restaurant voucher?'
|
||||
question.fr: Quelle est le montant du titre-restaurant ?
|
||||
titre.en: '[automatic] unitary amount'
|
||||
titre.fr: montant unitaire
|
||||
contrat salarié . frais professionnels . titres-restaurant . part non exonérée de cotisation:
|
||||
titre.en: '[automatic] non-exempt portion'
|
||||
titre.fr: part non exonérée de cotisation
|
||||
|
@ -1523,10 +1528,12 @@ contrat salarié . frais professionnels . titres-restaurant . participation empl
|
|||
titre.en: '[automatic] ceiling'
|
||||
titre.fr: plafond
|
||||
contrat salarié . frais professionnels . titres-restaurant . participation salarié:
|
||||
titre.en: '[automatic] employee participation'
|
||||
titre.fr: participation salarié
|
||||
titre.en: '[automatic] Restaurant vouchers'
|
||||
titre.fr: Titres-restaurant
|
||||
contrat salarié . frais professionnels . titres-restaurant . taux participation employeur:
|
||||
contrôles.0.en: '[automatic] The Employer-paid portion of the meal voucher must be at least 50%.'
|
||||
contrôles.0.en: >-
|
||||
[automatic] The Employer-paid portion of the meal voucher must be at least
|
||||
50%.
|
||||
contrôles.0.fr: La part employeur du titre-restaurant doit être de 50% au minimum
|
||||
contrôles.1.en: >-
|
||||
[automatic] Employer-paid portion of the meal voucher must be a maximum of
|
||||
|
@ -1538,7 +1545,7 @@ contrat salarié . frais professionnels . titres-restaurant . taux participation
|
|||
description.fr: >-
|
||||
Part du titre-restaurant payée par l'employeur. Doit être de 50% minimum et
|
||||
de 60% maximum
|
||||
question.en: "[automatic] What is the employer's paid portion?"
|
||||
question.en: '[automatic] What is the employer''s paid portion?'
|
||||
question.fr: Quelle est la participation de l'employeur ?
|
||||
suggestions.50%.en: '[automatic] 50%'
|
||||
suggestions.50%.fr: 50%
|
||||
|
@ -1551,11 +1558,6 @@ contrat salarié . frais professionnels . titres-restaurant . titres-restaurant
|
|||
question.fr: Combien de titres-restaurant recevez-vous par mois ?
|
||||
titre.en: '[automatic] meal vouchers per month'
|
||||
titre.fr: titres-restaurant par mois
|
||||
contrat salarié . frais professionnels . titres-restaurant . valeur:
|
||||
question.en: '[automatic] What is the value of the restaurant voucher?'
|
||||
question.fr: Quelle est la valeur du titre-restaurant ?
|
||||
titre.en: '[automatic] value'
|
||||
titre.fr: valeur
|
||||
contrat salarié . indemnités salarié:
|
||||
titre.en: Employee benefits
|
||||
titre.fr: indemnités salarié
|
||||
|
@ -1952,7 +1954,7 @@ contrat salarié . réduction générale . assiette:
|
|||
titre.fr: Assiette de la réduction générale
|
||||
contrat salarié . réduction générale . assiette . part de la cotisation ATMP:
|
||||
note.en: '[automatic] In practice, the ATMP is always higher than 0.78%.'
|
||||
note.fr: "En pratique, l'ATMP est toujours supérieure à 0.78%"
|
||||
note.fr: 'En pratique, l''ATMP est toujours supérieure à 0.78%'
|
||||
titre.en: share of ATMP contribution
|
||||
titre.fr: part de la cotisation ATMP
|
||||
contrat salarié . réduction générale . multiplicateur:
|
||||
|
@ -3691,7 +3693,7 @@ dirigeant . rattachement CIPAV:
|
|||
note.en: >-
|
||||
[automatic] for the time being, we have only retained the CIPAV for the
|
||||
calculations.
|
||||
note.fr: "pour l'instant, nous n'avons retenu que la CIPAV pour les calculs"
|
||||
note.fr: 'pour l''instant, nous n''avons retenu que la CIPAV pour les calculs'
|
||||
titre.en: CIPAV attachment
|
||||
titre.fr: rattachement CIPAV
|
||||
dirigeant . rattachement CIPAV . retraite complémentaire:
|
||||
|
@ -4021,7 +4023,7 @@ entreprise . catégorie d'activité . restauration ou hébergement:
|
|||
titre.fr: restauration ou hébergement
|
||||
entreprise . catégorie d'activité . service ou vente:
|
||||
question.en: 'Is it a service activity, or the purchase and sale of goods?'
|
||||
question.fr: "Est-ce une activité de prestation de service, ou de l'achat-vente de biens ?"
|
||||
question.fr: 'Est-ce une activité de prestation de service, ou de l''achat-vente de biens ?'
|
||||
titre.en: service or sale
|
||||
titre.fr: service ou vente
|
||||
entreprise . catégorie d'activité . service ou vente . service:
|
||||
|
@ -4140,7 +4142,7 @@ entreprise . chiffre d'affaires minimum:
|
|||
titre.en: Minimum turnover
|
||||
titre.fr: chiffre d'affaires minimum
|
||||
entreprise . date de création:
|
||||
contrôles.0.en: "[automatic] We can't see that far into the future"
|
||||
contrôles.0.en: '[automatic] We can''t see that far into the future'
|
||||
contrôles.0.fr: Nous ne pouvons voir aussi loin dans le futur
|
||||
contrôles.1.en: >-
|
||||
[automatic] This is a very old company! Are you sure you didn't make a
|
||||
|
@ -4357,7 +4359,7 @@ entreprise . établissement bancaire:
|
|||
L'entreprise est un établissement bancaire, financier ou d'assurance. Elle
|
||||
est non assujettie à la TVA.
|
||||
question.en: 'Is it a banking, financial or insurance institution?'
|
||||
question.fr: "S'agit-il d'un établissement bancaire, financier, d'assurance ?"
|
||||
question.fr: 'S''agit-il d''un établissement bancaire, financier, d''assurance ?'
|
||||
titre.en: banking institution
|
||||
titre.fr: établissement bancaire
|
||||
impôt:
|
||||
|
|
Loading…
Reference in New Issue