diff --git a/modele-social/règles/économie-collaborative/location-de-meublé.publicodes b/modele-social/règles/économie-collaborative/location-de-meublé.publicodes new file mode 100644 index 000000000..04f722e4b --- /dev/null +++ b/modele-social/règles/économie-collaborative/location-de-meublé.publicodes @@ -0,0 +1,22 @@ +location de logement: +location de logement . meublé: + +location de logement . meublé . loyer: +location de logement . meublé . loyer . net: + titre: Loyer net + +location de logement . meublé . cotisations: + titre: Cotisations dues pour la location d’un logement meublé + formule: + produit: + - assiette + - taux de cotisation + + avec: + assiette: + valeur: loyer . net + abattement: 60% + taux de cotisation: + titre: Taux de cotisation au régime général + description: Taux de cotisation pour la location d’un logement meublé de courte durée au régime général + valeur: 47.42% diff --git a/site/cypress/integration/mon-entreprise/simulateur-location-meuble.ts b/site/cypress/integration/mon-entreprise/simulateur-location-meuble.ts new file mode 100644 index 000000000..d41c9c93d --- /dev/null +++ b/site/cypress/integration/mon-entreprise/simulateur-location-meuble.ts @@ -0,0 +1,28 @@ +import { checkA11Y, fr } from '../../support/utils' + +describe('Simulateur de location de meublé', () => { + if (!fr) { + return + } + + beforeEach(() => { + return cy.visit('/simulateurs/location-de-logement-meuble') + }) + + it('s’affiche', () => { + cy.get('h1').should( + 'contain', + 'Simulateur de revenu pour location de logement meublé' + ) + }) + + it('affiche le formulaire', () => { + cy.get('input#location_de_logement___meublé___loyer___net').should( + 'be.visible' + ) + }) + + it('est accessible', function () { + checkA11Y() + }) +}) diff --git a/site/source/locales/ui-en.yaml b/site/source/locales/ui-en.yaml index d4a477623..903d18bcd 100644 --- a/site/source/locales/ui-en.yaml +++ b/site/source/locales/ui-en.yaml @@ -368,6 +368,10 @@ Votre entreprise: Your company Votre message (requis): Your message (required) Votre rémunération totale estimée: Your estimated total remuneration Vous allez dépasser le plafond de la micro-entreprise: You will exceed the micro-business limit +Vous dépassez le plafond autorisé (<1>) pour déclarer vos revenus de l’économie collaborative avec un statut social au régime général. Vous devez vous orienter vers les statuts d’autoentrepreneur ou de travailleur indépendant.: + You exceed the authorized ceiling (<1>) for declaring your income from the + collaborative economy with a social status under the general regime. You + should consider the status of autoentrepreneur or self-employed worker. Vous n’avez pas été satisfait(e) de votre expérience, nous en sommes désolé(e)s.: We're sorry you weren't satisfied with your experience. Vous pouvez bénéficier d’une pension invalidité <2>en cas de maladie ou d’accident conduisant à une incapacité à poursuivre votre activité professionnelle.: You may be entitled to a disability pension in the event of <2>illness or @@ -1538,6 +1542,14 @@ pages: is: warning: "This simulator is designed for <2>very small businesses: it takes into account reduced corporate tax rates." + location-de-logement-meublé: + meta: + description: HERE SIMULATOR DESCRIPTION + ogDescription: HERE SIMULATOR DESCRIPTION + ogTitle: Income simulator for renting furnished accommodation + titre: Income simulator for renting furnished accommodation + shortname: Furnished apartment rental + title: Income simulator for renting furnished accommodation lodeom: barème-switch-label: What scale do you envisage? legend: Employee's gross salary and applicable Lodeom exemption diff --git a/site/source/locales/ui-fr.yaml b/site/source/locales/ui-fr.yaml index c3f5bf3c0..74bef5a50 100644 --- a/site/source/locales/ui-fr.yaml +++ b/site/source/locales/ui-fr.yaml @@ -389,6 +389,11 @@ Votre entreprise: Votre entreprise Votre message (requis): Votre message (requis) Votre rémunération totale estimée: Votre rémunération totale estimée Vous allez dépasser le plafond de la micro-entreprise: Vous allez dépasser le plafond de la micro-entreprise +Vous dépassez le plafond autorisé (<1>) pour déclarer vos revenus de l’économie collaborative avec un statut social au régime général. Vous devez vous orienter vers les statuts d’autoentrepreneur ou de travailleur indépendant.: + Vous dépassez le plafond autorisé (<1>) pour déclarer vos revenus de + l’économie collaborative avec un statut social au régime général. Vous devez + vous orienter vers les statuts d’autoentrepreneur ou de travailleur + indépendant. Vous n’avez pas été satisfait(e) de votre expérience, nous en sommes désolé(e)s.: Vous n’avez pas été satisfait(e) de votre expérience, nous en sommes désolé(e)s. @@ -1643,6 +1648,14 @@ pages: is: warning: "Ce simulateur s’adresse aux <2>TPE : il prend en compte les taux réduits de l’impôt sur les sociétés." + location-de-logement-meublé: + meta: + description: ICI DESCRIPTION DU SIMULATEUR + ogDescription: ICI DESCRIPTION DU SIMULATEUR + ogTitle: Simulateur de revenu pour location de logement meublé + titre: Simulateur de revenu pour location de logement meublé + shortname: Location de logement meublé + title: Simulateur de revenu pour location de logement meublé lodeom: barème-switch-label: Quel barème envisagez-vous ? legend: Rémunération brute du salarié et exonération Lodeom applicable diff --git a/site/source/pages/simulateurs-et-assistants/metadata-src.ts b/site/source/pages/simulateurs-et-assistants/metadata-src.ts index 9359d86f4..19f8f3d07 100644 --- a/site/source/pages/simulateurs-et-assistants/metadata-src.ts +++ b/site/source/pages/simulateurs-et-assistants/metadata-src.ts @@ -1,3 +1,4 @@ +import { locationDeMeubleConfig } from '@/pages/simulateurs/location-de-meublé/config' import { ImmutableType } from '@/types/utils' import { choixStatutJuridiqueConfig } from '../assistants/choix-du-statut/config' @@ -68,6 +69,7 @@ const getMetadataSrc = (params: SimulatorsDataParams) => { ...réductionGénéraleConfig(params), ...lodeomConfig(params), ...cessationActivitéConfig(params), + ...locationDeMeubleConfig(params), // assistants: ...choixStatutJuridiqueConfig(params), diff --git a/site/source/pages/simulateurs/location-de-meublé/LocationDeMeublé.tsx b/site/source/pages/simulateurs/location-de-meublé/LocationDeMeublé.tsx new file mode 100644 index 000000000..3c103cf1f --- /dev/null +++ b/site/source/pages/simulateurs/location-de-meublé/LocationDeMeublé.tsx @@ -0,0 +1,20 @@ +import SimulateurWarning from '@/components/SimulateurWarning' +import Simulation, { + SimulationGoal, + SimulationGoals, +} from '@/components/Simulation' + +export default function LocationDeMeublé() { + return ( + + + + + + + + ) +} diff --git a/site/source/pages/simulateurs/location-de-meublé/config.ts b/site/source/pages/simulateurs/location-de-meublé/config.ts new file mode 100644 index 000000000..218f3746d --- /dev/null +++ b/site/source/pages/simulateurs/location-de-meublé/config.ts @@ -0,0 +1,46 @@ +import { config } from '@/pages/simulateurs/_configs/config' +import { SimulatorsDataParams } from '@/pages/simulateurs/_configs/types' +import AutoEntrepreneurPreview from '@/pages/simulateurs/_images/AutoEntrepreneurPreview.png' +import LocationDeMeublé from '@/pages/simulateurs/location-de-meublé/LocationDeMeublé' +import { configLocationDeMeublé } from '@/pages/simulateurs/location-de-meublé/simulationConfig' + +export function locationDeMeubleConfig({ t, sitePaths }: SimulatorsDataParams) { + return config({ + id: 'location-de-logement-meublé', + tracking: 'location_de_logement_meublé', + icône: '🛖', + beta: true, + iframePath: 'simulateur-location-de-logement-meuble', + pathId: 'simulateurs.location-de-logement-meublé', + shortName: t( + 'pages.simulateurs.location-de-logement-meublé.shortname', + 'Location de logement meublé' + ), + title: t( + 'pages.simulateurs.location-de-logement-meublé.title', + 'Simulateur de revenu pour location de logement meublé' + ), + path: sitePaths.simulateurs['location-de-logement-meublé'], + simulation: configLocationDeMeublé, + component: LocationDeMeublé, + meta: { + title: t( + 'pages.simulateurs.location-de-logement-meublé.meta.titre', + 'Simulateur de revenu pour location de logement meublé' + ), + ogTitle: t( + 'pages.simulateurs.location-de-logement-meublé.meta.ogTitle', + 'Simulateur de revenu pour location de logement meublé' + ), + description: t( + 'pages.simulateurs.location-de-logement-meublé.meta.description', + 'ICI DESCRIPTION DU SIMULATEUR' + ), + ogDescription: t( + 'pages.simulateurs.location-de-logement-meublé.meta.ogDescription', + 'ICI DESCRIPTION DU SIMULATEUR' + ), + ogImage: AutoEntrepreneurPreview, + }, + } as const) +} diff --git a/site/source/pages/simulateurs/location-de-meublé/simulationConfig.ts b/site/source/pages/simulateurs/location-de-meublé/simulationConfig.ts new file mode 100644 index 000000000..544111443 --- /dev/null +++ b/site/source/pages/simulateurs/location-de-meublé/simulationConfig.ts @@ -0,0 +1,8 @@ +import { SimulationConfig } from '@/domaine/SimulationConfig' + +export const configLocationDeMeublé: SimulationConfig = { + 'objectifs exclusifs': [], + objectifs: [], + 'unité par défaut': '€/an', + situation: {}, +} diff --git a/site/source/sitePaths.ts b/site/source/sitePaths.ts index cbce8847e..958430600 100644 --- a/site/source/sitePaths.ts +++ b/site/source/sitePaths.ts @@ -76,6 +76,7 @@ const rawSitePathsFr = { 'réduction-générale': 'réduction-générale', lodeom: 'lodeom', 'cessation-activité': 'cessation-activité', + 'location-de-logement-meublé': 'location-de-logement-meuble', }, nouveautés: { index: 'nouveautés', @@ -178,6 +179,7 @@ const rawSitePathsEn = { 'réduction-générale': 'réduction-générale', lodeom: 'lodeom', 'cessation-activité': 'cessation-of-activity', + 'location-de-logement-meublé': 'furnished-accommodation', }, nouveautés: { index: 'news',