Skip to content

Commit

Permalink
feat: show only BPI links to BPI users
Browse files Browse the repository at this point in the history
  • Loading branch information
johangirod committed Dec 21, 2023
1 parent 94d56d1 commit cd7e826
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 13 deletions.
41 changes: 35 additions & 6 deletions modele-social/règles/entreprise/catégorie-juridique.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ entreprise . catégorie juridique . EI:
Les étapes de la création d'une auto-entreprise: https://www.autoentrepreneur.urssaf.fr/portail/accueil/creer-mon-auto-entreprise.html
Obligations comptables de l'auto-entrepreneur: https://entreprendre.service-public.fr/vosdroits/F23266

# BPI ONLY
Le micro-entrepreneur ou auto-entrepreneur: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/micro-entrepreneur-ou-auto-entrepreneur
Où et comment s'inscrire pour devenir micro-entrepreneur (ex auto-entrepreneur)?: https://bpifrance-creation.fr/encyclopedie/micro-entreprise-regime-auto-entrepreneur/lessentiel-ce-regime/ou-comment-sinscrire
La comptabilité du micro-entrepreneur (auto-entrepreneur): https://bpifrance-creation.fr/encyclopedie/micro-entreprise-regime-auto-entrepreneur/fiscal-social-comptable/comptabilite-du

auto-entrepreneur . par défaut:
non applicable si:
une de ces conditions:
Expand All @@ -75,9 +80,12 @@ entreprise . catégorie juridique . EI:
valeur: auto-entrepreneur = non
références:
L’entreprise individuelle (EI), un statut pour créer une entreprise facilement: https://www.economie.gouv.fr/entreprises/statut-entreprise-individuelle
L'entreprise individuelle en détail: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/entrepreneur-individuel
'Entrepreneur individuel : séparation des patrimoines professionnel et personnel': https://entreprendre.service-public.fr/vosdroits/F36354
Qu'est-ce que l'entreprise individuelle ?: https://www.urssaf.fr/portail/home/independant/je-cree-mon-entreprise/quel-statut/exercice-en-entreprise-individue/quest-ce-que-lentreprise-individ.html
# BPI ONLY
L'entreprise individuelle en détail: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/entrepreneur-individuel
"L'entreprise individuelle à l'impôt sur les sociétés (IS)": https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/lentreprise-individuelle-a-limpot-societes-lis
"Régime fiscal des entreprises soumises à l'impôt sur le revenu": https://bpifrance-creation.fr/encyclopedie/fiscalite-lentreprise/generalites/regime-fiscal-entreprises-soumises-a-limpot-revenu

### (niveau 1 code 5) Société commerciale ###

Expand Down Expand Up @@ -107,11 +115,16 @@ entreprise . catégorie juridique . SARL:
références:
L'EURL, un statut à associé unique à fort potentiel d’évolution: https://www.economie.gouv.fr/entreprises/entreprise-unipersonnelle-responsabilite-limitee-EURL
L'EURL en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/eurl-ou-sarl-a-associe-unique
Prise de décision dans une société à responsabilité limitée (SARL): https://entreprendre.service-public.fr/vosdroits/F36714
Tout ce qu'il faut savoir sur la fiscalité d'une EURL: https://entreprendre.service-public.fr/vosdroits/F36212
Tout ce qu'il faut savoir sur les cotisations sociales d'une EURL: https://entreprendre.service-public.fr/vosdroits/F36239
"Création d'une EURL : rédaction et enregistrement des statuts": https://entreprendre.service-public.fr/vosdroits/F32232/personnalisation/resultat?lang=&quest0=0&quest=
# BPI ONLY
L'EURL en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/eurl-ou-sarl-a-associe-unique
Modèle de statut d'EURL: https://bpifrance-creation.fr/boiteaoutils/modele-statuts-deurl
Fiscalité de l'EURL: https://bpifrance-creation.fr/encyclopedie/fiscalite-lentreprise/regimes-fiscaux/regimes-du-benefice-reel-bic-is
Protection sociale du gérant d'une EURL: https://bpifrance-creation.fr/encyclopedie/statut-du-dirigeant-son-conjoint/regime-social-du-dirigeant/statut-social-fiscal-du
Formalités de création d'une EURL: https://bpifrance-creation.fr/encyclopedie/formalites-creation-dune-entreprise/formalites-specifiques-a-creation-societes

SARL:
résumé: Société à responsabilité limitée
Expand All @@ -129,13 +142,20 @@ entreprise . catégorie juridique . SARL:
- **Imposition des bénéfices** : Impôt sur les sociétés, avec possibilité d’opter pour l'impôt sur le revenu dans certains cas (SARL « de famille » ou certaines SARL de moins de cinq ans).
références:
La SARL en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-a-plusieurs/sarl-societe-a-responsabilite-limitee
La SARL, un statut avec un apport minimum flexible: https://www.economie.gouv.fr/entreprises/societe-responsabilite-limitee-sarl
Prise de décision dans une société à responsabilité limitée (SARL): https://entreprendre.service-public.fr/vosdroits/F36714
Tout ce qu'il faut savoir sur la fiscalité d'une SARL: https://entreprendre.service-public.fr/vosdroits/F36211
Tout ce qu'il faut savoir sur les cotisations sociales d'une SARL: https://entreprendre.service-public.fr/vosdroits/F36235
"Création d'une SARL : rédaction et enregistrement des statuts": https://entreprendre.service-public.fr/vosdroits/F32232/personnalisation/resultat?lang=&quest0=1&quest=

# BPI ONLY
La SARL en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-a-plusieurs/sarl-societe-a-responsabilite-limitee
Comment fixer son capital social de départ ?: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/choix-du-statut-generalites/comment-fixer-son-capital-social
Modèle de statuts de SARL: https://bpifrance-creation.fr/boiteaoutils/modele-gratuit-statuts-sarl
Fiscalité d'une SARL: https://bpifrance-creation.fr/encyclopedie/fiscalite-lentreprise/regimes-fiscaux/regimes-du-benefice-reel-bic-is
Gérant minoritaire ou majoritaire de SARL: https://bpifrance-creation.fr/encyclopedie/statut-du-dirigeant-son-conjoint/regime-social-du-dirigeant/gerant-minoritaire-ou
Formalités de création d'une SARL: https://bpifrance-creation.fr/encyclopedie/formalites-creation-dune-entreprise/formalites-specifiques-a-creation-societes

unipersonnelle:
déprécié: oui
valeur: EURL
Expand All @@ -155,22 +175,28 @@ entreprise . catégorie juridique . SAS:
acronyme: SAS
valeur: associés . multiples
références:
La SAS en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-a-plusieurs/sas-societe-actions-simplifiee
La SAS, un statut souple et une responsabilité limitée aux apports: https://www.economie.gouv.fr/entreprises/societe-actions-simplifiee-SAS
Tout ce qu'il faut savoir sur la fiscalité d'une SAS: https://entreprendre.service-public.fr/vosdroits/F36006
Tout ce qu'il faut savoir sur les cotisations sociales d'une SAS: https://entreprendre.service-public.fr/vosdroits/F36007
Prise de décision dans une SAS: https://entreprendre.service-public.fr/vosdroits/F36625
"Création d'une SAS : rédaction et enregistrement des statuts": https://entreprendre.service-public.fr/vosdroits/F32232/personnalisation/resultat?lang=&quest0=4&quest=
# BPI ONLY
La SAS en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-a-plusieurs/sas-societe-actions-simplifiee
Fiscalité de la SAS: https://bpifrance-creation.fr/encyclopedie/fiscalite-lentreprise/regimes-fiscaux/regimes-du-benefice-reel-bic-is
Formalités de création d'une SAS: https://bpifrance-creation.fr/encyclopedie/formalites-creation-dune-entreprise/formalites-specifiques-a-creation-societes-0

SASU:
résumé: Société par actions simplifiée unipersonnelle
acronyme: SASU
valeur: associés . unique
références:
La SASU, des démarches simplifiées: https://www.economie.gouv.fr/entreprises/societe-par-actions-simplifiee-unipersonnelle-sasu
La SASU en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/sasu-societe-actions-simplifiee-unipersonnelle
Tout ce qu'il faut savoir sur la fiscalité d'une SASU: https://entreprendre.service-public.fr/vosdroits/F36215
Tout ce qu'il faut savoir sur les cotisations sociales s'une SASU: https://entreprendre.service-public.fr/vosdroits/F36240
Tout ce qu'il faut savoir sur les cotisations sociales d'une SASU: https://entreprendre.service-public.fr/vosdroits/F36240
# BPI ONLY
La SASU en détails: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-seul/sasu-societe-actions-simplifiee-unipersonnelle
Formalités de création d'une SASU: https://bpifrance-creation.fr/encyclopedie/formalites-creation-dune-entreprise/formalites-specifiques-a-creation-societes-0
Fiscalité de la SASU: https://bpifrance-creation.fr/encyclopedie/fiscalite-lentreprise/regimes-fiscaux/regimes-du-benefice-reel-bic-is

unipersonnelle:
déprécié: oui
Expand Down Expand Up @@ -226,6 +252,9 @@ entreprise . catégorie juridique . association:
non applicable si: activité . nature . libérale . réglementée
références:
Tout savoir sur l'association: https://www.service-public.fr/particuliers/vosdroits/N31931
# BPI ONLY
L'association en détail: https://bpifrance-creation.fr/encyclopedie/structures-juridiques/entreprendre-a-plusieurs/association
Formalités de création d'une association: https://bpifrance-creation.fr/encyclopedie/formalites-creation-dune-entreprise/formalites-generalites/formalites-creation-dune-0
'associations.gouv.fr : créer, gérer et développer son association': https://www.associations.gouv.fr/

entreprise . catégorie juridique . autre:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { createContext, PropsWithChildren, useContext, useState } from 'react'
import { useLocation } from 'react-router-dom'

const BPIContext = createContext(false)

export const IsBPIProvider = ({ children }: PropsWithChildren) => {
const [isBPI, setIsBPI] = useState(false)
const BPIInSearchParams = useLocation().search.includes('bpifrance-creation')
const BPIInReferer =
!import.meta.env.SSR && document.referrer?.includes('bpifrance-creation')
if (!isBPI && (BPIInSearchParams || BPIInReferer)) {
setIsBPI(true)
}

return <BPIContext.Provider value={isBPI}>{children}</BPIContext.Provider>
}

export default function useIsEmbededOnBPISite() {
return useContext(BPIContext)
}
5 changes: 3 additions & 2 deletions site/source/pages/assistants/choix-du-statut/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Route, Routes } from 'react-router-dom'
import { ScrollToTop } from '@/components/utils/Scroll'
import { useSitePaths } from '@/sitePaths'

import { IsBPIProvider } from './_components/useIsEmbededBPI'
import { useCurrentStep } from './_components/useSteps'
import Association from './association'
import Associé from './associé'
Expand All @@ -20,7 +21,7 @@ export default function ChoixDuStatut() {
const childrenPaths = relativeSitePaths.assistants['choix-du-statut']

return (
<>
<IsBPIProvider>
<ScrollToTop key={currentStep} />
<Routes>
<Route index element={<AccueilChoixStatut />} />
Expand Down Expand Up @@ -51,6 +52,6 @@ export default function ChoixDuStatut() {
element={<Comparateur />}
/>
</Routes>
</>
</IsBPIProvider>
)
}
40 changes: 35 additions & 5 deletions site/source/pages/assistants/choix-du-statut/résultat.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { DottedName } from 'modele-social'
import { RuleNode } from 'publicodes'
import { useEffect } from 'react'
import { useDispatch } from 'react-redux'
import { useLocation } from 'react-router-dom'
Expand All @@ -21,6 +22,8 @@ import { useSitePaths } from '@/sitePaths'
import { batchUpdateSituation } from '@/store/actions/actions'
import { Situation } from '@/store/reducers/rootReducer'

import useIsEmbededOnBPISite from './_components/useIsEmbededBPI'

export default function Résultat() {
const { absoluteSitePaths } = useSitePaths()
const location = useLocation()
Expand All @@ -32,6 +35,8 @@ export default function Résultat() {
useSetStatutInSituation(dottedName)
const rule = useEngine().getRule(dottedName)
const statutLabel = rule.title
const références = useReferences(rule)
const externalGuideLink = useExternalGuideLink()

return (
<>
Expand All @@ -49,7 +54,7 @@ export default function Résultat() {
<Grid item xl={4} lg={6} sm={12}>
<Article
title="Le guide complet pour créer son activité"
href="https://entreprendre.service-public.fr/vosdroits/N31901"
href={externalGuideLink}
ctaLabel="Lire le guide"
>
Laissez-vous guidez pas à pas dans les étapes de création de votre
Expand Down Expand Up @@ -109,10 +114,7 @@ export default function Résultat() {
}
>
<H3>{statutLabel} : pour aller plus loin</H3>
<References
dottedName={dottedName}
references={rule.rawNode.références}
/>
<References dottedName={dottedName} references={références} />
<H3>Simuler vos futurs revenus</H3>
<CurrentSimulatorCard />
<Spacing xl />
Expand Down Expand Up @@ -160,3 +162,31 @@ function useSetStatutInSituation(dottedName: DottedName) {
}
}, [])
}

// BPI agreed to use our assistant on their website, but only if we filter the
// links to only show the ones that are relevant to their users.
// They paid the extra development cost for this feature.
const BPIWhiteList = ['bpifrance-creation.fr', 'associations.gouv.fr']

function useReferences(rule: RuleNode) {
const onBPISite = useIsEmbededOnBPISite()
if (!rule.rawNode.références) {
return {}
}

return Object.fromEntries(
Object.entries(rule.rawNode.références).filter(([, value]) => {
const whitelistedByBPI = BPIWhiteList.some((site) => value.includes(site))

return onBPISite ? whitelistedByBPI : !whitelistedByBPI
})
)
}

function useExternalGuideLink() {
const onBPISite = useIsEmbededOnBPISite()

return onBPISite
? 'https://bpifrance-creation.fr/boiteaoutils/guide-pratique-du-createur-reussir-votre-creation-dentreprise'
: 'https://entreprendre.service-public.fr/vosdroits/N31901'
}

0 comments on commit cd7e826

Please sign in to comment.