diff --git "a/modele-social/r\303\250gles/dirigeant/ind\303\251pendant.publicodes" "b/modele-social/r\303\250gles/dirigeant/ind\303\251pendant.publicodes" index 8e9a36189e..9bdc1f23d2 100644 --- "a/modele-social/r\303\250gles/dirigeant/ind\303\251pendant.publicodes" +++ "b/modele-social/r\303\250gles/dirigeant/ind\303\251pendant.publicodes" @@ -3,10 +3,10 @@ dirigeant . indépendant: par défaut: non dirigeant . indépendant . revenu professionnel: - résumé: rémunération du dirigeant au régime des indépendant + résumé: rémunération du dirigeant au régime des indépendants description: Le revenu professionnel est la rémunération du dirigeant au régime - des indépendant. + des indépendants. Pour les entreprises qui ont opté pour l'**impôt sur le revenu**, il s'agit du **résultat fiscal**. @@ -64,8 +64,7 @@ dirigeant . indépendant . cotisations et contributions . PSS proratisé: unité: €/an produit: - plafond sécurité sociale - - valeur: entreprise . durée d'activité . en fin d'année / 1 an - plafond: 100% + - entreprise . prorata temporis arrondi: oui dirigeant . indépendant . cotisations et contributions . cotisations: @@ -143,6 +142,8 @@ dirigeant . indépendant . assiette minimale . retraite: produit: - plafond sécurité sociale - 11.5 % + - si: entreprise . durée d'activité cette année < 90 jour + alors: 0 - sinon: 450 heure/an * SMIC . horaire . début d'année unité: €/an arrondi: oui @@ -477,7 +478,10 @@ dirigeant . indépendant . cotisations et contributions . maladie: assiette: valeur: assiette des cotisations plancher: assiette minimale . maladie - multiplicateur: plafond sécurité sociale + multiplicateur: + produit: + - plafond sécurité sociale + - entreprise . prorata temporis tranches: - taux: taux progressif plafond: 5 @@ -489,14 +493,19 @@ dirigeant . indépendant . cotisations et contributions . maladie: arrondi: 2 décimales taux progressif: assiette: assiette - multiplicateur: plafond sécurité sociale + multiplicateur: + produit: + - plafond sécurité sociale + - entreprise . prorata temporis tranches: - - taux: 0.5% + - taux: 0% plafond: 40% - - taux: 4.5% + - taux: 4% plafond: 60% - - taux: 7.20% + - taux: 6.70% plafond: 110% + - taux: 6.70% + plafond: 500% références: Article D621-2 du Code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000046714747/ @@ -550,7 +559,7 @@ dirigeant . indépendant . cotisations et contributions . retraite de base: plancher: assiette minimale . retraite tranches: - taux: taux - plafond: plafond sécurité sociale + plafond: plafond sécurité sociale * entreprise . prorata temporis - taux: 0.6% arrondi: oui références: @@ -584,15 +593,17 @@ dirigeant . indépendant . cotisations et contributions . retraite complémentai acronyme: PRCI titre global: plafond retraite complémentaire des indépendants valeur: - variations: - - si: date >= 01/2024 - alors: 42946 €/an - - si: date >= 01/2023 - alors: 40784 €/an - - si: date >= 01/2022 - alors: 38916 €/an - - si: date >= 01/2021 - alors: 38493 €/an + produit: + - entreprise . prorata temporis + - variations: + - si: date >= 01/2024 + alors: 42946 €/an + - si: date >= 01/2023 + alors: 40784 €/an + - si: date >= 01/2022 + alors: 38916 €/an + - si: date >= 01/2021 + alors: 38493 €/an références: Plafond de cotisations - Régime complémentaire des indépendants: https://legislation.lassuranceretraite.fr/#/bareme?file_leaf_ref=ti_cotisation_plafond_cotisation_rci.aspx @@ -614,8 +625,14 @@ dirigeant . indépendant . cotisations et contributions . invalidité et décès assiette: experimental: oui valeur: assiette des cotisations - plancher: assiette minimale . retraite - plafond: plafond sécurité sociale + plancher: + produit: + - assiette minimale . retraite + - entreprise . prorata temporis + plafond: + produit: + - plafond sécurité sociale + - entreprise . prorata temporis dirigeant . indépendant . cotisations et contributions . CSG-CRDS: formule: @@ -624,7 +641,7 @@ dirigeant . indépendant . cotisations et contributions . CSG-CRDS: - déductible références: - fiche Urssaf: https://www.urssaf.fr/portail/home/independant/mes-cotisations/quelles-cotisations/les-contributions-csg-crds/taux-de-la-csg-crds.html + fiche Urssaf: https://www.urssaf.fr/accueil/employeur/cotisations/liste-cotisations/csg-crds.html IJSS (amelie.fr): https://www.ameli.fr/assure/remboursements/indemnites-journalieres/arret-maladie IJSS (service-public.fr): https://www.service-public.fr/particuliers/vosdroits/F2971 Article 154 quiquies du Code Général des Impôts: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000038836652/ @@ -739,7 +756,10 @@ dirigeant . indépendant . cotisations et contributions . allocations familiales taux: taux progressif: assiette: assiette des cotisations - multiplicateur: plafond sécurité sociale + multiplicateur: + produit: + - plafond sécurité sociale + - entreprise . prorata temporis tranches: - plafond: 110% taux: 0% diff --git "a/modele-social/r\303\250gles/dirigeant/professions-lib\303\251rales/PAMC.publicodes" "b/modele-social/r\303\250gles/dirigeant/professions-lib\303\251rales/PAMC.publicodes" index 2e3bbca75e..0d0a2498c7 100644 --- "a/modele-social/r\303\250gles/dirigeant/professions-lib\303\251rales/PAMC.publicodes" +++ "b/modele-social/r\303\250gles/dirigeant/professions-lib\303\251rales/PAMC.publicodes" @@ -10,7 +10,6 @@ dirigeant . indépendant . PL . PAMC: rend non applicable: - conjoint collaborateur - - entreprise . TVA . franchise de TVA - dirigeant . indépendant . revenus étrangers - dirigeant . indépendant . cotisations et contributions . maladie domiciliation fiscale étranger diff --git "a/modele-social/r\303\250gles/entreprise/entreprise.publicodes" "b/modele-social/r\303\250gles/entreprise/entreprise.publicodes" index c1abcaabf9..b4498a8085 100644 --- "a/modele-social/r\303\250gles/entreprise/entreprise.publicodes" +++ "b/modele-social/r\303\250gles/entreprise/entreprise.publicodes" @@ -40,10 +40,68 @@ entreprise . date de création . contrôle date passée: description: Il s'agit d'une très vieille entreprise ! Êtes-vous sûr de ne pas vous être trompé dans la saisie ? + +entreprise . date de cessation: + question: À quelle date comptez-vous déclarer la cessation d’activité ? + par défaut: période . fin d'année + description: La date de cessation est la date à laquelle l’entreprise cessera son activité. + type: date + références: + Urssaf: https://www.urssaf.fr/accueil/services/services-independants/realiser-cessation-activite.html + + +entreprise . créée cette année: + titre: Entreprise créée cette année + formule: période . début d'année <= entreprise . date de création + description: L'entreprise a-t-elle été créée l'année de la simulation ? + +entreprise . radiée: + titre: Entreprise radiée + formule: + est défini: date de cessation + description: L'entreprise sera-t-elle radiée l'année de la simulation ? + +entreprise . radiée cette année: + titre: Entreprise radiée cette année + formule: + toutes ces conditions: + - est défini: date de cessation + - période . début d'année <= entreprise . date de cessation + description: L'entreprise sera-t-elle radiée l'année de la simulation ? + entreprise . durée d'activité: durée: depuis: date de création +entreprise . durée d'activité cette année: + variations: + - si: + toutes ces conditions: + - créée cette année + - radiée cette année + alors: + durée: + depuis: date de création + jusqu'à: date de cessation + - si: radiée cette année + alors: + durée: + depuis: période . début d'année + jusqu'à: date de cessation + - si: créée cette année + alors: + durée: + depuis: date de création + jusqu'à: période . fin d'année + - sinon: 1 an + unité: jours + +entreprise . prorata temporis: + description: | + Pourcentage d'exercice de l'entreprise sur l'année en cours + unité: '%' + formule: entreprise . durée d'activité cette année / 1 an + entreprise . durée d'activité . en fin d'année: somme: - durée: @@ -209,67 +267,6 @@ entreprise . chiffre d'affaires . BIC: entreprise . TVA . franchise de TVA: oui -entreprise . TVA . franchise de TVA . seuil vente: - variations: - - si: établissement . commune . département . outre-mer . Guadeloupe Réunion - Martinique - alors: 110000 €/an - - sinon: - variations: - - si: date >= 01/2023 - alors: 101000 €/an - - sinon: 94300 €/an - - références: - Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746 - -entreprise . TVA . franchise de TVA . seuil service: - variations: - - si: établissement . commune . département . outre-mer . Guadeloupe Réunion - Martinique - alors: 60000 €/an - - si: dirigeant . indépendant . PL . métier = 'avocat' - alors: - variations: - - si: date >= 01/2023 - alors: 58600 €/an - - sinon: 54700 €/an - - sinon: - variations: - - si: date >= 01/2023 - alors: 39100 €/an - - sinon: 36500 €/an - références: - Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746 - -entreprise . TVA . franchise de TVA . seuils dépassés: - déprécié: oui - une de ces conditions: - - chiffre d'affaires > seuil vente + seuil service - - chiffre d'affaires . vente restauration hébergement > seuil vente - - chiffre d'affaires . service > seuil service - -entreprise . TVA . franchise de TVA . notification: - type: notification - experimental: oui - toutes ces conditions: - - seuils dépassés = non - - chiffre d'affaires != 0 - résumé: | - Vous êtes en dessous du seuil de déclaration de TVA. - description: | - La franchise de TVA est un dispositif qui exonère les entreprises de la - déclaration et du paiement de la TVA. Il s'applique en dessous d'un seuil de - chiffre d'affaire annuel dépendant de l'activité. - - Le professionnel qui relève de ce dispositif facture ses prestations ou ses - ventes en hors taxe, et ne peut pas déduire la TVA de ses achats. - note: > - On prend compte ici des seuils majorés (qui s'appliquent si le seuil - "minoré" n'a pas été dépassé en année `n - 2`) - références: - Franchise en base de TVA: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746 - entreprise . résultat fiscal: unité: €/an somme: diff --git "a/modele-social/r\303\250gles/p\303\251riode.publicodes" "b/modele-social/r\303\250gles/p\303\251riode.publicodes" index f7c4dcdc1a..3375ffce9f 100644 --- "a/modele-social/r\303\250gles/p\303\251riode.publicodes" +++ "b/modele-social/r\303\250gles/p\303\251riode.publicodes" @@ -12,6 +12,8 @@ période . semaines par mois: # calculating the beginning and the end of the year of a given date. période . début d'année: variations: + - si: date >= 01/2025 + alors: 01/01/2025 - si: date >= 01/2024 alors: 01/01/2024 - si: date >= 01/2023 @@ -23,6 +25,8 @@ période . début d'année: période . fin d'année: variations: + - si: date >= 01/2025 + alors: 31/12/2025 - si: date >= 01/2024 alors: 31/12/2024 - si: date >= 01/2023 @@ -31,3 +35,8 @@ période . fin d'année: alors: 31/12/2022 - si: date >= 01/2021 alors: 31/12/2021 + +période . durée depuis le début d'année: + durée: + depuis: période . début d'année + jusqu'à: date diff --git a/site/source/components/Feedback/FeedbackForm.tsx b/site/source/components/Feedback/FeedbackForm.tsx index ae5aa89f49..2a720dfbc0 100644 --- a/site/source/components/Feedback/FeedbackForm.tsx +++ b/site/source/components/Feedback/FeedbackForm.tsx @@ -12,8 +12,7 @@ import { Strong } from '@/design-system/typography' import { H1, H4 } from '@/design-system/typography/heading' import { Link } from '@/design-system/typography/link' import { Body } from '@/design-system/typography/paragraphs' - -import { useUrl } from '../ShareSimulationBanner' +import { useUrl } from '@/hooks/useUrl' type SubmitError = { message?: string diff --git a/site/source/components/PreviousSimulationBanner.tsx b/site/source/components/PreviousSimulationBanner.tsx index 1d0da21ad8..b161d690c6 100644 --- a/site/source/components/PreviousSimulationBanner.tsx +++ b/site/source/components/PreviousSimulationBanner.tsx @@ -29,12 +29,12 @@ export default function PreviousSimulationBanner() { dispatch(loadPreviousSimulation())} aria-label={t( - 'Retrouver ma simulation, charger les données de ma précédente simulation.' + 'Retrouver ma précédente simulation, charger les données de ma précédente simulation.' )} role="button" > - Retrouver ma simulation + Retrouver ma précédente simulation diff --git a/site/source/components/ShareSimulationBanner/index.tsx b/site/source/components/ShareSimulationBanner/index.tsx index aad8a5c3cb..d95acad3eb 100644 --- a/site/source/components/ShareSimulationBanner/index.tsx +++ b/site/source/components/ShareSimulationBanner/index.tsx @@ -1,57 +1,36 @@ import { useContext } from 'react' import { Trans, useTranslation } from 'react-i18next' -import { useSelector } from 'react-redux' import { styled } from 'styled-components' import { PopoverWithTrigger } from '@/design-system' import { Button } from '@/design-system/buttons' import { Emoji } from '@/design-system/emoji' import { Grid, Spacing } from '@/design-system/layout' -import { useCurrentSimulatorData } from '@/hooks/useCurrentSimulatorData' -import { - companySituationSelector, - situationSelector, - targetUnitSelector, -} from '@/store/selectors/simulationSelectors' +import { useUrl } from '@/hooks/useUrl' import { TrackingContext } from '../ATInternetTracking' import { ConseillersEntreprisesButton } from '../ConseillersEntreprisesButton' -import { useParamsFromSituation } from '../utils/useSearchParamsSimulationSharing' import { ShareSimulationPopup } from './ShareSimulationPopup' -export function useUrl() { - const language = useTranslation().i18n.language - const situation = { - ...useSelector(situationSelector), - ...useSelector(companySituationSelector), - } - - const targetUnit = useSelector(targetUnitSelector) - - const searchParams = useParamsFromSituation(situation, targetUnit) - const { currentSimulatorData } = useCurrentSimulatorData() - - const { path = '' } = currentSimulatorData ?? {} - const siteUrl = - language === 'fr' - ? import.meta.env.VITE_FR_BASE_URL - : import.meta.env.VITE_EN_BASE_URL - - return siteUrl + path + '?' + searchParams.toString() -} - const ButtonLabel = styled.span` margin-left: 1rem; ` +export interface CustomSimulationButton { + href: string + title: string +} + export default function ShareOrSaveSimulationBanner({ share, print, conseillersEntreprises, + customSimulationbutton, }: { share?: boolean print?: boolean conseillersEntreprises?: boolean + customSimulationbutton?: CustomSimulationButton }) { const { t } = useTranslation() const tracker = useContext(TrackingContext) @@ -92,6 +71,14 @@ export default function ShareOrSaveSimulationBanner({ justifyContent: 'center', }} > + {customSimulationbutton && ( + + + + )} + {share && ( + informationsComplémentaires?: ReactNode } export default function SimulateurWarning({ simulateur, + informationsComplémentaires, }: SimulateurWarningProps) { const year = useContext(EngineContext) .evaluate('date') @@ -57,6 +59,7 @@ export default function SimulateurWarning({ )} + {informationsComplémentaires && <>{informationsComplémentaires}} {simulateur === 'profession-libérale' && (