From 5852d460393327957016dc655ee99079abb053a7 Mon Sep 17 00:00:00 2001 From: Johan Girod Date: Thu, 2 Feb 2023 15:39:06 +0100 Subject: [PATCH] =?UTF-8?q?Met=20=C3=A0=20jour=20les=20tests=20de=20non=20?= =?UTF-8?q?regression=20et=20les=20traductions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test-e2e/__snapshots__/index.test.ts.snap | 5 + modele-social/package.json | 2 +- modele-social/règles/entreprise/activité.yaml | 15 +++ .../mon-entreprise/english/navigation.ts | 4 +- site/source/components/charts/PagesCharts.tsx | 1 - site/source/locales/rules-en.yaml | 67 ++++-------- .../comparaison-statuts/simulationConfig.ts | 1 + site/source/pages/Stats/Stats.tsx | 35 ++++-- .../simulations-SASU.test.ts.snap | 3 +- .../simulations-artiste-auteur.test.ts.snap | 19 ++-- ...simulations-auto-entrepreneur.test.ts.snap | 71 ++++++++++++ .../simulations-dividendes.test.ts.snap | 101 ++++++++++++++++++ .../simulations-impôt-société.test.ts.snap | 10 +- .../simulations-indépendant.test.ts.snap | 43 +------- ...lations-professions-libérales.test.ts.snap | 6 +- .../simulations-indépendant.test.ts | 5 +- .../regressions/simulations-indépendant.yaml | 14 --- .../simulations-professions-libérales.test.ts | 4 +- 18 files changed, 271 insertions(+), 135 deletions(-) create mode 100644 site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap diff --git a/api/source/test-e2e/__snapshots__/index.test.ts.snap b/api/source/test-e2e/__snapshots__/index.test.ts.snap index 854995160..8b9f5daaa 100644 --- a/api/source/test-e2e/__snapshots__/index.test.ts.snap +++ b/api/source/test-e2e/__snapshots__/index.test.ts.snap @@ -847,6 +847,11 @@ Cela veut dire qu'elle peut être modifiée, renommée, ou supprimée sans qu'il { "message": " [ Avertissement ] +⚠️ Dans l'expression '<', la partie gauche (unité: jour) n'est pas compatible avec la partie droite (unité: ans)", + }, + { + "message": " +[ Avertissement ] ➡️ Dans la règle \\"DRI . accompagnement imposition . régime memento fiscal . RSI\\" ⚠️ Cette règle est tagguée comme experimentale. diff --git a/modele-social/package.json b/modele-social/package.json index cbc4ac648..4a8fc9bbb 100644 --- a/modele-social/package.json +++ b/modele-social/package.json @@ -1,6 +1,6 @@ { "name": "modele-social", - "version": "1.4.2", + "version": "1.6.0", "description": "Les règles publicodes du système social français", "type": "module", "main": "./dist/index.js", diff --git a/modele-social/règles/entreprise/activité.yaml b/modele-social/règles/entreprise/activité.yaml index 9355cbed5..729c2cd0b 100644 --- a/modele-social/règles/entreprise/activité.yaml +++ b/modele-social/règles/entreprise/activité.yaml @@ -357,3 +357,18 @@ entreprise . activités . revenus mixtes: alors: 1 / 3 - sinon: 50% note: Il appartient à l'utilisateur de bien vérifier que la somme des trois pourcentages renseignés vaut 100%. + +entreprise . activités . saisonnière: + question: Exercez-vous une activité saisonnière ? + par défaut: non + description: | + Les professionnels exerçant une activité saisonnière peuvent bénéficier + d’une dispense de minimale pour les cotisations d’indeminités journalières, + de retraite de base et d’invalidité-décès. + + Ainsi, si votre revenu est inférieur à l’assiette minimale de cotisations, + vous cotisez sur votre revenu réel. + + Vous pouvez demander l‘application de cette dispense depuis votre espace en urssaf: Messagerie > Nouveau message > Un autre sujet (informations, documents ou justificatifs) > Demander des informations sur mon compte ou un récapitulatif > Faire une demande ou un complément de demande » + + > À noter : l’assiette minimale pour la retraite de base permet de garantir la validation de 3 trimestres d’assurance vieillesse. diff --git a/site/cypress/integration/mon-entreprise/english/navigation.ts b/site/cypress/integration/mon-entreprise/english/navigation.ts index 7b26993fb..f1da632cc 100644 --- a/site/cypress/integration/mon-entreprise/english/navigation.ts +++ b/site/cypress/integration/mon-entreprise/english/navigation.ts @@ -97,9 +97,7 @@ describe(`Navigation to income simulator using company name (${ cy.contains('834825614').click() // ask if auto-entrepreneur - cy.contains( - fr ? 'Êtes-vous auto-entrepreneur ?' : 'Are you an auto-entrepreneur?' - ) + cy.contains(fr ? 'auto-entrepreneur' : 'auto-entrepreneur') cy.contains(fr ? 'Oui' : 'Yes').click() cy.contains('Auto-entrepreneur').click() cy.location().should((loc) => { diff --git a/site/source/components/charts/PagesCharts.tsx b/site/source/components/charts/PagesCharts.tsx index 8b9ad241f..40652c73a 100644 --- a/site/source/components/charts/PagesCharts.tsx +++ b/site/source/components/charts/PagesCharts.tsx @@ -29,7 +29,6 @@ const Palette = [ '#697ad5', '#b453b6', '#ff2d96', - '#fd667f', '#fc9e67', '#fad750', '#bed976', diff --git a/site/source/locales/rules-en.yaml b/site/source/locales/rules-en.yaml index c60e4babc..cb5b333dc 100644 --- a/site/source/locales/rules-en.yaml +++ b/site/source/locales/rules-en.yaml @@ -2478,7 +2478,7 @@ dirigeant . indépendant . PL . cotisations caisse de retraite: dirigeant . indépendant . PL . maladie: note.en: > [automatic] The regulated liberal professions do not contribute for the - corresponding part of the + corresponding part of the daily allowances daily allowances and are therefore not entitled to these allowances in case of @@ -2527,7 +2527,7 @@ dirigeant . indépendant . PL . métier . juridique: avec: avocat: description.en: | - [automatic] Lawyers contribute to the CNBF for retirement and provident + [automatic] Lawyers contribute to the CNBF for their retirement and retirement and provident fund. description.fr: | Les avocats cotisent auprès de la CNBF pour la retraite et la @@ -3138,7 +3138,7 @@ dirigeant . indépendant . cotisations et contributions . début activité: titre.en: '[automatic] lump-sum basis' titre.fr: assiette forfaitaire assiette forfaitaire maladie: - titre.en: '[automatic] sickness lump sum' + titre.en: '[automatic] flat-rate health insurance' titre.fr: assiette forfaitaire maladie description.en: '[automatic] ' description.fr: > @@ -4119,7 +4119,7 @@ entreprise . TVA . franchise de TVA . seuils dépassés: annual turnover depending on the activity. - The professional who falls under this system invoices his services or sales without tax, and cannot + The professional who falls under this system invoices his services or his sales without tax, and cannot and cannot deduct VAT from their purchases. description.fr: | @@ -4252,7 +4252,7 @@ entreprise . activité . nature: ### Multiple activities - In case of multiple activities, the main activity is deemed to be the oldest activity. + In the case of multiple activities, the main activity is deemed to be the oldest activity. However, as of the third calendar year following the year in which the pluriactivity situation began, the persons concerned may request that the activity that provided the highest amount of turnover or revenue excluding taxes over the last three years be considered their main activity. @@ -4485,7 +4485,7 @@ entreprise . activités . revenus mixtes: and a part in service provision (the installation). - There are three categories with different standard expense allowance rates: + There are three categories with different expense allowance rates: - Sales of goods, catering and accommodation (BIC)](/documentation/company/turnover/sales-restoration-accommodation) (71% allowance) @@ -4713,7 +4713,7 @@ entreprise . catégorie juridique . SARL: titre.en: '[automatic] Limited liability company' titre.fr: Société à responsabilité limitée unipersonnelle: - titre.en: '[automatic] one-person' + titre.en: '[automatic] unipersonal' titre.fr: unipersonnelle titre.en: '[automatic] SARL or EURL' titre.fr: SARL ou EURL @@ -5126,10 +5126,10 @@ entreprise . coût formalités . annonce légale: titre.fr: Tarif forfaitaire description.en: > [automatic] The publication of a legal announcement is mandatory - to inform the public of the major stages in the life of a company: creation, - modification or cessation of activity. It must be inserted in a medium - authorized to receive legal announcements (SHAL): either a newspaper of - legal announcements (JAL), or an online press service (SPEL). + to inform the public of the major stages in the life of a company: the + creation, modification or cessation of activity. It must be inserted in a + medium authorized to receive legal announcements (SHAL): either a newspaper + of legal announcements (JAL), or an online press service (SPEL). There are 2 types of pricing for legal announcements: @@ -6153,7 +6153,8 @@ protection sociale . invalidité et décès: disability pension: either from your salaried activity or from your activity as a craftsman/trader. However, the amount of the pension takes into account all your income received whether it comes from - your salaried activity or your activity as a self-employed person. + your salaried activity or from your activity as a self-employed + person. description.fr: > Depuis le 1er juillet 2016, vous ne pouvez percevoir qu’une seule pension d’invalidité : soit au titre de votre activité @@ -7195,7 +7196,7 @@ salarié . contrat . CDD . indemnité de fin de contrat: Pour être dans ce cas, le contrat doit se terminer avant les vacances scolaires ou universitaires, et que le jeune reprenne effectivement ses études lors de la prochaine rentrée. question.en: '[automatic] Is it a fixed-term contract concluded with a young - person during his school or university vacations ("summer job")?' + person during his or her school or university vacations ("summer job")?' question.fr: Est-ce un CDD conclu avec un jeune pendant ses vacances scolaires ou universitaires (« job d’été ») ? @@ -7236,18 +7237,6 @@ salarié . contrat . CDD . motif: titre.en: '[automatic] Temporary increase in activity' titre.fr: Accroissement temporaire d'activité mission: - description.en: > - [automatic] > Also known as a defined purpose contract. - - - Recruitment of engineers and managers, within the meaning of the collective agreements, with a view to achieving a defined objective when an extended branch agreement or, failing that, a company agreement so provides and defines : - - - - The economic needs to which these contracts are likely to provide an appropriate response; - - - The conditions under which employees on fixed-term contracts with a defined purpose benefit from guarantees relating to redeployment assistance, validation of acquired experience, priority for re-employment and access to continuing vocational training, and may, during the notice period, mobilize the means available to organize the rest of their career path; - - - The conditions under which employees on fixed-term contracts with a defined purpose have priority of access to jobs with open-ended contracts in the company. description.fr: > > Aussi appelé contrat à objet défini. @@ -7263,21 +7252,6 @@ salarié . contrat . CDD . motif: titre.en: '[automatic] Mission contract' titre.fr: Contrat de mission remplacement: - description.en: > - [automatic] We group the following cases in this category. - - - - Replacement of an employee in case of : - - Absence; - - Temporary change to part-time work, concluded by an amendment to the employment contract or by a written exchange between the employee and his employer; - - Suspension of the employment contract; - - Permanent departure preceding the elimination of his workstation after consultation of the works council or, failing that, of the staff representatives, if any; - - Waiting for the employee recruited on a permanent contract to replace him/her to take up his/her duties; - - - Replacement of the head of a craft, industrial or commercial company, of a person practicing a liberal profession, of his or her spouse effectively participating in the activity of the company on a professional and usual basis, or of a non-salaried partner of a professional partnership, a partnership of means, a liberal practice partnership or any other legal person practicing a liberal profession; - - - - Replacement of the head of a farm or a company mentioned in 1° to 4° of article L. 722-1 of the rural and maritime fishing code, of a family helper, of a partner in the farm, or of their spouse mentioned in article L. 722-10 of the same code, provided that he or she is effectively participating in the activity of the farm or company; description.fr: > Nous regroupons dans cette catégorie les cas suivants. @@ -7299,7 +7273,7 @@ salarié . contrat . CDD . motif: description.en: '[automatic] Jobs of a seasonal nature, whose tasks are called upon to be repeated each year according to a more or less fixed - periodicity, depending on the rhythm of the seasons or collective + periodicity, according to the rhythm of the seasons or collective lifestyles.' description.fr: Emplois à caractère saisonnier, dont les tâches sont appelées à @@ -8355,7 +8329,7 @@ salarié . cotisations . exonérations . lodeom: - publishing of internet portals and software; - computer graphics, including visual and digital content design; - design of connected objects. - - If these conditions are met, the exemption applies to remunerations paid to employees who are mainly involved in the realization of innovative projects. + - If these conditions are met, the exemption applies to remunerations paid to employees who are mainly engaged in the realization of innovative projects. - Support functions are therefore excluded: administrative, financial, logistical and human resources tasks. description.fr: > @@ -8805,8 +8779,7 @@ salarié . régimes spécifiques . DFS . profession: titre.en: '[automatic] journalist' titre.fr: journaliste ouvrier du bâtiment: - description.en: - '[automatic] Concerns the construction workers referred to in + description.en: '[automatic] Concerns construction workers referred to in paragraphs 1 and 2 of Article 1 of the decree of November 17, 1936, excluding those working in factories or workshops.' description.fr: @@ -9524,7 +9497,7 @@ salarié . rémunération . frais professionnels . trajets domicile travail . pr If the employer (private or public) sets it up, it must benefit all employees according to the same terms and conditions and depending on the distance between home and work. - The amount, terms and conditions as well as the criteria for awarding the transport bonus must be provided for by a company agreement or an inter-company agreement, or failing that, by a branch agreement. + The amount, terms and conditions as well as the criteria for awarding the transport bonus must be provided for by a company agreement or an inter-company agreement, or failing that, by an industry agreement. In the absence of an agreement, the employer may provide for the payment of the transport bonus by unilateral decision, after consulting the social and economic committee (CSE), if it exists. @@ -9630,7 +9603,7 @@ salarié . rémunération . frais professionnels . trajets domicile travail . tr costs is mandatory. - Employers (private or public) must pay 50% of the cost of subscriptions taken out by their employees for the entire journey between their usual place of residence and their place of work using public transport services, even if more than one subscription is needed to make the journey (e.g. train + bus). + Employers (private or public) must pay 50% of the cost of subscriptions taken out by their employees for the entire journey between their usual place of residence and their place of work using public transport services, even if more than one subscription is required to make this journey (e.g. train + bus). This also applies to public bicycle rental services. @@ -9737,7 +9710,7 @@ salarié . rémunération . indemnités CDD: This method of calculation will most often be favorable to the employee when the employee - has worked overtime. An indemnity equal to one tenth of the total + has worked overtime. An indemnity equal to one tenth of the gross remuneration received by the employee during the reference period. diff --git a/site/source/pages/Simulateurs/comparaison-statuts/simulationConfig.ts b/site/source/pages/Simulateurs/comparaison-statuts/simulationConfig.ts index b0eaf7d39..442cd0d29 100644 --- a/site/source/pages/Simulateurs/comparaison-statuts/simulationConfig.ts +++ b/site/source/pages/Simulateurs/comparaison-statuts/simulationConfig.ts @@ -24,6 +24,7 @@ export const configComparateurStatuts: SimulationConfig = { 'salarié . rémunération . avantages en nature', 'entreprise . activités', 'entreprise . activités . revenus mixtes', + 'entreprise . activités . saisonnière', ], liste: [ 'entreprise . activité', diff --git a/site/source/pages/Stats/Stats.tsx b/site/source/pages/Stats/Stats.tsx index f9c3e7227..891236e47 100644 --- a/site/source/pages/Stats/Stats.tsx +++ b/site/source/pages/Stats/Stats.tsx @@ -115,7 +115,7 @@ const statsCreer = (pages: Pageish[], creer: Pageish[]) => { } function groupByDate(data: Pageish[]) { - return Object.entries( + const topTenPageByMonth = Object.entries( groupBy( data.filter((d) => 'page' in d && d.page === 'accueil'), (p) => ('date' in p ? p.date : p.month) @@ -125,13 +125,34 @@ function groupByDate(data: Pageish[]) { nombre: Object.fromEntries( Object.entries( groupBy(values, (x) => x.page_chapter1 + ' / ' + x.page_chapter2) + ).map( + ([k, v]) => + [k, v.map((v) => v.nombre).reduce((a, b) => a + b, 0)] as const + ) + ), + })) + + const topPagesOfAllTime = Object.entries( + topTenPageByMonth.reduce((acc, { nombre }) => { + Object.entries(nombre).forEach(([page, visits]) => { + acc[page] ??= 0 + acc[page] += visits + }) + + return acc + }, {} as Record) + ) + .sort((a, b) => b[1] - a[1]) + .slice(0, 8) + .map(([page]) => page) + console.log(topPagesOfAllTime) + + return topTenPageByMonth.map(({ date, nombre }) => ({ + date, + nombre: Object.fromEntries( + Object.entries(nombre).filter(([page]) => + topPagesOfAllTime.includes(page) ) - .map( - ([k, v]) => - [k, v.map((v) => v.nombre).reduce((a, b) => a + b, 0)] as const - ) - .sort((a, b) => b[1] - a[1]) - .slice(0, 7) ), })) } diff --git a/site/test/regressions/__snapshots__/simulations-SASU.test.ts.snap b/site/test/regressions/__snapshots__/simulations-SASU.test.ts.snap index 6958701bd..62a8c7516 100644 --- a/site/test/regressions/__snapshots__/simulations-SASU.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-SASU.test.ts.snap @@ -121,5 +121,6 @@ exports[`calculate assimilé salarié > échelle de rémunération 8`] = ` impôt . montant: 9659 salarié . cotisations: 3622 salarié . rémunération . net . payé après impôt: 3907 -salarié . rémunération . net . à payer avant impôt: 4712" +salarié . rémunération . net . à payer avant impôt: 4712 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; diff --git a/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap b/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap index 9e7a050e8..52e7c12bc 100644 --- a/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-artiste-auteur.test.ts.snap @@ -3,48 +3,43 @@ exports[`calculate simulations-artiste-auteur > bnc 1`] = ` "artiste-auteur . cotisations: 1230 artiste-auteur . cotisations . IRCEC: 0 -artiste-auteur . revenus: undefined -Notifications affichées : entreprise . TVA . franchise de TVA . notification" +artiste-auteur . revenus: undefined" `; exports[`calculate simulations-artiste-auteur > bnc 2`] = ` "artiste-auteur . cotisations: 1863 artiste-auteur . cotisations . IRCEC: 920 -artiste-auteur . revenus: undefined -Notifications affichées : entreprise . TVA . franchise de TVA . notification" +artiste-auteur . revenus: undefined" `; exports[`calculate simulations-artiste-auteur > bnc 3`] = ` "artiste-auteur . cotisations: 932 artiste-auteur . cotisations . IRCEC: 0 artiste-auteur . revenus: undefined -Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite, entreprise . TVA . franchise de TVA . notification" +Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite" `; exports[`calculate simulations-artiste-auteur > option surcotisation 1`] = ` "artiste-auteur . cotisations: 473 artiste-auteur . cotisations . IRCEC: 0 -artiste-auteur . revenus: undefined -Notifications affichées : entreprise . TVA . franchise de TVA . notification" +artiste-auteur . revenus: undefined" `; exports[`calculate simulations-artiste-auteur > salarié 1`] = ` "artiste-auteur . cotisations: 160 artiste-auteur . cotisations . IRCEC: 0 artiste-auteur . revenus: undefined -Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite, entreprise . TVA . franchise de TVA . notification" +Notifications affichées : artiste-auteur . cotisations . avertissement trimestres retraite" `; exports[`calculate simulations-artiste-auteur > salarié 2`] = ` "artiste-auteur . cotisations: 1603 artiste-auteur . cotisations . IRCEC: 800 -artiste-auteur . revenus: undefined -Notifications affichées : entreprise . TVA . franchise de TVA . notification" +artiste-auteur . revenus: undefined" `; exports[`calculate simulations-artiste-auteur > salarié 3`] = ` "artiste-auteur . cotisations: 1049 artiste-auteur . cotisations . IRCEC: 8000 -artiste-auteur . revenus: undefined -Notifications affichées : entreprise . TVA . franchise de TVA . notification" +artiste-auteur . revenus: undefined" `; diff --git a/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap b/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap index cd3269124..2a0bbf01e 100644 --- a/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-auto-entrepreneur.test.ts.snap @@ -45,6 +45,41 @@ dirigeant . rémunération . impôt: 0 Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; +exports[`calculate simulations-auto-entrepreneur > activité mixte 1`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 281 +dirigeant . auto-entrepreneur . revenu net: 16630 +dirigeant . auto-entrepreneur . revenu net . après impôt: 16630 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 2`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 304 +dirigeant . auto-entrepreneur . revenu net: 16347 +dirigeant . auto-entrepreneur . revenu net . après impôt: 16347 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 3`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 290 +dirigeant . auto-entrepreneur . revenu net: 16518 +dirigeant . auto-entrepreneur . revenu net . après impôt: 16518 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + +exports[`calculate simulations-auto-entrepreneur > activité mixte 4`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: undefined +dirigeant . auto-entrepreneur . cotisations et contributions: 688 +dirigeant . auto-entrepreneur . revenu net: undefined +dirigeant . auto-entrepreneur . revenu net . après impôt: undefined +dirigeant . rémunération . impôt: 792" +`; + exports[`calculate simulations-auto-entrepreneur > activités 1`] = ` "dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 dirigeant . auto-entrepreneur . cotisations et contributions: 353 @@ -63,6 +98,42 @@ dirigeant . rémunération . impôt: 0 Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; +exports[`calculate simulations-auto-entrepreneur > activités 3`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 214 +dirigeant . auto-entrepreneur . revenu net: 17432 +dirigeant . auto-entrepreneur . revenu net . après impôt: 17432 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + +exports[`calculate simulations-auto-entrepreneur > activités 4`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 366 +dirigeant . auto-entrepreneur . revenu net: 15604 +dirigeant . auto-entrepreneur . revenu net . après impôt: 15604 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + +exports[`calculate simulations-auto-entrepreneur > activités 5`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 207 +dirigeant . auto-entrepreneur . revenu net: 17520 +dirigeant . auto-entrepreneur . revenu net . après impôt: 17520 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + +exports[`calculate simulations-auto-entrepreneur > activités 6`] = ` +"dirigeant . auto-entrepreneur . chiffre d'affaires: 20000 +dirigeant . auto-entrepreneur . cotisations et contributions: 356 +dirigeant . auto-entrepreneur . revenu net: 15728 +dirigeant . auto-entrepreneur . revenu net . après impôt: 15728 +dirigeant . rémunération . impôt: 0 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" +`; + exports[`calculate simulations-auto-entrepreneur > aides 1`] = ` "dirigeant . auto-entrepreneur . chiffre d'affaires: 5708 dirigeant . auto-entrepreneur . cotisations et contributions: 59 diff --git a/site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap b/site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap new file mode 100644 index 000000000..e95bad8ff --- /dev/null +++ b/site/test/regressions/__snapshots__/simulations-dividendes.test.ts.snap @@ -0,0 +1,101 @@ +// Vitest Snapshot v1 + +exports[`calculate simulations-dividendes > barème couple 2 enfants 1`] = ` +"bénéficiaire . dividendes . bruts: 200 +bénéficiaire . dividendes . cotisations et contributions: 34 +bénéficiaire . dividendes . imposables: 106 +bénéficiaire . dividendes . nets d'impôt: 166 +impôt . montant: 0 +impôt . revenu imposable: 106 +impôt . taux d'imposition: 0" +`; + +exports[`calculate simulations-dividendes > barème couple 2 enfants 2`] = ` +"bénéficiaire . dividendes . bruts: 20000000 +bénéficiaire . dividendes . cotisations et contributions: 3440000 +bénéficiaire . dividendes . imposables: 10640000 +bénéficiaire . dividendes . nets d'impôt: 11418374 +impôt . montant: 5141627 +impôt . revenu imposable: 10640000 +impôt . taux d'imposition: 48" +`; + +exports[`calculate simulations-dividendes > barème couple 2 enfants 3`] = ` +"bénéficiaire . dividendes . bruts: 200 +bénéficiaire . dividendes . cotisations et contributions: 34 +bénéficiaire . dividendes . imposables: 106 +bénéficiaire . dividendes . nets d'impôt: 115 +impôt . montant: 38 +impôt . revenu imposable: 106 +impôt . taux d'imposition: 36" +`; + +exports[`calculate simulations-dividendes > barème couple 2 enfants 4`] = ` +"bénéficiaire . dividendes . bruts: 20000 +bénéficiaire . dividendes . cotisations et contributions: 3440 +bénéficiaire . dividendes . imposables: 10640 +bénéficiaire . dividendes . nets d'impôt: 14891 +impôt . montant: 546 +impôt . revenu imposable: 10640 +impôt . taux d'imposition: 5" +`; + +exports[`calculate simulations-dividendes > barème défauts 1`] = ` +"bénéficiaire . dividendes . bruts: 200 +bénéficiaire . dividendes . cotisations et contributions: 34 +bénéficiaire . dividendes . imposables: 106 +bénéficiaire . dividendes . nets d'impôt: 166 +impôt . montant: 0 +impôt . revenu imposable: 106 +impôt . taux d'imposition: 0" +`; + +exports[`calculate simulations-dividendes > barème défauts 2`] = ` +"bénéficiaire . dividendes . bruts: 20000000 +bénéficiaire . dividendes . cotisations et contributions: 3440000 +bénéficiaire . dividendes . imposables: 10640000 +bénéficiaire . dividendes . nets d'impôt: 11380709 +impôt . montant: 5179291 +impôt . revenu imposable: 10640000 +impôt . taux d'imposition: 49" +`; + +exports[`calculate simulations-dividendes > barème défauts 3`] = ` +"bénéficiaire . dividendes . bruts: 200 +bénéficiaire . dividendes . cotisations et contributions: 34 +bénéficiaire . dividendes . imposables: 106 +bénéficiaire . dividendes . nets d'impôt: 113 +impôt . montant: 45 +impôt . revenu imposable: 106 +impôt . taux d'imposition: 42" +`; + +exports[`calculate simulations-dividendes > barème défauts 4`] = ` +"bénéficiaire . dividendes . bruts: 20000 +bénéficiaire . dividendes . cotisations et contributions: 3440 +bénéficiaire . dividendes . imposables: 10640 +bénéficiaire . dividendes . nets d'impôt: 13368 +impôt . montant: 2068 +impôt . revenu imposable: 10640 +impôt . taux d'imposition: 19" +`; + +exports[`calculate simulations-dividendes > pfu 1`] = ` +"bénéficiaire . dividendes . bruts: 200 +bénéficiaire . dividendes . cotisations et contributions: 34 +bénéficiaire . dividendes . imposables: 120 +bénéficiaire . dividendes . nets d'impôt: 140 +impôt . montant: 26 +impôt . revenu imposable: 120 +impôt . taux d'imposition: null" +`; + +exports[`calculate simulations-dividendes > pfu 2`] = ` +"bénéficiaire . dividendes . bruts: 20000000 +bénéficiaire . dividendes . cotisations et contributions: 3440000 +bénéficiaire . dividendes . imposables: 12000000 +bénéficiaire . dividendes . nets d'impôt: 14000000 +impôt . montant: 2560000 +impôt . revenu imposable: 12000000 +impôt . taux d'imposition: null" +`; diff --git a/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap b/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap index 34c288c14..acdc635e5 100644 --- a/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-impôt-société.test.ts.snap @@ -23,22 +23,22 @@ entreprise . imposition . IS . montant: 3000" exports[`calculate simulations-impot-société > bénéfices 5`] = ` "entreprise . imposition . IS . contribution sociale: 0 -entreprise . imposition . IS . montant: 46198" +entreprise . imposition . IS . montant: 45762" `; exports[`calculate simulations-impot-société > bénéfices 6`] = ` "entreprise . imposition . IS . contribution sociale: 0 -entreprise . imposition . IS . montant: 496198" +entreprise . imposition . IS . montant: 495762" `; exports[`calculate simulations-impot-société > bénéfices 7`] = ` -"entreprise . imposition . IS . contribution sociale: 139765 -entreprise . imposition . IS . montant: 4996198" +"entreprise . imposition . IS . contribution sociale: 139750 +entreprise . imposition . IS . montant: 4995762" `; exports[`calculate simulations-impot-société > prorata temporis 1`] = ` "entreprise . imposition . IS . contribution sociale: 0 -entreprise . imposition . IS . montant: 246198" +entreprise . imposition . IS . montant: 245762" `; exports[`calculate simulations-impot-société > prorata temporis 2`] = ` diff --git a/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap b/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap index a93ed9c98..bc55844bb 100644 --- a/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-indépendant.test.ts.snap @@ -308,43 +308,6 @@ impôt . montant: 0 Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; -exports[`calculate simulations-indépendant > exonération covid 1`] = ` -"dirigeant . indépendant . cotisations et contributions . début activité: undefined -dirigeant . indépendant . revenu professionnel: undefined -dirigeant . rémunération . cotisations: undefined -dirigeant . rémunération . net: 50000 -dirigeant . rémunération . net . après impôt: undefined -dirigeant . rémunération . totale: undefined -entreprise . charges: 0 -entreprise . chiffre d'affaires: undefined -impôt . montant: undefined" -`; - -exports[`calculate simulations-indépendant > exonération covid 2`] = ` -"dirigeant . indépendant . cotisations et contributions . début activité: undefined -dirigeant . indépendant . revenu professionnel: undefined -dirigeant . rémunération . cotisations: undefined -dirigeant . rémunération . net: 50000 -dirigeant . rémunération . net . après impôt: undefined -dirigeant . rémunération . totale: 500 -entreprise . charges: 0 -entreprise . chiffre d'affaires: undefined -impôt . montant: undefined" -`; - -exports[`calculate simulations-indépendant > exonération covid 3`] = ` -"dirigeant . indépendant . cotisations et contributions . début activité: undefined -dirigeant . indépendant . revenu professionnel: undefined -dirigeant . rémunération . cotisations: undefined -dirigeant . rémunération . net: 50000 -dirigeant . rémunération . net . après impôt: undefined -dirigeant . rémunération . totale: 50000 -entreprise . charges: 0 -entreprise . chiffre d'affaires: undefined -impôt . montant: undefined -Notifications affichées : dirigeant . indépendant . conjoint collaborateur . notification exonérations non pris en compte" -`; - exports[`calculate simulations-indépendant > exonération pension invalidité 1`] = ` "dirigeant . indépendant . cotisations et contributions . début activité: null dirigeant . indépendant . revenu professionnel: 41493 @@ -367,7 +330,8 @@ dirigeant . rémunération . net . après impôt: 56373 dirigeant . rémunération . totale: 100000 entreprise . charges: 0 entreprise . chiffre d'affaires: 100000 -impôt . montant: 13078" +impôt . montant: 13078 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; exports[`calculate simulations-indépendant > imposition à l'IS 2`] = ` @@ -379,7 +343,8 @@ dirigeant . rémunération . net . après impôt: 56373 dirigeant . rémunération . totale: 100000 entreprise . charges: 0 entreprise . chiffre d'affaires: 100000 -impôt . montant: 13078" +impôt . montant: 13078 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; exports[`calculate simulations-indépendant > impôt sur le revenu 1`] = ` diff --git a/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap b/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap index 83a47f39d..8f63e42f7 100644 --- a/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap +++ b/site/test/regressions/__snapshots__/simulations-professions-libérales.test.ts.snap @@ -293,7 +293,8 @@ entreprise . chiffre d'affaires: 50000 impôt . montant: 5609 protection sociale . retraite . base: 280 protection sociale . retraite . complémentaire: 0 -protection sociale . retraite . trimestres: 4" +protection sociale . retraite . trimestres: 4 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; exports[`calculate simulations-professions-libérales > avocat 2`] = ` @@ -304,7 +305,8 @@ entreprise . chiffre d'affaires: 50000 impôt . montant: 5495 protection sociale . retraite . base: 277 protection sociale . retraite . complémentaire: 0 -protection sociale . retraite . trimestres: 4" +protection sociale . retraite . trimestres: 4 +Notifications affichées : entreprise . TVA . franchise de TVA . notification" `; exports[`calculate simulations-professions-libérales > expert-comptable 1`] = ` diff --git a/site/test/regressions/simulations-indépendant.test.ts b/site/test/regressions/simulations-indépendant.test.ts index 5b8779b5d..13e79573d 100644 --- a/site/test/regressions/simulations-indépendant.test.ts +++ b/site/test/regressions/simulations-indépendant.test.ts @@ -34,9 +34,10 @@ it('calculate simulations-indépendant', () => { "dirigeant . indépendant . cotisations facultatives", "dirigeant . indépendant . revenus étrangers", "dirigeant . rémunération . net", - "entreprise . activité . débit de tabac", "entreprise . activité . nature", - "entreprise . activité . saisonnière", + "entreprise . activités", + "entreprise . activités . commerciale", + "entreprise . activités . saisonnière", "entreprise . charges", "entreprise . chiffre d'affaires", "entreprise . date de création", diff --git a/site/test/regressions/simulations-indépendant.yaml b/site/test/regressions/simulations-indépendant.yaml index 7230810ec..bf5a1ddd1 100644 --- a/site/test/regressions/simulations-indépendant.yaml +++ b/site/test/regressions/simulations-indépendant.yaml @@ -65,20 +65,6 @@ conjoint collaborateur: dirigeant . rémunération . net: 500000 €/an dirigeant . indépendant . conjoint collaborateur . assiette: "'revenu sans partage'" -exonération covid: - - &exoneration-covid - date: 01/01/2021 - dirigeant . rémunération . net: 50000 €/an - dirigeant . indépendant . cotisations et contributions . exonérations . covid: oui - dirigeant . indépendant . cotisations et contributions . exonérations . covid . montant: 1500 - - <<: *exoneration-covid - dirigeant . rémunération . totale: 500 €/an - dirigeant . indépendant . cotisations et contributions . exonérations . covid . montant: 9000 - - <<: *exoneration-covid - dirigeant . rémunération . totale: 50000 €/an - dirigeant . indépendant . cotisations et contributions . exonérations . covid . montant: 5000 - dirigeant . indépendant . conjoint collaborateur: oui - cotisations facultatives: # Cas retraite: la cotisation Madelin est inferieure au plafond => le revenu net de # cotisations (résultat comptable) n'est pas affecté car l'assiette des diff --git a/site/test/regressions/simulations-professions-libérales.test.ts b/site/test/regressions/simulations-professions-libérales.test.ts index 8d8095a78..bc092b814 100644 --- a/site/test/regressions/simulations-professions-libérales.test.ts +++ b/site/test/regressions/simulations-professions-libérales.test.ts @@ -38,7 +38,9 @@ it('calculate simulations-professions-libérales', () => { "dirigeant . indépendant . cotisations facultatives", "dirigeant . indépendant . revenus étrangers", "dirigeant . rémunération . net", - "entreprise . activité . saisonnière", + "entreprise . activités", + "entreprise . activités . commerciale", + "entreprise . activités . saisonnière", "entreprise . charges", "entreprise . chiffre d'affaires", "entreprise . date de création",