Merge branch 'master' into modifs-demande-mobilité
commit
29dc6c0f5d
|
@ -8,23 +8,18 @@ trim_trailing_whitespace = true
|
|||
# tab_width doesn't make much sense as it can be left to the reader to decide.
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
max_line_length = 80
|
||||
|
||||
[**.{js,jsx,ts,tsx}]
|
||||
indent_size = 2
|
||||
max_line_length = 80
|
||||
|
||||
|
||||
[**.{yml,yaml}]
|
||||
# Spaces are mandatory for yaml files:
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
# A high max_line_length is needed as prettier doesn't manage property-name
|
||||
# line-wrapping correctly:
|
||||
# See https://github.com/prettier/prettier/issues/5599
|
||||
max_line_length = 1000
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
node_modules
|
||||
dist
|
||||
publicodes/example/
|
||||
|
|
12
.eslintrc.js
12
.eslintrc.js
|
@ -43,7 +43,15 @@ module.exports = {
|
|||
"react/jsx-uses-react": "off",
|
||||
"react/react-in-jsx-scope": "off",
|
||||
"mocha/no-skipped-tests": "warn",
|
||||
"mocha/no-exclusive-tests": "error"
|
||||
"mocha/no-exclusive-tests": "error",
|
||||
'no-restricted-syntax': [
|
||||
'error',
|
||||
{
|
||||
message: "Utilisez le composant <Emoji /> plutôt que la function emoji directement importée de react-easy-emoji",
|
||||
selector:
|
||||
"CallExpression[callee.name='emoji']"
|
||||
}
|
||||
]
|
||||
},
|
||||
settings: {
|
||||
"react": {
|
||||
|
@ -59,7 +67,7 @@ module.exports = {
|
|||
"jsx": true
|
||||
},
|
||||
"tsconfigRootDir": __dirname,
|
||||
"project": [ "./tsconfig.json" ]
|
||||
"project": [ "./mon-entreprise/tsconfig.json", "./publicodes/tsconfig.json" ]
|
||||
},
|
||||
plugins: [ "@typescript-eslint" ],
|
||||
rules: {
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
# Upgrade to Prettier 2.3.x, run prettier & trim whitespaces on yaml
|
||||
04d8c01243b0051c61d9cfd6eaec046705d3f806
|
|
@ -0,0 +1 @@
|
|||
custom: ['https://mon-entreprise.fr/budget']
|
|
@ -5,6 +5,17 @@ on:
|
|||
push:
|
||||
branches: [master, demo, next]
|
||||
|
||||
# We display the release notes in the "news" section of mon-entreprise.fr so
|
||||
# we want to re-deploy the site when a new release is published or edited on
|
||||
# GitHub.
|
||||
release:
|
||||
types: [published, edited]
|
||||
|
||||
# The /stats data is generated during the build. To keep the daily data fresh,
|
||||
# we relaunch a nightly full build of the app
|
||||
schedule:
|
||||
- cron: '0 4 * * *'
|
||||
|
||||
jobs:
|
||||
deploy-context:
|
||||
runs-on: ubuntu-18.04
|
||||
|
@ -13,16 +24,15 @@ jobs:
|
|||
fr_url: ${{ steps.base-urls.outputs.fr }}
|
||||
en_url: ${{ steps.base-urls.outputs.en }}
|
||||
publicodes_url: ${{ steps.base-urls.outputs.publicodes }}
|
||||
steps:
|
||||
steps:
|
||||
- id: deploy-env
|
||||
run:
|
||||
echo "::set-output name=name::${{ github.event.number || '${GITHUB_REF#refs/*/}' }}"
|
||||
run: echo "::set-output name=name::${{ github.event.number || '${GITHUB_REF#refs/*/}' }}"
|
||||
- id: base-urls
|
||||
run:
|
||||
echo "::set-output name=fr::${{ steps.deploy-env.outputs.name == 'master' && 'https://mon-entreprise.fr' || format('https://{0}--mon-entreprise.netlify.app', steps.deploy-env.outputs.name) }}";
|
||||
echo "::set-output name=en::${{ steps.deploy-env.outputs.name == 'master' && 'https://mycompanyinfrance.fr' || format('https://{0}-en--mon-entreprise.netlify.app', steps.deploy-env.outputs.name) }}";
|
||||
echo "::set-output name=publicodes::${{ steps.deploy-env.outputs.name == 'master' && 'https://publi.codes' || format('https://{0}-publicodes--mon-entreprise.netlify.app', steps.deploy-env.outputs.name) }}";
|
||||
|
||||
|
||||
build:
|
||||
needs: deploy-context
|
||||
env:
|
||||
|
@ -48,11 +58,20 @@ jobs:
|
|||
env:
|
||||
AT_INTERNET_SITE_ID: ${{ needs.deploy-context.outputs.env-name == 'master' && 617190 || 617189 }}
|
||||
NODE_ENV: production
|
||||
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }}
|
||||
ALGOLIA_SEARCH_KEY: ${{secrets.ALGOLIA_SEARCH_KEY}}
|
||||
ALGOLIA_INDEX_PREFIX: monentreprise-${{needs.deploy-context.outputs.env-name}}-
|
||||
- name: Replace site placeholders in netlify.toml redirection file
|
||||
run:
|
||||
sed -i "s|:SITE_FR|$FR_BASE_URL|g" netlify.toml;
|
||||
run: sed -i "s|:SITE_FR|$FR_BASE_URL|g" netlify.toml;
|
||||
sed -i "s|:SITE_EN|$EN_BASE_URL|g" netlify.toml;
|
||||
sed -i "s|:SITE_PUBLICODES|$PUBLICODES_BASE_URL|g" netlify.toml
|
||||
sed -i "s|:SITE_PUBLICODES|$PUBLICODES_BASE_URL|g" netlify.toml
|
||||
- name: Update Algolia index
|
||||
run: yarn workspace mon-entreprise algolia:update
|
||||
env:
|
||||
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }}
|
||||
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
|
||||
ALGOLIA_SEARCH_KEY: ${{secrets.ALGOLIA_SEARCH_KEY}}
|
||||
ALGOLIA_INDEX_PREFIX: monentreprise-${{needs.deploy-context.outputs.env-name}}-
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: static-site
|
||||
|
@ -60,13 +79,13 @@ jobs:
|
|||
mon-entreprise/dist/**
|
||||
netlify.toml
|
||||
if-no-files-found: error
|
||||
|
||||
|
||||
deploy-preview:
|
||||
needs: [build, deploy-context]
|
||||
runs-on: ubuntu-18.04
|
||||
if: needs.deploy-context.outputs.env-name != 'master'
|
||||
strategy:
|
||||
matrix:
|
||||
matrix:
|
||||
site: ['', 'en', 'publicodes']
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
@ -85,14 +104,14 @@ jobs:
|
|||
github-deployment-environment: ${{ needs.deploy-context.outputs.env-name }}
|
||||
alias: ${{ needs.deploy-context.outputs.env-name }}${{ matrix.site && format('-{0}', matrix.site) }}
|
||||
deploy-message: ${{ github.event.pull_request.title || needs.deploy-context.outputs.env-name }} (${{ matrix.site || 'fr' }})
|
||||
|
||||
|
||||
# Disabled because we create our own customized comment
|
||||
enable-pull-request-comment: false
|
||||
env:
|
||||
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
|
||||
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
|
||||
timeout-minutes: 1
|
||||
|
||||
|
||||
deploy-prod:
|
||||
needs: [build, deploy-context]
|
||||
runs-on: ubuntu-18.04
|
||||
|
@ -137,48 +156,65 @@ jobs:
|
|||
issue-number: ${{ github.event.pull_request.number }}
|
||||
edit-mode: replace
|
||||
body: |
|
||||
🚀 La branche est déployée !
|
||||
|
||||
🚀 La branche est déployée !
|
||||
|
||||
- mon-entreprise : ${{ needs.deploy-context.outputs.fr_url }}
|
||||
- mycompanyinfrance : ${{ needs.deploy-context.outputs.en_url }}
|
||||
- publicodes : ${{ needs.deploy-context.outputs.publicodes_url }}
|
||||
|
||||
|
||||
end-to-end-test:
|
||||
e2e-test-preview:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||
runs-on: ubuntu-16.04
|
||||
runs-on: ubuntu-20.04
|
||||
# We need to specify always() https://github.com/actions/runner/issues/491
|
||||
if: always() && (needs.deploy-prod.result == 'success' || needs.deploy-preview.result == 'success')
|
||||
needs: [deploy-context, deploy-prod, deploy-preview]
|
||||
if: always() && needs.deploy-preview.result == 'success'
|
||||
needs: [deploy-context, deploy-preview]
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
site: ['fr', 'en', 'publicodes']
|
||||
browser: [electron] # Firefox is very slow…
|
||||
viewport: [default]
|
||||
container: [1, 2, 3, 4]
|
||||
include:
|
||||
- site: fr
|
||||
integrationFolder: mon-entreprise
|
||||
baseUrl: ${{ needs.deploy-context.outputs.fr_url }}
|
||||
language: fr
|
||||
test-external: ${{ needs.deploy-context.outputs.env-name == 'master' }}
|
||||
- site: en
|
||||
- site: fr
|
||||
integrationFolder: mon-entreprise
|
||||
baseUrl: ${{ needs.deploy-context.outputs.fr_url }}
|
||||
language: fr
|
||||
- site: en
|
||||
integrationFolder: mon-entreprise/english
|
||||
baseUrl: ${{ needs.deploy-context.outputs.en_url }}
|
||||
language: en
|
||||
- site: publicodes
|
||||
baseUrl: ${{ needs.deploy-context.outputs.publicodes_url }}
|
||||
integrationFolder: publi.codes
|
||||
language: fr
|
||||
|
||||
# TODO : activate parallelization https://github.com/cypress-io/github-action#parallel (missing https://github.com/cypress-io/github-action#custom-build-id)
|
||||
# containers: [1, 2]
|
||||
# TODO : browser: ['firefox', 'chrome']
|
||||
exclude:
|
||||
- site: en
|
||||
container: 2
|
||||
- site: publicodes
|
||||
container: 2
|
||||
- site: en
|
||||
container: 3
|
||||
- site: publicodes
|
||||
container: 3
|
||||
- site: en
|
||||
container: 4
|
||||
- site: publicodes
|
||||
container: 4
|
||||
- site: en
|
||||
viewport: small
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/cache@v2
|
||||
# Custom cache as we do not care about installing all the other dependancies
|
||||
with:
|
||||
|
@ -186,26 +222,100 @@ jobs:
|
|||
~/.cache/Cypress
|
||||
node_modules
|
||||
key: cypress-cache-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
|
||||
- run: npm i cypress cypress-plugin-tab
|
||||
- name: Test mon-entreprise
|
||||
|
||||
- run: node mon-entreprise/scripts/get-cypress-packages.js | xargs npm i
|
||||
|
||||
- name: Test e2e mon-entreprise on preview (site=${{ matrix.site }}, browser=${{ matrix.browser}}, viewport=${{ matrix.viewport }})
|
||||
uses: cypress-io/github-action@v2
|
||||
with:
|
||||
install: false
|
||||
working-directory: mon-entreprise
|
||||
record: true
|
||||
tag: ${{ matrix.site }},${{ needs.deploy-context.outputs.env-name }}-deploy
|
||||
config: integrationFolder=cypress/integration/${{ matrix.integrationFolder }},baseUrl=${{ matrix.baseUrl }}
|
||||
tag: ${{ needs.deploy-context.outputs.env-name }}_deploy
|
||||
config: integrationFolder=cypress/integration/${{ matrix.integrationFolder }},baseUrl=${{ matrix.baseUrl }}${{ matrix.viewport == 'small' && ',viewportHeight=740,viewportWidth=360' || '' }}
|
||||
env: language=${{ matrix.language }}
|
||||
browser: ${{ matrix.browser }}
|
||||
headless: true
|
||||
parallel: true
|
||||
group: ${{ matrix.site }}-${{ matrix.browser }}-viewport_${{ matrix.viewport }}
|
||||
env:
|
||||
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
|
||||
|
||||
- name: Test external integration
|
||||
if: matrix.test-external
|
||||
|
||||
e2e-test-production:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||
runs-on: ubuntu-20.04
|
||||
# We need to specify always() https://github.com/actions/runner/issues/491
|
||||
if: always() && needs.deploy-prod.result == 'success'
|
||||
needs: [deploy-context, deploy-prod]
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
site: ['fr', 'en', 'publicodes']
|
||||
browser: [chrome] # Firefox is very slow…
|
||||
viewport: [default, small]
|
||||
container: [1, 2, 3, 4]
|
||||
include:
|
||||
- site: fr
|
||||
integrationFolder: mon-entreprise
|
||||
baseUrl: ${{ needs.deploy-context.outputs.fr_url }}
|
||||
language: fr
|
||||
- site: fr
|
||||
integrationFolder: mon-entreprise
|
||||
baseUrl: ${{ needs.deploy-context.outputs.fr_url }}
|
||||
language: fr
|
||||
- site: en
|
||||
integrationFolder: mon-entreprise/english
|
||||
baseUrl: ${{ needs.deploy-context.outputs.en_url }}
|
||||
language: en
|
||||
- site: publicodes
|
||||
baseUrl: ${{ needs.deploy-context.outputs.publicodes_url }}
|
||||
integrationFolder: publi.codes
|
||||
language: fr
|
||||
exclude:
|
||||
- site: en
|
||||
container: 2
|
||||
- site: publicodes
|
||||
container: 2
|
||||
- site: en
|
||||
container: 3
|
||||
- site: publicodes
|
||||
container: 3
|
||||
- site: en
|
||||
container: 4
|
||||
- site: publicodes
|
||||
container: 4
|
||||
- site: en
|
||||
viewport: small
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/cache@v2
|
||||
# Custom cache as we do not care about installing all the other dependancies
|
||||
with:
|
||||
path: |
|
||||
~/.cache/Cypress
|
||||
node_modules
|
||||
key: cypress-cache-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
|
||||
|
||||
- run: node mon-entreprise/scripts/get-cypress-packages.js | xargs npm i
|
||||
|
||||
- name: Test e2e mon-entreprise on production (site=${{ matrix.site }}, browser=${{ matrix.browser}}, viewport=${{ matrix.viewport }})
|
||||
uses: cypress-io/github-action@v2
|
||||
with:
|
||||
install: false
|
||||
working-directory: mon-entreprise
|
||||
record: true
|
||||
tag: external-integration
|
||||
config: integrationFolder=cypress/integration/external,baseUrl=${{ matrix.baseUrl }}
|
||||
|
||||
tag: ${{ needs.deploy-context.outputs.env-name }}_deploy
|
||||
config: integrationFolder=cypress/integration/${{ matrix.integrationFolder }},baseUrl=${{ matrix.baseUrl }}${{ matrix.viewport == 'small' && ',viewportHeight=740,viewportWidth=360' || '' }}
|
||||
env: language=${{ matrix.language }}
|
||||
browser: ${{ matrix.browser }}
|
||||
headless: true
|
||||
parallel: true
|
||||
group: ${{ matrix.site }}-${{ matrix.browser }}-viewport_${{ matrix.viewport }}
|
||||
env:
|
||||
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
name: PR clean up
|
||||
on:
|
||||
pull_request:
|
||||
types: [closed]
|
||||
|
||||
jobs:
|
||||
deploy-context:
|
||||
runs-on: ubuntu-18.04
|
||||
outputs:
|
||||
env-name: ${{ steps.deploy-env.outputs.name }}
|
||||
steps:
|
||||
- id: deploy-env
|
||||
run: echo "::set-output name=name::${{ github.event.number || '${GITHUB_REF#refs/*/}' }}"
|
||||
|
||||
algolia-rm-temp-index:
|
||||
needs: deploy-context
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- name: Remove temporary algolia index
|
||||
run: yarn workspace mon-entreprise algolia:clean
|
||||
env:
|
||||
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }}
|
||||
ALGOLIA_ADMIN_KEY: ${{ secrets.ALGOLIA_ADMIN_KEY }}
|
||||
ALGOLIA_INDEX_PREFIX: monentreprise-${{needs.deploy-context.outputs.env-name}}-
|
|
@ -0,0 +1,47 @@
|
|||
name: Test external integrations
|
||||
on:
|
||||
schedule:
|
||||
- cron: '47 3,15 * * *'
|
||||
|
||||
jobs:
|
||||
test-external-integrations:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/cache@v2
|
||||
# Custom cache as we do not care about installing all the other dependancies
|
||||
with:
|
||||
path: |
|
||||
~/.cache/Cypress
|
||||
node_modules
|
||||
key: cypress-cache-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
|
||||
|
||||
- run: node mon-entreprise/scripts/get-cypress-packages.js | xargs npm i
|
||||
|
||||
- name: Test external integration
|
||||
uses: cypress-io/github-action@v2
|
||||
with:
|
||||
install: false
|
||||
working-directory: mon-entreprise
|
||||
record: true
|
||||
tag: external-integration
|
||||
config: integrationFolder=cypress/integration/external,baseUrl=https://mon-entreprise.fr
|
||||
|
||||
- name: e2e tests with external API calls
|
||||
uses: cypress-io/github-action@v2
|
||||
with:
|
||||
install: false
|
||||
working-directory: mon-entreprise
|
||||
# List here all the specs that are making external API calls:
|
||||
spec: |
|
||||
cypress/integration/mon-entreprise/english/gérer.js
|
||||
cypress/integration/mon-entreprise/demande-mobilité.js
|
||||
record: true
|
||||
tag: external-mon-entreprise-e2e
|
||||
config: integrationFolder=cypress/integration/mon-entreprise,baseUrl=https://mon-entreprise.fr
|
||||
env: language=fr,record_http= # prevent stubbing
|
|
@ -1,5 +1,5 @@
|
|||
name: Règles (non-regression)
|
||||
on:
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- modele-social/règles/**
|
||||
|
@ -9,10 +9,10 @@ jobs:
|
|||
test:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn test:regressions
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn test:regressions
|
||||
|
|
|
@ -5,55 +5,51 @@ jobs:
|
|||
lint:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn lint
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn lint
|
||||
|
||||
typecheck:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
env:
|
||||
# Secrets of all kinds for fetching stats & releases
|
||||
GITHUB_API_SECRET: ${{ secrets.GITHUB_TOKEN }}
|
||||
ZAMMAD_API_SECRET_KEY: ${{ secrets.ZAMMAD_API_SECRET_KEY }}
|
||||
ATINTERNET_API_SECRET_KEY: ${{ secrets.ATINTERNET_API_SECRET_KEY }}
|
||||
ATINTERNET_API_ACCESS_KEY: ${{ secrets.ATINTERNET_API_ACCESS_KEY }}
|
||||
- run: yarn test:type
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
env:
|
||||
# Secrets of all kinds for fetching stats & releases
|
||||
GITHUB_API_SECRET: ${{ secrets.GITHUB_TOKEN }}
|
||||
ZAMMAD_API_SECRET_KEY: ${{ secrets.ZAMMAD_API_SECRET_KEY }}
|
||||
ATINTERNET_API_SECRET_KEY: ${{ secrets.ATINTERNET_API_SECRET_KEY }}
|
||||
ATINTERNET_API_ACCESS_KEY: ${{ secrets.ATINTERNET_API_ACCESS_KEY }}
|
||||
- run: yarn test:type
|
||||
|
||||
unit:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn test
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- run: yarn test
|
||||
|
||||
i18n:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- working-directory: mon-entreprise
|
||||
run:
|
||||
yarn run i18n:rules:check;
|
||||
yarn run i18n:ui:check
|
||||
|
||||
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}-v2
|
||||
- run: yarn install --frozen-lockfile
|
||||
- working-directory: mon-entreprise
|
||||
run: yarn run i18n:rules:check;
|
||||
yarn run i18n:ui:check
|
||||
|
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
body: |
|
||||
Ce ticket vient d'être fermé 🎉
|
||||
|
||||
Il est temps de prévenir les utilisateurs qui nous ont fait ce retour :
|
||||
Il est temps de prévenir les utilisateurs qui nous ont fait ce retour :
|
||||
https://mon-entreprise.zammad.com/#search/tags%3A%23${{ github.event.issue.number }}
|
||||
|
||||
Laissez un 👍 quand c'est fait !
|
||||
|
|
|
@ -10,3 +10,6 @@ dist/
|
|||
|
||||
# Local Netlify folder
|
||||
.netlify
|
||||
|
||||
# Webstorm (and other Jetbrains IDE)
|
||||
.idea/
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
12.16.1
|
|
@ -1,2 +1,3 @@
|
|||
.eslintrc.js
|
||||
dist
|
||||
mon-entreprise/source/locales/*.yaml
|
||||
|
|
|
@ -8,5 +8,8 @@
|
|||
"cSpell.words": [
|
||||
"mycompanyinfrance",
|
||||
"smarttag"
|
||||
]
|
||||
],
|
||||
"search.exclude": {
|
||||
"**/dist": true
|
||||
}
|
||||
}
|
||||
|
|
182
CONTRIBUTING.md
182
CONTRIBUTING.md
|
@ -18,87 +18,108 @@ L'application est écrite en JavaScript, elle est exécuté uniquement côté cl
|
|||
|
||||
Nous utilisons :
|
||||
|
||||
- [TypeScript](https://www.typescriptlang.org) pour ajouter un système de typage à notre code JavaScript. Le typage n'est pas utilisé partout et il n'est pas obligatoire de le prendre en compte pour contribuer.
|
||||
- [Yarn](https://yarnpkg.com/fr) pour la gestion des dépendances (à la place de NPM qui est souvent utilisé dans les applications JavaScript)
|
||||
- [React](https://reactjs.org) pour la gestion de l'interface utilisateur
|
||||
- [Redux](https://redux.js.org) pour gérer le “state” de l'application côté client
|
||||
- [Prettier](https://prettier.io/) pour formater le code source, l'idéal est de configurer votre éditeur de texte pour que les fichiers soit formatés automatiquement quand vous sauvegardez un fichier. Si vous utilisez [VS Code](https://code.visualstudio.com/) cette configuration est automatique.
|
||||
- [Webpack](https://webpack.js.org) pour le “bundling”
|
||||
- [Eslint](http://eslint.org) qui permet par exemple d'éviter de garder des variables inutilisées
|
||||
- [Ramda](https://ramdajs.com) comme libraire d'utilitaires pour manipuler les listes/objects/etc (c'est une alternative à lodash ou underscore)
|
||||
- [Mocha](https://mochajs.org), [Jest](https://jestjs.io) et [Cypress](https://www.cypress.io) pour les l'execution des tests. Plus d'informations dans la section consacrée aux tests.
|
||||
- [TypeScript](https://www.typescriptlang.org) pour ajouter un système de typage à notre code JavaScript. Le typage n'est pas utilisé partout et il n'est pas obligatoire de le prendre en compte pour contribuer.
|
||||
- [Yarn](https://yarnpkg.com/fr) pour la gestion des dépendances (à la place de NPM qui est souvent utilisé dans les applications JavaScript)
|
||||
- [React](https://reactjs.org) pour la gestion de l'interface utilisateur
|
||||
- [Redux](https://redux.js.org) pour gérer le “state” de l'application côté client
|
||||
- [Prettier](https://prettier.io/) pour formater le code source, l'idéal est de configurer votre éditeur de texte pour que les fichiers soit formatés automatiquement quand vous sauvegardez un fichier. Si vous utilisez [VS Code](https://code.visualstudio.com/) cette configuration est automatique.
|
||||
- [Webpack](https://webpack.js.org) pour le “bundling”
|
||||
- [Eslint](http://eslint.org) qui permet par exemple d'éviter de garder des variables inutilisées
|
||||
- [Ramda](https://ramdajs.com) comme libraire d'utilitaires pour manipuler les listes/objects/etc (c'est une alternative à lodash ou underscore)
|
||||
- [Mocha](https://mochajs.org), [Jest](https://jestjs.io) et [Cypress](https://www.cypress.io) pour les l'execution des tests. Plus d'informations dans la section consacrée aux tests.
|
||||
|
||||
### Démarrage
|
||||
|
||||
Si possible, assurez-vous d'avoir toutes les clés d'API nécessaires dans votre fichier
|
||||
`mon-entreprise/.env` (un template est disponible dans `mon-entreprise/.env.template`).
|
||||
**NB : ne vous inquiétez pas, ceci n'est pas nécessaire pour effectuer une première contribution à
|
||||
la base de code !** Cependant, vous en aurez besoin pour la commande `yarn prepare` et pour les
|
||||
commandes de traduction automatique français -> anglais. Si vous êtes confronté à ce type de besoin,
|
||||
demandez l'aide des contributeurs du projet.
|
||||
|
||||
Si l'historique des commits est trop volumineux, vous pouvez utiliser le paramètre `depth` de git pour ne télécharger que les derniers commits.
|
||||
|
||||
```
|
||||
# Clone this repo on your computer
|
||||
git clone --depth 100 git@github.com:betagouv/mon-entreprise.git && cd mon-entreprise
|
||||
|
||||
# Mettre à jour votre config git locale
|
||||
git config blame.ignoreRevsFile .git-blame-ignore-revs
|
||||
|
||||
# Install the Javascript dependencies through Yarn
|
||||
yarn install
|
||||
|
||||
# Download some data
|
||||
yarn prepare
|
||||
|
||||
# Watch changes in publicodes and run the server for mon-entreprise
|
||||
yarn start
|
||||
```
|
||||
|
||||
L'application est exécuté sur https://localhost:8080/mon-entreprise pour la version française et http://localhost:8080/infrance pour la version anglaise.
|
||||
L'application est exécutée sur http://localhost:8080/mon-entreprise pour la version française et
|
||||
http://localhost:8080/infrance pour la version anglaise.
|
||||
|
||||
Pour activer le tracing Redux:
|
||||
Pour activer le traçage Redux:
|
||||
|
||||
```
|
||||
REDUX_TRACE=true yarn start
|
||||
```
|
||||
|
||||
|
||||
### Messages de commit
|
||||
|
||||
A mettre sans retenue dans les messages de commit :
|
||||
|
||||
https://github.com/atom/atom/blob/master/CONTRIBUTING.md#git-commit-messages
|
||||
|
||||
- 🎨 `:art:` when working on the app's visual style
|
||||
- 🐎 `:racehorse:` when improving performance
|
||||
- 📝 `:memo:` when writing docs
|
||||
- 🐛 `:bug:` when fixing a bug
|
||||
- 🔥 `:fire:` when removing code or files
|
||||
- 💚 `:green_heart:` when fixing the CI build
|
||||
- ✅ `:white_check_mark:` when adding tests
|
||||
- ⬆️ `:arrow_up:` when upgrading dependencies
|
||||
- :sparkles: `:sparkles:` when formatting, renaming, reorganizing files
|
||||
|
||||
Et ceux spécifiques au projet :
|
||||
|
||||
- :gear: `:gear:` pour une contribution au moteur qui traite les YAML
|
||||
- :hammer: `:hammer:` pour une contribution à la base de règles
|
||||
- :calendar: `:calendar:` pour un changement de règle du à une évolution temporelle (en attendant mieux)
|
||||
- :chart_with_upwards_trend: `:chart_with_upwards_trend:` pour une amélioration du tracking
|
||||
- :alien: `:alien:` pour ajouter des traductions
|
||||
- :wheelchair: `:wheelchair:` pour corriger les problèmes liés à l'accessibilité
|
||||
- :fountain_pen: `:fountain_pen:` pour séparer les commits liés à la modification du contenu
|
||||
- :mag: `:mag:` pour les modifications liées au référencement naturel
|
||||
- 🎨 `:art:` pour une modification de l'UI
|
||||
- 🐎 `:racehorse:` pour une amélioration de performance
|
||||
- 🐛 `:bug:` pour une correction de bug
|
||||
- 🔥 `:fire:` pour une suppression de code ou de fichier
|
||||
- 💚 `:green_heart:` pour une correction de CI
|
||||
- ✅ `:white_check_mark:` pour un ajout de test
|
||||
- ⬆️ `:arrow_up:` pour une mise à jour de dépendances
|
||||
- ✨ `:sparkles:` pour une ré-organisation du code
|
||||
- ⚙ `:gear:` pour une contribution sur le moteur publicodes
|
||||
- 🔨 `:hammer:` pour une contribution à la base de règles
|
||||
- 📆 `:calendar:` pour un changement de règle du à une évolution temporelle (en attendant mieux)
|
||||
- 📈 `:chart_with_upwards_trend:` pour une amélioration du tracking
|
||||
- 👽 `:alien:` pour ajouter des traductions
|
||||
- ♿ `:wheelchair:` pour corriger les problèmes liés à l'accessibilité
|
||||
- 🖋 `:fountain_pen:` pour séparer les commits liés à la modification du contenu
|
||||
- 🔍 `:mag:` pour les modifications liées au référencement naturel
|
||||
|
||||
### Tests
|
||||
|
||||
Pour la vérification syntaxique :
|
||||
|
||||
```sh
|
||||
$ yarn lint
|
||||
```
|
||||
|
||||
Pour la vérification du typage :
|
||||
|
||||
```sh
|
||||
$ yarn test:type
|
||||
```
|
||||
|
||||
Pour executer les tests unitaires :
|
||||
|
||||
```sh
|
||||
$ yarn run test-common
|
||||
$ yarn test
|
||||
```
|
||||
|
||||
Pour le snapshot testing :
|
||||
|
||||
```sh
|
||||
$ yarn run test:regressions
|
||||
$ yarn test:regressions
|
||||
```
|
||||
|
||||
Si vous souhaitez mettre à jour les snapshots vous pouvez utiliser le paramètre `--updateSnapshot`, son raccourci `-u`, ou encore le [mode interactif](https://jestjs.io/docs/en/snapshot-testing#interactive-snapshot-mode).
|
||||
|
||||
Enfin pour les tests d'intégration :
|
||||
Pour les tests d'intégration sur chacun des 3 sites :
|
||||
|
||||
```sh
|
||||
$ yarn run cypress run
|
||||
$ yarn workspace mon-entreprise test:dev-e2e:mon-entreprise
|
||||
$ yarn workspace mon-entreprise test:dev-e2e:mycompanyinfrance
|
||||
$ yarn workspace mon-entreprise test:dev-e2e:publicodes
|
||||
```
|
||||
|
||||
### Traduction 👽
|
||||
|
@ -133,10 +154,9 @@ N'oubliez pas de vérifier sur le diff que rien n'est choquant.
|
|||
|
||||
### CI/CD
|
||||
|
||||
- [CircleCI](https://circleci.com/) s'occupe de faire tourner les builds et
|
||||
tests.
|
||||
- [Netlify](https://www.netlify.com/), s'occupe de l’hébergement du site sur Internet
|
||||
sur internet avec gestion des DNS.
|
||||
- Nous utilisons des [Github actions](https://github.com/features/actions) pour faire tourner les builds et
|
||||
tests.
|
||||
- [Netlify](https://www.netlify.com/), s'occupe de l’hébergement du site sur Internet avec gestion des DNS.
|
||||
|
||||
### Analyse des bundles
|
||||
|
||||
|
@ -144,42 +164,74 @@ La commande `yarn run build:analyse-bundle` gènere une visualisation interactiv
|
|||
contenu packagé, cf.
|
||||
[webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer)
|
||||
|
||||
## Développement de modèles Publicodes
|
||||
### Tests
|
||||
|
||||
Pour tester les règles, il est recommandé de:
|
||||
|
||||
- faire tourner un simulateur et vérifier à la main l'adéquation des règles avec les normes
|
||||
traduites ;
|
||||
- créer des cas de tests de non-régression sous la forme de nouveaux snapshots (cf.
|
||||
`mon-entreprise/test/regressions`).
|
||||
|
||||
En local, le moteur de recherche n'est pas mis à jour automatiquement et la liste des règles
|
||||
est exposée ici: http://localhost:8080/mon-entreprise/documentation/dev
|
||||
|
||||
## Publicodes
|
||||
|
||||
### Documentation
|
||||
|
||||
La documentation de publicodes est disponible sur https://publi.codes.
|
||||
|
||||
Un wiki contenant des informations intéressantes sur publicodes et le
|
||||
raisonnement ayant abouti à ce langage sont dispos sur le repository
|
||||
[betagouv/publicodes](https://github.com/betagouv/publicodes/wiki)
|
||||
|
||||
Pour se familiariser avec les règles, vous pouvez jeter un œil aux fichiers
|
||||
contenant les règles elles-mêmes (dans le dossier `modele-social`) mais cela
|
||||
peut s'avérer assez abrupt.
|
||||
|
||||
Essayez plutôt de jeter un oeil [aux tests](https://github.com/betagouv/publicodes/tree/master/core/test/m%C3%A9canismes)
|
||||
dans un premier temps, et pourquoi pas à [à l'implémentation des mécanismes](https://github.com/betagouv/publicodes/tree/master/core/source/mecanisms).
|
||||
|
||||
### Traduction des normes (lois) en règles Publicodes
|
||||
|
||||
Checklist:
|
||||
|
||||
- [ ] Lire les articles de vulgarisation (sur le site de l'URSSAF, des impôts, etc.).
|
||||
- [ ] Utiliser un moteur de recherche spécialisé, comme [RFPaye](https://rfpaye.grouperf.com/).
|
||||
- [ ] [Lire les normes][wiki normes] et noter leurs référence dans les règles Publicodes.
|
||||
- [ ] Lire les articles de vulgarisation (sur le site de l'URSSAF, des impôts, etc.).
|
||||
- [ ] Utiliser un moteur de recherche spécialisé, comme [RFPaye](https://rfpaye.grouperf.com/).
|
||||
- [ ] [Lire les normes][wiki normes] et noter leurs référence dans les règles Publicodes.
|
||||
|
||||
[wiki normes]: https://github.com/betagouv/mon-entreprise/wiki/Comment-lire-les-normes-(la-loi)-efficacement-pour-r%C3%A9diger-des-r%C3%A8gles-Publicodes%3F
|
||||
|
||||
### Tests
|
||||
### Modifier publicodes
|
||||
|
||||
Pour tester les règles, il est recommandé de:
|
||||
Publicodes dispose désormais de son propre dépôt GitHub https://github.com/betagouv/publicodes
|
||||
|
||||
- faire tourner un simulateur et vérifier à la main l'adéquation des règles avec les normes
|
||||
traduites ;
|
||||
- créer des cas de tests de non-régression sous la forme de nouveaux snapshots (cf.
|
||||
`mon-entreprise/test/regressions`).
|
||||
Néanmoins pour certaines nouvelles fonctionnalités de mon-entreprise nous concervons le besoin de
|
||||
modifier publicodes avec le moins de frictions possible. Pour tester une évolution du moteur il
|
||||
serait en effet trop lourd d'avoir à ouvrir d'abord une PR côté publicodes, la merger, publier une
|
||||
nouvelle version du paquet, puis ré-intégrer cette nouvelle version sur mon-entreprise.
|
||||
|
||||
## Documentation
|
||||
C'est pourquoi nous intégrons le code source du publicode dans le sous-répertoire `publicodes/`. La
|
||||
commande `git subtree` nous permet de synchroniser les changements effectués dans l'un ou l'autre
|
||||
des dépôts.
|
||||
|
||||
### Publicodes
|
||||
La première chose à faire est d'ajouter une nouvelle `remote` pour `betagouv/publicodes`, ici nous l'appelons simplement `publicodes` :
|
||||
|
||||
Un tutoriel sur publicode est disponible sur https://publi.codes.
|
||||
```sh
|
||||
git remote add publicodes git@github.com:betagouv/publicodes.git
|
||||
```
|
||||
|
||||
Un wiki contenant des informations intéressantes sur publicode et le
|
||||
raisonnement ayant abouti à ce langage sont dispos sur le repository
|
||||
[betagouv/publicodes](https://github.com/betagouv/publicodes/wiki), qui est par
|
||||
ailleurs inutilisé.
|
||||
Ensuite il est possible de remonter les changements effectués dans le sous-repertoire `publicodes/` vers la branche master de la remote `publicodes`.
|
||||
|
||||
Pour se familiariser avec les règles, vous pouvez jeter un œil aux fichiers
|
||||
contenant les règles elles-mêmes (dans le dossier `rules`) mais cela peut
|
||||
s'avérer assez abrupt.
|
||||
```sh
|
||||
$ git subtree push --prefix=publicodes publicodes master
|
||||
```
|
||||
|
||||
Essayez plutôt de jeter un oeil [aux tests](./publicodes/test/mécanismes/expressions.yaml)
|
||||
dans un premier temps, puis au [mécanismes en
|
||||
place](./publicodes/source/mecanisms).
|
||||
Dans l'autre sens il est possible de rapatrier les changements avec la commande
|
||||
|
||||
```sh
|
||||
$ git subtree pull --prefix=publicodes publicodes master --squash
|
||||
```
|
||||
|
||||
Les dépendances peuvent avoir changé côté publicodes, mieux vaut donc enchaîner avec un `yarn install` pour être à jour.
|
||||
|
|
35
README.md
35
README.md
|
@ -1,43 +1,33 @@
|
|||
Ce repo contient :
|
||||
- Le code source du site [mon-entreprise.fr](https://mon-entreprise.fr)
|
||||
- La documentation et le code source du langage [publicodes](https://publi.codes)
|
||||
- Les [règles publicodes](https://github.com/betagouv/mon-entreprise/tree/master/modele-social) pour le calcul des cotisations sociales, des impôts et des droits sociaux.
|
||||
Ce dépôt contient :
|
||||
|
||||
- Le code source du site [mon-entreprise.fr](https://mon-entreprise.fr)
|
||||
- Les [règles publicodes](https://github.com/betagouv/mon-entreprise/tree/master/modele-social) pour le calcul des cotisations sociales, des impôts et des droits sociaux.
|
||||
|
||||
## <a href="https://mon-entreprise.fr"><img src="https://mon-entreprise.fr/images/logo.svg" alt="mon-entreprise.fr" width="200"/></a>
|
||||
|
||||
[![Statut déploiement](https://github.com/betagouv/mon-entreprise/actions/workflows/deploy.yaml/badge.svg?branch=master)](https://github.com/betagouv/mon-entreprise/actions/workflows/deploy.yaml?query=branch%3Amaster++)
|
||||
[![Statut test](https://github.com/betagouv/mon-entreprise/actions/workflows/test.yaml/badge.svg?branch=master)](https://github.com/betagouv/mon-entreprise/actions/workflows/test.yaml?query=branch%3Amaster++)
|
||||
[![Gitter chat](https://badges.gitter.im/mon-entreprise/community.png)](https://gitter.im/mon-entreprise/community)
|
||||
|
||||
Site développé en partenariat avec l'Urssaf, qui a pour mission d'accompagner des créateurs d’entreprise dans le développement de leur activité.
|
||||
Site développé en partenariat avec l'Urssaf, qui a pour mission d'accompagner des créateurs d’entreprise dans le développement de leur activité.
|
||||
|
||||
Il propose notamment des simulateurs de cotisations sociales très complets, basés sur le language déclaratif [publicodes](https://publi.codes). On peut ainsi calculer le coût d'une embauche, un salaire net après impôt, ses revenus d'auto-entrepreneur ou encore ceux d'un dirigeant de SASU ou d'indépendant
|
||||
|
||||
Il propose notamment des simulateurs de cotisations sociales très complets, basés sur le language déclaratif publicodes. On peut ainsi calculer le coût d'une embauche, un salaire net après impôt, ses revenus d'auto-entrepreneur ou encore ceux d'un dirigeant de SASU ou d'indépendant
|
||||
> 🧮 [Voir la liste des simulateurs](https://mon-entreprise.fr/simulateurs)
|
||||
|
||||
Les développeurs ont la possibilité d'intégrer ces simulateurs sur d'autres sites, ou de réutiliser les règles pour effectuer leur propre calculs.
|
||||
|
||||
> 🧰 [Voir les outils à disposition des développeurs](https://mon-entreprise.fr/int%C3%A9gration)
|
||||
|
||||
|
||||
|
||||
## <a href="https://publi.codes"><img src="https://mon-entreprise.fr/images/logo-publicodes.png" alt="Publicodes" width="200"/></a>
|
||||
|
||||
[![Npm version](https://img.shields.io/npm/v/publicodes)](https://www.npmjs.com/package/publicodes)
|
||||
[![Gitter chat](https://badges.gitter.im/publicodes/publicodes.png)](https://gitter.im/publicodes/community)
|
||||
|
||||
Publicodes est un langage déclaratif pour encoder les algorithmes d'intérêt public. Il permet de réaliser des calculs généraux tout en fournissant une explication permettant de comprendre et de documenter ces calculs.
|
||||
|
||||
Publicode est adapté pour modéliser des domaines métiers complexes pouvant être décomposés en règles élémentaires simples (comme la législation socio-fiscale, un bilan carbone, un estimateur de rendement locatif, etc.). Il propulse les simulateurs de mon-entreprise.fr et le site [futur.eco](https://futur.eco).
|
||||
|
||||
> 📖 [Voir la documentation](https://publi.codes)
|
||||
|
||||
Tous les outils proposés sur mon-entreprise.fr sont propulsés par [publicodes](https://publi.codes), un nouveau langage pour les algorithmes d'intérêt public.
|
||||
|
||||
## Contribuer
|
||||
|
||||
Si vous souhaitez contribuer à l'un des deux projet, rendez-vous sur [CONTRIBUTING.md](./CONTRIBUTING.md).
|
||||
|
||||
Si vous souhaitez contribuer à l'un des deux projets, rendez-vous sur [CONTRIBUTING.md](./CONTRIBUTING.md).
|
||||
|
||||
## 🇬🇧 English users
|
||||
|
||||
This repository powers [mycompanyinfrance.fr](https://mycompanyinfrance.fr) and [mon-entreprise.fr](https://mon-entreprise.fr) and [publi.codes](https://publi.codes).
|
||||
This repository powers [mycompanyinfrance.fr](https://mycompanyinfrance.fr) and [mon-entreprise.fr](https://mon-entreprise.fr)
|
||||
|
||||
Most of the documentation (including issues and commit message) is written in french, please raise an [issue](https://github.com/betagouv/mon-entreprise/issues/new) if you are interested and do not speak French.
|
||||
|
||||
|
@ -48,4 +38,3 @@ The website will run well on modern browsers. Internet Explorer is not supported
|
|||
This compatibility is tested thanks to [BrowserStack](http://browserstack.com/)'s free open source program.
|
||||
|
||||
![Logo de Browserstack, notre solution de tests manuels](https://i.imgur.com/dQwLjXA.png)
|
||||
|
||||
|
|
|
@ -132,7 +132,7 @@ module.exports = {
|
|||
// testLocationInResults: false,
|
||||
|
||||
// The glob patterns Jest uses to detect test files
|
||||
testMatch: ['**/*.jest.js'],
|
||||
testMatch: ['**/*.jest.ts'],
|
||||
// [
|
||||
// "**/__tests__/**/*.[jt]s?(x)",
|
||||
// "**/?(*.)+(spec|test).[tj]s?(x)"
|
||||
|
@ -163,7 +163,7 @@ module.exports = {
|
|||
// It's not possible to have 2 piped transformers like in webpack
|
||||
// ie ['jest-transform-nearley', 'babel-jest'], so we removed ES6 module from nearley output.
|
||||
'\\.ne$': require.resolve('jest-transform-nearley'),
|
||||
'\\.yaml$': require.resolve('yaml-jest'),
|
||||
'\\.yaml$': 'mon-entreprise/test/regressions/yaml-transformer.js',
|
||||
'\\.(js|tsx?)$': require.resolve('babel-jest'),
|
||||
},
|
||||
|
||||
|
|
|
@ -1,28 +1,29 @@
|
|||
# Modèle social français en publicodes
|
||||
|
||||
Ce paquet contient les règles publicodes utilisées sur https://mon-entreprise.fr
|
||||
Ce paquet contient les règles [publicodes](https://publi.codes) utilisées sur https://mon-entreprise.fr
|
||||
pour le calcul des cotisations sociales, des impôts et des droits sociaux.
|
||||
|
||||
### Installation
|
||||
|
||||
```
|
||||
npm install publicodes modele-social
|
||||
npm install publicodes modele-social
|
||||
```
|
||||
|
||||
### Exemple d'utilisation
|
||||
```js
|
||||
import Engine, { formatValue } from "publicodes";
|
||||
import rules from "modele-social";
|
||||
|
||||
const engine = new Engine(rules);
|
||||
```js
|
||||
import Engine, { formatValue } from 'publicodes'
|
||||
import rules from 'modele-social'
|
||||
|
||||
const engine = new Engine(rules)
|
||||
|
||||
const net = engine
|
||||
.setSituation({
|
||||
"contrat salarié . rémunération . brut de base": "3000 €/mois",
|
||||
})
|
||||
.evaluate("contrat salarié . rémunération . net");
|
||||
|
||||
console.log(formatValue(net));
|
||||
.setSituation({
|
||||
'contrat salarié . rémunération . brut de base': '3000 €/mois',
|
||||
})
|
||||
.evaluate('contrat salarié . rémunération . net')
|
||||
|
||||
console.log(formatValue(net))
|
||||
```
|
||||
|
||||
|
||||
👉 **[Voir le tutoriel complet](https://mon-entreprise.fr/int%C3%A9gration/biblioth%C3%A8que-de-calcul)**
|
||||
|
|
|
@ -16,11 +16,11 @@
|
|||
"dist/index.js"
|
||||
],
|
||||
"devDependencies": {
|
||||
"publicodes": "^1.0.0-beta.12",
|
||||
"publicodes": "^1.0.0-beta.15",
|
||||
"yaml": "^1.10.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"publicodes": "^1.0.0-beta.12"
|
||||
"publicodes": "^1.0.0-beta.15"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "node build.js",
|
||||
|
|
|
@ -21,6 +21,7 @@ artiste-auteur . revenus . BNC:
|
|||
|
||||
artiste-auteur . revenus . BNC . micro-bnc:
|
||||
non applicable si: contrôle micro-bnc
|
||||
applicable si: recettes > 0 €/an
|
||||
par défaut: oui
|
||||
question: Souhaitez-vous opter pour le régime micro-BNC ?
|
||||
résumé: Avec abattement forfaitaire fiscal de 34 % au titre des frais professionnels
|
||||
|
@ -30,7 +31,7 @@ artiste-auteur . revenus . BNC . contrôle micro-bnc:
|
|||
formule:
|
||||
toutes ces conditions:
|
||||
- recettes != 0
|
||||
- recettes > 72500 €/an
|
||||
- recettes > 72600 €/an
|
||||
|
||||
artiste-auteur . revenus . BNC . recettes:
|
||||
titre: Revenu en BNC
|
||||
|
@ -53,6 +54,7 @@ artiste-auteur . cotisations:
|
|||
- vieillesse
|
||||
- CSG-CRDS
|
||||
- formation professionnelle
|
||||
arrondi: oui
|
||||
références:
|
||||
Urssaf.fr: https://www.urssaf.fr/portail/home/espaces-dedies/artistes-auteurs-diffuseurs-comm/vous-etes-artiste-auteur/taux-des-cotisations.html
|
||||
|
||||
|
@ -72,15 +74,32 @@ artiste-auteur . cotisations . option surcotisation:
|
|||
règle: assiette
|
||||
dans: vieillesse
|
||||
par: assiette surcotisation
|
||||
question: Souhaitez-vous surcotiser ?
|
||||
résumé: Vos revenus sont en dessous des seuils vous permettant de valider 4 trimestres de retraite. Vous pouvez choisir de surcotiser pour augmenter vos droits.
|
||||
question: Souhaitez-vous surcotiser pour augmenter vos droits à retraite ?
|
||||
description: |
|
||||
Vos revenus sont en dessous des seuils vous permettant de valider l'ensemble
|
||||
de vos droits sociaux. Vous pouvez choisir de surcotiser pour augmenter vos
|
||||
droits.
|
||||
par défaut: non
|
||||
références:
|
||||
Urssaf.fr: https://www.urssaf.fr/portail/home/espaces-dedies/artistes-auteurs-diffuseurs-comm/vous-etes-artiste-auteur/la-surcotisation.html
|
||||
|
||||
artiste-auteur . cotisations . assiette surcotisation: 900 heures/an * SMIC horaire
|
||||
|
||||
artiste-auteur . cotisations . avertissement trimestres retraite:
|
||||
type: notification
|
||||
sévérité: avertissement
|
||||
formule:
|
||||
toutes ces conditions:
|
||||
- assiette > 0 €/an
|
||||
- assiette < 600 heures/an * SMIC horaire
|
||||
- option surcotisation = non
|
||||
description: |
|
||||
Vos revenus ne vous permettent pas de valider 4 trimestres pour la retraite
|
||||
de base. Vous pouvez décider de « surcotiser » pour valider 4 trimestres et
|
||||
bénéficier d'indemnités journalières.
|
||||
|
||||
artiste-auteur . cotisations . vieillesse:
|
||||
titre: Retraite de base
|
||||
formule:
|
||||
produit:
|
||||
assiette: assiette
|
||||
|
@ -130,38 +149,123 @@ artiste-auteur . cotisations . formation professionnelle:
|
|||
assiette: assiette
|
||||
taux: 0.35%
|
||||
|
||||
artiste-auteur . cotisations . assiette 2019:
|
||||
artiste-auteur . cotisations . IRCEC:
|
||||
titre: Retraite complémentaire
|
||||
description: |
|
||||
Nous calculons l'aide covid sur la base d'une assiette des cotisations 2019
|
||||
égale à l'assiette 2020.
|
||||
par défaut: cotisations . assiette
|
||||
|
||||
artiste-auteur . réduction de cotisations covid 2020:
|
||||
description: |
|
||||
Afin de tenir compte de l'impact de la crise du Covid-19 le gouvernement a
|
||||
mis en place une prise en charge des cotisations sociales des
|
||||
artistes-auteurs dues pour 2020 pouvant aller jusqu'à 2 000€.
|
||||
|
||||
Cette aide est calculée à partir de l'assiette des cotisations sociales de
|
||||
2019.
|
||||
|
||||
La prise en charge est automatique et vous n'avez pas de démarche a
|
||||
effectuer. Vous bénéficierez de cette aide après la déclaration annuelle de
|
||||
revenus 2020, soit au second trimestre 2021.
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- période . fin d'année = 31/12/2020
|
||||
- cotisations . assiette >= 3000 €/an
|
||||
Si vous êtes artiste-auteur professionnel et que vous êtes rémunéré en
|
||||
droits d’auteur, l’IRCEC est l’organisme de Sécurité sociale qui assure la
|
||||
gestion de votre retraite complémentaire obligatoire.
|
||||
formule:
|
||||
# TODO: c'est inférieur ou égal ici
|
||||
grille:
|
||||
assiette: cotisations . assiette 2019
|
||||
tranches:
|
||||
- montant: 500 €/an
|
||||
plafond: 800 heures/an * SMIC horaire
|
||||
- montant: 1000 €/an
|
||||
plafond: 2000 heures/an * SMIC horaire
|
||||
- montant: 2000 €/an
|
||||
plafond: cotisations
|
||||
somme:
|
||||
- cotisation RAAP
|
||||
- cotisation RACD
|
||||
- cotisation RACL
|
||||
références:
|
||||
Infographie Urssaf: https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/5761-Infographie-Aide-AA-WEB.pdf
|
||||
Guide IRCEC 2021: http://www.ircec.fr/wp-content/uploads/2021/02/guide-ircec-2021.pdf
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . cotisation RAAP:
|
||||
applicable si: assiette > seuil d'affiliation
|
||||
description: |
|
||||
Vous pouvez bénéficier d'un taux réduit à votre demande si vos revenus
|
||||
n'atteignent pas à seuil minimal pour une année donnée. Ce taux réduit
|
||||
s'applique également à vos revenus déjà soumis à cotisation auprès du RACL
|
||||
ou du RACD.
|
||||
formule:
|
||||
variations:
|
||||
- si: taux réduit
|
||||
alors:
|
||||
produit:
|
||||
assiette: assiette
|
||||
taux: 4%
|
||||
- sinon:
|
||||
barème:
|
||||
assiette: assiette
|
||||
tranches:
|
||||
- taux: 4%
|
||||
plafond:
|
||||
variations:
|
||||
- si: profession . RACD
|
||||
alors: cotisation RACD . plafond
|
||||
- si: profession . RACL
|
||||
alors: cotisation RACL . plafond
|
||||
- taux: 8%
|
||||
arrondi: oui
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . cotisation RAAP . seuil d'affiliation: 9135 €/an
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . cotisation RAAP . taux réduit:
|
||||
applicable si: assiette < 3 * seuil d'affiliation
|
||||
question: Souhaitez-vous cotiser sur la base d'un taux réduit pour votre retraite complémentaire à l'IRCEC ?
|
||||
par défaut: non
|
||||
description: |
|
||||
Le régime RAAP vous permet d'opter pour un taux réduit de 4% au lieu de 8%
|
||||
si vous en faite la demande.
|
||||
|
||||
Les points de retraite complémentaire sont acquis au pro-rata du montant
|
||||
cotisé. En réduisant votre cotisation vous réduisez donc le nombre de points
|
||||
acquis.
|
||||
références:
|
||||
Guide IRCEC 2021: http://www.ircec.fr/wp-content/uploads/2021/02/guide-ircec-2021.pdf#page=5
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . profession:
|
||||
question: Exercez-vous l'une de professions suivantes ?
|
||||
description: |
|
||||
Selon la nature de leur activité, les artistes-auteurs cotisent à
|
||||
un ou plusieurs régimes de retraite complémentaire gérés par
|
||||
l’IRCEC : dans tous les cas et si vous atteignez le seuil
|
||||
d’affiliation, au RAAP, puis selon votre activité artistique au RACD
|
||||
et/ou au RACL.
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: non
|
||||
possibilités:
|
||||
- RACD
|
||||
- RACL
|
||||
par défaut: non
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . profession . RACD:
|
||||
icônes: 🎞️
|
||||
titre: auteur ou compositeur dramatique, de spectacle vivant, de films
|
||||
description: |
|
||||
Les professions suivantes cotisent au RACD :
|
||||
- Les auteurs dramatiques exerçant l’une des professions suivantes : scénariste, dialoguiste, adaptateur, réalisateur, auteur de la bible littéraire, auteur graphique d’animation, créateur des personnages originaux et des décors s’il s’agit d’un univers original, etc.
|
||||
- Les auteurs et compositeurs dramatiques et du spectacle vivant : théâtre, danse, opéra, cirque, arts de la rue, etc.
|
||||
formule: profession = 'RACD'
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . profession . RACL:
|
||||
icônes: 🎙️
|
||||
titre: auteur ou compositeur lyrique, dialoguiste de doublage
|
||||
description: Les auteurs et compositeurs d’œuvres musicales et les dialoguistes de doublage cotisent au RACL.
|
||||
formule: profession = 'RACL'
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . régime RACL:
|
||||
question: Cotisez-vous au RACL ?
|
||||
par défaut: non
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . cotisation RACD:
|
||||
applicable si: profession . RACD
|
||||
formule:
|
||||
produit:
|
||||
assiette: assiette
|
||||
plafond:
|
||||
nom: plafond
|
||||
valeur: 496250 €/an
|
||||
taux: 8%
|
||||
arrondi: oui
|
||||
|
||||
artiste-auteur . cotisations . IRCEC . cotisation RACL:
|
||||
applicable si: profession . RACL
|
||||
formule:
|
||||
barème:
|
||||
assiette: assiette
|
||||
tranches:
|
||||
- taux: 0%
|
||||
plafond: 2739 €/an
|
||||
- taux: 6.5%
|
||||
plafond:
|
||||
nom: plafond
|
||||
valeur: 376665 €/an
|
||||
- taux:
|
||||
nom: cotisation de solidarité
|
||||
valeur: 1.5%
|
||||
arrondi: oui
|
||||
|
|
|
@ -41,7 +41,7 @@ plafond journalier sécurité sociale:
|
|||
Article D242-17 du code de la sécurité sociale: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006073189&idArticle=LEGIARTI000006736124
|
||||
|
||||
SMIC horaire:
|
||||
formule:
|
||||
formule:
|
||||
variations:
|
||||
- si: établissement . localisation . département = 'Mayotte'
|
||||
alors: 7.74 €/heure
|
||||
|
|
|
@ -0,0 +1,150 @@
|
|||
bénéficiaire:
|
||||
valeur: non
|
||||
description: |
|
||||
Un bénéficiaire est un actionnaire dans une SAS ou un associé dans une
|
||||
SARL/EURL.
|
||||
|
||||
Attention: nous ne prenons en compte ici que le cas de figure de l'associé
|
||||
unique (SASU et EURL).
|
||||
|
||||
# [TODO] [dividendes-indep]
|
||||
bénéficiaire . compte courant d'associé:
|
||||
par défaut: 0€
|
||||
titre: Sommes versées en compte courant d'associé
|
||||
question: Quelles sont les sommes versées en compte courant par l'associé ?
|
||||
description: >
|
||||
Cette valeur est nécessaire à calculer le montant maximal imposable au PFU
|
||||
pour un bénéficiaire au régime des travailleurs indépendants.
|
||||
|
||||
Le montant pris en compte est le solde moyen annuel du compte courant. Il
|
||||
est déterminé par la somme des soldes moyens mensuels du compte, divisée par
|
||||
le nombre de mois compris dans l’exercice.
|
||||
|
||||
Le solde moyen mensuel est égal à l’addition des soldes journaliers, divisée
|
||||
par le nombre de jours dans le mois. Le solde moyen mensuel diffère donc du
|
||||
solde mensuel figurant dans les comptes de la société.
|
||||
|
||||
En cas d’ouverture ou de clôture du compte en cours d’exercice, le nombre de
|
||||
mois au cours de l’exercice sera réduit au nombre de mois de fonctionnement
|
||||
du compte. Un compte est considéré comme « fonctionnant », même s’il n’est
|
||||
pas mouvementé au cours de l’exercice. La date à laquelle les sommes
|
||||
versées en compte courant doivent être appréciées est le dernier jour de
|
||||
l’exercice précédant le versement des intérêts.
|
||||
références:
|
||||
Circulaire RSI C2014-001: https://www.secu-independants.fr/uploads/tx_rsirss/C2014-001.pdf
|
||||
|
||||
bénéficiaire . dividendes:
|
||||
valeur: oui
|
||||
applicable si: entreprise . imposition = 'IS'
|
||||
|
||||
bénéficiaire . dividendes . bruts:
|
||||
unité: €/an
|
||||
par défaut: 0 €/an
|
||||
inversion numérique:
|
||||
avec:
|
||||
- nets d'impôt
|
||||
titre: Dividendes bruts versés
|
||||
|
||||
bénéficiaire . dividendes . nets:
|
||||
somme:
|
||||
- bruts
|
||||
- (- cotisations et contributions)
|
||||
titre: Dividendes nets
|
||||
|
||||
bénéficiaire . dividendes . nets d'impôt:
|
||||
valeur:
|
||||
somme:
|
||||
- bruts
|
||||
- (- dividendes . cotisations et contributions)
|
||||
- (- impôt . dividendes . montant en sus des autres revenus imposables)
|
||||
titre: Dividendes nets
|
||||
résumé: Après paiements des cotisations et impôts
|
||||
|
||||
bénéficiaire . dividendes . cotisations et contributions:
|
||||
produit:
|
||||
assiette: bruts
|
||||
composantes:
|
||||
- attributs:
|
||||
nom: CSG non déductible
|
||||
taux:
|
||||
variations:
|
||||
- si: impôt . méthode de calcul . PFU
|
||||
alors: 9.2%
|
||||
- sinon: 2.4%
|
||||
- attributs:
|
||||
nom: CSG déductible
|
||||
taux:
|
||||
variations:
|
||||
- si: impôt . méthode de calcul . PFU
|
||||
alors: 0%
|
||||
- sinon: 6.8%
|
||||
- attributs:
|
||||
nom: CRDS
|
||||
taux: 0.5%
|
||||
- attributs:
|
||||
nom: prélèvement de solidarité
|
||||
taux: 7.5%
|
||||
titre: Cotisations et contributions sur dividendes
|
||||
note: La CSG sur les revenus soumis au PFU n'est jamais déductible
|
||||
références:
|
||||
Fiche impots.gouv.fr: https://www.impots.gouv.fr/portail/particulier/les-revenus-mobiliers
|
||||
Fiche service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F2329
|
||||
Article L 136-6 du code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/id/LEGISCTA000006173130/
|
||||
Article L 136-7 du code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/id/LEGISCTA000006173129/
|
||||
|
||||
bénéficiaire . dividendes . imposables:
|
||||
somme:
|
||||
- bruts
|
||||
- (- cotisations et contributions . CSG déductible)
|
||||
abattement: 40%
|
||||
titre: Net imposable des dividendes auxquels s'applique le barème de l'impôt
|
||||
sur le revenu
|
||||
description: |
|
||||
Un abattement de 40% s'applique dans le cas où
|
||||
|
||||
- la société distributrice des dividendes relève de l'IS
|
||||
- la société distributrice est française ou a son siège en UE ou dans un
|
||||
état ayant conclu des accords en ce sens avec la France
|
||||
- les dividendes sont décidés en assemblée générale.
|
||||
références:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32963
|
||||
|
||||
# [TODO] [dividendes-indep]
|
||||
bénéficiaire . dividendes . cotisations et contributions . assiette forfaitaire:
|
||||
variations:
|
||||
- si: dirigeant = 'indépendant'
|
||||
alors:
|
||||
valeur: bruts
|
||||
plafond: assiette forfaitaire max indépendant
|
||||
- sinon: bruts
|
||||
unité: €/an
|
||||
titre: Assiette des dividendes soumis aux cotisations et contributions au PFU
|
||||
(ou "flat tax")
|
||||
description: |
|
||||
Ce calcul extrait l'assiette des dividendes qui sont soumis au PFU en termes
|
||||
de cotisations et contributions.
|
||||
références:
|
||||
Article L131-6 du Code de la Sécurité Sociale: https://www.legifrance.gouv.fr/codes/id/LEGISCTA000033714224/
|
||||
Fiche URSSAF: https://www.urssaf.fr/portail/home/independant/mes-cotisations/les-etapes-de-calcul/la-declaration-sociale-et-fiscal/les-revenus-pris-en-compte-pour.html
|
||||
|
||||
bénéficiaire . dividendes . cotisations et contributions . assiette forfaitaire max indépendant:
|
||||
produit:
|
||||
assiette:
|
||||
somme:
|
||||
- entreprise . capital social
|
||||
- compte courant d'associé
|
||||
taux: 10%
|
||||
unité: €/an
|
||||
|
||||
bénéficiaire . dividendes . cotisations et contributions . assiette régime indépendant:
|
||||
valeur: bruts - assiette forfaitaire
|
||||
par défaut: 0 €/an
|
||||
unité: €/an
|
||||
titre: Assiette des dividendes soumis aux cotisations et contributions du
|
||||
régime indépendant
|
||||
description: |
|
||||
Cette assiette représente la partie des dividendes qui n'est pas soumise au
|
||||
prélèvements sociaux forfaitaires mais aux cotisations et contributions du
|
||||
régime du travailleur indépendant.
|
||||
références:
|
||||
Fiche URSSAF: https://www.urssaf.fr/portail/home/independant/mes-cotisations/les-etapes-de-calcul/la-declaration-sociale-et-fiscal/les-revenus-pris-en-compte-pour.html
|
|
@ -1,4 +1,4 @@
|
|||
chômage partiel:
|
||||
chômage partiel: oui
|
||||
|
||||
chômage partiel . revenu net habituel:
|
||||
formule:
|
||||
|
|
|
@ -29,11 +29,11 @@ contrat salarié . convention collective . BTP . catégorie . ouvrier . prévoya
|
|||
assiette: rémunération . brut de base
|
||||
plafond: 3 * plafond sécurité sociale
|
||||
composantes:
|
||||
- attributs:
|
||||
- attributs:
|
||||
nom: employeur
|
||||
remplace: prévoyance . employeur
|
||||
taux: 1.72%
|
||||
- attributs:
|
||||
- attributs:
|
||||
nom: salarié
|
||||
remplace: prévoyance . salarié
|
||||
taux: 0.87%
|
||||
|
@ -60,11 +60,11 @@ contrat salarié . convention collective . BTP . catégorie . etam . prévoyance
|
|||
assiette: rémunération . brut de base
|
||||
plafond: 3 * plafond sécurité sociale
|
||||
composantes:
|
||||
- attributs:
|
||||
- attributs:
|
||||
nom: employeur
|
||||
remplace: prévoyance . employeur
|
||||
taux: 1.25%
|
||||
- attributs:
|
||||
- attributs:
|
||||
nom: salarié
|
||||
remplace: prévoyance . salarié
|
||||
taux: 0.60%
|
||||
|
@ -77,7 +77,6 @@ contrat salarié . convention collective . BTP . catégorie . cadre:
|
|||
- règle: statut cadre
|
||||
par: oui
|
||||
|
||||
|
||||
contrat salarié . convention collective . BTP . catégorie . cadre . prévoyance complémentaire:
|
||||
barème:
|
||||
assiette: rémunération . brut de base
|
||||
|
@ -104,7 +103,6 @@ contrat salarié . convention collective . BTP . catégorie . cadre . prévoyanc
|
|||
- taux: 50% * 3.60%
|
||||
plafond: 8
|
||||
|
||||
|
||||
contrat salarié . convention collective . BTP . cotisations conventionnelles:
|
||||
remplace: cotisations . patronales . conventionnelles
|
||||
formule:
|
||||
|
|
|
@ -21,3 +21,19 @@ contrat salarié . convention collective . HCR . majoration heures supplémentai
|
|||
- taux: 20%
|
||||
plafond: 8 heures/semaine
|
||||
- taux: 50%
|
||||
|
||||
contrat salarié . convention collective . HCR . prévoyance conventionnelle:
|
||||
produit:
|
||||
assiette: rémunération . brut de base
|
||||
plafond: plafond sécurité sociale
|
||||
composantes:
|
||||
- attributs:
|
||||
nom: employeur
|
||||
remplace: prévoyance . employeur
|
||||
taux: 0.40%
|
||||
- attributs:
|
||||
nom: salarié
|
||||
remplace: prévoyance . salarié
|
||||
taux: 0.40%
|
||||
références:
|
||||
Prévoyance HCR: https://www.hcrprevoyance.fr/contenu/documents/modalites_pratiques/HCR%20027_20-2%20-%20Fiche%20Garantie%20Conventionnelle%20Prevoyance.pdf
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,29 +2,235 @@
|
|||
|
||||
aide déclaration revenu indépendant 2020:
|
||||
description: >-
|
||||
Ces règles calculent les montants demandés dans les déclarations sociale et
|
||||
fiscale des indépendants de 2021 sur les revenus 2020
|
||||
Ces règles calculent les montants demandés dans la déclaration de revenu des
|
||||
indépendants de 2021 sur les revenus 2020.
|
||||
formule: non
|
||||
remplace:
|
||||
- règle: entreprise . ACRE
|
||||
par: ACRE
|
||||
|
||||
- # Par défaut on considère que l'entreprise est mixte et on affiche tous les champs
|
||||
règle: entreprise . activité . mixte
|
||||
par: oui
|
||||
|
||||
aide déclaration revenu indépendant 2020 . comptabilité:
|
||||
titre: régime de la déclaration contrôlée
|
||||
non applicable si: entreprise . imposition . IS
|
||||
question: Quel méthode de gestion de la comptabilité est utilisée pour l'entreprise ?
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
possibilités:
|
||||
- engagement
|
||||
- trésorerie
|
||||
|
||||
aide déclaration revenu indépendant 2020 . comptabilité . trésorerie:
|
||||
rend non applicable: entreprise . imposition . IR . micro-fiscal
|
||||
valeur: comptabilité = 'trésorerie'
|
||||
titre: comptabilité de trésorerie
|
||||
|
||||
aide déclaration revenu indépendant 2020 . comptabilité . engagement:
|
||||
valeur: comptabilité = 'engagement'
|
||||
titre: comptabilité d'engagement
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées:
|
||||
remplace:
|
||||
- règle: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible
|
||||
par: CSG non déductible + CRDS
|
||||
- règle: aide déclaration revenu indépendant 2020 . résultat simple . cotisations obligatoires
|
||||
par:
|
||||
valeur: cotisations payées . total charges sociales
|
||||
abattement:
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . formation professionnelle
|
||||
- CSG non déductible
|
||||
- CRDS
|
||||
- CSG déductible
|
||||
applicable si:
|
||||
une de ces conditions:
|
||||
- comptabilité . trésorerie
|
||||
- entreprise . imposition . IS
|
||||
non applicable si: résultat simple
|
||||
valeur: oui
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées . total charges sociales:
|
||||
remplace:
|
||||
règle: dirigeant . indépendant . cotisations et contributions
|
||||
par:
|
||||
somme:
|
||||
- cotisations payées . total charges sociales
|
||||
- dirigeant . indépendant . cotisations facultatives . total
|
||||
unité: €/an
|
||||
question: Quel est le montant total des cotisations et contributions sociales payées pendant l'exercice ?
|
||||
description: |
|
||||
Vous pouvez retrouver ce montant dans votre espace personnel Urssaf. Voici la marche à suivre :
|
||||
|
||||
1. Connectez-vous à votre [espace personnel Urssaf](https://www.urssaf.fr/portail/home.html)
|
||||
2. Allez dans l'onglet "Document"
|
||||
3. Selectionnez "relevé de situation comptable"
|
||||
4. Reportez dans ce champs le montant de la colonne "Cotisation", ligne "Année 2020"
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées . CSG déductible:
|
||||
question: Quel est le montant total de CSG déductible payé cette année ?
|
||||
remplace: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
unité: €/an
|
||||
description: |
|
||||
Vous pouvez retrouver ce montant dans votre espace personnel Urssaf. Voici la marche à suivre :
|
||||
|
||||
1. Connectez-vous à votre [espace personnel Urssaf](https://www.urssaf.fr/portail/home.html)
|
||||
2. Allez dans l'onglet "Document"
|
||||
3. Selectionnez "demander une attestation"
|
||||
3. Puis, "attestation CSG/CRDS"
|
||||
4. Reportez dans ce champs le total de la colonne "Montant déductible CSG" (dernière ligne)
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées . CSG non déductible:
|
||||
question: Quel est le montant total de CSG non déductible payé cette année ?
|
||||
unité: €/an
|
||||
description: |
|
||||
Vous pouvez retrouver ce montant dans votre espace personnel Urssaf. Voici la marche à suivre :
|
||||
|
||||
1. Connectez-vous à votre [espace personnel Urssaf](https://www.urssaf.fr/portail/home.html)
|
||||
2. Allez dans l'onglet "Document"
|
||||
3. Selectionnez "demander une attestation"
|
||||
3. Puis, "attestation CSG/CRDS"
|
||||
4. Reportez dans ce champs le total de la colonne "Montant non déductible : CSG" (dernière ligne)
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées . CRDS:
|
||||
question: Quel est le montant total de CRDS payé cette année ?
|
||||
unité: €/an
|
||||
description: |
|
||||
Vous pouvez retrouver ce montant dans votre espace personnel Urssaf. Voici la marche à suivre :
|
||||
|
||||
1. Connectez-vous à votre [espace personnel Urssaf](https://www.urssaf.fr/portail/home.html)
|
||||
2. Allez dans l'onglet "Document"
|
||||
3. Selectionnez "demander une attestation"
|
||||
3. Puis, "attestation CSG/CRDS"
|
||||
4. Reportez dans ce champs le total de la colonne "Montant non déductible : CRDS" (dernière ligne)
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées . cotisations obligatoires déductibles:
|
||||
remplace: cotisations obligatoires déductibles
|
||||
unité: €/an
|
||||
valeur: cotisations payées . total charges sociales
|
||||
abattement:
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS
|
||||
- dirigeant . indépendant . cotisations et contributions . formation professionnelle
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées version simple:
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- une de ces conditions:
|
||||
- comptabilité . trésorerie
|
||||
- entreprise . imposition . IS
|
||||
- résultat simple
|
||||
valeur: oui
|
||||
remplace:
|
||||
- règle: résultat simple . cotisations obligatoires
|
||||
par: cotisations payées version simple . cotisations sociales
|
||||
- règle: résultat simple . total charges sociales déductible
|
||||
par:
|
||||
somme:
|
||||
- cotisations payées version simple . cotisations sociales
|
||||
- cotisations payées version simple . CSG déductible et CFP
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées version simple . CSG déductible et CFP:
|
||||
question: Quel est le montant total de CSG déductible et CFP payées cette année ?
|
||||
unité: €/an
|
||||
description: |
|
||||
Indiquez le montant de la part de CSG déductible et de CFP que vous avez payé en 2020 (peu importe l’année à laquelle ces contributions se rapportent).
|
||||
aide déclaration revenu indépendant 2020 . cotisations payées version simple . cotisations sociales:
|
||||
question: Quel est le montant de vos cotisations sociales payées cette année ?
|
||||
unité: €/an
|
||||
description: |
|
||||
Indiquez le montant des cotisations sociales aux régimes obligatoires (maladie-maternité, vieillesse, invalidité-décès, famille) que vous avez payées en 2020 (peu importe l’année à laquelle ces cotisations se rapportent).
|
||||
|
||||
aide déclaration revenu indépendant 2020 . régime d'imposition: oui
|
||||
aide déclaration revenu indépendant 2020 . régime d'imposition . déclaration contrôlée:
|
||||
titre: régime de la déclaration contrôlée
|
||||
applicable si: entreprise . activité . libérale
|
||||
non applicable si:
|
||||
une de ces conditions:
|
||||
- entreprise . imposition . IS
|
||||
- entreprise . imposition . IR . micro-fiscal
|
||||
valeur: oui
|
||||
description: |
|
||||
Si vous devez déclarer des bénéfices non commerciaux (BNC), vous pouvez être soumis au régime de la déclaration contrôlée ou au régime micro-BNC ; cela dépend du montant de vos bénéfices.
|
||||
|
||||
Le régime de la déclaration contrôlée est le régime obligatoire si les bénéfices non commerciaux à déclarer sont supérieurs à 70 000 € HT. Si les bénéfices sont inférieurs, les professionnels dépendent du régime micro-BNC mais peuvent tout de même opter pour le régime de la déclaration contrôlée.
|
||||
|
||||
Dans le cas de la déclaration contrôlée, le contribuable est imposé sur les bénéfices effectivement réalisés. Dans le cas du régime micro-BNC, un abattement forfaitaire de 34 % est appliqué automatiquement après déclaration du chiffre d’affaires.
|
||||
|
||||
aide déclaration revenu indépendant 2020 . régime d'imposition . réel:
|
||||
description: |
|
||||
Le régime simplifié d'imposition (RSI) et le régime réel normal (RN) s'appliquent aux bénéfices réalisés au cours de l'exercice et à la taxe sur la valeur ajoutée (TVA).
|
||||
|
||||
C'est principalement le détail demandé lors du remplissage des obligations comptables qui différencie ces 2 régimes d'imposition.
|
||||
|
||||
question: Quel est le régime d'imposition applicable à l'exercice ?
|
||||
non applicable si:
|
||||
une de ces conditions:
|
||||
- entreprise . imposition . IR . micro-fiscal
|
||||
- déclaration contrôlée
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
possibilités:
|
||||
- simplifié
|
||||
- normal
|
||||
|
||||
aide déclaration revenu indépendant 2020 . régime d'imposition . réel . simplifié:
|
||||
description: |
|
||||
Les entreprises soumises au régime d'imposition réel simplifié doivent tenir une comptabilité classique : un bilan, un compte de résultat et des annexes. Des dispositions particulières s’appliquent pour alléger vos obligations comptables :
|
||||
|
||||
- le livre journal n’enregistre journellement que les recettes encaissées et les dépenses payées
|
||||
- les créances et les dettes sont constatées à la clôture de l’exercice
|
||||
- le bilan fourni à l’administration fiscale est un bilan simplifié
|
||||
|
||||
titre: régime réel simplifié
|
||||
acronyme: RSI
|
||||
valeur: réel = 'simplifié'
|
||||
|
||||
aide déclaration revenu indépendant 2020 . régime d'imposition . réel . normal:
|
||||
description: |
|
||||
La comptabilité de l’entreprise soumise au régime réel normal doit être plus précise que pour le régime réel simplifié :
|
||||
|
||||
- Elle doit s'appuyer sur des pièces justificatives.
|
||||
- L'entreprise est obligée de procéder à l'enregistrement comptable chronologique des mouvements affectant son patrimoine.
|
||||
- L'entreprise doit procéder à un inventaire au moins une fois tous les 12 mois.
|
||||
- L'entreprise doit établir des comptes annuels comprenant un bilan, un compte de résultat et des annexes.
|
||||
- L'entreprise doit tenir un livre journal et un grand livre.
|
||||
|
||||
titre: régime réel normal
|
||||
acronyme: RN
|
||||
valeur: réel = 'normal'
|
||||
|
||||
aide déclaration revenu indépendant 2020 . nature de l'activité:
|
||||
remplace: entreprise . activité
|
||||
remplace:
|
||||
- entreprise . activité
|
||||
- règle: entreprise . activité . libérale
|
||||
par: libérale
|
||||
- règle: entreprise . activité . artisanale
|
||||
par: artisanale
|
||||
- règle: entreprise . activité . commerciale
|
||||
par: commerciale
|
||||
question: Quelle est la nature de votre activité ?
|
||||
par défaut: "'commerciale'"
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
possibilités:
|
||||
- artisanale
|
||||
- commerciale ou industrielle
|
||||
- commerciale
|
||||
- libérale
|
||||
références:
|
||||
Vérifier la nature de son activité: https://bpifrance-creation.fr/encyclopedie/trouver-proteger-tester-son-idee/verifiertester-son-idee/verifier-nature-son-activite
|
||||
Comment déterminer la nature de l'activité d'une entreprise ?: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32887
|
||||
|
||||
aide déclaration revenu indépendant 2020 . ACRE:
|
||||
remplace: entreprise . ACRE
|
||||
description: >-
|
||||
L'aide à la création ou à la reprise d'une entreprise (Acre) consiste en une
|
||||
exonération partielle de charges sociales, dite exonération de début
|
||||
d'activité pendant 12 mois.
|
||||
d'activité pendant 12 mois.
|
||||
|
||||
|
||||
Elle est automatique pour les sociétés et les entreprises individuelles
|
||||
|
@ -49,7 +255,7 @@ aide déclaration revenu indépendant 2020 . ACRE:
|
|||
|
||||
- Si le revenu est inférieur à 75% du PASS l’exonération est totale.
|
||||
|
||||
- Si le revenu est compris entre 75% et 100% du PASS l’exonération est dégressive.
|
||||
- Si le revenu est compris entre 75% et 100% du PASS l’exonération est dégressive.
|
||||
|
||||
- Si le revenu est supérieur à 100% du PASS l’exonération est nulle.
|
||||
|
||||
|
@ -59,22 +265,20 @@ aide déclaration revenu indépendant 2020 . ACRE:
|
|||
|
||||
aide déclaration revenu indépendant 2020 . nature de l'activité . libérale:
|
||||
rend non applicable: dirigeant . indépendant . PL . CIPAV
|
||||
remplace: entreprise . activité . libérale
|
||||
formule: nature de l'activité = 'libérale'
|
||||
titre: Libérale rattachée au régime général
|
||||
description: |
|
||||
Ce sont les professions "intellectuelles", qui ne sont rattachée à aucune
|
||||
caisse spécifique de retraite.
|
||||
|
||||
C'est le cas de toutes les professions libérale non reglementée depuis le
|
||||
C'est le cas de toutes les professions libérale non réglementées depuis le
|
||||
1er janvier 2020.
|
||||
|
||||
références:
|
||||
fiche Wikipedia: https://fr.m.wikipedia.org/wiki/Profession_libérale
|
||||
|
||||
aide déclaration revenu indépendant 2020 . nature de l'activité . commerciale ou industrielle:
|
||||
remplace: entreprise . activité . commerciale ou industrielle
|
||||
formule: nature de l'activité = 'commerciale ou industrielle'
|
||||
aide déclaration revenu indépendant 2020 . nature de l'activité . commerciale:
|
||||
formule: nature de l'activité = 'commerciale'
|
||||
description: |
|
||||
### Activité commerciale
|
||||
- Achats de biens pour leur revente en l'état (commerce en gros ou de détail)
|
||||
|
@ -86,7 +290,6 @@ aide déclaration revenu indépendant 2020 . nature de l'activité . commerciale
|
|||
|
||||
aide déclaration revenu indépendant 2020 . nature de l'activité . artisanale:
|
||||
formule: nature de l'activité = 'artisanale'
|
||||
remplace: entreprise . activité . artisanale
|
||||
description: |
|
||||
C'est une activité de service, de production, de transformation, ou de réparation exercée par un professionnel qualifié, et qui nécessite des compétences et un savoir-faire spécifiques.
|
||||
|
||||
|
@ -116,49 +319,585 @@ aide déclaration revenu indépendant 2020 . période:
|
|||
- règle: période . fin d'année
|
||||
par: 31/12/2020
|
||||
|
||||
aide déclaration revenu indépendant 2020 . revenu net fiscal:
|
||||
titre: revenu net fiscal
|
||||
résumé: avant déduction des charges sociales et exonérations fiscales [A]
|
||||
unité: €/an
|
||||
formule: dirigeant . rémunération totale
|
||||
aide déclaration revenu indépendant 2020 . réduction covid:
|
||||
titre: Réduction de cotisation Covid
|
||||
remplace:
|
||||
- règle: dirigeant . indépendant . cotisations et contributions . cotisations
|
||||
par:
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . cotisations
|
||||
abattement: réduction covid . part cotisations
|
||||
- règle: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible
|
||||
par:
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible
|
||||
abattement: réduction covid . part CSG . non déductible
|
||||
- règle: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
par:
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
abattement: réduction covid . part CSG . déductible
|
||||
description: |
|
||||
Dans le cadre de la crise sanitaire, le Gouvernement a mis en œuvre plusieurs mesures exceptionnelles concernant les cotisations et contributions sociales des travailleurs indépendants affectés par la crise du coronavirus avec :
|
||||
|
||||
aide déclaration revenu indépendant 2020 . CSG déductible:
|
||||
- un premier dispositif de réduction des cotisations et contributions sociales prévu par la 3ème loi de finance rectificative (LFR3) pour 2020(1) dans le cadre de la première période d’état d’urgence sanitaire du printemps 2020,
|
||||
- un second dispositif de réduction prévu par la loi de financement de la sécurité sociale (LFSS) pour 2021 (2) dans le cadre de la seconde période d’état d’urgence sanitaire de l’automne 2020.
|
||||
|
||||
références:
|
||||
(1) Décret n° 2020-1103 du 1er septembre 2020: https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000042297236/
|
||||
(2) Décret 2021-75 du 27 janvier 2021: https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000043070140
|
||||
|
||||
question: Remplissez-vous les conditions pour bénéficier de la réduction de cotisations sociales liées à la crise du Covid-19 ?
|
||||
par défaut: non
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . montant:
|
||||
titre: Réduction Covid
|
||||
formule:
|
||||
somme:
|
||||
- printemps 2020
|
||||
- automne 2020
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . conjoint collaborateur:
|
||||
applicable si: dirigeant . indépendant . conjoint collaborateur
|
||||
remplace:
|
||||
règle: dirigeant . indépendant . conjoint collaborateur . cotisations
|
||||
par:
|
||||
valeur: dirigeant . indépendant . conjoint collaborateur . cotisations
|
||||
abattement: réduction covid . conjoint collaborateur
|
||||
valeur: montant
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . total:
|
||||
titre: Réduction Covid
|
||||
description: Intégrée dans le montant des cotisations affiché ci-dessus
|
||||
somme:
|
||||
- montant
|
||||
- conjoint collaborateur
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . part cotisations:
|
||||
titre: Part réduction Covid sur cotisations (hors CSG/CRDS)
|
||||
arrondi: oui
|
||||
résoudre la référence circulaire: oui
|
||||
produit:
|
||||
assiette: montant
|
||||
taux: pourcentage cotisations
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . pourcentage cotisations:
|
||||
unité: '%'
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . cotisations / (dirigeant . indépendant . cotisations et contributions . cotisations + dirigeant . indépendant . cotisations et contributions . CSG et CRDS)
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . part CSG:
|
||||
titre: Part réduction Covid sur CSG
|
||||
valeur: montant - part cotisations
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . part CSG . déductible:
|
||||
titre: Part réduction Covid sur CSG/CRDS déductible
|
||||
produit:
|
||||
assiette: part CSG
|
||||
taux: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible . taux / taux CSG
|
||||
arrondi: oui
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . part CSG . non déductible:
|
||||
titre: Part réduction Covid sur CSG/CRDS non déductible
|
||||
valeur: part CSG - part CSG . déductible
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . taux CSG:
|
||||
unité: '%'
|
||||
valeur:
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible . taux
|
||||
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible . taux
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . montant . printemps 2020:
|
||||
applicable si: éligible aide printemps 2020
|
||||
formule:
|
||||
variations:
|
||||
- si: secteur d'activité = 'S2'
|
||||
alors: 1800 €/an
|
||||
- sinon: 2400 €/an
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . montant . automne 2020:
|
||||
applicable si: éligible aide automne 2020
|
||||
formule: nombre de mois éligibles * 600 €/an/mois éligibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité:
|
||||
question: |
|
||||
De quel secteur votre activité principale relève-t'elle ?
|
||||
# Pas d'inéligibilité explicite des PL réglementés à ce dispositif, mais il
|
||||
# apparaît que les métiers concernés (médecins, avocats...) sont incompatibles
|
||||
# avec les secteurs d'activités concernés par l'aide (hôtels, restaurants...)
|
||||
description: |
|
||||
Les conditions d’éligibilité aux aides « Covid » dépendent du secteur d’activité
|
||||
dont relève l’activité principale.
|
||||
|
||||
Les hôtels, restaurants, bars, etc. sont dans
|
||||
la catégorie dite "S1" et ont le droit aux aides sans autres conditions.
|
||||
|
||||
Les secteurs dont l'activité dépendent de celles du "secteur 1" peuvent
|
||||
aussi bénéficier des aides à condition d'avoir eu une baisse de chiffre
|
||||
d'affaires significative pendant le confinement.
|
||||
|
||||
Enfin les secteurs dits "S2" sont ceux impliquant l'accueil du public, et
|
||||
sont éligibles aux aides à condition d'avoir subi une fermeture
|
||||
administrative.
|
||||
|
||||
Les modalités sont précisées sur le site de l'Urssaf.
|
||||
références:
|
||||
Liste détaillée des secteurs (pdf): https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/liste-secteurs-pour-infographie.pdf
|
||||
Présentation du dispositif: https://www.urssaf.fr/portail/home/actualites/toute-lactualite-independant/dispositifs-de-reduction-des-cot.html
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
possibilités:
|
||||
- S1
|
||||
- S1-bis
|
||||
- S2
|
||||
par défaut: non
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S1:
|
||||
titre: Secteur dit S1
|
||||
description: |
|
||||
Secteurs du tourisme, de l’hôtellerie, de la restauration, du sport, de la culture, du transport aérien et de l’événementiel.
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S1-bis:
|
||||
titre: Secteur dit S1 bis
|
||||
description: |
|
||||
Secteurs dont l’activité dépend de celle des secteurs 1 et qui ont subi une très forte baisse de leur chiffre d’affaires.
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . secteur d'activité . S2:
|
||||
titre: Secteur dit S2
|
||||
description: Autres secteurs d’activité qui ont fait l’objet d’une interdiction affectant de manière prépondérante la poursuite de leur activité.
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . éligible aide printemps 2020:
|
||||
applicable si: secteur d'activité
|
||||
question: Êtes-vous éligibles au dispositif de réduction prévu au titre de la première vague de la crise sanitaire du printemps 2020 ?
|
||||
par défaut: non
|
||||
description: |
|
||||
Les conditions d’éligibilité à la réduction au titre de la première période d’état d’urgence sanitaire du printemps 2020 dépendent de votre secteur d’activité :
|
||||
|
||||
### Secteur S1
|
||||
|
||||
Activité principale exercée relevant des secteurs du tourisme, de l’hôtellerie, de la restauration, du sport, de la culture, du transport aérien et de l’événementiel (Voir liste détaillée des activités relevant du secteur S1).
|
||||
|
||||
Votre activité doit avoir débuté avant le 1er juillet 2020.
|
||||
|
||||
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 15 mars 2020.
|
||||
|
||||
### Secteur S1 bis
|
||||
|
||||
Activité principale exercée dépendant de celles du secteur S1 (Voir liste détaillée des activités relevant du secteur S1 bis) et ayant subi une forte baisse du chiffre d’affaires à savoir :
|
||||
|
||||
- Soit une baisse de chiffre d’affaires d’au moins 80% durant la période comprise entre le 15 mars et le 15 mai 2020 par rapport à la même période l’année précédente (cas 1) ;
|
||||
ou, par rapport au chiffre d’affaires mensuel moyen de l’année 2019 ramené sur deux mois (cas 2) ;
|
||||
ou, pour les entreprises créées après le 15 mars 2019 et avant le 10 mars 2020, par rapport au montant moyen calculé sur deux mois du chiffre d’affaires réalisé entre la date de création de l’entreprise et le 15 mars 2020 (cas 2 bis).
|
||||
|
||||
- Soit à une baisse de chiffre d’affaires durant la période comprise entre le 15 mars et le 15 mai 2020 par rapport à la même période l’année précédente qui représente au moins 30 % du chiffre d’affaires de l’année 2019 (cas 3).
|
||||
ou, pour les entreprises créées entre le 1er et le 14 mars 2019, une baisse du chiffre d’affaires réalisé entre la date de création de l’entreprise et le 31 décembre 2019 ramené sur 12 mois (cas 3 bis).
|
||||
|
||||
Votre activité doit avoir débuté avant le 1er juillet 2020.
|
||||
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 15 mars 2020.
|
||||
|
||||
### Secteur S2
|
||||
|
||||
Activité principale exercée dans un secteur autre que S1 et S1 bis impliquant l’accueil du public et interrompue en application du décret n° 2020-293 du 23 mars 2020, à l’exclusion des fermetures volontaires.
|
||||
|
||||
Votre activité doit avoir débuté avant le 1er juin 2020.
|
||||
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 15 mars 2020.
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . éligible aide automne 2020:
|
||||
applicable si: secteur d'activité
|
||||
question: Êtes-vous éligibles au dispositif de réduction prévu au titre de la première vague de la crise sanitaire de l'automne 2020 ?
|
||||
par défaut: non
|
||||
description: |
|
||||
Les conditions d’éligibilité à la réduction au titre de la seconde période d’état d’urgence sanitaire de l’automne 2020 s’évaluent mois par mois et dépendent de votre secteur d’activité.
|
||||
|
||||
Vous devez également préciser le nombre de mois où vous remplissez les conditions d’éligibilité.
|
||||
|
||||
### Secteur dit S1
|
||||
Activité principale exercée relevant des secteurs du tourisme, de l’hôtellerie, de la restauration, du sport, de la culture, du transport aérien et de l’événementiel
|
||||
|
||||
Mois concerné | Conditions d'éligibilité
|
||||
--------------|--------------------------
|
||||
Octobre 2020 | Activité exercée dans une zone d’application des mesures de couvre-feu Et avoir fait l’objet d’une mesure d’interdiction d’accueil du public **OU** Activité exercée dans une zone d’application des mesures de couvre-feu Et avoir subi une forte baisse du chiffre d’affaires mensuel(ca)
|
||||
Novembre 2020 à Mars 2021 | Avoir fait l’objet d’une mesure d’interdiction d’accueil du public **OU** Avoir subi une forte baisse du chiffre d’affaires mensuel(ca)
|
||||
|
||||
_(ca) Condition de baisse de chiffre d'affaire:_
|
||||
|
||||
_Vous devez avoir subi une baisse d’au moins 50% du chiffre d’affaires mensuel par rapport au même mois de l’année précédente, ou si vous le souhaitez par rapport au chiffre d’affaires mensuel moyen de l’année 2019, ou, pour les entreprises créées en 2020, par rapport au montant mensuel moyen du chiffre d’affaires réalisé entre la date de création de l’entreprise et le 31 août 2020._
|
||||
|
||||
_Cette condition est également satisfaite lorsque la baisse de chiffre d’affaires mensuel par rapport à la même période de l’année précédente représente au moins 15% du chiffre d’affaires de l’année 2019, ou, pour les entreprises créées en 2019, par rapport au chiffre d’affaires de l’année 2019 ramené sur 12 mois._
|
||||
|
||||
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 17 octobre 2020.
|
||||
|
||||
Bon à savoir : Les activités de livraison, de retrait de commande ou de vente à emporter ne sont pas prises en compte pour apprécier le respect de la condition d’interdiction d’accueil du public.
|
||||
|
||||
### Secteur dit S1 bis
|
||||
Activité principale exercée dépendant de celles du secteur S1
|
||||
|
||||
Mois concerné | Conditions d'éligibilité
|
||||
--------------|--------------------------
|
||||
Octobre 2020 | Avoir fait l’objet d’une mesure d’interdiction d’accueil du public **OU** Avoir subi une forte baisse du chiffre d’affaires mensuel(ca)
|
||||
|
||||
_(ca) Condition de baisse de chiffre d'affaire:_
|
||||
|
||||
_Vous devez avoir subi une baisse d’au moins 50% du chiffre d’affaires mensuel par rapport au même mois de l’année précédente, ou si vous le souhaitez par rapport au chiffre d’affaires mensuel moyen de l’année 2019, ou, pour les entreprises créées en 2020, par rapport au montant mensuel moyen du chiffre d’affaires réalisé entre la date de création de l’entreprise et le 31 août 2020._
|
||||
|
||||
_Cette condition est également satisfaite lorsque la baisse de chiffre d’affaires mensuel par rapport à la même période de l’année précédente représente au moins 15% du chiffre d’affaires de l’année 2019, ou, pour les entreprises créées en 2019, par rapport au chiffre d’affaires de l’année 2019 ramené sur 12 mois._
|
||||
|
||||
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 17 octobre 2020.
|
||||
|
||||
Bon à savoir : Les activités de livraison, de retrait de commande ou de vente à emporter ne sont pas prises en compte pour apprécier le respect de la condition d’interdiction d’accueil du public.
|
||||
|
||||
### Secteur dit S2
|
||||
Activité principale exercée dans un secteur autre que S1 et S1 bis
|
||||
|
||||
- **Mois concerné** : novembre 2020, février 2021, mars 2021
|
||||
- **Conditions d'éligibilité**: Avoir fait l’objet d’une mesure d’interdiction affectant de manière prépondérante la poursuite de l’activité, en application du décret n° 2020-1310 du 29 octobre 2020
|
||||
|
||||
Si vous avez cessé votre activité, la cessation doit être postérieure ou égale au 30 octobre 2020.
|
||||
|
||||
Bon à savoir : Les activités de livraison, de retrait de commande ou de vente à emporter ne sont pas prises en compte pour apprécier le respect de la condition d’interdiction.
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles:
|
||||
formule:
|
||||
somme:
|
||||
- S1 et S1bis
|
||||
- S2
|
||||
arrondi: oui
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles . S1 et S1bis:
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- éligible aide automne 2020
|
||||
- une de ces conditions:
|
||||
- secteur d'activité = 'S1'
|
||||
- secteur d'activité = 'S1-bis'
|
||||
question: |
|
||||
Précisez le nombre de mois entre octobre 2020* et mars 2021 durant lesquels vous avez subi une interdiction d’accueil du public ou une baisse de 50% de votre chiffre d’affaires
|
||||
description: |
|
||||
* Pour octobre 2020, votre activité devait également être située dans une zone d’application des mesures de couvre-feu
|
||||
unité: mois éligibles
|
||||
plafond: 6 mois éligibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . réduction covid . nombre de mois éligibles . S2:
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- éligible aide automne 2020
|
||||
- secteur d'activité = 'S2'
|
||||
question: |
|
||||
Précisez le nombre de mois (novembre 2020 et/ou février 2021 et/ou mars 2021) durant lesquels vous avez fait l’objet d’une mesure d’interdiction affectant de manière prépondérante la poursuite de votre activité
|
||||
unité: mois éligibles
|
||||
plafond: 3 mois éligibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations obligatoires déductibles:
|
||||
description: Cotisations obligatoires déductibles, utile pour calculer l'assiette de la CSG/CRDS
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . cotisations
|
||||
- dirigeant . indépendant . conjoint collaborateur . cotisations
|
||||
|
||||
aide déclaration revenu indépendant 2020 . rémunération déductible:
|
||||
variations:
|
||||
- si: entreprise . imposition . IS
|
||||
alors: dirigeant . rémunération . nette
|
||||
- sinon: 0€
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033:
|
||||
titre: formulaire 2033-SD
|
||||
applicable si: régime d'imposition . réel . simplifié
|
||||
valeur: oui
|
||||
résumé: Liasse fiscale du régime réel simplifié
|
||||
référence:
|
||||
formulaire: https://www.impots.gouv.fr/portail/files/formulaires/2033-sd/2021/2033-sd_3330.pdf
|
||||
notice: https://www.impots.gouv.fr/portail/files/formulaires/2033-sd/2021/2033-sd_3498.pdf
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 250:
|
||||
résumé: Rémunérations du personnel (+)
|
||||
valeur: rémunération déductible
|
||||
description: |
|
||||
Si votre entreprise emploie des salarié, ajoutez à ce montant le total des rémunération brute versée durant l'exercice
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 252:
|
||||
résumé: Charges sociales (+)
|
||||
valeur: dirigeant . indépendant . cotisations et contributions
|
||||
description: |
|
||||
Si votre entreprise emploie des salarié, ajoutez à ce montant le total des cotisations patronales payées durant l'exercice
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 324:
|
||||
résumé: Impôts et taxes non déductibles
|
||||
applicable si: entreprise . imposition . IR
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 330:
|
||||
résumé: Divers à réintégrer (+)
|
||||
description: Réintégrer également les montants spécifiés [page 8 de la notice dédiée](https://www.impots.gouv.fr/portail/files/formulaires/2033-sd/2019/2033-sd_2570.pdf#page=8)
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- entreprise . imposition . IR
|
||||
- dirigeant . indépendant . cotisations facultatives . non déductibles > 0
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . non déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 381:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Primes et cotisations complémentaires facultatives
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . total
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 325:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Dont montant déductible des cotisations facultatives versées en application du I de l'article 154 bis du CGI dont cotisations facultatives Madelin (I de l’art. 154 bis du CGI)
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 327:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Dont cotisations facultatives aux nouveaux plans d'épargne retraite
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . PER
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 380:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Cotisations personnelles obligatoires de l'exploitant
|
||||
valeur: dirigeant . indépendant . cotisations et contributions
|
||||
abattement: dirigeant . indépendant . cotisations facultatives . total
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2033 . rubrique 326:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Dont montant déductible des cotisations sociales obligatoires hors CSG-CRDS
|
||||
valeur: cotisations obligatoires déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050:
|
||||
titre: formulaire 2052-SD et 2053-SD
|
||||
applicable si: régime d'imposition . réel . normal
|
||||
valeur: oui
|
||||
résumé: Liasse fiscale du régime réel normal
|
||||
référence:
|
||||
formulaire: https://www.impots.gouv.fr/portail/files/formulaires/2050-liasse/2021/2050-liasse_3391.pdf
|
||||
notice: https://www.impots.gouv.fr/portail/files/formulaires/2032-not-sd/2020/2032-not-sd_2959.pdf
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique FY:
|
||||
résumé: Salaires et traitements (+)
|
||||
valeur: rémunération déductible
|
||||
description: |
|
||||
Si votre entreprise emploie des salarié, ajoutez à ce montant le total des rémunérations et indemnités versée durant l'exercice
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique FZ:
|
||||
résumé: Charges sociales (+)
|
||||
valeur: dirigeant . indépendant . cotisations et contributions
|
||||
description: |
|
||||
Si votre entreprise emploie des salarié, ajoutez à ce montant le total des cotisations patronales payées durant l'exercice, ainsi que toutes les autres charges sociales
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique A2:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Cotisations personnelles de l'exploitant
|
||||
valeur: dirigeant . indépendant . cotisations et contributions
|
||||
abattement: dirigeant . indépendant . cotisations facultatives . total
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique A5:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Dont montant des cotisations sociales obligatoires hors CSG/CRDS
|
||||
valeur: cotisations obligatoires déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique A6:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Primes et cotisations complémentaires personnelles facultatives
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique A7:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Dont cotisations facultatives Madelin
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . contrats madelin
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique A8:
|
||||
applicable si: entreprise . imposition . IR
|
||||
résumé: Dont cotisations facultatives aux nouveaux plans d'épargne retraite
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . PER
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2050 . rubrique WQ:
|
||||
applicable si: entreprise . imposition . IR
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . non déductibles
|
||||
résumé: Réintégrations diverses (+)
|
||||
description: Ajouter toutes les réintégrations listée dans la [page 9 de la notice](https://www.impots.gouv.fr/portail/files/formulaires/2032-not-sd/2020/2032-not-sd_2959.pdf#page=9)
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035:
|
||||
titre: formulaire 2035-A-SD
|
||||
applicable si: régime d'imposition . déclaration contrôlée
|
||||
valeur: oui
|
||||
résumé: Liasse fiscale du régime de la déclaration contrôlée
|
||||
référence:
|
||||
formulaire: https://www.impots.gouv.fr/portail/formulaire/2035-sd/revenus-non-commerciaux-et-assimiles-regime-de-la-declaration-controlee
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035 . rubrique BS:
|
||||
résumé: Autres impôts (+)
|
||||
description: Contribution à la formation professionnelle de l'exploitant et de son conjoint, à ajouter aux autres impôts existants.
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . formation professionnelle
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035 . rubrique BV:
|
||||
résumé: Contribution sociale généralisée déductible
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035 . rubrique BK:
|
||||
résumé: Charges sociales personnelles
|
||||
somme:
|
||||
- cotisations obligatoires déductibles
|
||||
- dirigeant . indépendant . cotisations facultatives . déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035 . rubrique BT:
|
||||
résumé: Dont obligatoires
|
||||
valeur: cotisations obligatoires déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035 . rubrique BZ:
|
||||
résumé: Dont cotisations facultatives Madelin
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . contrats madelin
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2035 . rubrique BU:
|
||||
résumé: Dont facultatives aux nouveaux plans d’épargne retraite
|
||||
valeur: dirigeant . indépendant . cotisations facultatives . PER
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042:
|
||||
valeur: oui
|
||||
résumé: Déclaration des revenus
|
||||
référence:
|
||||
formulaire: https://www.impots.gouv.fr/portail/formulaire/2042/declaration-des-revenus
|
||||
notice fusion déclaration sociale/fiscale: https://www.impots.gouv.fr/portail/www2/fichiers/documentation/brochure/ir_2021/pdf_som/11-bis-decla_fusion_fisc_185a195.pdf
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 . rubrique 1GB:
|
||||
titre: rubrique 1GB / 1HB
|
||||
applicable si: entreprise . imposition . IS
|
||||
résumé: Traitements et salaires
|
||||
valeur: dirigeant . rémunération . imposable
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 . rubrique DSCA:
|
||||
titre: rubrique DSCA / DSCB
|
||||
résumé: Cotisations sociales obligatoires
|
||||
description: |
|
||||
La rubrique DSCA ou DSCB de la déclaration de revenu fiscale et sociale unifiée correspond au montant des cotisations sociales obligatoires déductibles fiscalement (ces cotisations seront soumises à CSG-CRDS). La rubrique DSCA ou DSCB figure dans le volet social « déclaration de revenus des indépendants » de la déclaration 2042.
|
||||
valeur: cotisations obligatoires déductibles
|
||||
références:
|
||||
notice: https://www.impots.gouv.fr/portail/www2/fichiers/documentation/brochure/ir_2021/pdf_som/11-bis-decla_fusion_fisc_185a195.pdf
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 . rubrique DSEA:
|
||||
titre: rubrique DSEA / DSEB
|
||||
résumé: Cotisations facultatives
|
||||
formule: dirigeant . indépendant . cotisations facultatives . déductibles
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 . rubrique DSIA:
|
||||
titre: rubrique DSIA / DSIB
|
||||
résumé: Débit de tabac
|
||||
formule: dirigeant . indépendant . cotisations et contributions . déduction tabac
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 . rubrique DSLA:
|
||||
titre: rubrique DSLA / DSLB
|
||||
résumé: Revenus étrangers imposables mais exonérés de CSG-CRDS
|
||||
formule: dirigeant . indépendant . revenus étrangers . montant
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 PRO C:
|
||||
valeur: oui
|
||||
applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
références:
|
||||
formulaire: https://www.impots.gouv.fr/portail/files/formulaires/2042/2021/2042_3451.pdf
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 PRO C . rubrique 5KO:
|
||||
titre: rubrique 5KO / 5LO
|
||||
résumé: Revenus imposables micro BIC (ventes de marchandises et assimilées)
|
||||
valeur: entreprise . chiffre d'affaires . vente restauration hébergement
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 PRO C . rubrique 5KP:
|
||||
titre: rubrique 5KP / 5LP
|
||||
résumé: Revenus imposables micro BIC (prestations de services et locations meublées)
|
||||
valeur: entreprise . chiffre d'affaires . service BIC
|
||||
|
||||
aide déclaration revenu indépendant 2020 . formulaire 2042 PRO C . rubrique 5HQ:
|
||||
titre: rubrique 5HQ / 5IQ
|
||||
résumé: Régime déclaratif spécial ou micro BNC (recettes brutes)
|
||||
valeur: entreprise . chiffre d'affaires . service BNC
|
||||
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire:
|
||||
applicable si: comptabilité . engagement
|
||||
non applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
valeur: oui
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . réduction Covid:
|
||||
description: La réduction de cotisation applicable dans le cas du dispositif Covid
|
||||
valeur: réduction covid . total
|
||||
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . rémunération totale:
|
||||
titre: Total rémunération dirigeant
|
||||
résumé: '[A]'
|
||||
description: La rémunération "superbrute" du dirigeant, incluant toutes les cotisations et contributions sociales.
|
||||
valeur: dirigeant . rémunération . totale
|
||||
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . cotisations déductibles:
|
||||
résumé: '[C1]'
|
||||
description: "Cotisations et contributions sociales déductibles pour le calcul de l'assiette sociale"
|
||||
somme:
|
||||
- cotisations obligatoires déductibles
|
||||
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
- dirigeant . indépendant . cotisations et contributions . formation professionnelle
|
||||
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . cotisations non déductibles:
|
||||
résumé: '[C2]'
|
||||
description: Cotisations et contributions sociales non déductibles pour le calcul de l'assiette sociale
|
||||
valeur:
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . CSG et CRDS . non déductible
|
||||
- dirigeant . indépendant . cotisations facultatives . total
|
||||
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . assiette sociale:
|
||||
résumé: '[A - C1]'
|
||||
description: Assiette utilisée pour le calcul des cotisations sociales.
|
||||
valeur: dirigeant . indépendant . assiette des cotisations
|
||||
|
||||
aide déclaration revenu indépendant 2020 . informations résultat par formulaire . rémunération nette:
|
||||
résumé: '[A - C1 - C2]'
|
||||
description: Le revenu net du dirigeant avant impôt sur le revenu. C'est la rémunération effectivement versée.
|
||||
valeur: dirigeant . rémunération . nette
|
||||
|
||||
aide déclaration revenu indépendant 2020 . résultat simple . revenu net fiscal:
|
||||
non applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
|
||||
titre: revenu net fiscal
|
||||
résumé: '[A]'
|
||||
description: Résultat avant déduction des charges sociales et exonérations fiscales
|
||||
valeur: dirigeant . rémunération . totale
|
||||
|
||||
aide déclaration revenu indépendant 2020 . résultat simple . cotisations obligatoires:
|
||||
titre: Cotisations sociales obligatoires déductibles
|
||||
résumé: '[C]'
|
||||
description: |
|
||||
À reporter dans :
|
||||
- **la case DSCA/DSCB** dans le formulaire de donnée complémentaire à la déclaration de revenus des indépendant (formulaire 2042)
|
||||
- **régime réel simplifié :** la rubrique 326 du formulaire 2033-D-SD
|
||||
- **régime réel normal :** la rubrique A5 du formulaire 2053-SD
|
||||
- **déclaration contrôlée :** la rubrique BT du formulaire 2035-A-SD
|
||||
- **régime micro fiscal :** pas de liasse professionnelle fiscale à souscrire
|
||||
unité: €/an
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . cotisations
|
||||
- dirigeant . indépendant . conjoint collaborateur . cotisations
|
||||
références:
|
||||
Notice impots.gouv.fr: https://www.impots.gouv.fr/portail/www2/fichiers/documentation/brochure/ir_2021/pdf_som/11-bis-decla_fusion_fisc_185a195.pdf
|
||||
|
||||
aide déclaration revenu indépendant 2020 . résultat simple: oui
|
||||
aide déclaration revenu indépendant 2020 . résultat simple . CSG déductible:
|
||||
non applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
titre: CSG déductible
|
||||
résumé: '[B]'
|
||||
formule: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
description: "Montant de la CSG déductible à l'impôt sur le revenu"
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . CSG et CRDS . déductible
|
||||
|
||||
aide déclaration revenu indépendant 2020 . cotisations sociales déductible:
|
||||
titre: cotisations sociales obligatoires déductibles
|
||||
résumé: '[C]'
|
||||
description: >-
|
||||
Montant à reporter dans la case XI de votre déclaration sociale et rubrique
|
||||
326 du formulaire 2033-D-SD (pour le réel simplifié) ou rubrique A5 du
|
||||
formulaire 2053-SD (pour le réel normal) de votre déclaration fiscale.
|
||||
formule:
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . cotisations
|
||||
- dirigeant . indépendant . conjoint collaborateur . cotisations
|
||||
- (- dirigeant . indépendant . cotisations et contributions . exonérations)
|
||||
aide déclaration revenu indépendant 2020 . CFP:
|
||||
résumé: contribution à la formation professionnelle [D]
|
||||
formule: dirigeant . indépendant . cotisations et contributions . formation professionnelle
|
||||
aide déclaration revenu indépendant 2020 . résultat simple . CFP:
|
||||
non applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
résumé: '[D]'
|
||||
description: Contribution à la formation professionnelle
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . formation professionnelle
|
||||
|
||||
aide déclaration revenu indépendant 2020 . total charges sociales déductible:
|
||||
titre: total charges sociales obligatoires déductibles fiscalement
|
||||
aide déclaration revenu indépendant 2020 . résultat simple . total charges sociales déductible:
|
||||
non applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
titre: charges sociales obligatoires déductibles fiscalement
|
||||
résumé: '[B + C + D]'
|
||||
formule:
|
||||
somme:
|
||||
- CSG déductible
|
||||
- CFP
|
||||
- cotisations sociales déductible
|
||||
description: >-
|
||||
Montant à reporter dans la rubrique 252 du formulaire 2033-B-SD (pour le
|
||||
réel simplifié) ou en rubrique FZ du formulaire 2052-SD (pour le réel
|
||||
normal) de votre déclaration fiscale.
|
||||
somme:
|
||||
- CSG déductible
|
||||
- cotisations obligatoires
|
||||
- CFP
|
||||
description: |
|
||||
À reporter dans :
|
||||
- **régime réel simplifié :** la rubrique 252 du formulaire 2033-B-SD
|
||||
- **régime réel normal :** la rubrique FZ du formulaire 2052-SD
|
||||
- **déclaration contrôlée :** la rubrique BK du formulaire 2035-A-SD
|
||||
- **régime micro fiscal :** pas de liasse professionnelle fiscale à souscrire
|
||||
|
||||
aide déclaration revenu indépendant 2020 . assiette sociale:
|
||||
titre: assiette sociale
|
||||
résumé: 'pour information [A - (B + C + D)]'
|
||||
formule:
|
||||
valeur: revenu net fiscal
|
||||
abattement: total charges sociales déductible
|
||||
aide déclaration revenu indépendant 2020 . résultat simple . assiette sociale:
|
||||
non applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
résumé: '[A - (B + C + D)]'
|
||||
description: Assiette utilisée pour le calcul des cotisations sociales
|
||||
valeur: dirigeant . indépendant . assiette des cotisations
|
||||
|
|
|
@ -5,10 +5,10 @@ entreprise:
|
|||
|
||||
entreprise . date de création:
|
||||
question: Quelle est votre date de début d'activité ?
|
||||
par défaut: 01/01/2017
|
||||
par défaut: 01/01/2020
|
||||
description: |
|
||||
La date de début d'activité (ou date de création) est fixée lors de la
|
||||
déclaration de votre entreprise.
|
||||
déclaration de votre entreprise.
|
||||
|
||||
Vous pouvez [renseigner votre entreprise](/gérer), pour préremplir
|
||||
automatiquement cette information.
|
||||
|
@ -24,7 +24,7 @@ entreprise . date de création:
|
|||
entreprise . date de création . contrôle date future:
|
||||
type: notification
|
||||
sévérité: avertissement
|
||||
formule: date de création > 01/2021
|
||||
formule: date de création > 01/2025
|
||||
description: Nous ne pouvons voir aussi loin dans le futur
|
||||
|
||||
entreprise . date de création . contrôle date passée:
|
||||
|
@ -41,9 +41,11 @@ entreprise . durée d'activité:
|
|||
entreprise . durée d'activité . en fin d'année:
|
||||
titre: durée d'activité à la fin de l'année
|
||||
formule:
|
||||
durée:
|
||||
depuis: date de création
|
||||
jusqu'à: période . fin d'année
|
||||
somme:
|
||||
- durée:
|
||||
depuis: date de création
|
||||
jusqu'à: période . fin d'année
|
||||
- 1 jour # Le mécanisme durée n'inclue pas le dernier jour
|
||||
|
||||
entreprise . durée d'activité . en début d'année:
|
||||
titre: durée d'activité au début de l'année
|
||||
|
@ -54,66 +56,62 @@ entreprise . durée d'activité . en début d'année:
|
|||
|
||||
entreprise . chiffre d'affaires:
|
||||
question: Quel est votre chiffre d'affaires envisagé ?
|
||||
|
||||
résumé: Montant total des recettes brutes (hors taxe)
|
||||
unité: €/an
|
||||
variations:
|
||||
- si: dirigeant . auto-entrepreneur
|
||||
alors:
|
||||
inversion numérique:
|
||||
avec:
|
||||
- dirigeant . auto-entrepreneur . net de cotisations
|
||||
- dirigeant . auto-entrepreneur . net après impôt
|
||||
- dirigeant . rémunération totale
|
||||
- sinon:
|
||||
somme:
|
||||
- dirigeant . rémunération totale
|
||||
- charges
|
||||
|
||||
|
||||
|
||||
somme:
|
||||
- dirigeant . rémunération . nette après impôt
|
||||
- dirigeant . rémunération . impôt
|
||||
- dirigeant . rémunération . cotisations
|
||||
- charges
|
||||
- applicable si: entreprise . imposition . IS
|
||||
somme:
|
||||
- imposition . IS . résultat net
|
||||
- imposition . IS . impôt sur les sociétés
|
||||
plancher: 0€/an
|
||||
arrondi: oui
|
||||
identifiant court: ca
|
||||
|
||||
identifiant court: CA
|
||||
|
||||
entreprise . chiffre d'affaires . vente restauration hébergement:
|
||||
titre: Vente de biens, restauration, hébergement (BIC)
|
||||
résumé: Chiffre d'affaires hors taxe
|
||||
question: Quel est le chiffre d'affaires issus de la vente de bien, restauration ou hébergement ?
|
||||
question: Quel est le chiffre d'affaires issu de la vente de biens, restauration ou hébergement ?
|
||||
unité: €/an
|
||||
variations:
|
||||
variations:
|
||||
- si: activité . mixte
|
||||
alors:
|
||||
produit:
|
||||
assiette: chiffre d'affaires
|
||||
produit:
|
||||
assiette: chiffre d'affaires
|
||||
taux: activité . mixte . proportions . vente restauration hébergement
|
||||
- sinon:
|
||||
- sinon:
|
||||
applicable si: activité . service ou vente = 'vente'
|
||||
valeur: chiffre d'affaires
|
||||
arrondi: oui
|
||||
plancher: 0€/an
|
||||
description: |
|
||||
### Vente de biens
|
||||
### Vente de biens
|
||||
Il s’agit du chiffre d'affaires de toutes les opérations comportant
|
||||
transfert de propriété d'un bien corporel, c'est-à-dire un bien ayant une
|
||||
existence matérielle.
|
||||
existence matérielle.
|
||||
|
||||
### Restauration et hébergement
|
||||
Il s’agit du chiffre d'affaires de toutes les opérations de restauration
|
||||
ou hébergement (hors meublé de tourisme classé)
|
||||
ou hébergement
|
||||
|
||||
Ces revenus sont imposable au régime BIC
|
||||
> Note : pour les locations meublées, seules les locations de meublé de tourisme classé et de chambre d’hôte entrent dans cette catégorie hébergement ; les autres locations meublées relèvent de la catégorie « Prestations de service BIC »
|
||||
|
||||
Ces revenus sont imposables dans la catégorie des BIC
|
||||
références:
|
||||
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32919
|
||||
définition vente de bien (impots.gouv): https://www.impots.gouv.fr/portail/professionnel/achatvente-de-biens
|
||||
|
||||
|
||||
entreprise . chiffre d'affaires . service BIC:
|
||||
unité: €/an
|
||||
plancher: 0€/an
|
||||
arrondi: oui
|
||||
résumé: Chiffre d'affaires hors taxe
|
||||
titre: Prestations de service commerciales ou artisanales (BIC)
|
||||
question: Quel est le chiffre d'affaires issus de prestations de service commerciales ou artisanales ?
|
||||
question: Quel est le chiffre d'affaires issu de prestations de service commerciales ou artisanales ?
|
||||
description: |
|
||||
Il s’agit de toute opération ne comportant pas de transfert de propriété de
|
||||
biens corporels (c'est-à-dire ayant une existence matérielle), dont
|
||||
|
@ -123,48 +121,47 @@ entreprise . chiffre d'affaires . service BIC:
|
|||
services qui nécessite plus qu'un ordinateur pour être effectuées.
|
||||
|
||||
**Exemples** : transports, service à la personne, réparation etc.
|
||||
variations:
|
||||
variations:
|
||||
- si: activité . mixte
|
||||
alors:
|
||||
produit:
|
||||
assiette: chiffre d'affaires
|
||||
produit:
|
||||
assiette: chiffre d'affaires
|
||||
taux: activité . mixte . proportions . service BIC
|
||||
- sinon:
|
||||
- sinon:
|
||||
applicable si: activité . service ou vente = 'service'
|
||||
valeur: chiffre d'affaires
|
||||
références:
|
||||
service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32919
|
||||
|
||||
|
||||
|
||||
entreprise . chiffre d'affaires . service BNC:
|
||||
titre: Autres prestations de service et activités libérales (BNC)
|
||||
résumé: Chiffre d'affaires hors taxe
|
||||
question: Quel est le chiffre d'affaires issus de prestations de service libérale ?
|
||||
résumé: Recettes hors taxes
|
||||
question: Quelles sont les recettes issues de l’activité libérale ?
|
||||
arrondi: oui
|
||||
plancher: 0€/an
|
||||
description: |
|
||||
Ce sont toutes les opérations dont l'activité intellectuelle tient
|
||||
un rôle essentiel.
|
||||
un rôle essentiel.
|
||||
|
||||
**Exemples** : conseil, accompagnement, traduction, développement,
|
||||
formation, enseignement, sportif
|
||||
|
||||
Les revenus tirés de ce chiffre d'affaires sont imposable au régime BNC (bénéfices non commerciaux)
|
||||
variations:
|
||||
variations:
|
||||
- si: activité . mixte
|
||||
alors:
|
||||
produit:
|
||||
assiette: chiffre d'affaires
|
||||
produit:
|
||||
assiette: chiffre d'affaires
|
||||
taux: activité . mixte . proportions . service BNC
|
||||
- sinon:
|
||||
- sinon:
|
||||
applicable si: activité = 'libérale'
|
||||
valeur: chiffre d'affaires
|
||||
|
||||
|
||||
références:
|
||||
liste des activités libérales: https://bpifrance-creation.fr/encyclopedie/trouver-proteger-tester-son-idee/verifiertester-son-idee/liste-professions-liberales
|
||||
|
||||
entreprise . chiffre d'affaires . service:
|
||||
titre: Chiffre d'affaires de prestation de service
|
||||
description: |
|
||||
Il s’agit de toute opération ne comportant pas de transfert de propriété de
|
||||
biens corporels (c'est-à-dire ayant une existence matérielle)
|
||||
|
@ -178,28 +175,12 @@ entreprise . chiffre d'affaires . BIC:
|
|||
Le chiffre d'affaires correspondant au revenus imposable au titre des bénéfice industriels et commerciaux (BIC ou micro-BIC).
|
||||
unité: €/an
|
||||
somme:
|
||||
- service BIC
|
||||
- service BIC
|
||||
- vente restauration hébergement
|
||||
|
||||
entreprise . chiffre d'affaires . franchise de TVA dépassée:
|
||||
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.
|
||||
une de ces conditions:
|
||||
- chiffre d'affaires > seuil vente + seuil service
|
||||
- vente restauration hébergement > seuil vente
|
||||
- service > seuil service
|
||||
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:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746
|
||||
entreprise . chiffre d'affaires . franchise de TVA: oui
|
||||
|
||||
entreprise . chiffre d'affaires . franchise de TVA dépassée . seuil vente:
|
||||
entreprise . chiffre d'affaires . franchise de TVA . seuil vente:
|
||||
variations:
|
||||
- si: établissement . localisation . outre-mer . Guadeloupe Réunion Martinique
|
||||
alors: 110000 €/an
|
||||
|
@ -207,7 +188,7 @@ entreprise . chiffre d'affaires . franchise de TVA dépassée . seuil vente:
|
|||
références:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746
|
||||
|
||||
entreprise . chiffre d'affaires . franchise de TVA dépassée . seuil service:
|
||||
entreprise . chiffre d'affaires . franchise de TVA . seuil service:
|
||||
variations:
|
||||
- si: établissement . localisation . outre-mer . Guadeloupe Réunion Martinique
|
||||
alors: 60000 €/an
|
||||
|
@ -217,31 +198,41 @@ entreprise . chiffre d'affaires . franchise de TVA dépassée . seuil service:
|
|||
références:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746
|
||||
|
||||
entreprise . chiffre d'affaires . franchise de TVA dépassée . notification:
|
||||
entreprise . chiffre d'affaires . franchise de TVA . dépassement:
|
||||
type: notification
|
||||
formule: oui
|
||||
formule:
|
||||
une de ces conditions:
|
||||
- chiffre d'affaires > seuil vente + seuil service
|
||||
- vente restauration hébergement > seuil vente
|
||||
- service > seuil service
|
||||
résumé: |
|
||||
Le seuil annuel de chiffre d'affaires pour la franchise de TVA est dépassé.
|
||||
description: |
|
||||
Le seuil annuel de chiffre d'affaires pour la franchise de TVA est dépassé. [En savoir plus](/documentation/entreprise/chiffre-d'affaires/franchise-de-TVA-dépassée)
|
||||
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é.
|
||||
|
||||
entreprise . chiffre d'affaires minimum:
|
||||
identifiant court: entreprise-ca-min
|
||||
description: Le montant minimum des ventes (H.T) à réaliser pour atteindre le seuil de rentabilité.
|
||||
question: Quel est votre chiffre d'affaires minimum envisagé ?
|
||||
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:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F21746
|
||||
|
||||
entreprise . résultat fiscal:
|
||||
unité: €/an
|
||||
formule: chiffre d'affaires
|
||||
|
||||
entreprise . rémunération du dirigeant:
|
||||
description: |
|
||||
C'est la part du chiffre d'affaires après charges qui est allouée à la rémunération du dirigeant. Plus cette part est élevée, plus la rémunération du dirigeant augmente, et plus le bénéfice de l'entreprise diminue.
|
||||
question: Quelle part du chiffre d'affaires après charge est allouée à la rémunération du dirigeant ?
|
||||
par défaut: 100%
|
||||
somme:
|
||||
- chiffre d'affaires
|
||||
- (- charges)
|
||||
- (- charges . dirigeant)
|
||||
|
||||
entreprise . imposition:
|
||||
question: À quel régime d'imposition l'entreprise est-elle soumise ?
|
||||
question: Comment l'entreprise est-elle imposée ?
|
||||
description: |
|
||||
Le créateur d'entreprise peut opter pour l'un des deux régimes d'imposition des bénéfices de son activité :
|
||||
- l'impôt sur le revenu, où les bénéfices sont déclarés sur la déclaration de revenus personnelle et imposés au barème progressif
|
||||
- l'impôt sur les sociétés, où les bénéfices sont déclarés au nom de la société
|
||||
Indiquez si le régime d’imposition des revenus liés à l’activité indépendante relèvent :
|
||||
- de l’impôt sur le revenu : les bénéfices de l’entreprise sont imposés directement auprès du travailleur indépendant, au barème progressif de l’impôt sur le revenu.
|
||||
- de l’impôt sur les sociétés : les bénéfices de l’entreprise sont imposés au nom de la société, au taux de l’impôt sur les sociétés.
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
|
@ -252,50 +243,112 @@ entreprise . imposition:
|
|||
|
||||
entreprise . imposition . IR:
|
||||
valeur: imposition = 'IR'
|
||||
titre: À l'impôt sur le revenu
|
||||
titre: Impôt sur le revenu
|
||||
|
||||
entreprise . imposition . IS:
|
||||
valeur: imposition = 'IS'
|
||||
titre: À l'impôt sur les sociétés
|
||||
entreprise . imposition . IR . micro-fiscal:
|
||||
rend non applicable: dirigeant . indépendant . cotisations facultatives
|
||||
|
||||
entreprise . imposition . IS . notification IS non intégré:
|
||||
type: notification
|
||||
formule:
|
||||
une de ces conditions:
|
||||
- dirigeant . assimilé salarié
|
||||
- dirigeant . indépendant
|
||||
question: Avez-vous opté pour le régime micro-fiscal ?
|
||||
description: |
|
||||
Ce simulateur n'intègre pas l'impôts sur les sociétés ni la fiscalité des
|
||||
dividendes. L'option "Impôt sur les Sociétés" est uniquement utilisée dans
|
||||
le calcul de l'impôt sur le revenu.
|
||||
Avec le régime micro fiscal, les charges déductibles sont estimées forfaitairement,en fonction d’un pourcentage du chiffre d’affaires. Ce pourcentage dépend du type d’activité : 71% pour les activités de vente, restauration et hébergement (location de meublé de tourisme classé et chambre d’hôte), 50% pour les prestations de service commerciales ou artisanales, 34% pour les activités libérales.
|
||||
|
||||
entreprise . bénéfice:
|
||||
titre: Bénéfice de l'exercice
|
||||
résumé: Imposable à l'impôt sur les sociétés
|
||||
formule: chiffre d'affaires - charges dont rémunération dirigeant
|
||||
Cette option permet de simplifier votre comptabilité et peut être avantageuse en termes de revenu imposable et soumis à cotisations et contributions sociales dans le cas où vos charges de fonctionnement sont faibles.
|
||||
par défaut: non
|
||||
|
||||
entreprise . bénéfice . information sur le report de déficit:
|
||||
type: notification
|
||||
formule: bénéfice < 0 €/an
|
||||
# TODO: Support des références dans les notifications
|
||||
entreprise . imposition . IR . micro-fiscal . revenu abattu:
|
||||
remplace: résultat fiscal
|
||||
résoudre la référence circulaire: oui
|
||||
titre: abattement forfaitaire micro-fiscal
|
||||
description: |
|
||||
Les déficits subits au cours d'un exercice peuvent être reportés sur les exercices suivants (report en avant), ou sur le seul exercice précédent (report en arrière).
|
||||
Le micro-entrepreneur est dispensé d'établir une déclaration professionnelle de bénéfices au titre des BNC ou BIC.
|
||||
|
||||
[Plus d'infos sur service-public.fr](https://www.service-public.fr/professionnels-entreprises/vosdroits/F23628)
|
||||
Il lui suffit de porter dans la déclaration complémentaire de revenu (n°2042-C Pro) le montant annuel du chiffre d'affaires brut (BIC) ou des recettes (BNC).
|
||||
somme:
|
||||
- entreprise . chiffre d'affaires . vente restauration hébergement
|
||||
- entreprise . chiffre d'affaires . service BIC
|
||||
- entreprise . chiffre d'affaires . service BNC
|
||||
abattement:
|
||||
produit:
|
||||
composantes:
|
||||
- assiette: entreprise . chiffre d'affaires . vente restauration hébergement
|
||||
taux: 71%
|
||||
- assiette: entreprise . chiffre d'affaires . service BIC
|
||||
taux: 50%
|
||||
- assiette: entreprise . chiffre d'affaires . service BNC
|
||||
taux: 34%
|
||||
plancher:
|
||||
variations:
|
||||
- si: entreprise . activité . mixte
|
||||
alors: 610 €/an
|
||||
- sinon: 305 €/an
|
||||
|
||||
entreprise . résultat net:
|
||||
résumé: Ce qu'il reste après impôt sur les sociétés
|
||||
formule: bénéfice - impôt sur les sociétés
|
||||
entreprise . imposition . IR . micro-fiscal . alerte seuil dépassés:
|
||||
type: notification
|
||||
sévérité: avertissement
|
||||
formule: chiffre d'affaires . seuil micro dépassé
|
||||
description: Le seuil annuel de chiffre d'affaires pour le régime micro-fiscal est dépassé. [En savoir plus](/documentation/entreprise/chiffre-d'affaires/seuil-micro-dépassé)
|
||||
|
||||
entreprise . exercice:
|
||||
entreprise . chiffre d'affaires . seuil micro dépassé:
|
||||
applicable si: imposition . IR
|
||||
description: |
|
||||
Le statut de micro-entreprise s'applique tant que le chiffre d'affaires annuel (effectivement encaissé au cours de l'année civile) ne dépasse pas les seuils du régime fiscal de la micro-entreprise.
|
||||
|
||||
En cas de dépassement **sur deux années consécutives**, l'entreprise bascule automatiquement dans le régime de [l'entreprise individuelle](/simulateurs/indépendant).
|
||||
|
||||
À la fin de la première année d'activité, le CA est proratisé par rapport à la durée d'activité.
|
||||
|
||||
Exemple :
|
||||
> Un contribuable crée une entreprise le 1er août et encaisse des recettes HT de `50 000 €` au cours des cinq mois d'activité de sa première année civile d'exploitation.
|
||||
> Les recettes de cette première année civile sont ajustées *prorata temporis* pour les comparer au plafond :
|
||||
>
|
||||
> `50 000€ x (365/153) = 119 280 €`
|
||||
|
||||
|
||||
Les charges ne sont pas déductibles pour le calcul du plafond (comme pour le calcul des cotisations)
|
||||
|
||||
|
||||
### Multi-activité
|
||||
|
||||
Lorsqu'un entrepreneur exerce 2 activités au sein de sa micro-entreprise, le
|
||||
seuil de chiffre d’affaires à respecter n’est pas pour autant doublé. En
|
||||
effet l'exercice de plusieurs activités avec la même micro-entreprise
|
||||
n’augmente pas les seuils.
|
||||
|
||||
références:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32353
|
||||
Article 50-0 du Code général des impôts: https://www.legifrance.gouv.fr/affichCode.do?idSectionTA=LEGISCTA000006199553&cidTexte=LEGITEXT000006069577
|
||||
Bofip (dépassement micro-bnc): https://bofip.impots.gouv.fr/bofip/4807-PGP.html
|
||||
Bofip (dépassement micro-bic): https://bofip.impots.gouv.fr/bofip/1802-PGP.html
|
||||
autoentrepreneur.urssaf.fr: https://www.autoentrepreneur.urssaf.fr/portail/accueil/une-question/questions-frequentes.html
|
||||
unité: €/an
|
||||
# TODO: les seuils micro sont dupliqués à plusieurs endroits (artiste-auteur .
|
||||
# revenus . BNC . contrôle micro-bnc, tableau de la comparaison de régime,
|
||||
# économie collaborative). Il faudrait référencer la même valeur partout où
|
||||
# elle est utilisée.
|
||||
une de ces conditions:
|
||||
- entreprise . chiffre d'affaires > 176200 €/an
|
||||
- entreprise . chiffre d'affaires . service > 72600 €/an
|
||||
|
||||
entreprise . imposition . IR . information sur le report de déficit:
|
||||
non applicable si: micro-fiscal
|
||||
type: notification
|
||||
formule: résultat fiscal < 0 €/an
|
||||
description: |
|
||||
Lorsque votre résultat fiscal est négatif, ce dernier vient réduire le revenu imposables du foyer fiscal.
|
||||
Un déficit peut être imputé jusqu'à 6 ans après sa réalisation.
|
||||
|
||||
[Voir les règles fiscales détaillées](https://bofip.impots.gouv.fr/bofip/2003-PGP.html/identifiant%3DBOI-BIC-DEF-20-10-20170301)
|
||||
références:
|
||||
bofip: https://bofip.impots.gouv.fr/bofip/2003-PGP.html/identifiant%3DBOI-BIC-DEF-20-10-20170301
|
||||
|
||||
entreprise . exercice: oui
|
||||
entreprise . exercice . début:
|
||||
type: date
|
||||
par défaut: 01/01/2020
|
||||
par défaut: 01/01/2021
|
||||
|
||||
entreprise . exercice . fin:
|
||||
type: date
|
||||
par défaut: 31/12/2020
|
||||
par défaut: 31/12/2021
|
||||
|
||||
entreprise . exercice . durée:
|
||||
titre: durée de l'exercice
|
||||
|
@ -328,11 +381,36 @@ entreprise . exercice . durée maximale:
|
|||
formule: durée >= 24 mois
|
||||
description: La durée maximale d'un exercice comptable est de 24 mois.
|
||||
|
||||
entreprise . impôt sur les sociétés:
|
||||
entreprise . imposition . IS:
|
||||
valeur: imposition = 'IS'
|
||||
titre: Impôt sur les sociétés
|
||||
|
||||
entreprise . imposition . IS . résultat imposable:
|
||||
titre: Résultat de l'exercice
|
||||
résumé: Imposable à l'impôt sur les sociétés
|
||||
valeur: résultat fiscal
|
||||
|
||||
entreprise . imposition . IS . information sur le report de déficit:
|
||||
type: notification
|
||||
formule: résultat imposable < 0 €/an
|
||||
# TODO: Support des références dans les notifications
|
||||
description: |
|
||||
Les déficits subits au cours d'un exercice peuvent être reportés sur les exercices suivants (report en avant), ou sur le seul exercice précédent (report en arrière).
|
||||
|
||||
entreprise . imposition . IS . résultat net:
|
||||
résumé: Après déduction des charges et de l'impôt sur les société
|
||||
somme:
|
||||
- chiffre d'affaires
|
||||
- (- charges)
|
||||
- (- dirigeant . rémunération . totale)
|
||||
- (- impôt sur les sociétés)
|
||||
par défaut: 0€
|
||||
|
||||
entreprise . imposition . IS . impôt sur les sociétés:
|
||||
unité: €/an
|
||||
formule:
|
||||
barème:
|
||||
assiette: bénéfice
|
||||
assiette: résultat imposable
|
||||
multiplicateur: prorata temporis
|
||||
variations:
|
||||
- si: exercice . début >= 01/01/2022
|
||||
|
@ -374,22 +452,22 @@ entreprise . impôt sur les sociétés:
|
|||
Fiche impots.gouv.fr: https://www.impots.gouv.fr/portail/international-professionnel/impot-sur-les-societes
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F23575
|
||||
|
||||
entreprise . impôt sur les sociétés . plafond taux réduit 1:
|
||||
entreprise . imposition . IS . impôt sur les sociétés . plafond taux réduit 1:
|
||||
applicable si: éligible taux réduit
|
||||
valeur: 38120 €/an
|
||||
|
||||
entreprise . impôt sur les sociétés . plafond taux réduit 2:
|
||||
entreprise . imposition . IS . impôt sur les sociétés . plafond taux réduit 2:
|
||||
applicable si: éligible taux réduit
|
||||
valeur: 500000 €/an
|
||||
|
||||
entreprise . impôt sur les sociétés . éligible taux réduit:
|
||||
entreprise . imposition . IS . impôt sur les sociétés . éligible taux réduit:
|
||||
formule:
|
||||
toutes ces conditions:
|
||||
- chiffre d'affaires <= 7630 k€/an * prorata temporis
|
||||
- nom: capital détenu au moins à 75 pourcents par des personnes physiques
|
||||
valeur: oui
|
||||
|
||||
entreprise . impôt sur les sociétés . prorata temporis:
|
||||
entreprise . imposition . IS . impôt sur les sociétés . prorata temporis:
|
||||
description: |
|
||||
Lorsque la durée de l’exercice n'est pas égale à un an, on pro-ratise les
|
||||
plafonds utilisés dans le barème de l'impôt sur les sociétés.
|
||||
|
@ -402,7 +480,7 @@ entreprise . impôt sur les sociétés . prorata temporis:
|
|||
références:
|
||||
Bofip: https://bofip.impots.gouv.fr/bofip/2065-PGP.html/identifiant%3DBOI-IS-LIQ-20-20-20180801
|
||||
|
||||
entreprise . impôt sur les sociétés . contribution sociale:
|
||||
entreprise . imposition . IS . impôt sur les sociétés . contribution sociale:
|
||||
# description: |
|
||||
# La contribution sociale sur les bénéfices est un impôt distinct de l'impôt sur les sociétés. Son montant n'est pas déductible des résultats.
|
||||
|
||||
|
@ -420,14 +498,11 @@ entreprise . impôt sur les sociétés . contribution sociale:
|
|||
références:
|
||||
Bofip: https://bofip.impots.gouv.fr/bofip/3492-PGP.html/identifiant%3DBOI-IS-AUT-10-20-20130318
|
||||
|
||||
entreprise . charges dont rémunération dirigeant:
|
||||
formule: charges + dirigeant . rémunération totale
|
||||
|
||||
entreprise . charges:
|
||||
synonymes:
|
||||
- charges d'exploitation
|
||||
- charges de fonctionnement
|
||||
titre: charges de fonctionnement
|
||||
titre: charges (hors rémunération dirigeant)
|
||||
identifiant court: charges
|
||||
résumé: Toutes les dépenses nécessaires à l'entreprise
|
||||
question: Quelles sont les charges de l'entreprise ?
|
||||
|
@ -442,7 +517,6 @@ entreprise . charges:
|
|||
- achat de matières premières pour une activité de production
|
||||
- achat de produits en vue de leur revente, pour une activité commerciale
|
||||
- frais de repas : le supplément par rapport au coût d'un repas à domicile
|
||||
- les cotisations aux contrats Madelin
|
||||
|
||||
Attention : l'achat d'un ordinateur à 1000€ n'est pas une charge, mais une immobilisation : c'est un bien qui va profiter à l'entreprise pendant plusieurs années. Chaque année, une partie de cette immobilisation est amortie, et cet amortissement déductible peut être intégré dans ce calcul, par exemple 200€ par an pendant 5 ans.
|
||||
|
||||
|
@ -452,11 +526,35 @@ entreprise . charges:
|
|||
Charges déductibles ou non du résultat fiscal d'une entreprise: https://www.service-public.fr/professionnels-entreprises/vosdroits/F31973
|
||||
par défaut: 0 €/an
|
||||
|
||||
entreprise . charges . dirigeant:
|
||||
titre: Charges déductibles dirigeant
|
||||
description: Les montants liés à la rémunération du dirigeant qui sont déductibles d'impôt.
|
||||
variations:
|
||||
- si: imposition . IS
|
||||
alors: dirigeant . rémunération . totale
|
||||
# Note : le cas de dirigeant AS à l'IR n'est pas géré
|
||||
# - si: dirigeant . assimilé salarié
|
||||
# alors: 0€/an
|
||||
- sinon: # TNS dans entreprise à l'IR
|
||||
valeur: dirigeant . indépendant . cotisations et contributions
|
||||
abattement: dirigeant . indépendant . cotisations et contributions . non déductibles
|
||||
|
||||
# on ne prend en compte pour l'instant que le cas entreprise unipersonnelle
|
||||
entreprise . dividendes: bénéficiaire . dividendes . bruts
|
||||
|
||||
# [TODO] [dividendes-indep]
|
||||
entreprise . capital social:
|
||||
description: |
|
||||
Cette valeur doit inclure la valeur des primes d'émission.
|
||||
titre: Capital social
|
||||
question: Quele est le capital social de la société ?
|
||||
unité: €
|
||||
|
||||
entreprise . ACRE:
|
||||
description: >-
|
||||
L'aide à la création ou à la reprise d'une entreprise (Acre) consiste en une
|
||||
exonération partielle de charges sociales, dite exonération de début
|
||||
d'activité pendant 12 mois.
|
||||
d'activité pendant 12 mois.
|
||||
|
||||
|
||||
Elle est **automatique** pour les **sociétés et les entreprises individuelles**
|
||||
|
@ -465,7 +563,7 @@ entreprise . ACRE:
|
|||
|
||||
|
||||
Pour les **auto-entrepreneurs** en revanche, elle doit être demandée et est réservée aux
|
||||
bénéficiaires suivants:
|
||||
bénéficiaires suivants:
|
||||
|
||||
- Les demandeurs d'emplois (indemnisés ou non indemnisés mais ayant au moins 6 mois d’inscription à Pôle Emploi au cours des 18 derniers mois).
|
||||
|
||||
|
@ -586,7 +684,7 @@ entreprise . exonérée de TVA:
|
|||
question: L'entreprise est-elle exonérée de TVA (hors franchise de base) ?
|
||||
par défaut: non
|
||||
description: |
|
||||
Certains types d'entreprises ne sont pas assujetties à la TVA.
|
||||
Certains types d'entreprises ne sont pas assujetties à la TVA.
|
||||
Ces dernières payent la taxe sur les salaires en contrepartie.
|
||||
|
||||
C'est le cas par exemple des établissements bancaires, financiers ou d'assurance.
|
||||
|
@ -607,7 +705,8 @@ entreprise . taxe sur les salaires:
|
|||
une de ces conditions:
|
||||
- association non lucrative
|
||||
- entreprise . exonérée de TVA
|
||||
description: Lorsque le montant de la taxe sur les salaires est inférieur à 1200 €/an, il
|
||||
description:
|
||||
Lorsque le montant de la taxe sur les salaires est inférieur à 1200 €/an, il
|
||||
n'y a pas besoin de faire de déclaration et la taxe n'est pas recouvré.
|
||||
Entre 1200 €/an et 2400 €/an une décote s'applique.
|
||||
formule:
|
||||
|
@ -624,13 +723,13 @@ entreprise . activité:
|
|||
titre: nature de l'activité
|
||||
question: Quelle est la nature de votre activité principale ?
|
||||
description: Votre type d'activité va déterminer une grande partie des calculs de cotisations, contributions et impôt.
|
||||
par défaut: "'commerciale ou industrielle'"
|
||||
par défaut: "'commerciale'"
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
possibilités:
|
||||
- artisanale
|
||||
- commerciale ou industrielle
|
||||
- commerciale
|
||||
- libérale
|
||||
références:
|
||||
Vérifier la nature de son activité: https://bpifrance-creation.fr/encyclopedie/trouver-proteger-tester-son-idee/verifiertester-son-idee/verifier-nature-son-activite
|
||||
|
@ -648,7 +747,7 @@ entreprise . activité . libérale:
|
|||
fiche Wikipedia: https://fr.m.wikipedia.org/wiki/Profession_libérale
|
||||
liste des professions libérales: https://bpifrance-creation.fr/encyclopedie/trouver-proteger-tester-son-idee/verifiertester-son-idee/liste-professions-liberales
|
||||
|
||||
entreprise . activité . commerciale ou industrielle:
|
||||
entreprise . activité . commerciale:
|
||||
description: |
|
||||
### Activité commerciale
|
||||
- Achats de biens pour leur revente en l'état (commerce en gros ou de détail)
|
||||
|
@ -674,7 +773,7 @@ entreprise . activité . service ou vente:
|
|||
applicable si:
|
||||
une de ces conditions:
|
||||
- activité = 'artisanale'
|
||||
- activité = 'commerciale ou industrielle'
|
||||
- activité = 'commerciale'
|
||||
question: Quelle est le type d'activité de l'entreprise ?
|
||||
formule:
|
||||
une possibilité:
|
||||
|
@ -704,50 +803,47 @@ entreprise . activité . service ou vente . service:
|
|||
|
||||
entreprise . activité . mixte:
|
||||
titre: Activités mixtes
|
||||
applicable si: entreprise . imposition . IR . micro-fiscal
|
||||
question: Votre entreprise a-t-elle plusieurs types d'activités ?
|
||||
par défaut: non
|
||||
description: |
|
||||
Il est possible d'avoir plusieurs activités avec des types de revenus
|
||||
différents pour une même entreprise.
|
||||
différents pour une même entreprise.
|
||||
|
||||
Par exemple, une entreprise de plomberie qui facture l'achat et la pose d'un
|
||||
robinet a une partie de son chiffre d'affaires en vente de materiel (le robinet)
|
||||
et une partie en prestation de service (la pose)
|
||||
et une partie en prestation de service (la pose).
|
||||
|
||||
Il existe trois principales familles de revenus au yeux de l'administration
|
||||
fiscale et sociale :
|
||||
Il existe trois catégories avec des taux d’abattement forfaitaire pour frais différents :
|
||||
|
||||
- [Ventes de biens, restauration et hébergement (BIC)](/documentation/entreprise/chiffre-d'affaires/vente-restauration-hébergement)
|
||||
- [Prestation de service commerciale ou artisanale (BIC)](/documentation/entreprise/chiffre-d'affaires/prestations-de-service-BIC)
|
||||
- [Autres prestation de service et activité libérale (BNC)](/documentation/entreprise/chiffre-d'affaires/prestations-de-service-BNC)
|
||||
- [Ventes de biens, restauration et hébergement (BIC)](/documentation/entreprise/chiffre-d'affaires/vente-restauration-hébergement) (abattement de 71%)
|
||||
- [Prestation de service commerciale ou artisanale (BIC)](/documentation/entreprise/chiffre-d'affaires/service-BIC) (abattement de 50%)
|
||||
- [Autres prestation de service et activité libérale (BNC)](/documentation/entreprise/chiffre-d'affaires/service-BNC) (abattement de 34%)
|
||||
|
||||
Si votre entreprise a des activités correspondants à plus d'un type de
|
||||
Si votre entreprise a des activités correspondants à plusieurs catégories de
|
||||
revenus, répondez oui à cette question.
|
||||
|
||||
entreprise . activité . mixte . proportions:
|
||||
description: Part des différentes activités dans le chiffre d'affaires
|
||||
titre: proportion activité
|
||||
unité: '%'
|
||||
somme:
|
||||
somme:
|
||||
- nom: service BIC
|
||||
par défaut:
|
||||
variations:
|
||||
- si: activité = 'libérale'
|
||||
alors: 0
|
||||
- sinon: 50%
|
||||
variations:
|
||||
- si: activité = 'libérale'
|
||||
alors: 0%
|
||||
- sinon: 50%
|
||||
- nom: service BNC
|
||||
par défaut:
|
||||
variations:
|
||||
- si: activité = 'libérale'
|
||||
alors: 2 / 3
|
||||
- sinon: 0
|
||||
variations:
|
||||
- si: activité = 'libérale'
|
||||
alors: 2 / 3
|
||||
- sinon: 0%
|
||||
- nom: vente restauration hébergement
|
||||
par défaut:
|
||||
variations:
|
||||
- si: activité = 'libérale'
|
||||
alors: 1 / 3
|
||||
- sinon: 50%
|
||||
|
||||
variations:
|
||||
- si: activité = 'libérale'
|
||||
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é . libérale réglementée:
|
||||
question: Est-ce une activité libérale réglementée ?
|
||||
|
@ -765,7 +861,7 @@ entreprise . activité . libérale réglementée:
|
|||
Liste des activités libérales: https://bpifrance-creation.fr/encyclopedie/trouver-proteger-tester-son-idee/verifiertester-son-idee/liste-professions-liberales
|
||||
|
||||
entreprise . activité . débit de tabac:
|
||||
applicable si: activité = 'commerciale ou industrielle'
|
||||
applicable si: activité = 'commerciale'
|
||||
question: Exercez-vous une activité de vente de tabac ?
|
||||
par défaut: non
|
||||
|
||||
|
@ -805,7 +901,7 @@ entreprise . activité . débit de tabac:
|
|||
chemin: nom
|
||||
|
||||
établissement . taux du versement transport:
|
||||
unité: "%"
|
||||
unité: '%'
|
||||
formule:
|
||||
synchronisation:
|
||||
data: localisation
|
||||
|
@ -843,74 +939,3 @@ entreprise . activité . débit de tabac:
|
|||
durée:
|
||||
depuis: entreprise . date de création
|
||||
jusqu'à: 31/12/2019
|
||||
|
||||
établissement . secteur d'activité covid:
|
||||
question: |
|
||||
Dispositif de réduction "covid" : votre activité principale relève-t'elle d'un des secteurs suivants ?
|
||||
# Pas d'inigibilité explicite des PL réglementés à ce dispositif, mais il
|
||||
# apparaît que les métiers concernés (médecins, avocats...) sont incompatibles
|
||||
# avec les secteurs d'activités concernés par l'aide (hôtels, restaurants...)
|
||||
non applicable si: entreprise . activité . libérale réglementée
|
||||
description: |
|
||||
Les conditions d'éligibilité aux aides "covid" dépendent du secteur
|
||||
d'activité de l'établissement.
|
||||
|
||||
Les hôtels, restaurants, bars, etc. sont dans
|
||||
la catégorie dite "S1" et ont le droit aux aides sans autre conditions.
|
||||
|
||||
Les secteurs dont l'activité dépendent de celles du "secteur 1" peuvent
|
||||
aussi bénéficier des aides à condition d'avoir eu une baisse de chiffre
|
||||
d'affaires significative pendant le confinement.
|
||||
|
||||
Enfin les secteurs dits "S2" sont ceux impliquant l'accueil du public, et
|
||||
sont éligibles aux aides à condition d'avoir subit une fermeture
|
||||
administrative.
|
||||
|
||||
Les modalités sont précisées sur le site de l'Urssaf.
|
||||
références:
|
||||
Sécu-indépendant: https://www.secu-independants.fr/cpsti/actualites/actualites-nationales/covid-dispositifs-de-reduction-des-cotisations/
|
||||
par défaut: non
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: non
|
||||
possibilités:
|
||||
- S1
|
||||
- S1-bis
|
||||
- S2
|
||||
|
||||
établissement . secteur d'activité covid . S1:
|
||||
titre: Secteur "1" - tourisme, hôtellerie, restauration
|
||||
|
||||
établissement . secteur d'activité covid . S1-bis:
|
||||
titre: Secteur "1 bis" - dont l'activité dépend de celle des secteurs 1
|
||||
|
||||
établissement . secteur d'activité covid . S2:
|
||||
titre: Secteur "2" - activité impliquant l'accueil du public qui a été interrompue
|
||||
|
||||
établissement . secteur d'activité covid . éligible aide:
|
||||
formule:
|
||||
une de ces conditions:
|
||||
- secteur d'activité covid = 'S1'
|
||||
- toutes ces conditions:
|
||||
- secteur d'activité covid = 'S1-bis'
|
||||
- baisse significative de chiffre d'affaires
|
||||
- toutes ces conditions:
|
||||
- secteur d'activité covid = 'S2'
|
||||
- activité interrompue
|
||||
références:
|
||||
Sécu-indépendant: https://www.secu-independants.fr/cpsti/actualites/actualites-nationales/covid-dispositifs-de-reduction-des-cotisations/
|
||||
|
||||
établissement . secteur d'activité covid . baisse significative de chiffre d'affaires:
|
||||
question: |
|
||||
Votre activité a-t-elle subit une baisse d'au moins 80% de chiffre d'affaire
|
||||
entre le 15 mars et le 15 mai 2020 par rapport à l'année précédentes ?
|
||||
par défaut: oui
|
||||
références:
|
||||
Sécu-indépendant: https://www.secu-independants.fr/cpsti/actualites/actualites-nationales/covid-dispositifs-de-reduction-des-cotisations/
|
||||
|
||||
établissement . secteur d'activité covid . activité interrompue:
|
||||
question: |
|
||||
Votre activité a-t'elle été interrompue à cause de l’épidémie de Covid-19 ?
|
||||
par défaut: oui
|
||||
références:
|
||||
Sécu-indépendant: https://www.secu-independants.fr/cpsti/actualites/actualites-nationales/covid-dispositifs-de-reduction-des-cotisations/
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
impôt:
|
||||
valeur: oui
|
||||
icônes: 🏛️
|
||||
description: Cet ensemble de formules est un modèle simplifié de l'impôt sur le revenu.
|
||||
titre: impôts sur le revenu
|
||||
titre: impôt sur le revenu
|
||||
|
||||
impôt . montant:
|
||||
somme:
|
||||
- produit:
|
||||
assiette: revenu imposable
|
||||
taux: taux d'imposition
|
||||
- dirigeant . auto-entrepreneur . impôt . versement libératoire . montant
|
||||
- impôt . dividendes . PFU
|
||||
arrondi: oui
|
||||
unité: €/an
|
||||
titre: Impôt sur le revenu
|
||||
|
||||
impôt . taux d'imposition:
|
||||
formule:
|
||||
|
@ -32,7 +37,9 @@ impôt . méthode de calcul:
|
|||
# applicable si: revenu imposable > 0
|
||||
# bizarrement, cette condition ne semble pas marcher, on se résout donc à utiliser une version plus "hacky" et moins proche de la loi. Elle posera problème le jour où l'on aura a calculer l'impot avec plusieurs sources de revenu
|
||||
non applicable si: dirigeant . auto-entrepreneur . impôt . versement libératoire
|
||||
par défaut: "'taux neutre'"
|
||||
par défaut:
|
||||
nom: par défaut
|
||||
valeur: "'barème standard'"
|
||||
formule:
|
||||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
|
@ -59,6 +66,11 @@ impôt . méthode de calcul . barème standard:
|
|||
description: Le calcul "officiel" de l'impôt, celui sur lequel l'administration fiscal se base pour calculer votre taux d'imposition.
|
||||
formule: impôt . méthode de calcul = 'barème standard'
|
||||
|
||||
impôt . méthode de calcul . PFU:
|
||||
titre: avec prélèvement forfaitaire unique
|
||||
description: Calcul de l'impôt des revenus de capitaux mobiliers avec le prélèvement forfaitaire unique (ou "flat tax")
|
||||
formule: impôt . méthode de calcul = 'PFU'
|
||||
|
||||
impôt . méthode de calcul . prélèvement à la source:
|
||||
formule:
|
||||
une de ces conditions:
|
||||
|
@ -69,10 +81,13 @@ impôt . revenu imposable:
|
|||
description: |
|
||||
C'est le revenu à prendre en compte pour calculer l'impôt avec un taux moyen d'imposition (neutre ou personnalisé).
|
||||
somme:
|
||||
- contrat salarié . rémunération . net imposable
|
||||
- dirigeant . indépendant . résultat fiscal
|
||||
- dirigeant . auto-entrepreneur . impôt . revenu imposable
|
||||
abattement: abattement contrat court
|
||||
- variations:
|
||||
- si: dirigeant
|
||||
alors: dirigeant . rémunération . imposable
|
||||
- sinon:
|
||||
valeur: contrat salarié . rémunération . net imposable
|
||||
abattement: abattement contrat court
|
||||
- bénéficiaire . dividendes . imposables
|
||||
|
||||
impôt . revenu imposable . abattement contrat court:
|
||||
description: Lorsque la durée d'un contrat de travail est inférieure à 2 mois, il est possible d'appliquer un abattement pour diminuer le montant du prélèvement à la source.
|
||||
|
@ -251,28 +266,6 @@ impôt . taux personnalisé:
|
|||
- votre espace personnel [impots.gouv.fr](https://impots.gouv.fr)
|
||||
unité: '%'
|
||||
|
||||
revenus net de cotisations:
|
||||
résumé: Avant impôt
|
||||
unité: €/an
|
||||
question: Quel revenu avant impôt voulez-vous toucher ?
|
||||
description: |
|
||||
Il s'agit du revenu net de cotisations et de charges, avant le paiement de l'impôt sur le revenu.
|
||||
formule:
|
||||
somme:
|
||||
- contrat salarié . rémunération . net
|
||||
- dirigeant . indépendant . revenu net de cotisations
|
||||
- dirigeant . auto-entrepreneur . net de cotisations
|
||||
|
||||
revenu net après impôt:
|
||||
unité: €/an
|
||||
résumé: Disponible sur votre compte en banque
|
||||
question: Quel revenu voulez-vous toucher ?
|
||||
identifiant court: net-apres-impot
|
||||
description: |
|
||||
Il s'agit du revenu net de charges, cotisations et d'impôts.
|
||||
Autrement dit, c'est ce que vous gagnez à la fin sur votre compte en banque.
|
||||
formule: revenus net de cotisations - impôt
|
||||
|
||||
# TODO: "foyer fiscal" should be in its own top level namespace, but we put it
|
||||
# in the "impôt" namespace to have a better questions ordering
|
||||
impôt . foyer fiscal:
|
||||
|
@ -312,6 +305,8 @@ impôt . foyer fiscal . nombre de parts:
|
|||
- majoration personne seule avec enfant
|
||||
- majoration personne veuve avec enfant
|
||||
|
||||
impôt . foyer fiscal . nombre de parts . sans parts rattachées: nombre de parts - nombre de parts . rattachées
|
||||
|
||||
impôt . foyer fiscal . nombre de parts . principales:
|
||||
formule:
|
||||
variations:
|
||||
|
@ -357,40 +352,49 @@ impôt . foyer fiscal . nombre de parts . majoration personne veuve avec enfant:
|
|||
|
||||
impôt . foyer fiscal . taux effectif:
|
||||
unité: '%'
|
||||
formule: impôt à payer / revenu imposable
|
||||
|
||||
variations:
|
||||
- si: impôt à payer = 0
|
||||
alors: 0%
|
||||
- sinon: impôt à payer / revenu imposable
|
||||
|
||||
impôt . foyer fiscal . revenu imposable:
|
||||
formule:
|
||||
somme:
|
||||
- revenu d'activité abattu
|
||||
- dirigeant . auto-entrepreneur . impôt . revenu imposable
|
||||
- valeur: dirigeant . indépendant . résultat fiscal
|
||||
applicable si: entreprise . imposition . IR
|
||||
- applicable si:
|
||||
toutes ces conditions:
|
||||
- dirigeant . rémunération . imposable
|
||||
- entreprise . imposition . IR
|
||||
valeur: dirigeant . rémunération . imposable
|
||||
- bénéficiaire . dividendes . imposables
|
||||
- autres revenus imposables
|
||||
|
||||
impôt . foyer fiscal . revenu imposable . revenu d'activité abattu:
|
||||
description: Dans le cas général, l'impôt est calculé après l'application d'un abattement forfaitaire fixe. Chacun peut néanmoins opter pour la déclaration de ses *frais réels*, qui viendront remplacer ce forfait par défaut.
|
||||
formule:
|
||||
valeur [ref assiette]:
|
||||
somme:
|
||||
- contrat salarié . rémunération . net imposable
|
||||
- valeur: dirigeant . indépendant . résultat fiscal
|
||||
applicable si: entreprise . imposition . IS
|
||||
abattement:
|
||||
valeur: 10% * assiette
|
||||
# A VÉRIFIER: calculé à la main en revalorisant le taux 2020
|
||||
# HISTORIQUE 2020: 12627€
|
||||
# 12627€ × (1 + 0,2%)
|
||||
plafond: 12652 €/an
|
||||
# HISTORIQUE 2020: 441€
|
||||
# 441€ × (1 + 0,2%)
|
||||
plancher: 442 €/an
|
||||
description: |
|
||||
Dans le cas général, l'impôt est calculé après l'application d'un abattement forfaitaire fixe. Chacun peut néanmoins opter pour la déclaration de ses *frais réels*, qui viendront remplacer ce forfait par défaut.
|
||||
valeur:
|
||||
nom: assiette
|
||||
variations:
|
||||
- si: dirigeant = non
|
||||
alors: contrat salarié . rémunération . net imposable
|
||||
- si: entreprise . imposition = 'IS'
|
||||
alors: dirigeant . rémunération . imposable
|
||||
abattement:
|
||||
valeur: 10% * assiette
|
||||
# A VÉRIFIER: calculé à la main en revalorisant le taux 2020
|
||||
# HISTORIQUE 2020: 12627€
|
||||
# 12627€ × (1 + 0,2%)
|
||||
plafond: 12652 €/an
|
||||
# HISTORIQUE 2020: 441€
|
||||
# 441€ × (1 + 0,2%)
|
||||
plancher: 442 €/an
|
||||
références:
|
||||
Frais professionnels - forfait ou frais réels: https://www.service-public.fr/particuliers/vosdroits/F1989
|
||||
|
||||
impôt . foyer fiscal . revenu imposable . autres revenus imposables:
|
||||
question: Quel est le montant total des autres revenus imposables du foyer fiscal ?
|
||||
titre: Autres revenus imposables du foyer fiscal
|
||||
question: Quel est le montant total des autres revenus imposables du foyer
|
||||
fiscal ?
|
||||
par défaut: 0 €/an
|
||||
|
||||
impôt . foyer fiscal . revenu fiscal de référence:
|
||||
|
@ -411,11 +415,19 @@ impôt . foyer fiscal . impôt à payer:
|
|||
- impôt sur le revenu
|
||||
- CEHR
|
||||
|
||||
# [TODO] Il semble y avoir un soucis: selon la doc impot.gouv, le "revenu brut"
|
||||
# (sur lequel est basé l'impôt brut ci-dessous sans doute?) ne doit pas contenir
|
||||
# les revenus de capitaux mobiliers. Donc les dividendes imposables au barème ne
|
||||
# devraient dans ce cas pas se voir appliquer de décote pour les bas revenus. Il
|
||||
# faudrait sans doute revoir l'ensemble des règles de calcul autour du barème
|
||||
# pour bien séparer celles qui ne s'appliquent qu'aux revenus brut.
|
||||
impôt . foyer fiscal . impôt sur le revenu:
|
||||
unité: €/an
|
||||
formule:
|
||||
valeur: impôt brut
|
||||
abattement: décote
|
||||
somme:
|
||||
- valeur: impôt brut
|
||||
abattement: décote
|
||||
- impôt . dividendes . PFU
|
||||
exemples:
|
||||
- nom: Salaire d'un cadre
|
||||
situation:
|
||||
|
@ -439,6 +451,10 @@ impôt . foyer fiscal . impôt sur le revenu . quotient familial:
|
|||
unité: €/part/an
|
||||
formule: revenu imposable / nombre de parts
|
||||
|
||||
impôt . foyer fiscal . impôt sur le revenu . quotient familial . sans parts rattachées:
|
||||
unité: €/part/an
|
||||
formule: revenu imposable / nombre de parts . sans parts rattachées
|
||||
|
||||
impôt . foyer fiscal . impôt sur le revenu . quotient familial . plafond avantage:
|
||||
formule:
|
||||
somme:
|
||||
|
@ -464,11 +480,11 @@ impôt . foyer fiscal . impôt sur le revenu . impôt brut par part:
|
|||
Voici le fameux barème de l'impôt sur le revenu. C'est un barème marginal à 5 tranches.
|
||||
Une contribution sur les hauts revenus ajoute deux tranches supplémentaires.
|
||||
|
||||
Attention : pour un revenu de 100 000€ annuels, le contribuable ne paiera 41 000€ d'impôt (le taux de la 4ème tranche est 41%) ! Ces 41% sont appliqués uniquement à la part de ses revenus supérieure à 72 617€.
|
||||
Attention : pour un revenu de 100 000€ annuels, le contribuable ne paiera pas 41 000€ d'impôt (le taux de la 4ème tranche est 41%) ! Ces 41% sont appliqués uniquement à la part de ses revenus supérieure à 72 617€.
|
||||
formule:
|
||||
barème:
|
||||
assiette: quotient familial
|
||||
tranches:
|
||||
tranches: # ⚠️ Les tranches sont en doublon dans la règle "sans parts rattachées"
|
||||
- taux: 0%
|
||||
plafond: 10084 €/part/an
|
||||
- taux: 11%
|
||||
|
@ -486,22 +502,38 @@ impôt . foyer fiscal . impôt sur le revenu . impôt brut par part:
|
|||
références:
|
||||
Article 197 du Code général des impôts: https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069577&idArticle=LEGIARTI000006308322
|
||||
|
||||
impôt . foyer fiscal . impôt sur le revenu . impôt brut par part . sans parts rattachées:
|
||||
formule:
|
||||
barème:
|
||||
assiette: quotient familial . sans parts rattachées
|
||||
tranches:
|
||||
- taux: 0%
|
||||
plafond: 10084 €/part/an
|
||||
- taux: 11%
|
||||
plafond: 25710 €/part/an
|
||||
- taux: 30%
|
||||
plafond: 73516 €/part/an
|
||||
- taux: 41%
|
||||
plafond: 158122 €/part/an
|
||||
- taux: 45%
|
||||
|
||||
impôt . foyer fiscal . impôt sur le revenu . impôt brut:
|
||||
formule:
|
||||
le maximum de:
|
||||
- impôt brut . sans plafonnement
|
||||
- somme:
|
||||
- recalcul:
|
||||
règle: impôt brut . sans plafonnement
|
||||
avec:
|
||||
nombre de parts . rattachées: 0 part
|
||||
- impôt brut . sans plafonnement . sans parts rattachées
|
||||
- (- quotient familial . plafond avantage)
|
||||
|
||||
impôt . foyer fiscal . impôt sur le revenu . impôt brut . sans plafonnement:
|
||||
formule:
|
||||
produit:
|
||||
assiette: impôt brut par part
|
||||
facteur: nombre de parts
|
||||
produit:
|
||||
assiette: impôt brut par part
|
||||
facteur: nombre de parts
|
||||
|
||||
impôt . foyer fiscal . impôt sur le revenu . impôt brut . sans plafonnement . sans parts rattachées:
|
||||
produit:
|
||||
assiette: impôt brut par part . sans parts rattachées
|
||||
facteur: nombre de parts . sans parts rattachées
|
||||
|
||||
impôt . foyer fiscal . CEHR:
|
||||
unité: €/an
|
||||
|
@ -535,5 +567,51 @@ impôt . domiciliation étranger non implémentée:
|
|||
formule: situation personnelle . domiciliation fiscale à l'étranger
|
||||
type: notification
|
||||
niveau: avertissement
|
||||
description: |
|
||||
description: |
|
||||
La retenue à la source pour les non-résident n'est pas encore implémentée. Pour en savoir plus, se référer à la [documentation fiscale](https://www.impots.gouv.fr/portail/international-particulier/je-suis-non-resident-dois-je-declarer-des-revenus-et-payer-des-impots-en)
|
||||
|
||||
impôt . dividendes:
|
||||
valeur: oui
|
||||
applicable si: bénéficiaire . dividendes . bruts > 0
|
||||
titre: Imposition des dividendes
|
||||
|
||||
impôt . montant si autres revenus imposables uniquement:
|
||||
recalcul:
|
||||
règle: impôt . foyer fiscal . impôt à payer
|
||||
avec:
|
||||
bénéficiaire . dividendes . bruts: 0 €/an
|
||||
impôt . foyer fiscal . revenu imposable: foyer fiscal . revenu imposable . autres revenus imposables
|
||||
titre: Montant de l'impôt dans le cas où aucun dividende ne serait touché
|
||||
|
||||
impôt . dividendes . montant en sus des autres revenus imposables:
|
||||
variations:
|
||||
- si: méthode de calcul . PFU
|
||||
alors: PFU
|
||||
- sinon: impôt . foyer fiscal . impôt à payer - montant si autres revenus imposables uniquement
|
||||
titre: Montant de l'impôt sur dividendes, en sus de l'impôt sur les autres
|
||||
revenus imposables
|
||||
|
||||
impôt . dividendes . PFU:
|
||||
applicable si: impôt . méthode de calcul . PFU
|
||||
produit:
|
||||
assiette: bénéficiaire . dividendes . bruts
|
||||
taux: 12.8%
|
||||
titre: Montant de l'impôt sur dividendes au titre du Prélèvement Forfaitaire
|
||||
Unique (ou "flat tax")
|
||||
description: |
|
||||
Ce montant est à verser sous forme d'acompte au moment du versement des
|
||||
dividendes.
|
||||
|
||||
L'acompte n'est pas obligatoire au cas où le revenu fiscal n-2 est inférieur
|
||||
à
|
||||
|
||||
- 50 000 € pour une personne seule,
|
||||
- 75 000 € pour un couple soumis à l'imposition commune (mariés ou
|
||||
pacsés).
|
||||
|
||||
Dans ce cas, le bénéficiaire peut faire la demande de dispense au plus tard
|
||||
le 30 novembre de l'année précédant celle du paiement
|
||||
références:
|
||||
Fiche service-public.fr: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32963
|
||||
Article 200 A du Code Général des Impôts: https://www.legifrance.gouv.fr/codes/id/LEGISCTA000006179579/
|
||||
Article 117 quater du Code Général des Impôts: https://www.legifrance.gouv.fr/codes/id/LEGIARTI000036428175/#LEGIARTI000036428175
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
dirigeant . indépendant . PL:
|
||||
titre: Profession libérale
|
||||
applicable si: entreprise . activité = 'libérale'
|
||||
rend non applicable: entreprise . activité . mixte
|
||||
formule: oui
|
||||
|
||||
dirigeant . indépendant . PL . métier:
|
||||
|
@ -20,7 +21,7 @@ dirigeant . indépendant . PL . métier:
|
|||
dirigeant . indépendant . PL . métier . rattaché CIPAV:
|
||||
titre: Autre métier rattaché à la CIPAV
|
||||
description: |
|
||||
Vous exercez un métier réglementé rattaché à la CIPAV. La liste de ces métiers est :
|
||||
Vous exercez un métier réglementé rattaché à la CIPAV. La liste de ces métiers est :
|
||||
|
||||
- Architecte (architecte, architecte d’intérieur, économiste de la construction, maître d’œuvre, géomètre expert)
|
||||
- Guide-montage (moniteur de ski, guide de haute montagne, accompagnateur de moyenne montagne)
|
||||
|
@ -112,7 +113,7 @@ dirigeant . indépendant . PL . option régime général:
|
|||
Les personnes exerçant déjà une profession libérale non réglementée avant
|
||||
2019 peuvent opter entre 2019 et 2023 pour la Sécurité sociale pour les
|
||||
indépendants, à condition d’être à jour dans le paiement de toutes leurs
|
||||
cotisations à la CIPAV.
|
||||
cotisations à la CIPAV.
|
||||
|
||||
Cette option leur permettra de bénéficier des mêmes droits que les artisans
|
||||
et commerçants (indemnités journalières, retraite, invalidité, etc.).
|
||||
|
@ -153,7 +154,7 @@ dirigeant . indépendant . PL . régime général . taux spécifique retraite co
|
|||
travailleurs indépendants ont la possibilité d’opter pour des taux
|
||||
spécifique de la cotisation retraite complémentaire.
|
||||
références:
|
||||
Guide PL urssaf (page 10): https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/Guide-Professions-liberales.pdf
|
||||
Guide PL urssaf: https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/Diaporama_TI_statuts_hors_AE.pdf
|
||||
|
||||
dirigeant . indépendant . PL . régime général . taux spécifique retraite complémentaire . montant:
|
||||
titre: retraite complémentaire (taux PLNR)
|
||||
|
@ -176,22 +177,23 @@ dirigeant . indépendant . PL . maladie:
|
|||
- régime général
|
||||
- PAMC
|
||||
remplace: cotisations et contributions . maladie
|
||||
formule:
|
||||
produit:
|
||||
assiette: indépendant . assiette des cotisations
|
||||
taux:
|
||||
taux progressif:
|
||||
assiette: indépendant . assiette des cotisations
|
||||
multiplicateur: plafond sécurité sociale temps plein
|
||||
tranches:
|
||||
- plafond: 0%
|
||||
taux: 1.5%
|
||||
- plafond: 110%
|
||||
taux: 6.5%
|
||||
arrondi: oui
|
||||
produit:
|
||||
assiette:
|
||||
valeur: assiette des cotisations
|
||||
plancher: assiette minimale . maladie
|
||||
taux:
|
||||
taux progressif:
|
||||
assiette: assiette des cotisations
|
||||
multiplicateur: plafond sécurité sociale temps plein
|
||||
tranches:
|
||||
- plafond: 0%
|
||||
taux: 1.5%
|
||||
- plafond: 110%
|
||||
taux: 6.5%
|
||||
arrondi: oui
|
||||
références:
|
||||
secu-independants.fr: https://www.secu-independants.fr/cotisations/calcul-des-cotisations/taux-de-cotisations
|
||||
guide urssaf (pdf): https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/Guide-Professions-liberales.pdf
|
||||
guide urssaf (pdf): https://www.urssaf.fr/portail/files/live/sites/urssaf/files/documents/Diaporama_PL_statuts_hors_AE_et_PAM.pdf
|
||||
note: |
|
||||
Les professions libérales réglementée ne cotisent pour la part correspondante aux
|
||||
indemnités journalières et n'ont donc pas le droit à ces indemnités en cas de
|
||||
|
@ -242,47 +244,25 @@ dirigeant . indépendant . PL . CIPAV:
|
|||
dirigeant . indépendant . PL . CIPAV . retraite complémentaire:
|
||||
remplace: cotisations et contributions . retraite complémentaire
|
||||
titre: retraite complémentaire (CIPAV)
|
||||
formule:
|
||||
somme:
|
||||
- grille:
|
||||
assiette: assiette des cotisations
|
||||
unité: €/an
|
||||
tranches:
|
||||
- montant: 1457
|
||||
plafond: 26581 €/an
|
||||
- montant: 2913
|
||||
plafond: 49281 €/an
|
||||
- montant: 4370
|
||||
plafond: 57851 €/an
|
||||
- montant: 7283
|
||||
plafond: 66401 €/an
|
||||
- montant: 10196
|
||||
plafond: 83061 €/an
|
||||
- montant: 16023
|
||||
plafond: 103181 €/an
|
||||
- montant: 17479
|
||||
plafond: 123301 €/an
|
||||
- montant: 18936
|
||||
- (- réduction COVID . montant)
|
||||
plancher: 0
|
||||
|
||||
dirigeant . indépendant . PL . CIPAV . retraite complémentaire . réduction COVID:
|
||||
applicable si: entreprise . date de création < 01/01/2020
|
||||
question: |
|
||||
Avez-vous fait une demande pour bénéficier de la réduction de cotisations de
|
||||
retraite complémentaire sans conditions de revenus ?
|
||||
description: |
|
||||
La Cipav met en place une réduction jusqu'à 1392€ de cotisation sur la
|
||||
retraire complémentaire sans diminution du nombre de points acquis. Cette
|
||||
aide n'est pas automatique, mais peut-être obtenue sur simple demande via la
|
||||
messagerie de l'espace adhérent.
|
||||
|
||||
[Faire votre demande](https://www.lacipav.fr/dispositif-exceptionnel-procedure)
|
||||
par défaut: non
|
||||
|
||||
dirigeant . indépendant . PL . CIPAV . retraite complémentaire . réduction COVID . montant:
|
||||
titre: réduction COVID
|
||||
formule: 1392 €/an
|
||||
unité: €/an
|
||||
grille:
|
||||
assiette: assiette des cotisations
|
||||
tranches:
|
||||
- montant: 1457
|
||||
plafond: 26581 €/an
|
||||
- montant: 2913
|
||||
plafond: 49281 €/an
|
||||
- montant: 4370
|
||||
plafond: 57851 €/an
|
||||
- montant: 7283
|
||||
plafond: 66401 €/an
|
||||
- montant: 10196
|
||||
plafond: 83061 €/an
|
||||
- montant: 16023
|
||||
plafond: 103181 €/an
|
||||
- montant: 17479
|
||||
plafond: 123301 €/an
|
||||
- montant: 18936
|
||||
|
||||
dirigeant . indépendant . PL . CIPAV . invalidité et décès:
|
||||
remplace: cotisations et contributions . invalidité et décès
|
||||
|
@ -325,30 +305,32 @@ dirigeant . indépendant . PL . retraite CNAVPL:
|
|||
une de ces conditions:
|
||||
- régime général
|
||||
- PL . CNBF
|
||||
|
||||
titre: retraite de base (CNAVPL)
|
||||
description: |
|
||||
Toutes les professions libérale (à l'exception des avocats)
|
||||
ont les mêmes taux de cotisations pour leur retraite de base.
|
||||
|
||||
La caisse nationale d'assurance vieillesse des professions
|
||||
libérales est l'organisme qui fédère les différentes caisses
|
||||
libérales est l'organisme qui fédère les différentes caisses
|
||||
existantes (CIPAV, CARPIMKO, CARCDSF, CAVEC etc..)
|
||||
|
||||
formule:
|
||||
somme:
|
||||
- produit:
|
||||
assiette: cotisations et contributions . retraite de base . assiette
|
||||
taux: 8.23%
|
||||
plafond: plafond sécurité sociale temps plein
|
||||
arrondi: oui
|
||||
- produit:
|
||||
assiette: cotisations et contributions . retraite de base . assiette
|
||||
taux: 1.87%
|
||||
plafond: 5 * plafond sécurité sociale temps plein
|
||||
arrondi: oui
|
||||
produit:
|
||||
assiette:
|
||||
valeur: assiette des cotisations
|
||||
plancher: assiette minimale . retraite
|
||||
composantes:
|
||||
- attributs:
|
||||
nom: tranche T1
|
||||
arrondi: oui
|
||||
taux: 8.23%
|
||||
plafond: plafond sécurité sociale temps plein
|
||||
- attributs:
|
||||
nom: tranche t2
|
||||
arrondi: oui
|
||||
taux: 1.87%
|
||||
plafond: 5 * plafond sécurité sociale temps plein
|
||||
références:
|
||||
cnavpl.fr: https://www.cnavpl.fr/
|
||||
cnavpl.fr: https://www.cnavpl.fr/preparer-sa-retraite/
|
||||
cotisation minimale (Guide CNAVPL): https://www.cnavpl.fr/wp-content/uploads/2020/10/guide-site-2020.pdf#page=21
|
||||
liste des caisses: https://www.cnavpl.fr/regimes-complementaires-et-prevoyance/
|
||||
Guide CNAVPL (PDF): https://www.cnavpl.fr/statuts-et-documents-de-reference/?wpdmdl=56215
|
||||
|
@ -373,7 +355,7 @@ dirigeant . indépendant . PL . PAMC:
|
|||
rend non applicable:
|
||||
- cotisations et contributions . indemnités journalières maladie
|
||||
- conjoint collaborateur
|
||||
- entreprise . chiffre d'affaires . franchise de TVA dépassée
|
||||
- entreprise . chiffre d'affaires . franchise de TVA
|
||||
- dirigeant . indépendant . revenus étrangers
|
||||
- dirigeant . indépendant . cotisations et contributions . maladie domiciliation fiscale étranger
|
||||
formule: oui
|
||||
|
@ -388,8 +370,8 @@ dirigeant . indépendant . PL . PAMC . proportion recette activité non conventi
|
|||
30%: 30%
|
||||
description: |
|
||||
Les recettes non conventionnées sont toutes celles qui ne rentrent pas dans
|
||||
les catégories suivantes :
|
||||
|
||||
les catégories suivantes :
|
||||
|
||||
- Honoraires tirés des actes remboursables (y compris les
|
||||
dépassements d’honoraires et les frais de déplacement figurant sur le relevé
|
||||
SNIR)
|
||||
|
@ -489,30 +471,31 @@ dirigeant . indépendant . PL . PAMC . revenus activité conventionnée:
|
|||
plancher: 0%
|
||||
|
||||
dirigeant . indépendant . PL . PAMC . assiette participation CPAM:
|
||||
description: Aussi appelé revenu conventionnel, il s'agit du revenu des honoraires nets
|
||||
description:
|
||||
Aussi appelé revenu conventionnel, il s'agit du revenu des honoraires nets
|
||||
de dépassement.
|
||||
formule: revenus activité conventionnée / (100% + dépassement d'honoraire moyen)
|
||||
note: |
|
||||
La formule référencée dans les textes Urssaf est la suivante :
|
||||
> (revenu de l’activité conventionnée) x (total des honoraires - total des dépassements d’honoraires) / montant total des honoraires.
|
||||
La formule référencée dans les textes Urssaf est la suivante :
|
||||
> (revenu de l’activité conventionnée) x (total des honoraires - total des dépassements d’honoraires) / montant total des honoraires.
|
||||
|
||||
On peut simplififer cette formule en :
|
||||
On peut simplififer cette formule en :
|
||||
> (revenu de l’activité conventionnée) / (100% + dépassement d'honoraire moyen)
|
||||
|
||||
### Preuve
|
||||
Si on prends les variables suivantes,
|
||||
Si on prends les variables suivantes,
|
||||
> `h+` : total des honoraires (avec dépassement)
|
||||
`h` : honoraires sans dépassement
|
||||
`d%`: pourcentage de dépassement d'honoraire moyen
|
||||
|
||||
On a :
|
||||
>
|
||||
On a :
|
||||
>
|
||||
`h+ = h + h * d%`
|
||||
`h+ = h * (100% + d%)`
|
||||
|
||||
Si on remplace dans la formule de l'assiette participation CPAM, on a :
|
||||
> 1. `(revenu de l’activité conventionnée) * h / h+`
|
||||
> 2. `(revenu de l’activité conventionnée) * h / (h * (100% + d%))
|
||||
> 2. `(revenu de l’activité conventionnée) * h / (h * (100% + d%))
|
||||
> 3. `(revenu de l’activité conventionnée) / (100% + d%)`
|
||||
|
||||
références:
|
||||
|
@ -578,7 +561,7 @@ dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentist
|
|||
dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentiste . taux Urssaf:
|
||||
description: |
|
||||
Le « taux Urssaf » (taux UR) permet de calculer la part de votre
|
||||
cotisation d’assurance maladie-maternité prise en charge par la CPAM.
|
||||
cotisation d’assurance maladie-maternité prise en charge par la CPAM.
|
||||
|
||||
Ce taux est pré-rempli sur votre déclaration de revenus professionnels. Il
|
||||
est issu des données de votre Relevé individuel d’activité et de
|
||||
|
@ -589,7 +572,7 @@ dirigeant . indépendant . PL . PAMC . assiette participation chirurgien-dentist
|
|||
|
||||
## Calcul du taux
|
||||
|
||||
La formule de calcul du taux de dépassement est la suivante :
|
||||
La formule de calcul du taux de dépassement est la suivante :
|
||||
> Taux Urssaf = (dépassements - montants remboursés forfaits CMU) / (montants remboursables actes + montants remboursés forfaits CMU)
|
||||
question: Quel est votre "taux Urssaf" ?
|
||||
unité: ''
|
||||
|
@ -633,7 +616,7 @@ dirigeant . indépendant . PL . PAMC . IJSS:
|
|||
Les indemnités complémentaires aux indemnités journalières de la Sécurité
|
||||
sociale versées dans le cadre d’un contrat de prévoyance ne constituent pas
|
||||
des revenus de remplacement.
|
||||
|
||||
|
||||
Note: Les prestations d’invalidité versées par les régimes
|
||||
d’invalidité-décès ne sont pas concernées.
|
||||
|
||||
|
@ -755,7 +738,7 @@ dirigeant . indépendant . PL . CARMF . retraite CNAVPL . participation CPAM:
|
|||
dirigeant . indépendant . PL . CARMF . retraite complémentaire:
|
||||
remplace: cotisations et contributions . retraite complémentaire
|
||||
description: >-
|
||||
La CARMF gère le régime de retraite complémentaire.
|
||||
La CARMF gère le régime de retraite complémentaire.
|
||||
|
||||
Le montant des cotisations est déterminé en fonction des revenus
|
||||
nets d’activité indépendante de l’avant-dernière année.
|
||||
|
@ -768,7 +751,7 @@ dirigeant . indépendant . PL . CARMF . retraite complémentaire:
|
|||
titre: retraite complémentaire (CARMF)
|
||||
arrondi: oui
|
||||
variations:
|
||||
- si: entreprise . durée d'activité . en fin d'année <= 2 ans
|
||||
- si: entreprise . date de création >= 01/01/2020
|
||||
alors: 0€/an
|
||||
- sinon:
|
||||
produit:
|
||||
|
@ -785,7 +768,7 @@ dirigeant . indépendant . PL . CARMF . invalidité décès:
|
|||
description: >-
|
||||
La CARMF gère un régime de prévoyance versant une pension en cas
|
||||
d'invalidité permanente et un capital décès ainsi qu’une rente pour les
|
||||
conjoints et enfants survivants en cas de décès de l'assuré.
|
||||
conjoints et enfants survivants en cas de décès de l'assuré.
|
||||
|
||||
La cotisation comporte trois classes forfaitaires dont le montant est
|
||||
déterminé en fonction de vos revenus nets d'activité indépendante de
|
||||
|
@ -927,7 +910,8 @@ dirigeant . indépendant . PL . CARCDSF . chirurgien-dentiste . PCV:
|
|||
titre: Prestation complémentaire vieillesse (CARCDSF chirurgien-dentiste)
|
||||
remplace: cotisations et contributions . PCV
|
||||
non applicable si: exonération PCV
|
||||
note: Une dispense peut être accordée lorsque les revenus professionnels 2019 sont
|
||||
note:
|
||||
Une dispense peut être accordée lorsque les revenus professionnels 2019 sont
|
||||
inférieurs ou égaux à 500 C (valeur au 1er janvier de l’année considérée),
|
||||
soit 11 500 €.
|
||||
|
||||
|
|
|
@ -8,10 +8,7 @@ protection sociale . retraite:
|
|||
icônes: 👵
|
||||
type: branche
|
||||
résumé: Garantit en moyenne 60 à 70 % du dernier revenu d'activité après 65 ans.
|
||||
non applicable si:
|
||||
toutes ces conditions:
|
||||
- entreprise . activité = 'libérale'
|
||||
- dirigeant . indépendant . PL . régime général = non
|
||||
|
||||
description: |
|
||||
Tous les travailleurs en France cotisent tout au long de leur vie professionnelle pour bénéficier d’un régime de retraite dès lors qu’ils ont l’âge de cesser leur activité.
|
||||
|
||||
|
@ -35,7 +32,7 @@ protection sociale . retraite:
|
|||
somme:
|
||||
- base
|
||||
- complémentaire salarié
|
||||
- complémentaire sécurité des indépendants
|
||||
- complémentaire indépendants
|
||||
|
||||
note: |
|
||||
Il s'agit d'une estimation a but purement indicatif, afin de comparer la retraite des différents régimes.
|
||||
|
@ -47,7 +44,16 @@ protection sociale . retraite:
|
|||
- On ne prend pas en compte les caisses de retraite des professions libérales réglementées (les 10 sections de la Cnavpl et la Cnbf)
|
||||
- On ne calcule pas le nombre de trimestres validés par année
|
||||
|
||||
Ces limites seront amenées à évoluer au fur et à mesure du développement du simulateur
|
||||
protection sociale . retraite . plr:
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- entreprise . activité . libérale réglementée
|
||||
- dirigeant . indépendant . PL . option régime général = non
|
||||
remplace: retraite
|
||||
rend non applicable: complémentaire indépendants
|
||||
titre: Retraite profession libérale réglementée
|
||||
description: Nous n'avons pas implémenté les règles spécifiques aux professions libérales relementées.
|
||||
valeur: "'Non implémenté'"
|
||||
|
||||
protection sociale . retraite . base:
|
||||
titre: pension de retraite de base
|
||||
|
@ -115,7 +121,7 @@ protection sociale . retraite . trimestres validés . barème trimestres génér
|
|||
- montant: 4
|
||||
références:
|
||||
cnav.fr: https://www.legislation.cnav.fr/Pages/bareme.aspx?Nom=salaire_validant_un_trimestre_montant_bar
|
||||
|
||||
Article R351-9 du code de la sécurité sociale: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000028751530/2014-03-21
|
||||
protection sociale . retraite . trimestres validés . trimestres auto-entrepreneur:
|
||||
applicable si: dirigeant . auto-entrepreneur
|
||||
description: Les seuils de chiffre d'affaires minimum pour la validation des trimestres pour la retraite en auto-entrepreneur. En-dessous du montant minimum, vous n'aurez accès qu'à l'allocation de solidarité.
|
||||
|
@ -197,32 +203,30 @@ protection sociale . retraite . complémentaire salarié . points acquis:
|
|||
références:
|
||||
service-public.fr: https://www.service-public.fr/particuliers/vosdroits/F15396
|
||||
|
||||
protection sociale . retraite . complémentaire sécurité des indépendants:
|
||||
formule: points acquis * valeur du point
|
||||
protection sociale . retraite . complémentaire indépendants:
|
||||
acronyme: RCI
|
||||
non applicable si:
|
||||
toutes ces conditions:
|
||||
- entreprise . activité = 'libérale'
|
||||
- dirigeant . indépendant . PL . régime général = non
|
||||
formule: total points acquis * valeur du point
|
||||
références:
|
||||
secu-independants.fr: https://www.secu-independants.fr/retraite/calcul-retraite/retraite-complementaire/
|
||||
|
||||
protection sociale . retraite . complémentaire sécurité des indépendants . valeur du point:
|
||||
protection sociale . retraite . complémentaire indépendants . valeur du point:
|
||||
formule: 1.191 €/point/an
|
||||
références:
|
||||
secu-independants.fr: https://www.secu-independants.fr/baremes/prestations-vieillesse-et-invalidite-deces
|
||||
|
||||
protection sociale . retraite . complémentaire sécurité des indépendants . points acquis:
|
||||
formule: points acquis par mois * mois cotisés
|
||||
protection sociale . retraite . complémentaire indépendants . total points acquis:
|
||||
formule: points acquis * mois cotisés
|
||||
|
||||
protection sociale . retraite . complémentaire sécurité des indépendants . points acquis par mois:
|
||||
unité: points/mois
|
||||
formule:
|
||||
produit:
|
||||
assiette:
|
||||
somme:
|
||||
- dirigeant . indépendant . cotisations et contributions . retraite complémentaire
|
||||
# - dirigeant . auto-entrepreneur . cotisations et contributions . cotisations . retraite complémentaire
|
||||
facteur: 1 / prix d'achat du point
|
||||
protection sociale . retraite . complémentaire indépendants . points acquis:
|
||||
unité: points/an
|
||||
valeur: dirigeant . indépendant . cotisations et contributions . retraite complémentaire / prix d'achat du point
|
||||
|
||||
protection sociale . retraite . complémentaire sécurité des indépendants . prix d'achat du point:
|
||||
formule: 17.515 €/point
|
||||
notes: il s'agit du prix d'achat 2018 (la valeur pour 2019 sur le site secu-independants.fr est marquée comme N.C)
|
||||
protection sociale . retraite . complémentaire indépendants . prix d'achat du point:
|
||||
formule: 17.765 €/point
|
||||
références:
|
||||
secu-independants.fr: https://www.secu-independants.fr/baremes/baremes-2018/baremesprestations-maladie-maternite/?reg=ile-de-france-centre&ae=oui
|
||||
|
||||
|
@ -267,7 +271,7 @@ protection sociale . santé . indemnités journalières:
|
|||
brut et versées tous les 14 jours en moyenne.
|
||||
non applicable si:
|
||||
toutes ces conditions:
|
||||
- entreprise . activité = 'libérale'
|
||||
- entreprise . activité . libérale réglementée
|
||||
- dirigeant . indépendant . PL . régime général = non
|
||||
unité: €/jour
|
||||
note: |
|
||||
|
|
|
@ -91,7 +91,7 @@ contrat salarié . frais professionnels . titres-restaurant:
|
|||
- d’un repas,
|
||||
|
||||
- de préparations alimentaires directement consommables,
|
||||
|
||||
|
||||
- de fruits et légumes.
|
||||
|
||||
Ce titre peut être émis sur support papier ou sous forme dématérialisée.
|
||||
|
@ -126,14 +126,13 @@ contrat salarié . frais professionnels . titres-restaurant . part déductible:
|
|||
contrat salarié . frais professionnels . titres-restaurant . nombre:
|
||||
question: Combien de titres-restaurant sont distribués au salarié ?
|
||||
arrondi: oui
|
||||
par défaut:
|
||||
produit:
|
||||
assiette: 19 titres-restaurant/mois
|
||||
par défaut:
|
||||
produit:
|
||||
assiette: 19 titres-restaurant/mois
|
||||
facteur: temps de travail . quotité de travail
|
||||
suggestions:
|
||||
5 repas/semaines: 5 titres-restaurant/semaines * période . semaines par mois
|
||||
3 repas/semaine: 3 titres-restaurant/semaines * période . semaines par mois
|
||||
|
||||
5 repas/semaines: 5 titres-restaurant/semaines * période . semaines par mois
|
||||
3 repas/semaine: 3 titres-restaurant/semaines * période . semaines par mois
|
||||
|
||||
contrat salarié . frais professionnels . titres-restaurant . montant unitaire:
|
||||
question: Quelle est la valeur unitaire du titre-restaurant ?
|
||||
|
@ -180,7 +179,7 @@ contrat salarié . frais professionnels . abonnement transports publics . montan
|
|||
par défaut: 0 €/mois
|
||||
description: |
|
||||
L'employeur doit prendre en charge 50% du montant dépensé par le salarié pour les transports publics lui permettant de se rendre sur son lieu de travail.
|
||||
|
||||
|
||||
Cette prise en charge (dans la limite des 50% du montant) est exonérée de cotisations sociales et d'impôt sur le revenu.
|
||||
|
||||
Dans le cas d'un temps partiel, le taux de prise en charge sera le même pour un mi-temps ou plus. En dessous, le taux de prise en charge sera proportionnel.
|
||||
|
@ -191,11 +190,9 @@ contrat salarié . frais professionnels . abonnement transports publics . montan
|
|||
Navigo: 75 €/mois
|
||||
Técély: 65 €/mois
|
||||
RTM: 40 €/mois
|
||||
Tisséo: 42.50 €/mois
|
||||
Tisséo: 42.50 €/mois
|
||||
TBM: 42.20 €/mois
|
||||
|
||||
|
||||
|
||||
contrat salarié . frais professionnels . abonnement transports publics . taux de participation employeur:
|
||||
valeur: 50%
|
||||
|
||||
|
@ -203,7 +200,7 @@ contrat salarié . frais professionnels . abonnement transports publics . taux d
|
|||
titre: Taux de prise en charge
|
||||
valeur:
|
||||
produit:
|
||||
assiette:
|
||||
assiette:
|
||||
le minimum de:
|
||||
- temps de travail . quotité de travail
|
||||
- 50%
|
||||
|
@ -275,9 +272,9 @@ contrat salarié . frais professionnels . transports personnels . carburant faib
|
|||
valeur: montant
|
||||
plafond:
|
||||
le minimum de:
|
||||
- proportion déduction * 200€/an
|
||||
- valeur: proportion déduction * 500€/an
|
||||
abattement: abonnement transports publics . prise en charge
|
||||
- proportion déduction * 200€/an
|
||||
- valeur: proportion déduction * 500€/an
|
||||
abattement: abonnement transports publics . prise en charge
|
||||
|
||||
contrat salarié . frais professionnels . transports personnels . forfait mobilités durables:
|
||||
valeur: oui
|
||||
|
@ -416,7 +413,12 @@ contrat salarié . activité partielle . indemnités . base:
|
|||
formule:
|
||||
multiplication:
|
||||
assiette: retrait absence
|
||||
taux: 70%
|
||||
# Historique:
|
||||
# - avant le 01/07/2021: 70%
|
||||
# - à partir du 01/07/2021 : 60% (sauf pour les secteurs protégés, date repoussée au 01/09/2021)
|
||||
taux:
|
||||
valeur: 70%
|
||||
nom: taux
|
||||
|
||||
contrat salarié . activité partielle . indemnités . complémentaire:
|
||||
titre: indemnité complémentaire
|
||||
|
@ -444,11 +446,11 @@ contrat salarié . activité partielle . indemnités . conventionnelle:
|
|||
grille:
|
||||
assiette: rémunération . assiette congés payés
|
||||
tranches:
|
||||
- montant: 95% - 70%
|
||||
- montant: 95% - indemnités . base . taux
|
||||
plafond: 2000 €/mois
|
||||
- montant: 80% - 70%
|
||||
- montant: 80% - indemnités . base . taux
|
||||
plafond: plafond sécurité sociale temps plein
|
||||
- montant: 75% - 70%
|
||||
- montant: 75% - indemnités . base . taux
|
||||
références:
|
||||
Legifrance: https://www.legifrance.gouv.fr/affichIDCCArticle.do?idArticle=KALIARTI000028465400&cidTexte=KALITEXT000028465378&dateTexte=29990101&categorieLien=id
|
||||
Juritravail: https://www.juritravail.com/Actualite/Hygiene-securite-travail-employeur/Id/327284
|
||||
|
@ -505,8 +507,17 @@ contrat salarié . activité partielle . indemnisation entreprise . taux d'indem
|
|||
formule:
|
||||
variations:
|
||||
- si: secteur d'activité restreint
|
||||
# Historique:
|
||||
# - avant le 01/07/2021: 70%
|
||||
# - avant le 01/08/2021: 60%
|
||||
# - avant le 01/09/2021: 52%
|
||||
# - à partir du 01/09/2021: 36%
|
||||
alors: 70%
|
||||
- sinon: 60%
|
||||
# Historique:
|
||||
# - avant le 01/06/2021: 60%
|
||||
# - avant le 01/07/2021: 52%
|
||||
# - à partir du 01/07/2021: 36%
|
||||
- sinon: 52%
|
||||
|
||||
contrat salarié . activité partielle . secteur d'activité restreint:
|
||||
question: >-
|
||||
|
@ -538,74 +549,120 @@ contrat salarié . activité partielle . convention syntec:
|
|||
de chômage partielle au dessus du minimum légal et à la charge de
|
||||
l'entreprise.
|
||||
par défaut: non
|
||||
rend non applicable:
|
||||
# TODO: this is not working, the question is still displayed. This should be
|
||||
# fixed but is not critical
|
||||
- profession spécifique
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique:
|
||||
description: >-
|
||||
Pour une liste précise de professions, l'employeur peut pratiquer une
|
||||
déduction forfaitaire spécifique pour frais professionnels sur la base de
|
||||
calcul des cotisations sociales.
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- application
|
||||
- taux > 0%
|
||||
déduction forfaitaire spécifique (DFS) pour frais professionnels sur la base de
|
||||
calcul des cotisations sociales. spécifique consiste en un abattement sur l'assiette
|
||||
des cotisations sociales. Elle peut s'appliquer si le salarié supporte
|
||||
effectivement des frais lors de son activité professionnelle.
|
||||
|
||||
En l’absence de frais effectivement engagés, ou si l’employeur prend en
|
||||
charge ou rembourse la totalité des frais professionnels, il est impossible
|
||||
d’appliquer la DFS.
|
||||
titre: assiette avec DFS
|
||||
question: Le salarié bénéficie-t-il d'une déduction forfaitaire spécifique ?
|
||||
par défaut: non
|
||||
remplace:
|
||||
règle: cotisations . assiette
|
||||
par:
|
||||
valeur: cotisations . assiette
|
||||
abattement:
|
||||
valeur: taux * cotisations . assiette
|
||||
plafond: 7600 €/an
|
||||
plancher: cotisations . assiette minimale
|
||||
sauf dans: contrat salarié . CSG et CRDS
|
||||
# TODO: ajouter pas d'abattement pour l'assurance chômage mais seulement
|
||||
# pour les journalistes. Nécessite probablement de faire un re-remplacement
|
||||
# inverse.
|
||||
formule:
|
||||
valeur: cotisations . assiette
|
||||
abattement:
|
||||
valeur: taux * cotisations . assiette
|
||||
plafond: 7600 €/an
|
||||
plancher: cotisations . assiette minimale
|
||||
références:
|
||||
Fiche Urssaf.fr: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-elements-a-prendre-en-compte/les-frais-professionnels/la-deduction-forfaitaire-specifi.html
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . taux:
|
||||
formule:
|
||||
variations:
|
||||
- si: profession spécifique = 'journaliste'
|
||||
- si: profession = 'journaliste'
|
||||
alors: 20%
|
||||
- si: profession spécifique = 'ouvrier du bâtiment'
|
||||
- si: profession = 'ouvrier du bâtiment'
|
||||
alors: 10%
|
||||
- si: profession spécifique = 'artiste musicien'
|
||||
- si: profession = 'artiste musicien'
|
||||
alors: 20%
|
||||
- si: profession spécifique = 'pilote de ligne ou personnel navigant'
|
||||
- si: profession = 'pilote de ligne ou personnel navigant'
|
||||
alors: 30%
|
||||
- sinon: 0%
|
||||
références:
|
||||
Circulaire DSS: https://solidarites-sante.gouv.fr/fichiers/bo/2005/05-09/a0090046.htm
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . application:
|
||||
contrat salarié . déduction forfaitaire spécifique . profession:
|
||||
question: Quelle est la profession du salarié pour l'application de la déduction forfaitaire spécifique ?
|
||||
par défaut: non
|
||||
formule:
|
||||
une possibilité:
|
||||
possibilités:
|
||||
- journaliste
|
||||
- ouvrier du bâtiment
|
||||
- artiste musicien
|
||||
- pilote de ligne ou personnel navigant
|
||||
choix obligatoire: oui
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . profession . journaliste:
|
||||
formule: contrat salarié . déduction forfaitaire spécifique . profession = 'journaliste'
|
||||
icônes: ✒
|
||||
description: >-
|
||||
La déduction forfaitaire spécifique consiste en un abattement sur l'assiette
|
||||
des cotisations sociales. L'employeur peut renoncer à appliquer cette
|
||||
déduction afin d'accorder plus de droits au salarié, notamment en terme de
|
||||
retraite et d'assurance chômage.
|
||||
titre: application de la DFS
|
||||
formule: oui
|
||||
Concerne les journalistes, rédacteurs, photographes, directeurs de journaux
|
||||
Critiques dramatiques et musicaux.
|
||||
|
||||
contrat salarié . CDD . taxe forfaitaire sur les CDD d'usage:
|
||||
description: |
|
||||
À compter du 1er janvier 2020, l'employeur doit s'acquitter d'une taxe
|
||||
forfaitaire pour chaque conclusion d'un CDD d'usage. L'objectif de cette
|
||||
taxe est de décourager le recours excessif aux contrats courts.
|
||||
contrat salarié . déduction forfaitaire spécifique . profession . journaliste . réduction de taux:
|
||||
applicable si: déduction forfaitaire spécifique . profession = 'journaliste'
|
||||
remplace:
|
||||
- règle: vieillesse . employeur . plafonnée . taux
|
||||
par: vieillesse . employeur . plafonnée . taux * réduction de taux
|
||||
- règle: vieillesse . employeur . déplafonnée . taux
|
||||
par: vieillesse . employeur . déplafonnée . taux * réduction de taux
|
||||
- règle: vieillesse . salarié . plafonnée . taux
|
||||
par: vieillesse . salarié . plafonnée . taux * réduction de taux
|
||||
- règle: vieillesse . salarié . déplafonnée . taux
|
||||
par: vieillesse . salarié . déplafonnée . taux * réduction de taux
|
||||
|
||||
Certains secteurs d'activités définis dans le code du travail ne sont pas
|
||||
concernés par cette taxe.
|
||||
applicable si: motif = 'classique . usage'
|
||||
# TODO: cette formule ne fonctionne pas pour des contrats dont la durée est
|
||||
# inférieure à un mois
|
||||
formule: 10 € / durée contrat
|
||||
références:
|
||||
Urssaf.fr: https://www.urssaf.fr/portail/home/actualites/toute-lactualite-employeur/taxe-forfaitaire-sur-les-cdd-dus.html
|
||||
- règle: allocations familiales . taux
|
||||
par: allocations familiales . taux * réduction de taux
|
||||
- règle: établissement . taux du versement transport
|
||||
par: établissement . taux du versement transport * réduction de taux
|
||||
- règle: ATMP . taux
|
||||
par: ATMP . taux * réduction de taux
|
||||
- règle: ATMP . taux minimum
|
||||
par: ATMP . taux minimum * réduction de taux
|
||||
formule: 80%
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . profession . journaliste . abattement fiscal:
|
||||
applicable si: déduction forfaitaire spécifique . profession = 'journaliste'
|
||||
remplace: rémunération . net imposable
|
||||
titre: net imposable journaliste
|
||||
formule:
|
||||
valeur: rémunération . net imposable
|
||||
abattement: 7650€/an
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . profession . ouvrier du bâtiment:
|
||||
icônes: 👷♂️
|
||||
description: >-
|
||||
Concerne les ouvriers du bâtiment visés aux paragraphes 1er et 2 de
|
||||
l’article 1er du décret du 17 novembre 1936, à l’exclusion de ceux qui
|
||||
travaillent en usine ou en atelier.
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . profession . artiste musicien:
|
||||
icônes: 🎼
|
||||
description: >-
|
||||
Concerne les artistes musiciens, choristes, chefs d’orchestre, régisseurs de
|
||||
théâtre
|
||||
|
||||
contrat salarié . déduction forfaitaire spécifique . profession . pilote de ligne ou personnel navigant:
|
||||
icônes: ✈
|
||||
description: >-
|
||||
Concerne les pilotes, radios, mécaniciens navigants des compagnies de
|
||||
transports aériens ; pilotes et mécaniciens employés par les maisons de
|
||||
construction d’avions et de moteurs pour l’essai de prototypes ; pilotes
|
||||
moniteurs d’aéro-clubs et des écoles d’aviation civile
|
||||
|
||||
contrat salarié . CDD . CPF:
|
||||
description: Contribution au financement du compte personnel de formation (CPF) spécifique aux CDD.
|
||||
|
@ -626,7 +683,7 @@ contrat salarié . CDD . CPF:
|
|||
taux: 1%
|
||||
références:
|
||||
Code du travail - Article L6322-37: https://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000022234996&cidTexte=LEGITEXT000006072050
|
||||
|
||||
|
||||
contrat salarié . CDD . congés pris:
|
||||
question: Combien de jours de congés seront pris sur la durée du CDD (en jours ouvrés) ?
|
||||
description: |
|
||||
|
@ -637,17 +694,17 @@ contrat salarié . CDD . congés pris:
|
|||
la totalité: congés dus sur la durée du contrat
|
||||
la moitié: 50% * congés dus sur la durée du contrat
|
||||
par défaut: 0 jours ouvrés
|
||||
|
||||
contrat salarié . CDD . jours ouvrés sur la durée du contrat:
|
||||
|
||||
contrat salarié . CDD . jours ouvrés sur la durée du contrat:
|
||||
produit:
|
||||
assiette: 253 jours ouvrés/an
|
||||
assiette: 253 jours ouvrés/an
|
||||
facteur: durée contrat
|
||||
|
||||
contrat salarié . CDD . congés dus sur la durée du contrat:
|
||||
produit:
|
||||
assiette: 25 jours ouvrés/an
|
||||
facteur: durée contrat
|
||||
arrondi: 2 unités
|
||||
arrondi: 2 décimales
|
||||
|
||||
contrat salarié . CDD . contrôle congés non pris max:
|
||||
type: notification
|
||||
|
@ -677,7 +734,7 @@ contrat salarié . CDD . indemnité compensatrice de congés payés:
|
|||
rémunération brute totale perçue par le salarié au cours de la période de
|
||||
référence.
|
||||
|
||||
### Méthode "maintien du salaire"
|
||||
### Méthode "maintien du salaire"
|
||||
|
||||
Cette méthode sera le plus souvent favorable au salarié lorsque celui-ci a
|
||||
bénéficié d’une augmentation de salaire.
|
||||
|
@ -694,7 +751,7 @@ contrat salarié . CDD . indemnité compensatrice de congés payés:
|
|||
produit:
|
||||
assiette: rémunération . assiette congés payés
|
||||
taux: 10%
|
||||
abattement:
|
||||
abattement:
|
||||
nom: proportion congés pris
|
||||
unité: '%'
|
||||
valeur: congés pris / congés dus sur la durée du contrat
|
||||
|
@ -702,15 +759,14 @@ contrat salarié . CDD . indemnité compensatrice de congés payés:
|
|||
- nom: Méthode du maintien de salaire
|
||||
produit:
|
||||
assiette: rémunération . assiette congés payés / jours ouvrés sur la durée du contrat
|
||||
facteur:
|
||||
facteur:
|
||||
nom: congés non pris
|
||||
valeur: congés dus sur la durée du contrat - congés pris
|
||||
|
||||
|
||||
|
||||
note: |
|
||||
L'indemnité est versée à la fin du contrat, sauf si le CDD se poursuit par un CDI.
|
||||
À noter, la loi El Khomri modifie l'article L3141-12:
|
||||
- avant : Les congés peuvent être pris dès l'ouverture des droits
|
||||
- avant : Les congés peuvent être pris dès l'ouverture des droits
|
||||
- maintenant : Les congés peuvent être pris dès l’embauche
|
||||
références:
|
||||
Fiche service-public.gouv.fr: https://www.service-public.fr/particuliers/vosdroits/F2931
|
||||
|
@ -781,10 +837,10 @@ contrat salarié . ATMP:
|
|||
assiette: cotisations . assiette
|
||||
taux [ref]:
|
||||
variations:
|
||||
- si: taux réduit
|
||||
alors: 0.8%
|
||||
- si: taux connu
|
||||
alors: taux personnalisé
|
||||
- si: taux réduit
|
||||
alors: 0.8%
|
||||
- sinon: ATMP . taux collectif ATMP
|
||||
références:
|
||||
taux réduit 2020 (code 00.00B): https://www.legifrance.gouv.fr/loda/id/JORFTEXT000039684705
|
||||
|
@ -834,7 +890,9 @@ contrat salarié . ATMP . taux connu:
|
|||
contrat salarié . ATMP . taux personnalisé:
|
||||
question: Quel est le taux AT/MP de l'entreprise ?
|
||||
description: >
|
||||
Les entreprises de plus de 20 salariés ont un taux individualisé. L'entreprise peut consulter le taux qui la
|
||||
Les entreprises de plus de 20 salariés ont un taux individualisé. L'entreprise peut consulter son taux effectif directement sur espace net-entreprise.
|
||||
références:
|
||||
Accès compte ATMP (entreprise): https://www.net-entreprises.fr/declaration/compte-atmp/
|
||||
par défaut: taux moyen
|
||||
|
||||
contrat salarié . ATMP . taux collectif ATMP:
|
||||
|
@ -1285,9 +1343,7 @@ contrat salarié . rémunération . brut de base:
|
|||
- rémunération . net
|
||||
- rémunération . net après impôt
|
||||
- équivalent temps plein
|
||||
- dirigeant . rémunération totale
|
||||
- entreprise . chiffre d'affaires
|
||||
- entreprise . chiffre d'affaires minimum
|
||||
- dirigeant . rémunération . totale
|
||||
|
||||
références:
|
||||
Le salaire. Fixation et paiement: http://travail-emploi.gouv.fr/droit-du-travail/remuneration-et-participation-financiere/remuneration/article/le-salaire-fixation-et-paiement
|
||||
|
@ -1735,7 +1791,6 @@ contrat salarié . cotisations . patronales:
|
|||
- formation professionnelle
|
||||
- versement transport
|
||||
- taxe d'apprentissage
|
||||
- CDD . taxe forfaitaire sur les CDD d'usage
|
||||
- CDD . CPF
|
||||
- forfait social
|
||||
- conventionnelles
|
||||
|
@ -1767,7 +1822,7 @@ contrat salarié . rémunération . net imposable:
|
|||
description: |
|
||||
C'est la base utilisée pour calculer l'impôt sur le revenu.
|
||||
valeur:
|
||||
nom: base
|
||||
nom: base
|
||||
description: Le net imposable avant les exonérations et déductions
|
||||
somme:
|
||||
- net avec revenus de remplacement
|
||||
|
@ -1784,8 +1839,6 @@ contrat salarié . rémunération . net imposable:
|
|||
références:
|
||||
DSN: https://dsn-info.custhelp.com/app/answers/detail/a_id/2110
|
||||
|
||||
|
||||
|
||||
contrat salarié . rémunération . net imposable . heures supplémentaires et complémentaires défiscalisées:
|
||||
unité: €/mois
|
||||
formule:
|
||||
|
@ -1851,7 +1904,7 @@ contrat salarié . rémunération . net après impôt:
|
|||
références:
|
||||
Explication de l'impôt à la source: https://www.economie.gouv.fr/prelevement-a-la-source
|
||||
|
||||
formule: net - impôt
|
||||
formule: net - impôt . montant
|
||||
|
||||
contrat salarié . prix du travail:
|
||||
titre: Coût total
|
||||
|
@ -1892,11 +1945,11 @@ contrat salarié . cotisations . salariales . réductions de cotisations:
|
|||
contrat salarié . cotisations . patronales . réductions de cotisations:
|
||||
titre: réductions patronales
|
||||
description: >-
|
||||
À l'exception de la déduction heure supplémentaire, les
|
||||
dispositifs de réduction de cotisations patronales sont
|
||||
À l'exception de la déduction heure supplémentaire, les
|
||||
dispositifs de réduction de cotisations patronales sont
|
||||
mutuellement exclusif.
|
||||
|
||||
Le formule ci dessous selectionne donc automatiquement
|
||||
Le formule ci dessous selectionne donc automatiquement
|
||||
le plus avantageux pour l'employeur.
|
||||
formule:
|
||||
somme:
|
||||
|
@ -1986,11 +2039,19 @@ contrat salarié . aides employeur:
|
|||
Le simulateur n'intègre pas toutes les innombrables aides disponibles en France. Découvrez-les sur le [portail officiel](http://www.aides-entreprises.fr).
|
||||
formule:
|
||||
somme:
|
||||
- aides à l'embauche
|
||||
- activité partielle . indemnisation entreprise
|
||||
|
||||
contrat salarié . aides employeur . aides à l'embauche:
|
||||
description: |
|
||||
L'État met en place des aides pour encourager l'embauche de certains publics prioritaires. Ces aides sont non cumulables entre elles.
|
||||
formule:
|
||||
le maximum de:
|
||||
- aide à l'embauche d'apprentis
|
||||
- aide exceptionnelle à l'embauche d'apprentis
|
||||
- aide exceptionnelle à l'embauche des jeunes
|
||||
- aide à l'embauche senior professionnalisation
|
||||
- activité partielle . indemnisation entreprise
|
||||
- aide à l'embauche des travailleurs handicapés
|
||||
- emploi franc
|
||||
|
||||
contrat salarié . aides employeur . aide à l'embauche d'apprentis:
|
||||
|
@ -2029,7 +2090,7 @@ contrat salarié . aides employeur . aide exceptionnelle à l'embauche d'apprent
|
|||
- apprentissage
|
||||
- professionnalisation . jeune de moins de 30 ans
|
||||
- ancienneté . date d'embauche >= 01/07/2020
|
||||
- ancienneté . date d'embauche <= 28/02/2021
|
||||
- ancienneté . date d'embauche <= 31/12/2021
|
||||
- temps de travail . temps effectif > 0 heures/mois
|
||||
formule:
|
||||
variations:
|
||||
|
@ -2040,6 +2101,10 @@ contrat salarié . aides employeur . aide exceptionnelle à l'embauche d'apprent
|
|||
références:
|
||||
Plan \#1jeune1solution: https://travail-emploi.gouv.fr/formation-professionnelle/entreprise-et-alternance/aide-exceptionnelle-apprentissage
|
||||
|
||||
contrat salarié . jeune de moins de 26 ans:
|
||||
question: Le salarié a-t-il moins de 26 ans ?
|
||||
par défaut: non
|
||||
|
||||
contrat salarié . aides employeur . aide exceptionnelle à l'embauche des jeunes:
|
||||
non applicable si: aides employeur . emploi franc
|
||||
description: >-
|
||||
|
@ -2053,16 +2118,17 @@ contrat salarié . aides employeur . aide exceptionnelle à l'embauche des jeune
|
|||
applicable si:
|
||||
toutes ces conditions:
|
||||
- ancienneté . date d'embauche >= 01/08/2020
|
||||
- ancienneté . date d'embauche <= 31/03/2021
|
||||
- ancienneté . date d'embauche <= 31/05/2021
|
||||
- rémunération . brut de base <= 2 * SMIC
|
||||
- une de ces conditions:
|
||||
- CDI
|
||||
- toutes ces conditions:
|
||||
- CDD
|
||||
- CDD . durée contrat >= 3 mois
|
||||
- nom: jeune de moins de 26 ans
|
||||
question: Le salarié a-t-il moins de 26 ans ?
|
||||
par défaut: non
|
||||
- jeune de moins de 26 ans
|
||||
rend non applicable:
|
||||
# Dispositifs moins généreux et non cumulables
|
||||
- aide à l'embauche des travailleurs handicapés
|
||||
formule:
|
||||
produit:
|
||||
assiette: 4000 €/an
|
||||
|
@ -2094,9 +2160,6 @@ contrat salarié . aides employeur . emploi franc:
|
|||
- *embauche en CDI* : 5000€/an pendant 3 ans, soit un total de 15 000€
|
||||
- *embauche en CDD d'au moins 6 mois* : 2 500€/an pendant 2 ans, soit 5 000€ au maximum
|
||||
|
||||
> Dans le cadre du plan "France Relance", le dispositif est revalorisé pour
|
||||
une embauche jusqu'au 31 janvier 2021.
|
||||
|
||||
[🗺 Vérifier l'éligibilité d'une adresse](https://sig.ville.gouv.fr/recherche-adresses-qp-polville)
|
||||
applicable si: éligible
|
||||
formule:
|
||||
|
@ -2106,8 +2169,10 @@ contrat salarié . aides employeur . emploi franc:
|
|||
- si:
|
||||
toutes ces conditions:
|
||||
- ancienneté . date d'embauche >= 15/10/2020
|
||||
- ancienneté . date d'embauche <= 31/03/2021
|
||||
- ancienneté . date d'embauche <= 31/05/2021
|
||||
- jeune de moins de 26 ans
|
||||
alors:
|
||||
nom: emploi franc plus
|
||||
variations:
|
||||
- si: CDD
|
||||
alors: 5500 €/an
|
||||
|
@ -2119,6 +2184,9 @@ contrat salarié . aides employeur . emploi franc:
|
|||
- sinon: 5000 €/an
|
||||
facteur: temps de travail . quotité de travail effective
|
||||
arrondi: oui
|
||||
rend non applicable:
|
||||
# Dispositifs moins généreux et non cumulables
|
||||
- aide à l'embauche des travailleurs handicapés
|
||||
références:
|
||||
Fiche emploi franc: https://travail-emploi.gouv.fr/emploi/emplois-francs/article/embaucher-une-personne-en-emploi-franc
|
||||
|
||||
|
@ -2132,7 +2200,7 @@ contrat salarié . aides employeur . emploi franc . éligible:
|
|||
- CDD . durée contrat >= 6
|
||||
question: Cette embauche est-elle éligible à l'aide emploi-franc ?
|
||||
description: |
|
||||
Conditions :
|
||||
Conditions :
|
||||
- Le salarié recruté est un demandeur d'emploi inscrit à Pôle Emploi et réside dans un quartier prioritaire de la ville (QPV) [vérifier l'éligibilité d'un quartier](https://sig.ville.gouv.fr/recherche-adresses-qp-polville)
|
||||
- L'employeur est à jour de ses cotisations et n'a pas procédé à un licenciement économique pour le poste pourvu dans les 6 mois précédents le recrutement
|
||||
- Le salarié recruté ne doit pas avoir appartenu à l'effectif de l'entreprise dans les 6 mois précédent l'embauche
|
||||
|
@ -2147,6 +2215,33 @@ contrat salarié . temps de travail:
|
|||
- heures complémentaires
|
||||
description: En France, la base légale du travail est de 35h/semaine. Mais un grand nombre de dispositions existantes permettent de faire varier ce nombre. Vous pouvez les retrouver sur la page [service-public.fr](https://www.service-public.fr/particuliers/vosdroits/N458) dédiée.
|
||||
|
||||
contrat salarié . aides employeur . aide à l'embauche des travailleurs handicapés:
|
||||
non applicable si: aides employeur . emploi franc
|
||||
description: >-
|
||||
Dans le cadre du plan de relance, le gouvernement a décidé de créer une aide
|
||||
à l’embauche visant à favoriser l’emploi des personnes en situation de
|
||||
handicap quel que soit leur âge.
|
||||
applicable si:
|
||||
toutes ces conditions:
|
||||
- nom: situation de handicap
|
||||
question: Le salarié a-t'il la reconnaissance de travailleur handicapé (RQTH) ?
|
||||
par défaut: non
|
||||
- ancienneté . date d'embauche >= 01/09/2020
|
||||
- ancienneté . date d'embauche <= 30/06/2021
|
||||
- rémunération . brut de base <= 2 * SMIC
|
||||
- une de ces conditions:
|
||||
- CDI
|
||||
- toutes ces conditions:
|
||||
- CDD
|
||||
- CDD . durée contrat >= 3 mois
|
||||
formule:
|
||||
produit:
|
||||
assiette: 4000 €/an
|
||||
facteur: temps de travail . quotité de travail effective
|
||||
arrondi: oui
|
||||
références:
|
||||
Plan \#1jeune1solution: https://travail-emploi.gouv.fr/le-ministere-en-action/relance-activite/plan-1jeune-1solution/aide-embauche-jeunes
|
||||
|
||||
contrat salarié . temps de travail . temps effectif:
|
||||
formule:
|
||||
somme:
|
||||
|
@ -2458,7 +2553,7 @@ contrat salarié . réduction générale . plafond avec application de la DFS:
|
|||
recalcul:
|
||||
règle: réduction générale
|
||||
avec:
|
||||
déduction forfaitaire spécifique . application: non
|
||||
déduction forfaitaire spécifique: non
|
||||
|
||||
contrat salarié . contribution d'équilibre général:
|
||||
description: >-
|
||||
|
@ -2725,7 +2820,7 @@ contrat salarié . complémentaire santé . forfait:
|
|||
titre: Forfait de complémentaire santé entreprise
|
||||
description: >-
|
||||
L'employeur a l'obligation de proposer une offre de complémentaire santé. Il
|
||||
doit prendre à sa charge au moins la moitié de son coût.
|
||||
doit prendre à sa charge au moins la moitié de son coût.
|
||||
|
||||
Le montant peut varier, mais la prévoyance doit couvrir un panier minimum
|
||||
légal de soins.
|
||||
|
@ -3065,8 +3160,8 @@ contrat salarié . maladie . taux solidarité autonomie:
|
|||
acronyme: CSA
|
||||
formule: 0.3%
|
||||
références:
|
||||
- https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-contribution-solidarite-auton.html
|
||||
- https://www.service-public.fr/professionnels-entreprises/vosdroits/F32872
|
||||
Fiche Urssaf: https://www.urssaf.fr/portail/home/employeur/calculer-les-cotisations/les-taux-de-cotisations/la-contribution-solidarite-auton.html
|
||||
Fiche service-public: https://www.service-public.fr/professionnels-entreprises/vosdroits/F32872
|
||||
|
||||
contrat salarié . maladie . taux employeur:
|
||||
formule:
|
||||
|
@ -3302,75 +3397,6 @@ contrat salarié . taxe sur les salaires . barème:
|
|||
références:
|
||||
barème: https://www.service-public.fr/professionnels-entreprises/vosdroits/F22576
|
||||
|
||||
contrat salarié . profession spécifique:
|
||||
question: Le salarié exerce t-il l'une des professions suivantes ?
|
||||
par défaut: non
|
||||
formule:
|
||||
une possibilité:
|
||||
possibilités:
|
||||
- journaliste
|
||||
- ouvrier du bâtiment
|
||||
- artiste musicien
|
||||
- pilote de ligne ou personnel navigant
|
||||
|
||||
contrat salarié . profession spécifique . journaliste:
|
||||
formule: contrat salarié . profession spécifique = 'journaliste'
|
||||
icônes: ✒
|
||||
description: >-
|
||||
Concerne les journalistes, rédacteurs, photographes, directeurs de journaux
|
||||
Critiques dramatiques et musicaux.
|
||||
|
||||
contrat salarié . profession spécifique . journaliste . réduction de taux:
|
||||
applicable si: profession spécifique = 'journaliste'
|
||||
remplace:
|
||||
- règle: vieillesse . employeur . plafonnée . taux
|
||||
par: vieillesse . employeur . plafonnée . taux * réduction de taux
|
||||
- règle: vieillesse . employeur . déplafonnée . taux
|
||||
par: vieillesse . employeur . déplafonnée . taux * réduction de taux
|
||||
- règle: vieillesse . salarié . plafonnée . taux
|
||||
par: vieillesse . salarié . plafonnée . taux * réduction de taux
|
||||
- règle: vieillesse . salarié . déplafonnée . taux
|
||||
par: vieillesse . salarié . déplafonnée . taux * réduction de taux
|
||||
|
||||
- règle: allocations familiales . taux
|
||||
par: allocations familiales . taux * réduction de taux
|
||||
- règle: établissement . taux du versement transport
|
||||
par: établissement . taux du versement transport * réduction de taux
|
||||
- règle: ATMP . taux
|
||||
par: ATMP . taux * réduction de taux
|
||||
- règle: ATMP . taux minimum
|
||||
par: ATMP . taux minimum * réduction de taux
|
||||
formule: 80%
|
||||
|
||||
contrat salarié . profession spécifique . journaliste . abattement fiscal:
|
||||
applicable si: profession spécifique = 'journaliste'
|
||||
remplace: rémunération . net imposable
|
||||
titre: net imposable journaliste
|
||||
formule:
|
||||
valeur: rémunération . net imposable
|
||||
abattement: 7650€/an
|
||||
|
||||
contrat salarié . profession spécifique . ouvrier du bâtiment:
|
||||
icônes: 👷♂️
|
||||
description: >-
|
||||
Concerne les ouvriers du bâtiment visés aux paragraphes 1er et 2 de
|
||||
l’article 1er du décret du 17 novembre 1936, à l’exclusion de ceux qui
|
||||
travaillent en usine ou en atelier.
|
||||
|
||||
contrat salarié . profession spécifique . artiste musicien:
|
||||
icônes: 🎼
|
||||
description: >-
|
||||
Concerne les artistes musiciens, choristes, chefs d’orchestre, régisseurs de
|
||||
théâtre
|
||||
|
||||
contrat salarié . profession spécifique . pilote de ligne ou personnel navigant:
|
||||
icônes: ✈
|
||||
description: >-
|
||||
Concerne les pilotes, radios, mécaniciens navigants des compagnies de
|
||||
transports aériens ; pilotes et mécaniciens employés par les maisons de
|
||||
construction d’avions et de moteurs pour l’essai de prototypes ; pilotes
|
||||
moniteurs d’aéro-clubs et des écoles d’aviation civile
|
||||
|
||||
contrat salarié . régime des impatriés:
|
||||
question: Le salarié bénéficie-t-il du régime des impatriés ?
|
||||
non applicable si: situation personnelle . domiciliation fiscale à l'étranger
|
||||
|
@ -3529,7 +3555,7 @@ contrat salarié . lodeom:
|
|||
contrat salarié . lodeom . zone un:
|
||||
titre: Zone géographique 1 (Guadeloupe, Martinique, La Réunion, Guyane)
|
||||
références:
|
||||
- https://www.urssaf.fr/portail/home/outre-mer/employeur/exoneration-de-cotisations-di-1/employeurs-situes-en-guadeloupe.html
|
||||
fiche Urssaf: https://www.urssaf.fr/portail/home/outre-mer/employeur/exoneration-de-cotisations-di-1/employeurs-situes-en-guadeloupe.html
|
||||
formule:
|
||||
une de ces conditions:
|
||||
- établissement . localisation . département = 'Guadeloupe'
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"allowJs": true,
|
||||
"noEmit": true,
|
||||
"strict": true
|
||||
},
|
||||
"include": ["build.js"]
|
||||
},
|
||||
"include": ["build.js"]
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
ALGOLIA_APP_ID=
|
||||
ALGOLIA_ADMIN_KEY=
|
||||
ALGOLIA_SEARCH_KEY=
|
||||
ALGOLIA_INDEX_PREFIX=monentreprise-{env}-
|
||||
INSEE_SIRENE_API_SECRET=
|
||||
MATOMO_TOKEN=
|
||||
ATINTERNET_API_ACCESS_KEY=
|
||||
ATINTERNET_API_SECRET_KEY=
|
||||
DEEPL_API_SECRET=
|
||||
ZAMMAD_API_SECRET_KEY=
|
||||
GITHUB_API_SECRET=
|
|
@ -3,3 +3,4 @@ source/data/*
|
|||
!source/data/versement-transport.json
|
||||
cypress/videos
|
||||
cypress/screenshots
|
||||
cypress/downloads
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,52 @@
|
|||
[
|
||||
{
|
||||
"nom": "Brest",
|
||||
"code": "29019",
|
||||
"codesPostaux": [
|
||||
"29200",
|
||||
"29000",
|
||||
"29240"
|
||||
],
|
||||
"_score": 1.7190035169667954,
|
||||
"departement": {
|
||||
"code": "29",
|
||||
"nom": "Finistère"
|
||||
},
|
||||
"region": {
|
||||
"code": "53",
|
||||
"nom": "Bretagne"
|
||||
}
|
||||
},
|
||||
{
|
||||
"nom": "Brestot",
|
||||
"code": "27110",
|
||||
"codesPostaux": [
|
||||
"27350"
|
||||
],
|
||||
"_score": 0.6998164236528914,
|
||||
"departement": {
|
||||
"code": "27",
|
||||
"nom": "Eure"
|
||||
},
|
||||
"region": {
|
||||
"code": "28",
|
||||
"nom": "Normandie"
|
||||
}
|
||||
},
|
||||
{
|
||||
"nom": "Esboz-Brest",
|
||||
"code": "70216",
|
||||
"codesPostaux": [
|
||||
"70300"
|
||||
],
|
||||
"_score": 0.4939500123346406,
|
||||
"departement": {
|
||||
"code": "70",
|
||||
"nom": "Haute-Saône"
|
||||
},
|
||||
"region": {
|
||||
"code": "27",
|
||||
"nom": "Bourgogne-Franche-Comté"
|
||||
}
|
||||
}
|
||||
]
|
|
@ -0,0 +1,34 @@
|
|||
[
|
||||
{
|
||||
"nom": "Escoubès-Pouts",
|
||||
"code": "65164",
|
||||
"codesPostaux": [
|
||||
"65100"
|
||||
],
|
||||
"_score": 0.7078563143746053,
|
||||
"departement": {
|
||||
"code": "65",
|
||||
"nom": "Hautes-Pyrénées"
|
||||
},
|
||||
"region": {
|
||||
"code": "76",
|
||||
"nom": "Occitanie"
|
||||
}
|
||||
},
|
||||
{
|
||||
"nom": "Ponson-Debat-Pouts",
|
||||
"code": "64451",
|
||||
"codesPostaux": [
|
||||
"64460"
|
||||
],
|
||||
"_score": 0.6108133474330959,
|
||||
"departement": {
|
||||
"code": "64",
|
||||
"nom": "Pyrénées-Atlantiques"
|
||||
},
|
||||
"region": {
|
||||
"code": "75",
|
||||
"nom": "Nouvelle-Aquitaine"
|
||||
}
|
||||
}
|
||||
]
|
|
@ -0,0 +1,240 @@
|
|||
{
|
||||
"total_results": 2,
|
||||
"total_pages": 1,
|
||||
"per_page": 5,
|
||||
"page": 1,
|
||||
"etablissement": [
|
||||
{
|
||||
"id": 162746407,
|
||||
"siren": "493096580",
|
||||
"siret": "49309658000029",
|
||||
"nic": "00029",
|
||||
"l1_normalisee": "MONSIEUR JOHAN GIROD",
|
||||
"l2_normalisee": null,
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "ROUTE DE SAINT PONS",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "34390 MONS",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": "PAYSAGISTE DU CAROUX",
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "ROUTE DE SAINT PONS",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "34390 MONS",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": null,
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RTE",
|
||||
"libelle_voie": "DE SAINT PONS",
|
||||
"code_postal": "34390",
|
||||
"cedex": null,
|
||||
"region": "76",
|
||||
"libelle_region": "Occitanie",
|
||||
"departement": "34",
|
||||
"arrondissement": "1",
|
||||
"canton": "24",
|
||||
"commune": "160",
|
||||
"libelle_commune": "MONS",
|
||||
"departement_unite_urbaine": "34",
|
||||
"taille_unite_urbaine": "0",
|
||||
"numero_unite_urbaine": "34000",
|
||||
"etablissement_public_cooperation_intercommunale": "200066348",
|
||||
"tranche_commune_detaillee": "11",
|
||||
"zone_emploi": "9108",
|
||||
"is_siege": "1",
|
||||
"enseigne": null,
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "201310",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "8130Z",
|
||||
"libelle_activite_principale": "Services d'aménagement paysager",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": "NN",
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": null,
|
||||
"origine_creation": null,
|
||||
"date_creation": "20101022",
|
||||
"date_debut_activite": "20131001",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "GIROD*JOHAN/",
|
||||
"sigle": null,
|
||||
"nom": "GIROD",
|
||||
"prenom": "JOHAN",
|
||||
"civilite": "MONSIEUR",
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00029",
|
||||
"region_siege": "76",
|
||||
"departement_commune_siege": "34160",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "1000",
|
||||
"libelle_nature_juridique_entreprise": "Entrepreneur individuel",
|
||||
"activite_principale_entreprise": "8130Z",
|
||||
"libelle_activite_principale_entreprise": "Services d'aménagement paysager",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": "NN",
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": null,
|
||||
"categorie_entreprise": "PME",
|
||||
"date_creation_entreprise": "200612",
|
||||
"date_introduction_base_diffusion_entreprise": "201303",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2021-02-23T14:00:31",
|
||||
"created_at": "2021-06-03T01:09:00.000+02:00",
|
||||
"updated_at": "2021-06-03T01:09:00.000+02:00",
|
||||
"longitude": "2.947298",
|
||||
"latitude": "43.565142",
|
||||
"geo_score": "0.94",
|
||||
"geo_type": "street",
|
||||
"geo_adresse": "Route de Saint-Pons 34390 Mons",
|
||||
"geo_id": "34160_0061",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "ROUTE DE SAINT PONS",
|
||||
"geo_l5": null
|
||||
},
|
||||
{
|
||||
"id": 163431308,
|
||||
"siren": "534886650",
|
||||
"siret": "53488665000041",
|
||||
"nic": "00041",
|
||||
"l1_normalisee": "MONSIEUR JOHAN HERVOIS",
|
||||
"l2_normalisee": null,
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "2 RUE GIRODET",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "45000 ORLEANS",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": "HERVOIS",
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "2 RUE GIRODET",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "45000 ORLEANS",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": "2",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "GIRODET",
|
||||
"code_postal": "45000",
|
||||
"cedex": null,
|
||||
"region": "24",
|
||||
"libelle_region": "Centre-Val de Loire",
|
||||
"departement": "45",
|
||||
"arrondissement": "2",
|
||||
"canton": "99",
|
||||
"commune": "234",
|
||||
"libelle_commune": "ORLEANS",
|
||||
"departement_unite_urbaine": "45",
|
||||
"taille_unite_urbaine": "7",
|
||||
"numero_unite_urbaine": "45701",
|
||||
"etablissement_public_cooperation_intercommunale": "244500468",
|
||||
"tranche_commune_detaillee": "61",
|
||||
"zone_emploi": "2418",
|
||||
"is_siege": "1",
|
||||
"enseigne": null,
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "201507",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "6910Z",
|
||||
"libelle_activite_principale": "Activités juridiques",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": null,
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": null,
|
||||
"origine_creation": null,
|
||||
"date_creation": "20150701",
|
||||
"date_debut_activite": "20150701",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "HERVOIS*JOHAN CEDRIC ALEXANDRE/",
|
||||
"sigle": null,
|
||||
"nom": "HERVOIS",
|
||||
"prenom": "JOHAN",
|
||||
"civilite": "MONSIEUR",
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00041",
|
||||
"region_siege": "24",
|
||||
"departement_commune_siege": "45234",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "1000",
|
||||
"libelle_nature_juridique_entreprise": "Entrepreneur individuel",
|
||||
"activite_principale_entreprise": "6910Z",
|
||||
"libelle_activite_principale_entreprise": "Activités juridiques",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": null,
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": null,
|
||||
"categorie_entreprise": "PME",
|
||||
"date_creation_entreprise": "201110",
|
||||
"date_introduction_base_diffusion_entreprise": "201507",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2021-02-23T15:56:48",
|
||||
"created_at": "2021-06-03T01:13:33.000+02:00",
|
||||
"updated_at": "2021-06-03T01:13:33.000+02:00",
|
||||
"longitude": "1.90327",
|
||||
"latitude": "47.907448",
|
||||
"geo_score": "0.96",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "2 Rue Girodet 45000 Orléans",
|
||||
"geo_id": "45234_3240_00002",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "2 RUE GIRODET",
|
||||
"geo_l5": null
|
||||
}
|
||||
],
|
||||
"spellcheck": null,
|
||||
"suggestions": []
|
||||
}
|
|
@ -0,0 +1,596 @@
|
|||
{
|
||||
"total_results": 35,
|
||||
"total_pages": 7,
|
||||
"per_page": 5,
|
||||
"page": 1,
|
||||
"etablissement": [
|
||||
{
|
||||
"id": 169416217,
|
||||
"siren": "511125122",
|
||||
"siret": "51112512200024",
|
||||
"nic": "00024",
|
||||
"l1_normalisee": "SCI MENOZA",
|
||||
"l2_normalisee": null,
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "160 RUELLE DU HERLIN",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "62700 BRUAY-LA-BUISSIERE",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": null,
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "160 RUELLE DU HERLIN",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "62700 BRUAY-LA-BUISSIERE",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": "160",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RLE",
|
||||
"libelle_voie": "DU HERLIN",
|
||||
"code_postal": "62700",
|
||||
"cedex": null,
|
||||
"region": "32",
|
||||
"libelle_region": "Hauts-de-France",
|
||||
"departement": "62",
|
||||
"arrondissement": "2",
|
||||
"canton": "16",
|
||||
"commune": "178",
|
||||
"libelle_commune": "BRUAY LA BUISSIERE",
|
||||
"departement_unite_urbaine": "62",
|
||||
"taille_unite_urbaine": "7",
|
||||
"numero_unite_urbaine": "00752",
|
||||
"etablissement_public_cooperation_intercommunale": "200072460",
|
||||
"tranche_commune_detaillee": "41",
|
||||
"zone_emploi": "3123",
|
||||
"is_siege": "1",
|
||||
"enseigne": null,
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "201312",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "6820B",
|
||||
"libelle_activite_principale": "Location de terrains et d'autres biens immobiliers",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": null,
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": null,
|
||||
"origine_creation": null,
|
||||
"date_creation": "20131201",
|
||||
"date_debut_activite": "20131201",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "SCI MENOZA",
|
||||
"sigle": null,
|
||||
"nom": null,
|
||||
"prenom": null,
|
||||
"civilite": null,
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00024",
|
||||
"region_siege": "32",
|
||||
"departement_commune_siege": "62178",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "6540",
|
||||
"libelle_nature_juridique_entreprise": "Société civile immobilière",
|
||||
"activite_principale_entreprise": "6820B",
|
||||
"libelle_activite_principale_entreprise": "Location de terrains et d'autres biens immobiliers",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": null,
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": null,
|
||||
"categorie_entreprise": null,
|
||||
"date_creation_entreprise": "200902",
|
||||
"date_introduction_base_diffusion_entreprise": "201312",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2021-02-23T15:19:11",
|
||||
"created_at": "2021-06-03T01:53:54.000+02:00",
|
||||
"updated_at": "2021-06-03T01:53:54.000+02:00",
|
||||
"longitude": "2.564399",
|
||||
"latitude": "50.499922",
|
||||
"geo_score": "0.96",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "160 Ruelle du Herlin 62700 Bruay-la-Buissière",
|
||||
"geo_id": "62482_0098_00160",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "160 RUELLE DU HERLIN",
|
||||
"geo_l5": null
|
||||
},
|
||||
{
|
||||
"id": 170002635,
|
||||
"siren": "834364291",
|
||||
"siret": "83436429100015",
|
||||
"nic": "00015",
|
||||
"l1_normalisee": "MENOZ",
|
||||
"l2_normalisee": null,
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "55 RUE DES PYRENEES",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "75020 PARIS 20",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": null,
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "55 RUE DES PYRENEES",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "75020 PARIS 20",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": "55",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DES PYRENEES",
|
||||
"code_postal": "75020",
|
||||
"cedex": null,
|
||||
"region": "11",
|
||||
"libelle_region": null,
|
||||
"departement": "75",
|
||||
"arrondissement": "1",
|
||||
"canton": null,
|
||||
"commune": "120",
|
||||
"libelle_commune": "PARIS 20E ARRONDISSEMENT",
|
||||
"departement_unite_urbaine": null,
|
||||
"taille_unite_urbaine": null,
|
||||
"numero_unite_urbaine": null,
|
||||
"etablissement_public_cooperation_intercommunale": null,
|
||||
"tranche_commune_detaillee": "80",
|
||||
"zone_emploi": null,
|
||||
"is_siege": "1",
|
||||
"enseigne": null,
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "201803",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "6201Z",
|
||||
"libelle_activite_principale": "Programmation informatique",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": "01",
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": "2018",
|
||||
"origine_creation": null,
|
||||
"date_creation": "20180102",
|
||||
"date_debut_activite": "20180325",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "MENOZ",
|
||||
"sigle": null,
|
||||
"nom": null,
|
||||
"prenom": null,
|
||||
"civilite": null,
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00015",
|
||||
"region_siege": "11",
|
||||
"departement_commune_siege": "75120",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "5710",
|
||||
"libelle_nature_juridique_entreprise": "SAS, société par actions simplifiée",
|
||||
"activite_principale_entreprise": "6201Z",
|
||||
"libelle_activite_principale_entreprise": "Programmation informatique",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": "01",
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": "2018",
|
||||
"categorie_entreprise": "PME",
|
||||
"date_creation_entreprise": "201801",
|
||||
"date_introduction_base_diffusion_entreprise": "201803",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2020-08-25T11:39:32",
|
||||
"created_at": "2021-06-03T01:57:56.000+02:00",
|
||||
"updated_at": "2021-06-03T01:57:56.000+02:00",
|
||||
"longitude": "2.406077",
|
||||
"latitude": "48.851854",
|
||||
"geo_score": "0.99",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "55 Rue des Pyrénées 75020 Paris",
|
||||
"geo_id": "75120_7904_00055",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "55 RUE DES PYRENEES",
|
||||
"geo_l5": null
|
||||
},
|
||||
{
|
||||
"id": 159190900,
|
||||
"siren": "403049448",
|
||||
"siret": "40304944800034",
|
||||
"nic": "00034",
|
||||
"l1_normalisee": "MISTRAL MENOZZI",
|
||||
"l2_normalisee": null,
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "551 ROUTE DE GADAGNE",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "84450 SAINT-SATURNIN-LES-AVIGNON",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": null,
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "551 ROUTE DE GADAGNE",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "84450 SAINT-SATURNIN-LES-AVIGNON",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": "551",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RTE",
|
||||
"libelle_voie": "DE GADAGNE",
|
||||
"code_postal": "84450",
|
||||
"cedex": null,
|
||||
"region": "93",
|
||||
"libelle_region": "Provence-Alpes-Côte d'Azur",
|
||||
"departement": "84",
|
||||
"arrondissement": "2",
|
||||
"canton": "14",
|
||||
"commune": "119",
|
||||
"libelle_commune": "SAINT SATURNIN LES AVIGNON",
|
||||
"departement_unite_urbaine": "84",
|
||||
"taille_unite_urbaine": "7",
|
||||
"numero_unite_urbaine": "00754",
|
||||
"etablissement_public_cooperation_intercommunale": "248400251",
|
||||
"tranche_commune_detaillee": "18",
|
||||
"zone_emploi": "59",
|
||||
"is_siege": "1",
|
||||
"enseigne": null,
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "201909",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "6820A",
|
||||
"libelle_activite_principale": "Location de logements",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": null,
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": null,
|
||||
"origine_creation": null,
|
||||
"date_creation": "20190902",
|
||||
"date_debut_activite": "20190902",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "MISTRAL MENOZZI",
|
||||
"sigle": null,
|
||||
"nom": null,
|
||||
"prenom": null,
|
||||
"civilite": null,
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00034",
|
||||
"region_siege": "93",
|
||||
"departement_commune_siege": "84119",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "6540",
|
||||
"libelle_nature_juridique_entreprise": "Société civile immobilière",
|
||||
"activite_principale_entreprise": "6820A",
|
||||
"libelle_activite_principale_entreprise": "Location de logements",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": "NN",
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": null,
|
||||
"categorie_entreprise": null,
|
||||
"date_creation_entreprise": "199511",
|
||||
"date_introduction_base_diffusion_entreprise": "201909",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2020-01-21T19:35:08",
|
||||
"created_at": "2021-06-03T00:45:23.000+02:00",
|
||||
"updated_at": "2021-06-03T00:45:23.000+02:00",
|
||||
"longitude": "4.938683",
|
||||
"latitude": "43.953835",
|
||||
"geo_score": "0.96",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "551 Route de Gadagne 84450 Saint-Saturnin-lès-Avignon",
|
||||
"geo_id": "84119_0298_00551",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "551 ROUTE DE GADAGNE",
|
||||
"geo_l5": null
|
||||
},
|
||||
{
|
||||
"id": 164155083,
|
||||
"siren": "800559064",
|
||||
"siret": "80055906400012",
|
||||
"nic": "00012",
|
||||
"l1_normalisee": "MENOZZI VAISE",
|
||||
"l2_normalisee": "CLASS CROUTE",
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "51BIS RUE DE SAINT CYR",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "69009 LYON 9EME",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": "CLASS'CROUTE",
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "51BIS RUE DE SAINT CYR",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "69009 LYON 9EME",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": "51",
|
||||
"indice_repetition": "B",
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DE ST CYR",
|
||||
"code_postal": "69009",
|
||||
"cedex": null,
|
||||
"region": "84",
|
||||
"libelle_region": null,
|
||||
"departement": "69",
|
||||
"arrondissement": "1",
|
||||
"canton": null,
|
||||
"commune": "389",
|
||||
"libelle_commune": "LYON 9E ARRONDISSEMENT",
|
||||
"departement_unite_urbaine": null,
|
||||
"taille_unite_urbaine": null,
|
||||
"numero_unite_urbaine": null,
|
||||
"etablissement_public_cooperation_intercommunale": null,
|
||||
"tranche_commune_detaillee": null,
|
||||
"zone_emploi": null,
|
||||
"is_siege": "1",
|
||||
"enseigne": "CLASS'CROUTE",
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "201404",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "5610C",
|
||||
"libelle_activite_principale": "Restauration de type rapide",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": "11",
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": "2018",
|
||||
"origine_creation": null,
|
||||
"date_creation": "20140220",
|
||||
"date_debut_activite": "20140401",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "MENOZZI VAISE",
|
||||
"sigle": null,
|
||||
"nom": null,
|
||||
"prenom": null,
|
||||
"civilite": null,
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00012",
|
||||
"region_siege": "84",
|
||||
"departement_commune_siege": "69389",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "5499",
|
||||
"libelle_nature_juridique_entreprise": "Société à responsabilité limitée (sans autre indication)",
|
||||
"activite_principale_entreprise": "5610C",
|
||||
"libelle_activite_principale_entreprise": "Restauration de type rapide",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": "11",
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": "2018",
|
||||
"categorie_entreprise": "PME",
|
||||
"date_creation_entreprise": "201402",
|
||||
"date_introduction_base_diffusion_entreprise": "201602",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2020-08-25T11:09:50",
|
||||
"created_at": "2021-06-03T01:18:25.000+02:00",
|
||||
"updated_at": "2021-06-03T01:18:25.000+02:00",
|
||||
"longitude": "4.807071",
|
||||
"latitude": "45.782404",
|
||||
"geo_score": "0.62",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "51bis Rue de Saint-Cyr 69009 Lyon",
|
||||
"geo_id": "69389_6295_00051_bis",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "51BIS RUE DE SAINT CYR",
|
||||
"geo_l5": null
|
||||
},
|
||||
{
|
||||
"id": 161314597,
|
||||
"siren": "480134782",
|
||||
"siret": "48013478200014",
|
||||
"nic": "00014",
|
||||
"l1_normalisee": "MENOZZI CITE",
|
||||
"l2_normalisee": "CITE INTERNATIONALE",
|
||||
"l3_normalisee": null,
|
||||
"l4_normalisee": "85 QUAI CHARLES DE GAULLE",
|
||||
"l5_normalisee": null,
|
||||
"l6_normalisee": "69006 LYON 6EME",
|
||||
"l7_normalisee": null,
|
||||
"l1_declaree": null,
|
||||
"l2_declaree": null,
|
||||
"l3_declaree": null,
|
||||
"l4_declaree": "85 QUAI CHARLES DE GAULLE",
|
||||
"l5_declaree": null,
|
||||
"l6_declaree": "69006 LYON 6EME",
|
||||
"l7_declaree": null,
|
||||
"numero_voie": "85",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "QUAI",
|
||||
"libelle_voie": "CHARLES DE GAULLE",
|
||||
"code_postal": "69006",
|
||||
"cedex": null,
|
||||
"region": "84",
|
||||
"libelle_region": null,
|
||||
"departement": "69",
|
||||
"arrondissement": "1",
|
||||
"canton": null,
|
||||
"commune": "386",
|
||||
"libelle_commune": "LYON 6E ARRONDISSEMENT",
|
||||
"departement_unite_urbaine": null,
|
||||
"taille_unite_urbaine": null,
|
||||
"numero_unite_urbaine": null,
|
||||
"etablissement_public_cooperation_intercommunale": null,
|
||||
"tranche_commune_detaillee": null,
|
||||
"zone_emploi": null,
|
||||
"is_siege": "1",
|
||||
"enseigne": null,
|
||||
"indicateur_champ_publipostage": "A",
|
||||
"statut_prospection": null,
|
||||
"date_introduction_base_diffusion": "200801",
|
||||
"nature_entrepreneur_individuel": null,
|
||||
"libelle_nature_entrepreneur_individuel": null,
|
||||
"activite_principale": "5610C",
|
||||
"libelle_activite_principale": "Restauration de type rapide",
|
||||
"date_validite_activite_principale": null,
|
||||
"tranche_effectif_salarie": "11",
|
||||
"libelle_tranche_effectif_salarie": null,
|
||||
"tranche_effectif_salarie_centaine_pret": null,
|
||||
"date_validite_effectif_salarie": "2018",
|
||||
"origine_creation": null,
|
||||
"date_creation": "20041228",
|
||||
"date_debut_activite": "20080101",
|
||||
"nature_activite": null,
|
||||
"lieu_activite": null,
|
||||
"type_magasin": null,
|
||||
"is_saisonnier": null,
|
||||
"modalite_activite_principale": null,
|
||||
"caractere_productif": null,
|
||||
"participation_particuliere_production": null,
|
||||
"caractere_auxiliaire": null,
|
||||
"nom_raison_sociale": "MENOZZI CITE",
|
||||
"sigle": null,
|
||||
"nom": null,
|
||||
"prenom": null,
|
||||
"civilite": null,
|
||||
"numero_rna": null,
|
||||
"nic_siege": "00014",
|
||||
"region_siege": "84",
|
||||
"departement_commune_siege": "69386",
|
||||
"email": null,
|
||||
"nature_juridique_entreprise": "5710",
|
||||
"libelle_nature_juridique_entreprise": "SAS, société par actions simplifiée",
|
||||
"activite_principale_entreprise": "5610C",
|
||||
"libelle_activite_principale_entreprise": "Restauration de type rapide",
|
||||
"date_validite_activite_principale_entreprise": null,
|
||||
"activite_principale_registre_metier": null,
|
||||
"is_ess": null,
|
||||
"date_ess": null,
|
||||
"tranche_effectif_salarie_entreprise": "11",
|
||||
"libelle_tranche_effectif_salarie_entreprise": null,
|
||||
"tranche_effectif_salarie_entreprise_centaine_pret": null,
|
||||
"date_validite_effectif_salarie_entreprise": "2018",
|
||||
"categorie_entreprise": "PME",
|
||||
"date_creation_entreprise": "200412",
|
||||
"date_introduction_base_diffusion_entreprise": "201812",
|
||||
"indice_monoactivite_entreprise": null,
|
||||
"modalite_activite_principale_entreprise": null,
|
||||
"caractere_productif_entreprise": null,
|
||||
"date_validite_rubrique_niveau_entreprise_esa": null,
|
||||
"tranche_chiffre_affaire_entreprise_esa": null,
|
||||
"activite_principale_entreprise_esa": null,
|
||||
"premiere_activite_secondaire_entreprise_esa": null,
|
||||
"deuxieme_activite_secondaire_entreprise_esa": null,
|
||||
"troisieme_activite_secondaire_entreprise_esa": null,
|
||||
"quatrieme_activite_secondaire_entreprise_esa": null,
|
||||
"nature_mise_a_jour": null,
|
||||
"indicateur_mise_a_jour_1": null,
|
||||
"indicateur_mise_a_jour_2": null,
|
||||
"indicateur_mise_a_jour_3": null,
|
||||
"date_mise_a_jour": "2021-02-23T13:43:00",
|
||||
"created_at": "2021-06-03T00:59:31.000+02:00",
|
||||
"updated_at": "2021-06-03T00:59:31.000+02:00",
|
||||
"longitude": "4.852064",
|
||||
"latitude": "45.78402",
|
||||
"geo_score": "0.97",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "85 Quai Charles de Gaulle 69006 Lyon",
|
||||
"geo_id": "69386_1380_00085",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "85 QUAI CHARLES DE GAULLE",
|
||||
"geo_l5": null
|
||||
}
|
||||
],
|
||||
"spellcheck": null,
|
||||
"suggestions": [
|
||||
"menoz",
|
||||
"menozzi*albertini/marie agnes/",
|
||||
"menozzi*dominique emile/",
|
||||
"menoz compagnie yado",
|
||||
"menozzi champagne",
|
||||
"menozzi cite",
|
||||
"menozzi holding",
|
||||
"menozzi industrie",
|
||||
"menozzi vaise",
|
||||
"menozzi*annalisa/"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,296 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 213007946,
|
||||
"siren": "480134782",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "2004-12-28",
|
||||
"sigle": null,
|
||||
"sexe": null,
|
||||
"prenom_1": null,
|
||||
"prenom_2": null,
|
||||
"prenom_3": null,
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": null,
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": "11",
|
||||
"annee_effectifs": "2018",
|
||||
"date_dernier_traitement": "2020-08-25T10:24:08",
|
||||
"nombre_periodes": "8",
|
||||
"categorie_entreprise": "PME",
|
||||
"annee_categorie_entreprise": "2018",
|
||||
"date_fin": null,
|
||||
"date_debut": "2018-12-31",
|
||||
"etat_administratif": "A",
|
||||
"nom": null,
|
||||
"nom_usage": null,
|
||||
"denomination": "MENOZZI CITE",
|
||||
"denomination_usuelle_1": "CLASS'CROUTE",
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "5710",
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00014",
|
||||
"economie_sociale_solidaire": "N",
|
||||
"caractere_employeur": "O",
|
||||
"created_at": "2021-06-03T02:35:23.715+02:00",
|
||||
"updated_at": "2021-06-03T02:35:23.715+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1507749543,
|
||||
"siren": "480134782",
|
||||
"nic": "00014",
|
||||
"siret": "48013478200014",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2004-12-28",
|
||||
"tranche_effectifs": "11",
|
||||
"annee_effectifs": "2018",
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T13:43:00",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": "CITE INTERNATIONALE",
|
||||
"numero_voie": "85",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "QUAI",
|
||||
"libelle_voie": "CHARLES DE GAULLE",
|
||||
"code_postal": "69006",
|
||||
"libelle_commune": "LYON 6EME",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69386",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2008-01-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "4.852064",
|
||||
"latitude": "45.78402",
|
||||
"geo_score": "0.67",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "85 Quai Charles de Gaulle 69006 Lyon",
|
||||
"geo_id": "69386_1380_00085",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "85 QUAI CHARLES DE GAULLE",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213007946,
|
||||
"created_at": "2021-06-03T04:41:50.706+02:00",
|
||||
"updated_at": "2021-06-03T04:41:50.706+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR45480134782",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1507749545,
|
||||
"siren": "480134782",
|
||||
"nic": "00030",
|
||||
"siret": "48013478200030",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2016-02-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2019-12-22T03:32:01",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": "41-43",
|
||||
"numero_voie": "41",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DES CHARTREUX",
|
||||
"code_postal": "69001",
|
||||
"libelle_commune": "LYON 1ER",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69381",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2018-12-31",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "52.10B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "4.825305",
|
||||
"latitude": "45.771974",
|
||||
"geo_score": "0.62",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "41 Rue des Chartreux 69001 Lyon",
|
||||
"geo_id": "69381_1550_00041",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "41 RUE DES CHARTREUX",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213007946,
|
||||
"created_at": "2021-06-03T04:41:50.706+02:00",
|
||||
"updated_at": "2021-06-03T04:41:50.706+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1507749544,
|
||||
"siren": "480134782",
|
||||
"nic": "00022",
|
||||
"siret": "48013478200022",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2008-10-27",
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2016-04-26T02:56:45",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "51",
|
||||
"indice_repetition": "B",
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DE ST CYR",
|
||||
"code_postal": "69009",
|
||||
"libelle_commune": "LYON 9EME",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69389",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2014-03-31",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": "CLASS'ROUTE",
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "4.807071",
|
||||
"latitude": "45.782404",
|
||||
"geo_score": "0.49",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "51 bis Rue de Saint-cyr 69009 Lyon",
|
||||
"geo_id": "69389_6295_00051_bis",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "51 BIS RUE DE SAINT CYR",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213007946,
|
||||
"created_at": "2021-06-03T04:41:50.706+02:00",
|
||||
"updated_at": "2021-06-03T04:41:50.706+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1507749543,
|
||||
"siren": "480134782",
|
||||
"nic": "00014",
|
||||
"siret": "48013478200014",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2004-12-28",
|
||||
"tranche_effectifs": "11",
|
||||
"annee_effectifs": "2018",
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T13:43:00",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": "CITE INTERNATIONALE",
|
||||
"numero_voie": "85",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "QUAI",
|
||||
"libelle_voie": "CHARLES DE GAULLE",
|
||||
"code_postal": "69006",
|
||||
"libelle_commune": "LYON 6EME",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69386",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2008-01-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "4.852064",
|
||||
"latitude": "45.78402",
|
||||
"geo_score": "0.67",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "85 Quai Charles de Gaulle 69006 Lyon",
|
||||
"geo_id": "69386_1380_00085",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "85 QUAI CHARLES DE GAULLE",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213007946,
|
||||
"created_at": "2021-06-03T04:41:50.706+02:00",
|
||||
"updated_at": "2021-06-03T04:41:50.706+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,233 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 213908306,
|
||||
"siren": "493096580",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "2006-12-01",
|
||||
"sigle": null,
|
||||
"sexe": "M",
|
||||
"prenom_1": "JOHAN",
|
||||
"prenom_2": null,
|
||||
"prenom_3": null,
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": "JOHAN",
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"date_dernier_traitement": "2017-05-20T10:02:30",
|
||||
"nombre_periodes": "4",
|
||||
"categorie_entreprise": "PME",
|
||||
"annee_categorie_entreprise": "2018",
|
||||
"date_fin": null,
|
||||
"date_debut": "2013-03-10",
|
||||
"etat_administratif": "A",
|
||||
"nom": "GIROD",
|
||||
"nom_usage": null,
|
||||
"denomination": null,
|
||||
"denomination_usuelle_1": null,
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "1000",
|
||||
"activite_principale": "81.30Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00029",
|
||||
"economie_sociale_solidaire": null,
|
||||
"caractere_employeur": "O",
|
||||
"created_at": "2021-06-03T02:38:22.368+02:00",
|
||||
"updated_at": "2021-06-03T02:38:22.368+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1498200901,
|
||||
"siren": "493096580",
|
||||
"nic": "00029",
|
||||
"siret": "49309658000029",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2010-10-22",
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T14:00:31",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": null,
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RTE",
|
||||
"libelle_voie": "DE SAINT PONS",
|
||||
"code_postal": "34390",
|
||||
"libelle_commune": "MONS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "34160",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2013-10-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": "PAYSAGISTE DU CAROUX",
|
||||
"activite_principale": "81.30Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "2.951149",
|
||||
"latitude": "43.565835",
|
||||
"geo_score": "0.84",
|
||||
"geo_type": "street",
|
||||
"geo_adresse": "Route de Saint-pons 34390 Mons",
|
||||
"geo_id": "34160_0061",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "ROUTE DE SAINT PONS",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213908306,
|
||||
"created_at": "2021-06-03T03:58:27.878+02:00",
|
||||
"updated_at": "2021-06-03T03:58:27.878+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR79493096580",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1498200901,
|
||||
"siren": "493096580",
|
||||
"nic": "00029",
|
||||
"siret": "49309658000029",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2010-10-22",
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T14:00:31",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": null,
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RTE",
|
||||
"libelle_voie": "DE SAINT PONS",
|
||||
"code_postal": "34390",
|
||||
"libelle_commune": "MONS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "34160",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2013-10-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": "PAYSAGISTE DU CAROUX",
|
||||
"activite_principale": "81.30Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "2.951149",
|
||||
"latitude": "43.565835",
|
||||
"geo_score": "0.84",
|
||||
"geo_type": "street",
|
||||
"geo_adresse": "Route de Saint-pons 34390 Mons",
|
||||
"geo_id": "34160_0061",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "ROUTE DE SAINT PONS",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213908306,
|
||||
"created_at": "2021-06-03T03:58:27.878+02:00",
|
||||
"updated_at": "2021-06-03T03:58:27.878+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1498200900,
|
||||
"siren": "493096580",
|
||||
"nic": "00011",
|
||||
"siret": "49309658000011",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2006-12-01",
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2012-05-05T11:53:52",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": "LA POMAREDE",
|
||||
"numero_voie": null,
|
||||
"indice_repetition": null,
|
||||
"type_voie": null,
|
||||
"libelle_voie": null,
|
||||
"code_postal": "34390",
|
||||
"libelle_commune": "SAINT MARTIN DE L'ARCON",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "34273",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2010-10-22",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "81.30Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "2.995838",
|
||||
"latitude": "43.575053",
|
||||
"geo_score": "0.91",
|
||||
"geo_type": "locality",
|
||||
"geo_adresse": "Hameau de la Pomarède 34390 Saint-Martin-de-l'Arçon",
|
||||
"geo_id": "34273_b038",
|
||||
"geo_ligne": "D",
|
||||
"geo_l4": "HAMEAU DE LA POMAREDE",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 213908306,
|
||||
"created_at": "2021-06-03T03:58:27.878+02:00",
|
||||
"updated_at": "2021-06-03T03:58:27.878+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,296 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 209125843,
|
||||
"siren": "403049448",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "1995-11-29",
|
||||
"sigle": null,
|
||||
"sexe": null,
|
||||
"prenom_1": null,
|
||||
"prenom_2": null,
|
||||
"prenom_3": null,
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": null,
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"date_dernier_traitement": "2020-01-21T19:35:08",
|
||||
"nombre_periodes": "5",
|
||||
"categorie_entreprise": null,
|
||||
"annee_categorie_entreprise": null,
|
||||
"date_fin": null,
|
||||
"date_debut": "2019-09-02",
|
||||
"etat_administratif": "A",
|
||||
"nom": null,
|
||||
"nom_usage": null,
|
||||
"denomination": "MISTRAL MENOZZI",
|
||||
"denomination_usuelle_1": null,
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "6540",
|
||||
"activite_principale": "68.20A",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00034",
|
||||
"economie_sociale_solidaire": "N",
|
||||
"caractere_employeur": "N",
|
||||
"created_at": "2021-06-03T02:22:19.307+02:00",
|
||||
"updated_at": "2021-06-03T02:22:19.307+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1515011844,
|
||||
"siren": "403049448",
|
||||
"nic": "00034",
|
||||
"siret": "40304944800034",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2019-09-02",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-01-21T19:35:08",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "1",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "551",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RTE",
|
||||
"libelle_voie": "DE GADAGNE",
|
||||
"code_postal": "84450",
|
||||
"libelle_commune": "SAINT-SATURNIN-LES-AVIGNON",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "84119",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2019-09-02",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "68.20A",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "4.938683",
|
||||
"latitude": "43.953835",
|
||||
"geo_score": "0.85",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "551 Route de Gadagne 84450 Saint-Saturnin-lès-Avignon",
|
||||
"geo_id": "84119_0298_00551",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "551 ROUTE DE GADAGNE",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 209125843,
|
||||
"created_at": "2021-06-03T05:14:54.955+02:00",
|
||||
"updated_at": "2021-06-03T05:14:54.955+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR94403049448",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1515011844,
|
||||
"siren": "403049448",
|
||||
"nic": "00034",
|
||||
"siret": "40304944800034",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2019-09-02",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-01-21T19:35:08",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "1",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "551",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RTE",
|
||||
"libelle_voie": "DE GADAGNE",
|
||||
"code_postal": "84450",
|
||||
"libelle_commune": "SAINT-SATURNIN-LES-AVIGNON",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "84119",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2019-09-02",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "68.20A",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "4.938683",
|
||||
"latitude": "43.953835",
|
||||
"geo_score": "0.85",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "551 Route de Gadagne 84450 Saint-Saturnin-lès-Avignon",
|
||||
"geo_id": "84119_0298_00551",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "551 ROUTE DE GADAGNE",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 209125843,
|
||||
"created_at": "2021-06-03T05:14:54.955+02:00",
|
||||
"updated_at": "2021-06-03T05:14:54.955+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1515011843,
|
||||
"siren": "403049448",
|
||||
"nic": "00026",
|
||||
"siret": "40304944800026",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2007-02-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-01-21T19:35:08",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "1950",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "CHE",
|
||||
"libelle_voie": "DE SAINT GENS",
|
||||
"code_postal": "84200",
|
||||
"libelle_commune": "CARPENTRAS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "84031",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2019-09-02",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "68.20A",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "5.046323",
|
||||
"latitude": "44.032154",
|
||||
"geo_score": "0.87",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "1950 Chemin de Saint-gens 84200 Carpentras",
|
||||
"geo_id": "84031_1805_01950",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "1950 CHEMIN DE SAINT GENS",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 209125843,
|
||||
"created_at": "2021-06-03T05:14:54.955+02:00",
|
||||
"updated_at": "2021-06-03T05:14:54.955+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1515011842,
|
||||
"siren": "403049448",
|
||||
"nic": "00018",
|
||||
"siret": "40304944800018",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "1995-11-29",
|
||||
"tranche_effectifs": "NN",
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2007-02-15T11:44:24",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "145",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "AV",
|
||||
"libelle_voie": "DWIGHT EISENHOWER",
|
||||
"code_postal": "84200",
|
||||
"libelle_commune": "CARPENTRAS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "84031",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2007-02-01",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "70.2A",
|
||||
"nomenclature_activite_principale": "NAFRev1",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "5.045559",
|
||||
"latitude": "44.043377",
|
||||
"geo_score": "0.73",
|
||||
"geo_type": "street",
|
||||
"geo_adresse": "Avenue Dwight Eisenhower 84200 Carpentras",
|
||||
"geo_id": "84031_0589",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "AVENUE DWIGHT EISENHOWER",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 209125843,
|
||||
"created_at": "2021-06-03T05:14:54.955+02:00",
|
||||
"updated_at": "2021-06-03T05:14:54.955+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,233 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 215049306,
|
||||
"siren": "511125122",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "2009-02-10",
|
||||
"sigle": null,
|
||||
"sexe": null,
|
||||
"prenom_1": null,
|
||||
"prenom_2": null,
|
||||
"prenom_3": null,
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": null,
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"date_dernier_traitement": "2018-09-07T04:20:27",
|
||||
"nombre_periodes": "2",
|
||||
"categorie_entreprise": null,
|
||||
"annee_categorie_entreprise": null,
|
||||
"date_fin": null,
|
||||
"date_debut": "2013-12-01",
|
||||
"etat_administratif": "A",
|
||||
"nom": null,
|
||||
"nom_usage": null,
|
||||
"denomination": "SCI MENOZA",
|
||||
"denomination_usuelle_1": null,
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "6540",
|
||||
"activite_principale": "68.20B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00024",
|
||||
"economie_sociale_solidaire": null,
|
||||
"caractere_employeur": "N",
|
||||
"created_at": "2021-06-03T02:42:09.207+02:00",
|
||||
"updated_at": "2021-06-03T02:42:09.207+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1505393375,
|
||||
"siren": "511125122",
|
||||
"nic": "00024",
|
||||
"siret": "51112512200024",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2013-12-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T15:19:11",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "1",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "160",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RLE",
|
||||
"libelle_voie": "DU HERLIN",
|
||||
"code_postal": "62700",
|
||||
"libelle_commune": "BRUAY-LA-BUISSIERE",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "62178",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2013-12-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "68.20B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "2.564399",
|
||||
"latitude": "50.499922",
|
||||
"geo_score": "0.85",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "160 Ruelle du Herlin 62700 Bruay-la-Buissière",
|
||||
"geo_id": "62482_0098_00160",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "160 RUELLE DU HERLIN",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 215049306,
|
||||
"created_at": "2021-06-03T04:31:09.948+02:00",
|
||||
"updated_at": "2021-06-03T04:31:09.948+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR57511125122",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1505393375,
|
||||
"siren": "511125122",
|
||||
"nic": "00024",
|
||||
"siret": "51112512200024",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2013-12-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T15:19:11",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "1",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "160",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RLE",
|
||||
"libelle_voie": "DU HERLIN",
|
||||
"code_postal": "62700",
|
||||
"libelle_commune": "BRUAY-LA-BUISSIERE",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "62178",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2013-12-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "68.20B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "2.564399",
|
||||
"latitude": "50.499922",
|
||||
"geo_score": "0.85",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "160 Ruelle du Herlin 62700 Bruay-la-Buissière",
|
||||
"geo_id": "62482_0098_00160",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "160 RUELLE DU HERLIN",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 215049306,
|
||||
"created_at": "2021-06-03T04:31:09.948+02:00",
|
||||
"updated_at": "2021-06-03T04:31:09.948+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1505393374,
|
||||
"siren": "511125122",
|
||||
"nic": "00016",
|
||||
"siret": "51112512200016",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2009-02-10",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2013-12-19T16:19:05",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "148",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "ALEXANDRE PONNELLE",
|
||||
"code_postal": "62400",
|
||||
"libelle_commune": "BETHUNE",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "62119",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2013-12-01",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "68.20B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "2.642524",
|
||||
"latitude": "50.533418",
|
||||
"geo_score": "0.95",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "148 Rue Alexandre Ponnelle 62400 Béthune",
|
||||
"geo_id": "62119_0090_00148",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "148 RUE ALEXANDRE PONNELLE",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 215049306,
|
||||
"created_at": "2021-06-03T04:31:09.948+02:00",
|
||||
"updated_at": "2021-06-03T04:31:09.948+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,359 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 216730241,
|
||||
"siren": "534886650",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "2011-10-01",
|
||||
"sigle": null,
|
||||
"sexe": "M",
|
||||
"prenom_1": "JOHAN",
|
||||
"prenom_2": "CEDRIC",
|
||||
"prenom_3": "ALEXANDRE",
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": "JOHAN",
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"date_dernier_traitement": "2020-02-18T14:08:16",
|
||||
"nombre_periodes": "5",
|
||||
"categorie_entreprise": "PME",
|
||||
"annee_categorie_entreprise": "2018",
|
||||
"date_fin": null,
|
||||
"date_debut": "2015-07-01",
|
||||
"etat_administratif": "A",
|
||||
"nom": "HERVOIS",
|
||||
"nom_usage": null,
|
||||
"denomination": null,
|
||||
"denomination_usuelle_1": null,
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "1000",
|
||||
"activite_principale": "69.10Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00041",
|
||||
"economie_sociale_solidaire": null,
|
||||
"caractere_employeur": "N",
|
||||
"created_at": "2021-06-03T02:47:46.589+02:00",
|
||||
"updated_at": "2021-06-03T02:47:46.589+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1501441919,
|
||||
"siren": "534886650",
|
||||
"nic": "00041",
|
||||
"siret": "53488665000041",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2015-07-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T15:56:48",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "1",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "2",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "GIRODET",
|
||||
"code_postal": "45000",
|
||||
"libelle_commune": "ORLEANS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "45234",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2015-07-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "69.10Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "1.90327",
|
||||
"latitude": "47.907448",
|
||||
"geo_score": "0.96",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "2 Rue Girodet 45000 Orléans",
|
||||
"geo_id": "45234_3240_00002",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "2 RUE GIRODET",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 216730241,
|
||||
"created_at": "2021-06-03T04:13:13.380+02:00",
|
||||
"updated_at": "2021-06-03T04:13:13.380+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR20534886650",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1501441919,
|
||||
"siren": "534886650",
|
||||
"nic": "00041",
|
||||
"siret": "53488665000041",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2015-07-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2021-02-23T15:56:48",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "1",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "2",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "GIRODET",
|
||||
"code_postal": "45000",
|
||||
"libelle_commune": "ORLEANS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "45234",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2015-07-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "69.10Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "1.90327",
|
||||
"latitude": "47.907448",
|
||||
"geo_score": "0.96",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "2 Rue Girodet 45000 Orléans",
|
||||
"geo_id": "45234_3240_00002",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "2 RUE GIRODET",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 216730241,
|
||||
"created_at": "2021-06-03T04:13:13.380+02:00",
|
||||
"updated_at": "2021-06-03T04:13:13.380+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1501441918,
|
||||
"siren": "534886650",
|
||||
"nic": "00033",
|
||||
"siret": "53488665000033",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2014-11-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2017-02-28T14:59:25",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "46",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "BANNIER",
|
||||
"code_postal": "45000",
|
||||
"libelle_commune": "ORLEANS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "45234",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2015-07-01",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "69.10Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "1.902991",
|
||||
"latitude": "47.904217",
|
||||
"geo_score": "0.88",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "46 Rue du Faubourg Bannier 45000 Orléans",
|
||||
"geo_id": "45234_0510_00046",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "46 RUE DU FAUBOURG BANNIER",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 216730241,
|
||||
"created_at": "2021-06-03T04:13:13.380+02:00",
|
||||
"updated_at": "2021-06-03T04:13:13.380+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1501441917,
|
||||
"siren": "534886650",
|
||||
"nic": "00025",
|
||||
"siret": "53488665000025",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2014-01-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2014-11-24T10:21:17",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "6",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DU COLOMBIER",
|
||||
"code_postal": "45000",
|
||||
"libelle_commune": "ORLEANS",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "45234",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2014-11-01",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "69.10Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "1.902405",
|
||||
"latitude": "47.903641",
|
||||
"geo_score": "0.96",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "6 Rue du Colombier 45000 Orléans",
|
||||
"geo_id": "45234_1850_00006",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "6 RUE DU COLOMBIER",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 216730241,
|
||||
"created_at": "2021-06-03T04:13:13.380+02:00",
|
||||
"updated_at": "2021-06-03T04:13:13.380+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1492870050,
|
||||
"siren": "534886650",
|
||||
"nic": "00017",
|
||||
"siret": "53488665000017",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2011-10-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2013-12-19T10:47:47",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "130",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "BD",
|
||||
"libelle_voie": "LEROY",
|
||||
"code_postal": "14000",
|
||||
"libelle_commune": "CAEN",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "14118",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2012-06-01",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "85.59B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "-0.342479",
|
||||
"latitude": "49.173431",
|
||||
"geo_score": "0.81",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "130 Boulevard Leroy 14000 Caen",
|
||||
"geo_id": "14118_4470_00130",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "130 BOULEVARD LEROY",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 216730241,
|
||||
"created_at": "2021-06-03T03:34:06.882+02:00",
|
||||
"updated_at": "2021-06-03T03:34:06.882+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,233 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 219434137,
|
||||
"siren": "800559064",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "2014-02-20",
|
||||
"sigle": null,
|
||||
"sexe": null,
|
||||
"prenom_1": null,
|
||||
"prenom_2": null,
|
||||
"prenom_3": null,
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": null,
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": "11",
|
||||
"annee_effectifs": "2018",
|
||||
"date_dernier_traitement": "2020-08-25T11:09:50",
|
||||
"nombre_periodes": "4",
|
||||
"categorie_entreprise": "PME",
|
||||
"annee_categorie_entreprise": "2018",
|
||||
"date_fin": null,
|
||||
"date_debut": "2016-02-01",
|
||||
"etat_administratif": "A",
|
||||
"nom": null,
|
||||
"nom_usage": null,
|
||||
"denomination": "MENOZZI VAISE",
|
||||
"denomination_usuelle_1": null,
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "5499",
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00012",
|
||||
"economie_sociale_solidaire": "N",
|
||||
"caractere_employeur": "O",
|
||||
"created_at": "2021-06-03T02:56:44.762+02:00",
|
||||
"updated_at": "2021-06-03T02:56:44.762+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1508036545,
|
||||
"siren": "800559064",
|
||||
"nic": "00012",
|
||||
"siret": "80055906400012",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2014-02-20",
|
||||
"tranche_effectifs": "11",
|
||||
"annee_effectifs": "2018",
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-08-25T11:09:50",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "51",
|
||||
"indice_repetition": "B",
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DE ST CYR",
|
||||
"code_postal": "69009",
|
||||
"libelle_commune": "LYON 9EME",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69389",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2014-04-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": "CLASS'CROUTE",
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": "CLASS'CROUTE",
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "4.807071",
|
||||
"latitude": "45.782404",
|
||||
"geo_score": "0.49",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "51 bis Rue de Saint-cyr 69009 Lyon",
|
||||
"geo_id": "69389_6295_00051_bis",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "51 BIS RUE DE SAINT CYR",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 219434137,
|
||||
"created_at": "2021-06-03T04:43:10.093+02:00",
|
||||
"updated_at": "2021-06-03T04:43:10.093+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR78800559064",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1508036546,
|
||||
"siren": "800559064",
|
||||
"nic": "00020",
|
||||
"siret": "80055906400020",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2016-02-01",
|
||||
"tranche_effectifs": null,
|
||||
"annee_effectifs": null,
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2019-12-20T03:51:22",
|
||||
"etablissement_siege": "false",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": "41-43",
|
||||
"numero_voie": "41",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DES CHARTREUX",
|
||||
"code_postal": "69001",
|
||||
"libelle_commune": "LYON 1ER",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69381",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2018-12-31",
|
||||
"etat_administratif": "F",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "52.10B",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "N",
|
||||
"longitude": "4.825305",
|
||||
"latitude": "45.771974",
|
||||
"geo_score": "0.62",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "41 Rue des Chartreux 69001 Lyon",
|
||||
"geo_id": "69381_1550_00041",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "41 RUE DES CHARTREUX",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 219434137,
|
||||
"created_at": "2021-06-03T04:43:10.093+02:00",
|
||||
"updated_at": "2021-06-03T04:43:10.093+02:00"
|
||||
},
|
||||
{
|
||||
"id": 1508036545,
|
||||
"siren": "800559064",
|
||||
"nic": "00012",
|
||||
"siret": "80055906400012",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2014-02-20",
|
||||
"tranche_effectifs": "11",
|
||||
"annee_effectifs": "2018",
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-08-25T11:09:50",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "3",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "51",
|
||||
"indice_repetition": "B",
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DE ST CYR",
|
||||
"code_postal": "69009",
|
||||
"libelle_commune": "LYON 9EME",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "69389",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2014-04-01",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": "CLASS'CROUTE",
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": "CLASS'CROUTE",
|
||||
"activite_principale": "56.10C",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "4.807071",
|
||||
"latitude": "45.782404",
|
||||
"geo_score": "0.49",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "51 bis Rue de Saint-cyr 69009 Lyon",
|
||||
"geo_id": "69389_6295_00051_bis",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "51 BIS RUE DE SAINT CYR",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 219434137,
|
||||
"created_at": "2021-06-03T04:43:10.093+02:00",
|
||||
"updated_at": "2021-06-03T04:43:10.093+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,170 @@
|
|||
{
|
||||
"unite_legale": {
|
||||
"id": 221988588,
|
||||
"siren": "834364291",
|
||||
"statut_diffusion": "O",
|
||||
"unite_purgee": null,
|
||||
"date_creation": "2018-01-02",
|
||||
"sigle": null,
|
||||
"sexe": null,
|
||||
"prenom_1": null,
|
||||
"prenom_2": null,
|
||||
"prenom_3": null,
|
||||
"prenom_4": null,
|
||||
"prenom_usuel": null,
|
||||
"pseudonyme": null,
|
||||
"identifiant_association": null,
|
||||
"tranche_effectifs": "01",
|
||||
"annee_effectifs": "2018",
|
||||
"date_dernier_traitement": "2020-08-25T11:39:32",
|
||||
"nombre_periodes": "2",
|
||||
"categorie_entreprise": "PME",
|
||||
"annee_categorie_entreprise": "2018",
|
||||
"date_fin": null,
|
||||
"date_debut": "2018-03-25",
|
||||
"etat_administratif": "A",
|
||||
"nom": null,
|
||||
"nom_usage": null,
|
||||
"denomination": "MENOZ",
|
||||
"denomination_usuelle_1": null,
|
||||
"denomination_usuelle_2": null,
|
||||
"denomination_usuelle_3": null,
|
||||
"categorie_juridique": "5710",
|
||||
"activite_principale": "62.01Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"nic_siege": "00015",
|
||||
"economie_sociale_solidaire": null,
|
||||
"caractere_employeur": "O",
|
||||
"created_at": "2021-06-03T03:05:16.648+02:00",
|
||||
"updated_at": "2021-06-03T03:05:16.648+02:00",
|
||||
"etablissement_siege": {
|
||||
"id": 1512132578,
|
||||
"siren": "834364291",
|
||||
"nic": "00015",
|
||||
"siret": "83436429100015",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2018-01-02",
|
||||
"tranche_effectifs": "01",
|
||||
"annee_effectifs": "2018",
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-08-25T11:39:32",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "55",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DES PYRENEES",
|
||||
"code_postal": "75020",
|
||||
"libelle_commune": "PARIS 20",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "75120",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2018-03-25",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "62.01Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "2.406077",
|
||||
"latitude": "48.851854",
|
||||
"geo_score": "0.61",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "55 Rue des Pyrénées 75020 Paris",
|
||||
"geo_id": "75120_7904_00055",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "55 RUE DES PYRENEES",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 221988588,
|
||||
"created_at": "2021-06-03T05:01:48.216+02:00",
|
||||
"updated_at": "2021-06-03T05:01:48.216+02:00"
|
||||
},
|
||||
"numero_tva_intra": "FR28834364291",
|
||||
"etablissements": [
|
||||
{
|
||||
"id": 1512132578,
|
||||
"siren": "834364291",
|
||||
"nic": "00015",
|
||||
"siret": "83436429100015",
|
||||
"statut_diffusion": "O",
|
||||
"date_creation": "2018-01-02",
|
||||
"tranche_effectifs": "01",
|
||||
"annee_effectifs": "2018",
|
||||
"activite_principale_registre_metiers": null,
|
||||
"date_dernier_traitement": "2020-08-25T11:39:32",
|
||||
"etablissement_siege": "true",
|
||||
"nombre_periodes": "2",
|
||||
"complement_adresse": null,
|
||||
"numero_voie": "55",
|
||||
"indice_repetition": null,
|
||||
"type_voie": "RUE",
|
||||
"libelle_voie": "DES PYRENEES",
|
||||
"code_postal": "75020",
|
||||
"libelle_commune": "PARIS 20",
|
||||
"libelle_commune_etranger": null,
|
||||
"distribution_speciale": null,
|
||||
"code_commune": "75120",
|
||||
"code_cedex": null,
|
||||
"libelle_cedex": null,
|
||||
"code_pays_etranger": null,
|
||||
"libelle_pays_etranger": null,
|
||||
"complement_adresse_2": null,
|
||||
"numero_voie_2": null,
|
||||
"indice_repetition_2": null,
|
||||
"type_voie_2": null,
|
||||
"libelle_voie_2": null,
|
||||
"code_postal_2": null,
|
||||
"libelle_commune_2": null,
|
||||
"libelle_commune_etranger_2": null,
|
||||
"distribution_speciale_2": null,
|
||||
"code_commune_2": null,
|
||||
"code_cedex_2": null,
|
||||
"libelle_cedex_2": null,
|
||||
"code_pays_etranger_2": null,
|
||||
"libelle_pays_etranger_2": null,
|
||||
"date_debut": "2018-03-25",
|
||||
"etat_administratif": "A",
|
||||
"enseigne_1": null,
|
||||
"enseigne_2": null,
|
||||
"enseigne_3": null,
|
||||
"denomination_usuelle": null,
|
||||
"activite_principale": "62.01Z",
|
||||
"nomenclature_activite_principale": "NAFRev2",
|
||||
"caractere_employeur": "O",
|
||||
"longitude": "2.406077",
|
||||
"latitude": "48.851854",
|
||||
"geo_score": "0.61",
|
||||
"geo_type": "housenumber",
|
||||
"geo_adresse": "55 Rue des Pyrénées 75020 Paris",
|
||||
"geo_id": "75120_7904_00055",
|
||||
"geo_ligne": "G",
|
||||
"geo_l4": "55 RUE DES PYRENEES",
|
||||
"geo_l5": null,
|
||||
"unite_legale_id": 221988588,
|
||||
"created_at": "2021-06-03T05:01:48.216+02:00",
|
||||
"updated_at": "2021-06-03T05:01:48.216+02:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"nom": "Mons",
|
||||
"code": "34160",
|
||||
"departement": {
|
||||
"code": "34",
|
||||
"nom": "Hérault"
|
||||
},
|
||||
"region": {
|
||||
"code": "76",
|
||||
"nom": "Occitanie"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"nom": "Paris 20e Arrondissement",
|
||||
"code": "75120",
|
||||
"departement": {
|
||||
"code": "75",
|
||||
"nom": "Paris"
|
||||
},
|
||||
"region": {
|
||||
"code": "11",
|
||||
"nom": "Île-de-France"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
## mon-entreprise e2e test specs
|
||||
|
||||
Les jeux de tests qu'on souhaite faire tourner avec le langage FR et EN doivent aller dans le
|
||||
sous-dossier `mon-entreprise/english`.
|
||||
|
||||
Les autres jeux ne seront testés qu'avent le langage FR.
|
|
@ -1,7 +1,7 @@
|
|||
describe('Pole emploi', function () {
|
||||
it('should display an iframe of the simulateur', function () {
|
||||
cy.on('uncaught:exception', (err) => {
|
||||
return !err.message.contains('Unexpected token <')
|
||||
return !err.message.includes("Unexpected token '<'")
|
||||
})
|
||||
cy.visit('https://entreprise.pole-emploi.fr/cout-salarie/')
|
||||
cy.get('#simulateurEmbauche').iframe().contains('Salaire net')
|
||||
|
|
|
@ -10,7 +10,7 @@ describe('Page covid-19', function () {
|
|||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit('/simulateurs/chômage-partiel'))
|
||||
before(() => cy.visit(encodeURI('/simulateurs/chômage-partiel')))
|
||||
it('should not crash', () => {
|
||||
cy.contains('Salaire brut mensuel')
|
||||
})
|
||||
|
@ -23,6 +23,6 @@ describe('Page covid-19', function () {
|
|||
it('should display 85 % de prise en charge pour un salaire médian', () => {
|
||||
cy.contains('salaire médian').click()
|
||||
testText('comparaison-net', 'Soit 85 % du revenu net')
|
||||
testText('comparaison-total', 'Soit 8 % du coût habituel')
|
||||
testText('comparaison-total', 'Soit 13 % du coût habituel')
|
||||
})
|
||||
})
|
||||
|
|
|
@ -1,112 +1,131 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
|
||||
describe(
|
||||
'Formulaire demande mobilité',
|
||||
{
|
||||
retries: {
|
||||
runMode: 3,
|
||||
openMode: 0,
|
||||
},
|
||||
},
|
||||
function () {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit('/gérer/demande-mobilité'))
|
||||
it('should not crash', () => {
|
||||
cy.contains('Demande de mobilité internationale')
|
||||
})
|
||||
it('should allow to complete "coordonnées" section', () => {
|
||||
cy.contains('SIRET').click()
|
||||
cy.focused()
|
||||
.type('684 064 0011')
|
||||
.tab()
|
||||
.type('Deaux')
|
||||
.tab()
|
||||
.type('Jean')
|
||||
.tab()
|
||||
.type('Française')
|
||||
cy.contains('sécurité sociale').click()
|
||||
cy.focused().type('1 91 07 468 054 75').tab().type('1991-07-25')
|
||||
const FIXTURES_FOLDER = 'cypress/fixtures'
|
||||
const DEMANDE_MOBILITE_FIXTURES_FOLDER = `${FIXTURES_FOLDER}/demande-mobilité`
|
||||
|
||||
cy.get(
|
||||
"input[name='coordonnées assuré . commune de naissance . étranger'][value='non']"
|
||||
)
|
||||
.next()
|
||||
.click()
|
||||
.wait(500)
|
||||
const writeFixtures = Cypress.env('record_http') !== undefined
|
||||
|
||||
cy.focused().tab().type('Pouts').wait(1500).type('{enter}')
|
||||
|
||||
cy.get(
|
||||
"input[name='coordonnées assuré . domicile personnel . commune . étranger'][value='non']"
|
||||
)
|
||||
.next()
|
||||
.click()
|
||||
|
||||
cy.focused()
|
||||
.tab()
|
||||
.type('3 rue de la Rhumerie')
|
||||
.tab()
|
||||
.type('Brest')
|
||||
.wait(1500)
|
||||
.type('{enter}')
|
||||
.tab()
|
||||
.type('jean.deaux@gmail.com')
|
||||
.tab()
|
||||
.type('06 85 69 78 54')
|
||||
.tab()
|
||||
})
|
||||
it('should allow to complete "activité en France" section', () => {
|
||||
cy.focused()
|
||||
.type('Deaux & Fils')
|
||||
.tab()
|
||||
.type('14 chemin des Docks')
|
||||
.tab()
|
||||
.type('Bre')
|
||||
.wait(1500)
|
||||
cy.contains('29240').click()
|
||||
cy.contains('Organisme Urssaf').click()
|
||||
cy.focused().type('Bretagne').tab().tab().type('Boulangerie')
|
||||
})
|
||||
it('should allow to complete "votre demande" section', () => {
|
||||
cy.get("input[name='demande . pays unique'][value='oui']").next().click()
|
||||
cy.get("input[name='demande . infrastructure sauvegardée'][value='oui']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get("input[name='demande . activité semblable'][value='oui']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get("input[name='demande . date de fin connue'][value='oui']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get('label[for="détachement . pays"]').wait(1500).click()
|
||||
cy.focused()
|
||||
.select('Irlande')
|
||||
.tab()
|
||||
.type('2020-11-06')
|
||||
.tab()
|
||||
.type('2021-04-09')
|
||||
.tab()
|
||||
.tab()
|
||||
.type('Fabrications de gateaux bretons')
|
||||
cy.get("input[name='détachement . base fixe'][value='non']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get(
|
||||
"input[name='commentaires additionnels . commentaires'][value='non']"
|
||||
)
|
||||
.next()
|
||||
.click()
|
||||
})
|
||||
it('should allow to download PDF', () => {
|
||||
cy.contains(
|
||||
'Je certifie l’exactitude des informations communiquées ci-dessus'
|
||||
).click()
|
||||
cy.contains('Fait à').click()
|
||||
cy.focused().type('Plougastel')
|
||||
cy.contains('Générer la demande').click()
|
||||
cy.contains('Télécharger le fichier').click()
|
||||
})
|
||||
describe(`Formulaire demande mobilité (${
|
||||
writeFixtures ? 'record mode' : 'stubbed mode'
|
||||
})`, function () {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
)
|
||||
let pendingRequests = new Set()
|
||||
let responses = {}
|
||||
const hostnamesToRecord = ['geo.api.gouv.fr']
|
||||
|
||||
beforeEach(() => {
|
||||
pendingRequests = new Set()
|
||||
responses = {}
|
||||
cy.setInterceptResponses(
|
||||
pendingRequests,
|
||||
responses,
|
||||
hostnamesToRecord,
|
||||
DEMANDE_MOBILITE_FIXTURES_FOLDER
|
||||
)
|
||||
cy.visit(encodeURI('/gérer/demande-mobilité'))
|
||||
})
|
||||
afterEach(() => {
|
||||
cy.writeInterceptResponses(
|
||||
pendingRequests,
|
||||
responses,
|
||||
DEMANDE_MOBILITE_FIXTURES_FOLDER
|
||||
)
|
||||
})
|
||||
|
||||
it('should not crash', () => {
|
||||
cy.contains('Demande de mobilité internationale')
|
||||
})
|
||||
it('should allow to complete and download', () => {
|
||||
// "coordonnées" section
|
||||
cy.contains('SIRET').click()
|
||||
cy.focused()
|
||||
.type('684 064 0011')
|
||||
.tab()
|
||||
.type('Deaux')
|
||||
.tab()
|
||||
.type('Jean')
|
||||
.tab()
|
||||
.type('Française')
|
||||
cy.contains('sécurité sociale').click()
|
||||
cy.focused().type('1 91 07 468 054 75').tab().type('1991-07-25')
|
||||
|
||||
cy.get(
|
||||
"input[name='coordonnées assuré . commune de naissance . étranger'][value='non']"
|
||||
)
|
||||
.next()
|
||||
.click()
|
||||
.wait(500)
|
||||
|
||||
cy.focused().tab().type('Pouts').wait(1500).type('{enter}')
|
||||
|
||||
cy.get(
|
||||
"input[name='coordonnées assuré . domicile personnel . commune . étranger'][value='non']"
|
||||
)
|
||||
.next()
|
||||
.click()
|
||||
|
||||
cy.focused()
|
||||
.tab()
|
||||
.type('3 rue de la Rhumerie')
|
||||
.tab()
|
||||
.type('Brest')
|
||||
.wait(1500)
|
||||
.type('{enter}')
|
||||
.tab()
|
||||
.type('jean.deaux@gmail.com')
|
||||
.tab()
|
||||
.type('06 85 69 78 54')
|
||||
.tab()
|
||||
|
||||
// "activité en France" section
|
||||
cy.focused()
|
||||
.type('Deaux & Fils')
|
||||
.tab()
|
||||
.type('14 chemin des Docks')
|
||||
.tab()
|
||||
.type('Bre')
|
||||
.wait(1500)
|
||||
cy.contains('29240').click()
|
||||
cy.contains('Organisme Urssaf').click()
|
||||
cy.focused().type('Bretagne').tab().tab().type('Boulangerie')
|
||||
|
||||
// "votre demande" section
|
||||
cy.get("input[name='demande . pays unique'][value='oui']").next().click()
|
||||
cy.get("input[name='demande . infrastructure sauvegardée'][value='oui']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get("input[name='demande . activité semblable'][value='oui']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get("input[name='demande . date de fin connue'][value='oui']")
|
||||
.next()
|
||||
.click()
|
||||
cy.get('label[for="détachement . pays"]').wait(1500).click()
|
||||
cy.focused()
|
||||
.select('Irlande')
|
||||
.tab()
|
||||
.type('2020-11-06')
|
||||
.tab()
|
||||
.type('2021-04-09')
|
||||
.tab()
|
||||
.tab()
|
||||
.type('Fabrications de gateaux bretons')
|
||||
cy.get("input[name='détachement . base fixe'][value='non']").next().click()
|
||||
cy.get(
|
||||
"input[name='commentaires additionnels . commentaires'][value='non']"
|
||||
)
|
||||
.next()
|
||||
.click()
|
||||
|
||||
// download PDF
|
||||
cy.contains(
|
||||
'Je certifie l’exactitude des informations communiquées ci-dessus'
|
||||
).click()
|
||||
cy.contains('Fait à').click()
|
||||
cy.focused().type('Plougastel')
|
||||
cy.contains('Générer la demande').click()
|
||||
cy.contains('Télécharger le fichier').click()
|
||||
})
|
||||
})
|
||||
|
|
|
@ -0,0 +1,64 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
|
||||
const FIXTURES_FOLDER = 'cypress/fixtures'
|
||||
const GERER_FIXTURES_FOLDER = `${FIXTURES_FOLDER}/gérer`
|
||||
|
||||
const writeFixtures = Cypress.env('record_http') !== undefined
|
||||
|
||||
describe(`Manage page test (${
|
||||
writeFixtures ? 'record mode' : 'stubbed mode'
|
||||
})`, function () {
|
||||
let pendingRequests = new Set()
|
||||
let responses = {}
|
||||
const hostnamesToRecord = ['entreprise.data.gouv.fr', 'geo.api.gouv.fr']
|
||||
beforeEach(() => {
|
||||
cy.clearLocalStorage() // Try to avoid flaky tests
|
||||
|
||||
pendingRequests = new Set()
|
||||
responses = {}
|
||||
cy.setInterceptResponses(
|
||||
pendingRequests,
|
||||
responses,
|
||||
hostnamesToRecord,
|
||||
GERER_FIXTURES_FOLDER
|
||||
)
|
||||
cy.visit(fr ? encodeURI('/gérer') : '/manage')
|
||||
})
|
||||
afterEach(() => {
|
||||
cy.writeInterceptResponses(
|
||||
pendingRequests,
|
||||
responses,
|
||||
GERER_FIXTURES_FOLDER
|
||||
)
|
||||
})
|
||||
it('should not crash', function () {
|
||||
cy.contains(fr ? 'Gérer mon activité' : 'Manage my business')
|
||||
})
|
||||
it('should allow to retrieve company and show link corresponding to the legal status', function () {
|
||||
cy.get('button.cta').click()
|
||||
cy.get('input').first().type('menoz')
|
||||
cy.contains('834364291').click()
|
||||
cy.contains(
|
||||
fr ? 'Calculer mon revenu net de cotisations' : 'Calculate my net income'
|
||||
).click()
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.match(/sasu$/)
|
||||
})
|
||||
})
|
||||
it('should allow auto entrepreneur to access the corresponding income simulator', function () {
|
||||
cy.get('button.cta').click()
|
||||
cy.get('input').first().type('johan girod')
|
||||
cy.contains('MONSIEUR').click()
|
||||
// ask if auto-entrepreneur
|
||||
cy.contains(
|
||||
fr ? 'Êtes-vous auto-entrepreneur ?' : 'Are you auto-entrepreneur?'
|
||||
)
|
||||
cy.contains(fr ? 'Oui' : 'Yes').click()
|
||||
cy.contains(
|
||||
fr ? 'simulateur auto-entrepreneur' : 'simulator for auto-entrepreneur'
|
||||
).click()
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.match(/auto-entrepreneur$/)
|
||||
})
|
||||
})
|
||||
})
|
|
@ -1,16 +1,18 @@
|
|||
describe('Navigation', function () {
|
||||
const fr = Cypress.env('language') === 'fr'
|
||||
it('should enable switching site language', () => {
|
||||
cy.visit(fr ? '/créer/auto-entrepreneur' : '/create/auto-entrepreneur')
|
||||
cy.visit(
|
||||
fr ? encodeURI('/créer/auto-entrepreneur') : '/create/auto-entrepreneur'
|
||||
)
|
||||
cy.contains(fr ? 'Switch to English' : 'Passer en français').click()
|
||||
cy.url().should(
|
||||
'include',
|
||||
fr ? '/create/auto-entrepreneur' : '/cr%C3%A9er/auto-entrepreneur'
|
||||
fr ? '/create/auto-entrepreneur' : encodeURI('/créer/auto-entrepreneur')
|
||||
)
|
||||
})
|
||||
|
||||
it('should go back to home when clicking on logo', () => {
|
||||
cy.visit('/documentation/contrat-salarié')
|
||||
cy.visit(encodeURI('/documentation/contrat-salarié'))
|
||||
cy.get('img[alt^="logo mon-entreprise"]').click()
|
||||
cy.url().should('match', new RegExp(`${Cypress.config().baseUrl}/?`))
|
||||
})
|
|
@ -1,7 +1,7 @@
|
|||
describe('Status guide', function () {
|
||||
const fr = Cypress.env('language') === 'fr'
|
||||
beforeEach(() => {
|
||||
cy.visit(fr ? '/créer' : '/create')
|
||||
cy.visit(fr ? encodeURI('/créer') : '/create')
|
||||
cy.get('.cta').click()
|
||||
})
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
describe('Manage page test', function () {
|
||||
const fr = Cypress.env('language') === 'fr'
|
||||
beforeEach(() => {
|
||||
cy.visit(fr ? '/gérer' : '/manage')
|
||||
})
|
||||
it('should not crash', function () {
|
||||
cy.contains(fr ? 'Gérer mon activité' : 'Manage my business')
|
||||
})
|
||||
it('should allow to retrieve company and show link corresponding to the legal status', function () {
|
||||
cy.get('button.cta').click()
|
||||
cy.get('input').first().type('menoz')
|
||||
cy.contains('834364291').click()
|
||||
cy.contains(fr ? 'simulateur SASU' : 'simulator for SASU').click()
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.match(fr ? /dirigeant-sasu$/ : /sasu-chairman$/)
|
||||
})
|
||||
})
|
||||
it('should allow auto entrepreneur to access the corresponding income simulator', function () {
|
||||
cy.get('button.cta').click()
|
||||
cy.get('input').first().type('johan girod')
|
||||
cy.contains('MONSIEUR').click()
|
||||
// ask if auto-entrepreneur
|
||||
cy.contains(
|
||||
fr ? 'Êtes-vous auto-entrepreneur ?' : 'Are you auto-entrepreneur?'
|
||||
)
|
||||
cy.contains(fr ? 'Oui' : 'Yes').click()
|
||||
cy.contains(
|
||||
fr ? 'simulateur auto-entrepreneur' : 'simulator for auto-entrepreneur'
|
||||
).click()
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.match(/auto-entrepreneur$/)
|
||||
})
|
||||
})
|
||||
})
|
|
@ -5,7 +5,6 @@ describe('Iframe integration test', function () {
|
|||
it('should display an iframe of the simulateur', function () {
|
||||
cy.visit('/dev/integration-test')
|
||||
cy.contains('Visualiser').click()
|
||||
cy.wait(1000)
|
||||
cy.get('#simulateurEmbauche').iframe().contains('Salaire net')
|
||||
})
|
||||
})
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
const inputSelector = 'input.currencyInput__input:not([name$="charges"])'
|
||||
|
||||
describe('Champs localisation (simulateur salarié)', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit(encodeURI('/simulateurs/salarié')))
|
||||
|
||||
it('should not crash when selecting localisation', function () {
|
||||
cy.get(inputSelector).first().type('{selectall}42')
|
||||
cy.contains('Commune').click({ force: true })
|
||||
cy.get('fieldset input[type="search"]').type('Steenvoorde')
|
||||
cy.contains('Steenvoorde (59114)').click({ force: true })
|
||||
cy.contains('Suivant').click({ force: true })
|
||||
cy.contains('Voir mes paramètres').click({ force: true })
|
||||
cy.contains('Steenvoorde')
|
||||
})
|
||||
})
|
|
@ -0,0 +1,35 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
|
||||
describe('Partage (simulateur salarié)', () => {
|
||||
const brutInputSelector =
|
||||
'input.currencyInput__input[name="contrat salarié . rémunération . brut de base"]'
|
||||
const simulatorUrl = '/simulateurs/salaire-brut-net'
|
||||
const searchParams = new URLSearchParams({
|
||||
'contrat salarié': "'CDD'",
|
||||
'salaire-brut': '1539€/mois',
|
||||
})
|
||||
searchParams.set('utm_source', 'sharing')
|
||||
|
||||
const urlWithState = `${simulatorUrl}?${searchParams.toString()}`
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
it('should set input value from URL', function () {
|
||||
cy.visit(urlWithState)
|
||||
cy.get(brutInputSelector).first().invoke('val').should('eq', '1 539')
|
||||
|
||||
cy.contains('Voir mes paramètres').click()
|
||||
cy.get('span.answerContent').first().contains('CDD')
|
||||
})
|
||||
it('should set URL from input value', function () {
|
||||
cy.visit(simulatorUrl)
|
||||
cy.get(brutInputSelector).first().type('{selectall}1539')
|
||||
cy.contains('De quel type de contrat').should('be.visible')
|
||||
cy.get('.step').contains('CDD').should('be.visible').click()
|
||||
cy.get('button').contains('Suivant').should('be.visible')
|
||||
cy.contains('Générer un lien').click()
|
||||
cy.get('.shareableLink')
|
||||
.invoke('val')
|
||||
.should('eq', Cypress.config().baseUrl + urlWithState)
|
||||
})
|
||||
})
|
|
@ -0,0 +1,34 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
const inputSelector = 'input.currencyInput__input:not([name$="charges"])'
|
||||
|
||||
describe('Persistence (simulateur salarié)', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit(encodeURI('/simulateurs/salarié')))
|
||||
beforeEach(() => {
|
||||
cy.clearLocalStorage()
|
||||
})
|
||||
|
||||
it('should persist the current simulation (persistSimulation)', function () {
|
||||
cy.get(inputSelector).first().type('{selectall}42')
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.get('body').should(() => {
|
||||
expect(
|
||||
window.localStorage.getItem(
|
||||
'mon-entreprise::persisted-simulation::v5::/simulateurs/salaire-brut-net'
|
||||
)
|
||||
).to.be.not.null
|
||||
})
|
||||
cy.visit('/simulateurs/auto-entrepreneur')
|
||||
cy.get(inputSelector).first().type('{selectall}007')
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.visit(encodeURI('/simulateurs/salarié'))
|
||||
cy.contains('Retrouver ma simulation').click()
|
||||
cy.get(inputSelector).first().invoke('val').should('match', /42/)
|
||||
})
|
||||
})
|
|
@ -0,0 +1,29 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
|
||||
const simulateursPath = '.ais-Hits-list'
|
||||
const reglesPath = '.ais-InfiniteHits-list'
|
||||
|
||||
describe('Recherche globales', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
|
||||
it('should display the search results when the magnifying glass is clicked', () => {
|
||||
cy.visit('/')
|
||||
|
||||
cy.get('#search-display-button').click()
|
||||
|
||||
cy.wait(30)
|
||||
cy.focused().should('have.attr', 'type', 'search')
|
||||
|
||||
cy.wait(100)
|
||||
cy.get(simulateursPath).children().should('have.length', 6)
|
||||
cy.get(reglesPath).children().should('have.length', 20)
|
||||
|
||||
cy.focused().type('avocat')
|
||||
|
||||
cy.wait(100)
|
||||
cy.get(simulateursPath).children().should('have.length', 1)
|
||||
cy.get(reglesPath).children().should('have.length', 2)
|
||||
})
|
||||
})
|
|
@ -0,0 +1,28 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
const inputSelector = 'input.currencyInput__input:not([name$="charges"])'
|
||||
|
||||
describe('Simulateur auto-entrepreneur', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit('/simulateurs/auto-entrepreneur'))
|
||||
|
||||
it('should allow to enter the date of creation', () => {
|
||||
cy.get(inputSelector).first().type('{selectall}50000')
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Début 2021').click()
|
||||
cy.contains('ACRE')
|
||||
})
|
||||
it('should not have negative value', () => {
|
||||
cy.contains('Mensuel').click()
|
||||
cy.wait(100)
|
||||
cy.get(inputSelector).first().type('{selectall}5000')
|
||||
cy.get(inputSelector).each(($input) => {
|
||||
cy.wrap($input).should(($i) => {
|
||||
const val = +$i.val().replace(/[\s,.]/g, '')
|
||||
expect(val).not.to.be.below(4000)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
|
@ -0,0 +1,22 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
const inputSelector = 'input.currencyInput__input:not([name$="charges"])'
|
||||
const totalSelector = 'section#simulateur-dividendes-section-total'
|
||||
|
||||
describe('Simulateur auto-entrepreneur', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit('/simulateurs/dividendes'))
|
||||
|
||||
it('should show by default the PFU calculation at 12.8 / 17.2', () => {
|
||||
cy.get(inputSelector).first().type('{selectall}5000')
|
||||
cy.get(totalSelector).contains(/[cC]otisations\s+17,2\s*%/)
|
||||
cy.get(totalSelector).contains(/[Ii]mpôt\s+12,8\s*%/)
|
||||
})
|
||||
|
||||
it('should allow switching PFU with barème', () => {
|
||||
cy.get('input[name="impôt . méthode de calcul"]')
|
||||
.eq(1)
|
||||
.should('not.be.checked')
|
||||
})
|
||||
})
|
|
@ -0,0 +1,41 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
|
||||
describe('Simulateur salarié', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit(encodeURI('/simulateurs/salarié')))
|
||||
|
||||
describe('part time contract', () => {
|
||||
before(() => {
|
||||
cy.visit(encodeURI('/simulateurs/salarié'))
|
||||
cy.get('input[name$="brut de base"]').click()
|
||||
cy.get('button').contains('SMIC').click()
|
||||
cy.contains('Voir mes paramètres').click()
|
||||
cy.contains('Temps partiel').click()
|
||||
cy.get('input[value="oui"]').parent().click()
|
||||
cy.wait(100)
|
||||
})
|
||||
|
||||
it('should permit selecting the smic before part-time contrat', () => {
|
||||
cy.get('input[name$="brut de base"]').should(($input) => {
|
||||
expect(+$input.val().replace(/[\s,.]/g, ''))
|
||||
.to.be.above(1300)
|
||||
.and.to.be.below(1500)
|
||||
})
|
||||
})
|
||||
|
||||
it('should permit customizing the number of worked hours and clear the input value', () => {
|
||||
cy.contains('Suivant').click()
|
||||
cy.get('fieldset input[type="text"]').type(25)
|
||||
cy.get('input[name$="net après impôt"]').should(($input) => {
|
||||
expect(+$input.val().replace(/[\s,.]/g, '')).to.be.below(1000)
|
||||
})
|
||||
|
||||
cy.get('fieldset input[type="text"]').clear()
|
||||
cy.get('input[name$="net après impôt"]').should(($input) => {
|
||||
expect(+$input.val().replace(/[\s,.]/g, '')).to.be.above(1000)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('auto-entrepreneur')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('sasu')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('indépendant')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('profession-liberale')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('profession-liberale/auxiliaire-medical')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('profession-liberale/chirurgien-dentiste')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('profession-liberale/medecin')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('profession-liberale/sage-femme')
|
|
@ -0,0 +1,3 @@
|
|||
import { runSimulateurTest } from '../../../support/simulateur'
|
||||
|
||||
runSimulateurTest('salarié')
|
|
@ -1,202 +0,0 @@
|
|||
const fr = Cypress.env('language') === 'fr'
|
||||
const inputSelector = 'input.currencyInput__input:not([name$="charges"])'
|
||||
const chargeInputSelector = 'input.currencyInput__input[name$="charges"]'
|
||||
describe('Simulateurs', function () {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
;[
|
||||
'indépendant',
|
||||
'dirigeant-sasu',
|
||||
'auto-entrepreneur',
|
||||
'salarié',
|
||||
'profession-liberale',
|
||||
'profession-liberale/medecin',
|
||||
'profession-liberale/sage-femme',
|
||||
'profession-liberale/auxiliaire-medical',
|
||||
'profession-liberale/chirurgien-dentiste',
|
||||
].forEach((simulateur) =>
|
||||
describe(simulateur, () => {
|
||||
before(() => cy.visit(`/simulateurs/${simulateur}`))
|
||||
it('should not crash', function () {
|
||||
cy.get(inputSelector)
|
||||
})
|
||||
|
||||
it('should display a result when entering a value in any of the currency input', () => {
|
||||
cy.contains('€/an').click()
|
||||
if (['indépendant', 'dirigeant-sasu'].includes(simulateur)) {
|
||||
cy.get(chargeInputSelector).type(1000)
|
||||
}
|
||||
cy.get(inputSelector).each((testedInput, i) => {
|
||||
cy.wrap(testedInput).type('{selectall}60111')
|
||||
cy.wait(1500)
|
||||
cy.contains('Cotisations')
|
||||
cy.get(inputSelector).each(($input, j) => {
|
||||
const val = $input.val().replace(/[\s,.]/g, '')
|
||||
if (i != j) {
|
||||
expect(val).not.to.be.eq('60111')
|
||||
}
|
||||
expect(val).to.match(/[1-9][\d]{3,6}$/)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
it('should allow to change period', function () {
|
||||
cy.contains('€/an').click()
|
||||
cy.wait(200)
|
||||
cy.get(inputSelector).first().type('{selectall}12000')
|
||||
if (['indépendant', 'dirigeant-sasu'].includes(simulateur)) {
|
||||
cy.get(chargeInputSelector).type('{selectall}6000')
|
||||
}
|
||||
cy.wait(800)
|
||||
cy.contains('€/mois').click()
|
||||
cy.get(inputSelector)
|
||||
.first()
|
||||
.invoke('val')
|
||||
.should('match', /1[\s]000/)
|
||||
if (['indépendant', 'dirigeant-sasu'].includes(simulateur)) {
|
||||
cy.get(chargeInputSelector).first().invoke('val').should('eq', '500')
|
||||
}
|
||||
cy.contains('€/an').click()
|
||||
})
|
||||
|
||||
it('should allow to navigate to a documentation page', function () {
|
||||
cy.get(inputSelector).first().type('{selectall}2000')
|
||||
cy.wait(700)
|
||||
cy.contains('Cotisations').click()
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.match(/\/documentation\/.*\/cotisations/)
|
||||
})
|
||||
})
|
||||
|
||||
it('should allow to go back to the simulation', function () {
|
||||
cy.contains('← ').click()
|
||||
cy.get(inputSelector).first().invoke('val').should('eq', '2 000')
|
||||
})
|
||||
})
|
||||
)
|
||||
})
|
||||
describe('Simulateur auto-entrepreneur', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit('/simulateurs/auto-entrepreneur'))
|
||||
|
||||
it('should allow to enter the date of creation', () => {
|
||||
cy.get(inputSelector).first().type('{selectall}50000')
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Début 2021').click()
|
||||
cy.contains('ACRE')
|
||||
})
|
||||
it('should not have negative value', () => {
|
||||
cy.contains('€/mois').click()
|
||||
cy.wait(100)
|
||||
cy.get(inputSelector).first().type('{selectall}5000')
|
||||
cy.wait(800)
|
||||
cy.get(inputSelector).each(($input) => {
|
||||
const val = +$input.val().replace(/[\s,.]/g, '')
|
||||
expect(val).not.to.be.below(4000)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('Simulateur salarié mode partagé', () => {
|
||||
const brutInputSelector =
|
||||
'input.currencyInput__input[name="contrat salarié . rémunération . brut de base"]'
|
||||
const simulatorUrl = '/simulateurs/salaire-brut-net'
|
||||
const searchParams = new URLSearchParams({
|
||||
'contrat salarié': "'CDD'",
|
||||
'salaire-brut': '1539€/mois',
|
||||
})
|
||||
|
||||
const urlWithState = `${simulatorUrl}?${searchParams.toString()}`
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
it('should set input value from URL', function () {
|
||||
cy.visit(urlWithState)
|
||||
cy.wait(800)
|
||||
cy.get(brutInputSelector).first().invoke('val').should('eq', '1 539')
|
||||
|
||||
cy.contains('Voir mes paramètres').click()
|
||||
cy.get('span.answerContent').first().contains('CDD')
|
||||
})
|
||||
it('should set URL from input value', function () {
|
||||
cy.visit(simulatorUrl)
|
||||
cy.get(brutInputSelector).first().type('{selectall}1539')
|
||||
cy.wait(1000)
|
||||
cy.get('.step').find('input[value="\'CDD\'"]').click({ force: true })
|
||||
cy.wait(1000)
|
||||
cy.contains('Générer un lien').click()
|
||||
cy.get('.shareableLink')
|
||||
.invoke('val')
|
||||
.should('eq', Cypress.config().baseUrl + urlWithState)
|
||||
})
|
||||
})
|
||||
|
||||
describe('Simulateur salarié', () => {
|
||||
if (!fr) {
|
||||
return
|
||||
}
|
||||
before(() => cy.visit('/simulateurs/salarié'))
|
||||
|
||||
it('should persist the current simulation (persistSimulation)', function () {
|
||||
cy.get(inputSelector).first().type('{selectall}42')
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.wait(1600)
|
||||
cy.visit('/simulateurs/auto-entrepreneur')
|
||||
cy.get(inputSelector).first().type('{selectall}007')
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.contains('Passer').click()
|
||||
cy.wait(1600)
|
||||
cy.visit('/simulateurs/salarié')
|
||||
cy.contains('Retrouver ma simulation').click()
|
||||
cy.get(inputSelector).first().invoke('val').should('match', /42/)
|
||||
})
|
||||
|
||||
it('should not crash when selecting localisation', function () {
|
||||
cy.contains('Commune').click()
|
||||
cy.get('fieldset input[type="search"]').type('Steenvoorde')
|
||||
cy.contains('Steenvoorde (59114)').click()
|
||||
cy.contains('Suivant').click()
|
||||
cy.contains('Voir mes paramètres').click()
|
||||
cy.contains('Steenvoorde')
|
||||
})
|
||||
|
||||
describe('part time contract', () => {
|
||||
before(() => {
|
||||
cy.visit('/simulateurs/salarié')
|
||||
cy.get('input[name$="brut de base"]').click()
|
||||
cy.get('button').contains('SMIC').click()
|
||||
cy.contains('Voir mes paramètres').click()
|
||||
cy.contains('Temps partiel').click()
|
||||
cy.get('input[value="oui"]').parent().click()
|
||||
cy.wait(100)
|
||||
})
|
||||
|
||||
it('should permit selecting the smic before part-time contrat', () => {
|
||||
cy.get('input[name$="brut de base"]').should(($input) => {
|
||||
expect(+$input.val().replace(/[\s,.]/g, ''))
|
||||
.to.be.above(1300)
|
||||
.and.to.be.below(1500)
|
||||
})
|
||||
})
|
||||
|
||||
it('should permit customizing the number of worked hours and clear the input value', () => {
|
||||
cy.contains('Suivant').click()
|
||||
cy.get('fieldset input[type="text"]').type(25)
|
||||
cy.get('input[name$="net après impôt"]').should(($input) => {
|
||||
expect(+$input.val().replace(/[\s,.]/g, '')).to.be.below(1000)
|
||||
})
|
||||
|
||||
cy.get('fieldset input[type="text"]').clear()
|
||||
cy.get('input[name$="net après impôt"]').should(($input) => {
|
||||
expect(+$input.val().replace(/[\s,.]/g, '')).to.be.above(1000)
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
|
@ -9,7 +9,6 @@ describe('Navigation', function () {
|
|||
})
|
||||
it('bac à sable should work', function () {
|
||||
cy.contains('Bac à sable').click()
|
||||
cy.wait(5000)
|
||||
cy.contains('Dépenses primeur')
|
||||
cy.contains('11,50')
|
||||
})
|
||||
|
|
|
@ -28,3 +28,59 @@ Cypress.Commands.add('iframe', { prevSubject: 'element' }, ($iframe) => {
|
|||
setTimeout(() => resolve($iframe.contents().find('body')), 6000)
|
||||
})
|
||||
})
|
||||
import 'cypress-wait-until'
|
||||
Cypress.Commands.add(
|
||||
'setInterceptResponses',
|
||||
(pendingRequests, responses, hostnames, specFixturesFolder) => {
|
||||
const FIXTURES_FOLDER = 'cypress/fixtures'
|
||||
|
||||
const writeFixtures = Cypress.env('record_http') !== undefined
|
||||
const stubFixtures = !writeFixtures
|
||||
|
||||
if (writeFixtures) {
|
||||
cy.intercept('*', (req) => {
|
||||
if (!hostnames.includes(new URL(req.url).hostname)) return
|
||||
pendingRequests.add(req.url)
|
||||
req.on('after:response', (res) => {
|
||||
pendingRequests.delete(req.url)
|
||||
responses[res.url] = res.body
|
||||
})
|
||||
})
|
||||
} else if (stubFixtures) {
|
||||
const urlOfFilepath = (filename) => {
|
||||
return atob(filename.slice(0, -'.json'.length))
|
||||
}
|
||||
cy.exec(`find ${specFixturesFolder} -type f`)
|
||||
.then((result) => {
|
||||
return result.stdout.split('\n')
|
||||
})
|
||||
.then((filepaths) => {
|
||||
filepaths.forEach((filepath) => {
|
||||
const shortPath = filepath.slice(FIXTURES_FOLDER.length + 1)
|
||||
const filename = filepath.slice(specFixturesFolder.length + 1)
|
||||
cy.intercept(urlOfFilepath(filename), { fixture: shortPath })
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
Cypress.Commands.add(
|
||||
'writeInterceptResponses',
|
||||
(pendingRequests, responses, specFixturesFolder) => {
|
||||
const writeFixtures = Cypress.env('record_http') !== undefined
|
||||
|
||||
if (writeFixtures) {
|
||||
// We need to wait on all catched requests to be fulfilled and recorded,
|
||||
// otherwise the stubbed cy run might error when a request is not stubbed.
|
||||
// Caveat: we assume request.url to be unique amongst recorded requests.
|
||||
cy.waitUntil(() => pendingRequests.size === 0)
|
||||
Object.keys(responses).map((url) => {
|
||||
if (responses[url] === undefined) return
|
||||
cy.writeFile(
|
||||
`${specFixturesFolder}/${btoa(url)}.json`,
|
||||
JSON.stringify(responses[url], null, 2)
|
||||
)
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
const inputSelector = 'input.currencyInput__input:not([name$="charges"])'
|
||||
const chargeInputSelector = 'input.currencyInput__input[name$="charges"]'
|
||||
const fr = Cypress.env('language') === 'fr'
|
||||
|
||||
export const runSimulateurTest = (simulateur) => {
|
||||
if (!fr) return
|
||||
|
||||
describe(`Simulateur ${simulateur}`, () => {
|
||||
before(() => cy.visit(encodeURI(`/simulateurs/${simulateur}`)))
|
||||
it('should not crash', function () {
|
||||
cy.get(inputSelector)
|
||||
})
|
||||
|
||||
it('should display a result when entering a value in any of the currency input', () => {
|
||||
cy.contains('Annuel').click()
|
||||
if (['indépendant', 'profession-liberale'].includes(simulateur)) {
|
||||
cy.get(chargeInputSelector).type(1000)
|
||||
}
|
||||
cy.get(inputSelector).each(($testedInput) => {
|
||||
cy.wrap($testedInput)
|
||||
.type('{selectall}60111')
|
||||
.and(($i) =>
|
||||
expect($i.val().replace(/[\s,.]/g, '')).to.match(/[1-9][\d]{3,6}$/)
|
||||
)
|
||||
cy.get(inputSelector).each(($input) => {
|
||||
if ($testedInput.get(0) === $input.get(0)) return
|
||||
cy.wrap($input).and(($i) => {
|
||||
const val = $i.val().replace(/[\s,.]/g, '')
|
||||
expect(val).not.to.be.eq('60111')
|
||||
expect(val).to.match(/[1-9][\d]{3,6}$/)
|
||||
})
|
||||
})
|
||||
cy.contains('Cotisations')
|
||||
})
|
||||
})
|
||||
|
||||
it('should allow to change period', function () {
|
||||
cy.contains('Annuel').click()
|
||||
cy.get(inputSelector).first().type('{selectall}12000')
|
||||
if (['indépendant', 'profession-liberale'].includes(simulateur)) {
|
||||
cy.get(chargeInputSelector).type('{selectall}6000')
|
||||
}
|
||||
cy.get(inputSelector).eq(1).invoke('val').should('not.be.empty')
|
||||
cy.contains('Mensuel').click()
|
||||
cy.get(inputSelector)
|
||||
.first()
|
||||
.invoke('val')
|
||||
.should('match', /1[\s]000/)
|
||||
if (['indépendant', 'profession-liberale'].includes(simulateur)) {
|
||||
cy.get(chargeInputSelector).first().invoke('val').should('eq', '500')
|
||||
}
|
||||
cy.contains('Annuel').click()
|
||||
})
|
||||
|
||||
it('should allow to navigate to a documentation page', function () {
|
||||
cy.get(inputSelector).first().type('{selectall}2000')
|
||||
cy.contains('Cotisations').click()
|
||||
cy.location().should((loc) => {
|
||||
expect(loc.pathname).to.match(/\/documentation\/.*\/cotisations/)
|
||||
})
|
||||
})
|
||||
|
||||
it('should allow to go back to the simulation', function () {
|
||||
cy.contains('← ').click()
|
||||
cy.get(inputSelector).first().invoke('val').should('eq', '2 000')
|
||||
})
|
||||
})
|
||||
}
|
|
@ -16,8 +16,8 @@ const rewrite = (basename) => ({
|
|||
})
|
||||
|
||||
app.get('/', function (req, res) {
|
||||
res.send(`<ul><li><a href="/mon-entreprise">mon-entreprise [fr]</a></li>
|
||||
<li><a href="/infrance">infrance [en]</a></li>
|
||||
res.send(`<ul style="font-size: 200%;"><li><a href="/mon-entreprise">mon-entreprise [fr]</a></li>
|
||||
<li><a href="/infrance">mycompaninfrance [en]</a></li>
|
||||
<li><a href="/mon-entreprise/dev/integration-test">intégration du simulateur sur site tiers [iframe fr]</a></li>
|
||||
<li><a href="/publicodes">publicodes</a></li></ul>`)
|
||||
})
|
||||
|
|
|
@ -208,7 +208,21 @@
|
|||
var b = document.documentElement
|
||||
b.setAttribute('data-useragent', navigator.userAgent)
|
||||
</script>
|
||||
|
||||
<script>
|
||||
// Hack to force styled components to render styles during prerender
|
||||
if (window.__PRERENDER_INJECTED) {
|
||||
window.onload = () => {
|
||||
var el = document.createElement('style');
|
||||
document.head.appendChild(el)
|
||||
var styles = document.querySelectorAll('style[data-styled]')
|
||||
for (style of styles.values()) {
|
||||
for (rule of style.sheet.rules) {
|
||||
el.appendChild(document.createTextNode(rule.cssText))
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<!-- APP -->
|
||||
<div id="js"></div>
|
||||
|
||||
|
@ -261,12 +275,6 @@
|
|||
></script>
|
||||
<% } %>
|
||||
|
||||
<!-- Polyfill and source for old browser -->
|
||||
<!-- Add polyfill.io for a very narrow web feature
|
||||
IntersectionObserver : SAFARI 11 & 12.0 https://caniuse.com/#search=intersectionobserver
|
||||
Intl : SAFARI 9 & 10.0 https://caniuse.com/#search=Intl
|
||||
-->
|
||||
<script src="https://polyfill.io/v3/polyfill.min.js?features=Intl.~locale.en%2CIntl.~locale.fr%2CIntersectionObserver"></script>
|
||||
<% for (var chunk in htmlWebpackPlugin.files.chunks) { %>
|
||||
<script nomodule src="<%= chunk %>.legacy.bundle.js"></script>
|
||||
<% } %>
|
||||
|
|
|
@ -27,14 +27,16 @@
|
|||
"@babel/preset-typescript": "^7.9.0",
|
||||
"@types/cheerio": "^0.22.18",
|
||||
"@types/js-yaml": "^3.12.2",
|
||||
"@types/mocha": "^8.2.2",
|
||||
"@types/react": "^17.0.0",
|
||||
"@types/react-color": "^3.0.1",
|
||||
"@types/react-dom": "^17.0.0",
|
||||
"@types/react-dom": "^17.0.9",
|
||||
"@types/react-helmet": "^6.1.0",
|
||||
"@types/react-redux": "^7.1.11",
|
||||
"@types/react-router": "^5.1.2",
|
||||
"@types/recharts": "^1.8.16",
|
||||
"@types/redux-sentry-middleware": "^0.1.2",
|
||||
"@types/styled-components": "^5.1.4",
|
||||
"@types/styled-components": "^5.1.9",
|
||||
"@types/webpack": "^4.41.10",
|
||||
"@typescript-eslint/eslint-plugin": "^4.0.1",
|
||||
"@typescript-eslint/parser": "^4.0.1",
|
||||
|
@ -42,7 +44,9 @@
|
|||
"autoprefixer": "^9.7.6",
|
||||
"babel-plugin-styled-components": "^1.10.7",
|
||||
"copy-webpack-plugin": "^4.5.2",
|
||||
"cypress": "^7.4.0",
|
||||
"cypress-plugin-tab": "^1.0.5",
|
||||
"cypress-wait-until": "^1.7.1",
|
||||
"eslint-plugin-react": "^7.12.4",
|
||||
"html-webpack-plugin": "^3.2.0",
|
||||
"i18next-parser": "^3.3.0",
|
||||
|
@ -61,17 +65,20 @@
|
|||
"@babel/runtime": "^7.3.4",
|
||||
"@react-pdf/renderer": "^1.6.10",
|
||||
"@rehooks/local-storage": "^2.1.1",
|
||||
"@sentry/browser": "5.15.5",
|
||||
"@types/react-helmet": "^6.1.0",
|
||||
"@sentry/react": "^6.3.5",
|
||||
"@sentry/tracing": "^6.3.5",
|
||||
"@types/react-instantsearch-dom": "^6.10.1",
|
||||
"algoliasearch": "^4.10.2",
|
||||
"classnames": "^2.2.5",
|
||||
"color-convert": "^1.9.2",
|
||||
"core-js": "^3.2.1",
|
||||
"focus-trap-react": "^3.1.2",
|
||||
"fuse.js": "5.2.1",
|
||||
"iframe-resizer": "^4.1.1",
|
||||
"instantsearch.css": "^7.4.5",
|
||||
"modele-social": "^0.2.0",
|
||||
"publicodes": "^1.0.0-beta.12",
|
||||
"publicodes-react": "^1.0.0-beta.12",
|
||||
"publicodes": "^1.0.0-beta.15",
|
||||
"publicodes-react": "^1.0.0-beta.15",
|
||||
"ramda": "^0.27.0",
|
||||
"react": "^17.0.0",
|
||||
"react-color": "^2.14.0",
|
||||
|
@ -79,6 +86,8 @@
|
|||
"react-easy-emoji": "^1.2.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-i18next": "^11.0.0",
|
||||
"react-instantsearch": "^6.11.2",
|
||||
"react-instantsearch-dom": "^6.11.2",
|
||||
"react-markdown": "^4.1.0",
|
||||
"react-monaco-editor": "^0.40.0",
|
||||
"react-number-format": "^4.3.1",
|
||||
|
@ -93,7 +102,6 @@
|
|||
"recharts": "^1.8.5",
|
||||
"reduce-reducers": "^1.0.4",
|
||||
"redux": "^4.0.4",
|
||||
"redux-sentry-middleware": "^0.1.8",
|
||||
"regenerator-runtime": "^0.13.3",
|
||||
"reselect": "^4.0.0",
|
||||
"styled-components": "^5.1.0",
|
||||
|
@ -109,22 +117,24 @@
|
|||
"build:stats": "webpack --config webpack.prod.js --profile --json > stats.json",
|
||||
"build:analyze-bundle": "ANALYZE_BUNDLE=1 yarn run build",
|
||||
"build:dev": "FR_BASE_URL='http://localhost:5000${path}' EN_BASE_URL='http://localhost:5001${path}' yarn run build",
|
||||
"clean": "rimraf dist node_modules source/data",
|
||||
"clean": "rimraf dist node_modules 'source/data/!(versement-transport.json)'",
|
||||
"test": "yarn test:file \"./{,!(node_modules)/**/}!(webpack).test.{js,ts}\"",
|
||||
"test:file": "yarn mocha-webpack --webpack-config ./webpack.dev.js --include test/componentTestSetup.js --require mock-local-storage --require test/helpers/browser.js",
|
||||
"test:bundlesize": "bundlesize",
|
||||
"test:dev-e2e:publicode": "cypress open --browser chromium --config baseUrl=http://localhost:8080/publicodes,integrationFolder=cypress/integration/publi.codes",
|
||||
"test:dev-e2e:publicodes": "cypress open --browser chromium --config baseUrl=http://localhost:8080/publicodes,integrationFolder=cypress/integration/publi.codes",
|
||||
"test:dev-e2e:mon-entreprise": "cypress open --browser chromium",
|
||||
"test:dev-e2e:mycompanyinfrance": "cypress open --browser chromium --config baseUrl=http://localhost:8080/infrance",
|
||||
"test:dev-e2e:mycompanyinfrance": "cypress open --browser chromium --config baseUrl=http://localhost:8080/infrance,integrationFolder=cypress/integration/mon-entreprise/english --env language=en",
|
||||
"test:record-http-calls:mon-entreprise": "cypress run --env record_http=",
|
||||
"i18n:rules:check": "node scripts/i18n/check-missing-rule-translation.js",
|
||||
"i18n:rules:translate": "node scripts/i18n/translate-rules.js",
|
||||
"i18n:ui:check": "yarn run i18next -c scripts/i18n/parser.config.js && node scripts/i18n/check-missing-UI-translation",
|
||||
"i18n:ui:translate": "rm -rf source/locales/static-analysis-fr.json && yarn run i18next -c scripts/i18n/parser.config.js && node scripts/i18n/translate-ui.js",
|
||||
"start": "node dev-server.js",
|
||||
"serve:dev": "yarn run serve:dev:mon-entreprise & yarn run serve:dev:mycompanyinfrance & yarn run serve:dev:publicodes",
|
||||
"serve:dev": "concurrently -k \"yarn run serve:dev:mon-entreprise\" \"yarn run serve:dev:mycompanyinfrance & yarn run serve:dev:publicodes\"",
|
||||
"serve:dev:mon-entreprise": "PORT=5000 serve --config serve.mon-entreprise.json --no-clipboard",
|
||||
"serve:dev:publicodes": "PORT=5002 serve --config serve.publicodes.json --no-clipboard",
|
||||
"serve:dev:mycompanyinfrance": "PORT=5001 serve --config serve.infrance.json --no-clipboard",
|
||||
"publish:publicodes": "yarn run lint && yarn run "
|
||||
"algolia:update": "node scripts/search/update-data.js",
|
||||
"algolia:clean": "node scripts/search/clean.js"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -247,7 +247,14 @@ async function main() {
|
|||
const visitesMois = await fetchMonthlyVisits()
|
||||
const satisfaction = uniformiseData(
|
||||
flattenPage(await fetchApi(buildSatisfactionQuery()))
|
||||
)
|
||||
).map((page) => {
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const { date, ...satisfactionPage } = {
|
||||
month: new Date(new Date(page.date).setDate(1)),
|
||||
...page,
|
||||
}
|
||||
return satisfactionPage
|
||||
})
|
||||
const retoursUtilisateurs = await fetchUserFeedbackIssues()
|
||||
writeInDataDir('stats.json', {
|
||||
visitesJours,
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
const fs = require('fs')
|
||||
|
||||
const packages = JSON.parse(fs.readFileSync(`${__dirname}/../package.json`))
|
||||
|
||||
console.log('cypress@' + packages.devDependencies.cypress)
|
||||
for (const key of Object.keys(packages.devDependencies).filter(
|
||||
(k) => k !== 'cypress' && k.startsWith('cypress')
|
||||
)) {
|
||||
console.log(key + '@' + packages.devDependencies[key])
|
||||
}
|
|
@ -5,28 +5,34 @@ var fs = require('fs')
|
|||
const {
|
||||
getUiMissingTranslations,
|
||||
UiTranslationPath,
|
||||
UiOriginalTranslationPath,
|
||||
fetchTranslation,
|
||||
} = require('./utils')
|
||||
|
||||
const missingTranslations = getUiMissingTranslations()
|
||||
|
||||
let translatedKeys = parse(fs.readFileSync(UiTranslationPath, 'utf-8'))
|
||||
|
||||
Object.entries(missingTranslations)
|
||||
.map(([key, value]) => [key, value === 'NO_TRANSLATION' ? key : value])
|
||||
.forEach(async ([key, value]) => {
|
||||
try {
|
||||
const translation = await fetchTranslation(value)
|
||||
translatedKeys = R.assocPath(
|
||||
key.split(/(?<=[A-zÀ-ü0-9])\.(?=[A-zÀ-ü0-9])/),
|
||||
translation,
|
||||
translatedKeys
|
||||
)
|
||||
fs.writeFileSync(
|
||||
UiTranslationPath,
|
||||
stringify(translatedKeys, { sortMapEntries: true })
|
||||
)
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
;(async function () {
|
||||
const missingTranslations = getUiMissingTranslations()
|
||||
let originalKeys = parse(fs.readFileSync(UiOriginalTranslationPath, 'utf-8'))
|
||||
let translatedKeys = parse(fs.readFileSync(UiTranslationPath, 'utf-8'))
|
||||
await Promise.all(
|
||||
Object.entries(missingTranslations)
|
||||
.map(([key, value]) => [key, value === 'NO_TRANSLATION' ? key : value])
|
||||
.map(async ([key, originalTranslation]) => {
|
||||
try {
|
||||
const translation = await fetchTranslation(originalTranslation)
|
||||
const path = key.split(/(?<=[A-zÀ-ü0-9])\.(?=[A-zÀ-ü0-9])/)
|
||||
translatedKeys = R.assocPath(path, translation, translatedKeys)
|
||||
originalKeys = R.assocPath(path, originalTranslation, originalKeys)
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
}
|
||||
})
|
||||
)
|
||||
fs.writeFileSync(
|
||||
UiTranslationPath,
|
||||
stringify(translatedKeys, { sortMapEntries: true })
|
||||
)
|
||||
fs.writeFileSync(
|
||||
UiOriginalTranslationPath,
|
||||
stringify(originalKeys, { sortMapEntries: true })
|
||||
)
|
||||
})()
|
||||
|
|
|
@ -4,11 +4,13 @@ var fs = require('fs')
|
|||
var path = require('path')
|
||||
let R = require('ramda')
|
||||
var querystring = require('querystring')
|
||||
require('../../../modele-social/build')
|
||||
let rules = require('../../../modele-social')
|
||||
let { parse } = require('yaml')
|
||||
|
||||
let rulesTranslationPath = path.resolve('source/locales/rules-en.yaml')
|
||||
let UiTranslationPath = path.resolve('source/locales/ui-en.yaml')
|
||||
let UiOriginalTranslationPath = path.resolve('source/locales/ui-fr.yaml')
|
||||
|
||||
let attributesToTranslate = [
|
||||
'titre',
|
||||
|
@ -95,14 +97,24 @@ const getUiMissingTranslations = () => {
|
|||
'source/locales/static-analysis-fr.json'
|
||||
))
|
||||
const translatedKeys = parse(fs.readFileSync(UiTranslationPath, 'utf-8'))
|
||||
const originalKeys = parse(
|
||||
fs.readFileSync(UiOriginalTranslationPath, 'utf-8')
|
||||
)
|
||||
|
||||
const missingTranslations = Object.entries(staticKeys)
|
||||
.filter(([key, valueInSource]) => {
|
||||
if (key.match(/^\{.*\}$/) || valueInSource === 'NO_TRANSLATION') {
|
||||
return false
|
||||
}
|
||||
const keys = key.split(/(?<=[A-zÀ-ü0-9])\.(?=[A-zÀ-ü0-9])/)
|
||||
|
||||
const isNewKey = !R.path(keys, translatedKeys)
|
||||
const isInvalidatedKey = R.path(keys, originalKeys) !== valueInSource
|
||||
|
||||
return isNewKey || isInvalidatedKey
|
||||
}, staticKeys)
|
||||
.map(([key]) => key)
|
||||
|
||||
const missingTranslations = Object.keys(staticKeys).filter((key) => {
|
||||
if (key.match(/^\{.*\}$/)) {
|
||||
return false
|
||||
}
|
||||
const keys = key.split(/(?<=[A-zÀ-ü0-9])\.(?=[A-zÀ-ü0-9])/)
|
||||
return !R.path(keys, translatedKeys)
|
||||
}, staticKeys)
|
||||
return R.pick(missingTranslations, staticKeys)
|
||||
}
|
||||
|
||||
|
@ -131,4 +143,5 @@ module.exports = {
|
|||
getUiMissingTranslations,
|
||||
rulesTranslationPath,
|
||||
UiTranslationPath,
|
||||
UiOriginalTranslationPath,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
require('dotenv').config()
|
||||
|
||||
const algoliasearch = require('algoliasearch')
|
||||
|
||||
const {
|
||||
ALGOLIA_APP_ID,
|
||||
ALGOLIA_ADMIN_KEY,
|
||||
ALGOLIA_INDEX_PREFIX = '',
|
||||
} = process.env
|
||||
|
||||
const client = algoliasearch(ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY)
|
||||
|
||||
const rulesIndex = client.initIndex(`${ALGOLIA_INDEX_PREFIX}rules`)
|
||||
const simulateursIndex = client.initIndex(`${ALGOLIA_INDEX_PREFIX}simulateurs`)
|
||||
|
||||
rulesIndex.delete()
|
||||
simulateursIndex.delete()
|
|
@ -0,0 +1,157 @@
|
|||
require('dotenv').config()
|
||||
|
||||
const algoliasearch = require('algoliasearch')
|
||||
const rawRules = require('modele-social')
|
||||
const rules = require('publicodes').parsePublicodes(rawRules)
|
||||
|
||||
const getSimulationData = require('../../source/pages/Simulateurs/metadata-src')
|
||||
|
||||
const {
|
||||
ALGOLIA_APP_ID,
|
||||
ALGOLIA_ADMIN_KEY,
|
||||
ALGOLIA_INDEX_PREFIX = '',
|
||||
} = process.env
|
||||
|
||||
const client = algoliasearch(ALGOLIA_APP_ID, ALGOLIA_ADMIN_KEY)
|
||||
|
||||
const rulesIndex = client.initIndex(`${ALGOLIA_INDEX_PREFIX}rules`)
|
||||
const simulateursIndex = client.initIndex(`${ALGOLIA_INDEX_PREFIX}simulateurs`)
|
||||
|
||||
const formatRulesToAlgolia = (rules) =>
|
||||
Object.entries(rules)
|
||||
.map(([n, rule]) => {
|
||||
if (!rule) return
|
||||
const path = n.split(' . ')
|
||||
const {
|
||||
title,
|
||||
rawNode: { icônes = '', description, acronyme, résumé },
|
||||
} = rule
|
||||
const ruleName = `${title} ${' ' + icônes}`.trim()
|
||||
const namespace = path.slice(0, -1)
|
||||
|
||||
return {
|
||||
objectID: n,
|
||||
path,
|
||||
ruleName,
|
||||
namespace,
|
||||
pathDepth: path.length,
|
||||
acronyme: acronyme,
|
||||
titre: title,
|
||||
icone: icônes,
|
||||
description: description || résumé,
|
||||
}
|
||||
})
|
||||
.filter(Boolean)
|
||||
|
||||
const formatSimulationDataToAlgolia = (simulations) =>
|
||||
Object.entries(simulations).map(([id, simulation]) => ({
|
||||
...simulation,
|
||||
objectID: id,
|
||||
title: simulation.title || simulation.shortName || simulation.meta.title,
|
||||
tooltip: simulation.tooltip || '',
|
||||
description: simulation.meta?.description,
|
||||
}))
|
||||
|
||||
;(async function () {
|
||||
try {
|
||||
console.log('Algolia update START')
|
||||
|
||||
console.log('Clearing: rules')
|
||||
await rulesIndex.clearObjects().wait()
|
||||
console.log('Configure index: rules')
|
||||
await rulesIndex
|
||||
.setSettings({
|
||||
// Parameters are documented on Algolia website https://www.algolia.com/doc/api-reference/api-parameters/
|
||||
minWordSizefor1Typo: 4,
|
||||
minWordSizefor2Typos: 8,
|
||||
hitsPerPage: 20,
|
||||
maxValuesPerFacet: 100,
|
||||
attributesToIndex: ['unordered(ruleName)', 'unordered(namespace)'],
|
||||
numericAttributesToIndex: null,
|
||||
attributesToRetrieve: null,
|
||||
unretrievableAttributes: null,
|
||||
optionalWords: null,
|
||||
attributesForFaceting: null,
|
||||
attributesToSnippet: null,
|
||||
attributesToHighlight: ['ruleName', 'namespace'],
|
||||
paginationLimitedTo: 1000,
|
||||
attributeForDistinct: null,
|
||||
exactOnSingleWordQuery: 'attribute',
|
||||
ranking: [
|
||||
'typo',
|
||||
'geo',
|
||||
'words',
|
||||
'filters',
|
||||
'proximity',
|
||||
'attribute',
|
||||
'exact',
|
||||
'custom',
|
||||
],
|
||||
customRanking: ['asc(pathDepth)'],
|
||||
separatorsToIndex: '',
|
||||
removeWordsIfNoResults: 'none',
|
||||
queryType: 'prefixLast',
|
||||
highlightPreTag: '<em>',
|
||||
highlightPostTag: '</em>',
|
||||
snippetEllipsisText: '',
|
||||
alternativesAsExact: ['ignorePlurals', 'singleWordSynonym'],
|
||||
})
|
||||
.wait()
|
||||
console.log('Uploading: rules')
|
||||
await rulesIndex.saveObjects(formatRulesToAlgolia(rules)).wait()
|
||||
|
||||
console.log('Clearing: simulateurs')
|
||||
await simulateursIndex.clearObjects().wait()
|
||||
console.log('Configure index: simulateurs')
|
||||
await simulateursIndex
|
||||
.setSettings({
|
||||
// Parameters are documented on Algolia website https://www.algolia.com/doc/api-reference/api-parameters/
|
||||
minWordSizefor1Typo: 4,
|
||||
minWordSizefor2Typos: 8,
|
||||
hitsPerPage: 20,
|
||||
maxValuesPerFacet: 100,
|
||||
attributesToIndex: [
|
||||
'unordered(title)',
|
||||
'unordered(tooltip)',
|
||||
'unordered(description)',
|
||||
],
|
||||
numericAttributesToIndex: null,
|
||||
attributesToRetrieve: null,
|
||||
unretrievableAttributes: null,
|
||||
optionalWords: null,
|
||||
attributesForFaceting: null,
|
||||
attributesToSnippet: null,
|
||||
attributesToHighlight: ['title'],
|
||||
paginationLimitedTo: 1000,
|
||||
attributeForDistinct: null,
|
||||
exactOnSingleWordQuery: 'attribute',
|
||||
ranking: [
|
||||
'typo',
|
||||
'geo',
|
||||
'words',
|
||||
'filters',
|
||||
'proximity',
|
||||
'attribute',
|
||||
'exact',
|
||||
'custom',
|
||||
],
|
||||
customRanking: null,
|
||||
separatorsToIndex: '',
|
||||
removeWordsIfNoResults: 'none',
|
||||
queryType: 'prefixLast',
|
||||
highlightPreTag: '<em>',
|
||||
highlightPostTag: '</em>',
|
||||
snippetEllipsisText: '',
|
||||
alternativesAsExact: ['ignorePlurals', 'singleWordSynonym'],
|
||||
})
|
||||
.wait()
|
||||
console.log('Updloading: simulateurs')
|
||||
await simulateursIndex
|
||||
.saveObjects(formatSimulationDataToAlgolia(getSimulationData()))
|
||||
.wait()
|
||||
|
||||
console.log('Algolia update DONE')
|
||||
} catch (e) {
|
||||
console.log(JSON.stringify(e, null, 2))
|
||||
}
|
||||
})()
|
|
@ -1,2 +1,2 @@
|
|||
ignorePatterns:
|
||||
- smarttag.js
|
||||
ignorePatterns:
|
||||
- smarttag.js
|
||||
|
|
|
@ -73,9 +73,7 @@ export function createTracker(siteId?: string, doNotTrack = false) {
|
|||
}
|
||||
constructor(options: { language: 'fr' | 'en' }) {
|
||||
super({ site })
|
||||
this.site[
|
||||
INDICATOR.SITE.LANGAGE
|
||||
] = `[${options.language}]` as CustomSiteIndicator[1]
|
||||
this.site[INDICATOR.SITE.LANGAGE] = `[${options.language}]`
|
||||
if (process.env.NODE_ENV === 'production' && doNotTrack) {
|
||||
this.privacy.setVisitorOptout()
|
||||
} else {
|
||||
|
|
|
@ -4,7 +4,7 @@ import { ATTracker, Log } from './Tracker'
|
|||
export const TrackingContext = createContext<ATTracker>(new Log())
|
||||
|
||||
// From https://github.com/nclsmitchell/at-internet
|
||||
function toAtString(string: string): string {
|
||||
export function toAtString(string: string): string {
|
||||
string = string.replace(/ /g, '_').toLowerCase()
|
||||
string = string.replace(/[\300-\306]|[\340-\346]/g, 'a')
|
||||
string = string.replace(/[\310-\313]|[\350-\353]/g, 'e')
|
||||
|
|
|
@ -82,7 +82,8 @@
|
|||
: null
|
||||
}
|
||||
var c = this,
|
||||
b = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g,
|
||||
b =
|
||||
/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g,
|
||||
d = RegExp(
|
||||
'^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$',
|
||||
'g'
|
||||
|
@ -1506,12 +1507,13 @@
|
|||
'undefined' !== typeof window &&
|
||||
'undefined' !== typeof window.location
|
||||
) {
|
||||
h = (c.getConfig('urlPropertyQueryString')
|
||||
? window.location.href
|
||||
: window.location.protocol +
|
||||
'//' +
|
||||
window.location.host +
|
||||
window.location.pathname
|
||||
h = (
|
||||
c.getConfig('urlPropertyQueryString')
|
||||
? window.location.href
|
||||
: window.location.protocol +
|
||||
'//' +
|
||||
window.location.host +
|
||||
window.location.pathname
|
||||
)
|
||||
.replace(/[<>]/g, '')
|
||||
.substring(0, 1600)
|
||||
|
@ -1521,9 +1523,10 @@
|
|||
c.setContext('page', l)
|
||||
c.setParam('page_url', h, {
|
||||
permanent: !0,
|
||||
hitType: 'page click publisher selfPromotion onSiteAdsClick onSiteAdsImpression InternalSearch mvtesting richmedia'.split(
|
||||
' '
|
||||
),
|
||||
hitType:
|
||||
'page click publisher selfPromotion onSiteAdsClick onSiteAdsImpression InternalSearch mvtesting richmedia'.split(
|
||||
' '
|
||||
),
|
||||
})
|
||||
}
|
||||
c.plugins.init()
|
||||
|
@ -1641,8 +1644,13 @@
|
|||
},
|
||||
c = { search: 's', content: 'c' }
|
||||
this.atMedium = 'sl'
|
||||
this.atTerm = this.atNetwork = this.atVariant = this.atCreation = this.atPlatform = this.atCampaign =
|
||||
''
|
||||
this.atTerm =
|
||||
this.atNetwork =
|
||||
this.atVariant =
|
||||
this.atCreation =
|
||||
this.atPlatform =
|
||||
this.atCampaign =
|
||||
''
|
||||
this.format = function () {
|
||||
var a = 'sec',
|
||||
h = b(this.atCampaign),
|
||||
|
@ -1693,8 +1701,15 @@
|
|||
this.Email = function () {
|
||||
var e = { acquisition: 'erec', retention: 'epr', promotion: 'es' }
|
||||
this.atMedium = 'email'
|
||||
this.atSendTime = this.atRecipientList = this.atRecipientId = this.atLink = this.atSendDate = this.atCreation = this.atCampaign = this.atEmailtype =
|
||||
''
|
||||
this.atSendTime =
|
||||
this.atRecipientList =
|
||||
this.atRecipientId =
|
||||
this.atLink =
|
||||
this.atSendDate =
|
||||
this.atCreation =
|
||||
this.atCampaign =
|
||||
this.atEmailtype =
|
||||
''
|
||||
this.format = function () {
|
||||
var a = e[this.atEmailtype] || e.promotion,
|
||||
c = b(this.atCampaign),
|
||||
|
@ -1762,8 +1777,13 @@
|
|||
}
|
||||
this.Affiliate = function () {
|
||||
this.atMedium = 'affiliate'
|
||||
this.atVariant = this.atCreation = this.atFormat = this.atIdentifier = this.atType = this.atCampaign =
|
||||
''
|
||||
this.atVariant =
|
||||
this.atCreation =
|
||||
this.atFormat =
|
||||
this.atIdentifier =
|
||||
this.atType =
|
||||
this.atCampaign =
|
||||
''
|
||||
this.format = function () {
|
||||
var a = 'al',
|
||||
f = b(this.atCampaign),
|
||||
|
@ -1813,8 +1833,14 @@
|
|||
}
|
||||
this.Display = function () {
|
||||
this.atMedium = 'display'
|
||||
this.atDetailPlacement = this.atGeneralPlacement = this.atChannel = this.atFormat = this.atVariant = this.atCreation = this.atCampaign =
|
||||
''
|
||||
this.atDetailPlacement =
|
||||
this.atGeneralPlacement =
|
||||
this.atChannel =
|
||||
this.atFormat =
|
||||
this.atVariant =
|
||||
this.atCreation =
|
||||
this.atCampaign =
|
||||
''
|
||||
this.format = function () {
|
||||
var a = 'ad',
|
||||
f = b(this.atCampaign),
|
||||
|
@ -1885,8 +1911,13 @@
|
|||
}
|
||||
}
|
||||
this.Custom = function () {
|
||||
this.atCustom4 = this.atCustom3 = this.atCustom2 = this.atCustom1 = this.atCampaign = this.atMedium =
|
||||
''
|
||||
this.atCustom4 =
|
||||
this.atCustom3 =
|
||||
this.atCustom2 =
|
||||
this.atCustom1 =
|
||||
this.atCampaign =
|
||||
this.atMedium =
|
||||
''
|
||||
this.format = function () {
|
||||
var a = ''
|
||||
;/\d+$/.test(this.atMedium) && (a = /\d+$/.exec(this.atMedium)[0])
|
||||
|
|
|
@ -11,3 +11,18 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
/* Classe pour permettre la présence de labels pour les lecteur d'ecran
|
||||
* Source: https://a11y-guidelines.orange.com/en/web/components-examples/accessible-hiding/
|
||||
* */
|
||||
.sr-only {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
white-space: nowrap; /* added line */
|
||||
border: 0;
|
||||
}
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
import * as Sentry from '@sentry/browser'
|
||||
import Footer from 'Components/layout/Footer/Footer'
|
||||
import Header from 'Components/layout/Header'
|
||||
import Route404 from 'Components/Route404'
|
||||
import 'Components/ui/index.css'
|
||||
import {
|
||||
engineOptions,
|
||||
engineFactory,
|
||||
EngineProvider,
|
||||
Rules,
|
||||
SituationProvider,
|
||||
} from 'Components/utils/EngineContext'
|
||||
import { SitePathsContext } from 'Components/utils/SitePathsContext'
|
||||
import 'iframe-resizer'
|
||||
import { DottedName } from 'modele-social'
|
||||
import Engine, { Rule } from 'publicodes'
|
||||
import { useContext, useMemo } from 'react'
|
||||
import { Helmet } from 'react-helmet'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import { useSelector } from 'react-redux'
|
||||
import { Route, Switch } from 'react-router-dom'
|
||||
import createSentryMiddleware from 'redux-sentry-middleware'
|
||||
import { Redirect, Route, Switch } from 'react-router-dom'
|
||||
import {
|
||||
configSituationSelector,
|
||||
situationSelector,
|
||||
|
@ -46,45 +43,19 @@ import {
|
|||
} from './storage/persistInFranceApp'
|
||||
import { setupSimulationPersistence } from './storage/persistSimulation'
|
||||
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
let branch: string | undefined = process.env.GITHUB_REF?.split('/')?.slice(
|
||||
-1
|
||||
)?.[0]
|
||||
if (branch === 'merge') {
|
||||
branch = process.env.GITHUB_HEAD_REF
|
||||
}
|
||||
const release =
|
||||
branch && `${branch}-` + process.env.GITHUB_SHA?.substring(0, 7)
|
||||
const dsn = 'https://9051375f856646d694943532caf2b45f@sentry.data.gouv.fr/18'
|
||||
Sentry.init({ dsn, release })
|
||||
|
||||
if (branch && branch !== 'master') {
|
||||
console.log(
|
||||
`ℹ Vous êtes sur la branche : %c${branch}`,
|
||||
'font-weight: bold; text-decoration: underline;'
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const middlewares = [createSentryMiddleware(Sentry as any)]
|
||||
|
||||
type RootProps = {
|
||||
basename: ProviderProps['basename']
|
||||
rules: Record<DottedName, Rule>
|
||||
rules: Rules
|
||||
}
|
||||
|
||||
export default function Root({ basename, rules }: RootProps) {
|
||||
const { language } = useTranslation().i18n
|
||||
const paths = constructLocalizedSitePath(language as 'fr' | 'en')
|
||||
const engine = useMemo(() => new Engine(rules, engineOptions), [
|
||||
rules,
|
||||
engineOptions,
|
||||
])
|
||||
const engine = useMemo(() => engineFactory(rules), [rules])
|
||||
return (
|
||||
<Provider
|
||||
basename={basename}
|
||||
sitePaths={paths}
|
||||
reduxMiddlewares={middlewares}
|
||||
onStoreCreated={(store) => {
|
||||
setupInFranceAppPersistence(store)
|
||||
setupSimulationPersistence(store)
|
||||
|
@ -114,6 +85,15 @@ const Router = () => {
|
|||
<SituationProvider situation={situation}>
|
||||
<Switch>
|
||||
<Route exact path="/" component={Landing} />
|
||||
{/* Removes trailing slashes */}
|
||||
<Route
|
||||
path={'/:url*(/+)'}
|
||||
exact
|
||||
strict
|
||||
render={({ location }) => (
|
||||
<Redirect to={location.pathname.replace(/\/+$/, location.search)} />
|
||||
)}
|
||||
/>
|
||||
<Route path="/iframes" component={Iframes} />
|
||||
<Route component={App} />
|
||||
</Switch>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import { ErrorBoundary } from '@sentry/react'
|
||||
import { ThemeColorsProvider } from 'Components/utils/colors'
|
||||
import { DisableAnimationOnPrintProvider } from 'Components/utils/DisableAnimationContext'
|
||||
import { SitePathProvider, SitePaths } from 'Components/utils/SitePathsContext'
|
||||
import { createBrowserHistory } from 'history'
|
||||
import i18next from 'i18next'
|
||||
|
@ -18,6 +20,7 @@ import {
|
|||
// ATInternet Tracking
|
||||
import { TrackingContext } from './ATInternetTracking'
|
||||
import { createTracker } from './ATInternetTracking/Tracker'
|
||||
import logo from './static/images/logo.svg'
|
||||
import safeLocalStorage from './storage/safeLocalStorage'
|
||||
import { inIframe } from './utils'
|
||||
|
||||
|
@ -118,29 +121,55 @@ export default function Provider({
|
|||
) ?? undefined
|
||||
|
||||
return (
|
||||
// If IE < 11 display nothing
|
||||
<ReduxProvider store={store}>
|
||||
<ThemeColorsProvider
|
||||
color={iframeCouleur && decodeURIComponent(iframeCouleur)}
|
||||
>
|
||||
<TrackingContext.Provider
|
||||
value={
|
||||
new ATTracker({
|
||||
language: i18next.language as 'fr' | 'en',
|
||||
})
|
||||
}
|
||||
<ErrorBoundary
|
||||
showDialog
|
||||
fallback={
|
||||
<>
|
||||
<div className="ui__ container">
|
||||
<img
|
||||
src={logo}
|
||||
style={{ maxWidth: '200px', width: '100%', marginTop: '1rem' }}
|
||||
></img>
|
||||
<h1>Une erreur est survenue</h1>
|
||||
<p>
|
||||
L'équipe technique de mon-entreprise.fr a été automatiquement
|
||||
prévenue. Vous pouvez également nous contacter directement à
|
||||
l'adresse{' '}
|
||||
<a href="mailto:contact@mon-entreprise.beta.gouv.fr">
|
||||
contact@mon-entreprise.beta.gouv.fr
|
||||
</a>{' '}
|
||||
si vous souhaitez partager une remarque.
|
||||
</p>
|
||||
<p>Veuillez nous excuser pour la gêne occasionnée.</p>
|
||||
</div>
|
||||
</>
|
||||
}
|
||||
>
|
||||
<ReduxProvider store={store}>
|
||||
<ThemeColorsProvider
|
||||
color={iframeCouleur && decodeURIComponent(iframeCouleur)}
|
||||
>
|
||||
<SiteNameContext.Provider value={basename}>
|
||||
<SitePathProvider value={sitePaths}>
|
||||
<I18nextProvider i18n={i18next}>
|
||||
<Router history={history}>
|
||||
<>{children}</>
|
||||
</Router>
|
||||
</I18nextProvider>
|
||||
</SitePathProvider>
|
||||
</SiteNameContext.Provider>
|
||||
</TrackingContext.Provider>
|
||||
</ThemeColorsProvider>
|
||||
</ReduxProvider>
|
||||
<TrackingContext.Provider
|
||||
value={
|
||||
new ATTracker({
|
||||
language: i18next.language as 'fr' | 'en',
|
||||
})
|
||||
}
|
||||
>
|
||||
<DisableAnimationOnPrintProvider>
|
||||
<SiteNameContext.Provider value={basename}>
|
||||
<SitePathProvider value={sitePaths}>
|
||||
<I18nextProvider i18n={i18next}>
|
||||
<Router history={history}>
|
||||
<>{children}</>
|
||||
</Router>
|
||||
</I18nextProvider>
|
||||
</SitePathProvider>
|
||||
</SiteNameContext.Provider>
|
||||
</DisableAnimationOnPrintProvider>
|
||||
</TrackingContext.Provider>
|
||||
</ThemeColorsProvider>
|
||||
</ReduxProvider>
|
||||
</ErrorBoundary>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -85,17 +85,22 @@ const fetchCommuneDetails = async function (codeCommune: string) {
|
|||
export const useSetEntreprise = () => {
|
||||
const dispatch = useDispatch()
|
||||
return async (siren: string) => {
|
||||
dispatch(setSiren(siren))
|
||||
const companyDetails = await fetchCompanyDetails(siren)
|
||||
if (companyDetails === null) {
|
||||
return
|
||||
}
|
||||
dispatch(setSiren(siren))
|
||||
dispatch(
|
||||
setCompanyDetails(
|
||||
companyDetails.categorie_juridique,
|
||||
companyDetails.date_creation
|
||||
)
|
||||
)
|
||||
const communeDetails: ApiCommuneJson = await fetchCommuneDetails(
|
||||
companyDetails.etablissement_siege.code_commune
|
||||
)
|
||||
dispatch(addCommuneDetails(communeDetails))
|
||||
if (companyDetails.etablissement_siege) {
|
||||
const communeDetails: ApiCommuneJson = await fetchCommuneDetails(
|
||||
companyDetails.etablissement_siege.code_commune
|
||||
)
|
||||
dispatch(addCommuneDetails(communeDetails))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,11 +2,13 @@ const isSIREN = (input: string) => /^[\s]*([\d][\s]*){9}$/.exec(input)
|
|||
const isSIRET = (input: string) => /^[\s]*([\d][\s]*){14}$/.exec(input)
|
||||
|
||||
export async function fetchCompanyDetails(siren: string) {
|
||||
// Le paramètre `statut_diffusion` filtre les SIREN non diffusibles, cf.
|
||||
// https://github.com/betagouv/mon-entreprise/issues/1399#issuecomment-770736525
|
||||
const response = await fetch(
|
||||
`https://entreprise.data.gouv.fr/api/sirene/v3/unites_legales/${siren.replace(
|
||||
/[\s]/g,
|
||||
''
|
||||
)}`
|
||||
)}?statut_diffusion=O`
|
||||
)
|
||||
if (!response.ok) {
|
||||
return null
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue