@silexpert/core 1.1.314 → 1.1.315
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/types/Enum/GlobalRegime.js +2 -2
- package/dist/cjs/types/Enum/GlobalRegime.js.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestation.d.ts +1 -0
- package/dist/cjs/types/Interface/models/IPrestation.d.ts.map +1 -1
- package/dist/cjs/types/Interface/models/IPrestation.js.map +1 -1
- package/dist/cjs/utils/payment.d.ts.map +1 -1
- package/dist/cjs/utils/payment.js +60 -28
- package/dist/cjs/utils/payment.js.map +1 -1
- package/dist/mjs/types/Enum/GlobalRegime.js +2 -2
- package/dist/mjs/types/Enum/GlobalRegime.js.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestation.d.ts +1 -0
- package/dist/mjs/types/Interface/models/IPrestation.d.ts.map +1 -1
- package/dist/mjs/types/Interface/models/IPrestation.js.map +1 -1
- package/dist/mjs/utils/payment.d.ts.map +1 -1
- package/dist/mjs/utils/payment.js +57 -25
- package/dist/mjs/utils/payment.js.map +1 -1
- package/package.json +1 -1
- package/ts/types/Enum/GlobalRegime.ts +2 -2
- package/ts/types/Interface/models/IPrestation.ts +1 -0
- package/ts/utils/payment.ts +59 -27
|
@@ -482,9 +482,9 @@ exports.GlobalRegime = {
|
|
|
482
482
|
],
|
|
483
483
|
},
|
|
484
484
|
SELARL: {
|
|
485
|
-
name: 'SELARL',
|
|
485
|
+
name: 'SELARL / SELARLU',
|
|
486
486
|
id: 10,
|
|
487
|
-
idLegalForms: [LegalForm_1.LegalForm.SELARL.id],
|
|
487
|
+
idLegalForms: [LegalForm_1.LegalForm.SELARL.id, LegalForm_1.LegalForm.SELARLU.id],
|
|
488
488
|
choices: [
|
|
489
489
|
{
|
|
490
490
|
name: 'Profession libérale (BNC - IR - 2035)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalRegime.js","sourceRoot":"","sources":["../../../../ts/types/Enum/GlobalRegime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Activity } from './Activity';\nimport { CerfaType } from './CerfaType';\nimport { FiscalRegime } from './FiscalRegime';\nimport { LegalForm } from './LegalForm';\nimport { ProfitsType } from './ProfitsType';\nimport { TaxSystem } from './TaxSystem';\n/** this enum is about all the choices by legalForm for a society a declaration. All choices return multiple informations:\n * idActivity: the activity of the society (1: Prestataire de services, 2: Commerçant, 3: Profession libérale, 4: Autres)\n * idTaxSystem: the taxSystem of the society (1: IS, 2:IR, 3: N/A)\n * profitsType: the type of profits of the society (1: BIC, 2:BNC)\n * realFiscalRegime: The FiscalRegime of the society (1: RS, 2: RN, 3:NA)\n */\nexport type GlobalRegimeTypeChoicesContent = {\n name: string;\n idActivity: Activity,\n idTaxSystem: TaxSystem;\n profitsType?: ProfitsType;\n idFiscalRegime: FiscalRegime;\n declaration: number;\n annexe?: number,\n hidden: boolean,\n};\nexport type GlobalRegimeTypeContent = {\n name: string;\n id: number;\n idLegalForms: number[];\n choices: GlobalRegimeTypeChoicesContent[]\n};\nexport type GlobalRegimeType = {\n [key: string]: GlobalRegimeTypeContent\n};\nexport const GlobalRegime: GlobalRegimeType = {\n ENTREPRISE_INDIVIDUELLE: {\n name: 'Entreprise Individuelle',\n id: 1,\n idLegalForms: [LegalForm.EI.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n EIRL: {\n name: 'EIRL',\n id: 2,\n idLegalForms: [LegalForm.EIRL.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA, // FIXME: Pas de RS/RN ?\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BNC - IS - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n AUTO_MICRO_ENTREPRENEUR: {\n name: 'Auto-entrepreneur / micro-entreprise',\n id: 3,\n idLegalForms: [LegalForm.AUTO_ENTREPRENEUR.id],\n choices: [\n {\n name: 'Activité négoce (achat/revente de marchandises) et prestation d\\'hébergement (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Presta de services commerciales ou artisanales (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Profession libérale (Micro-BNC - 2042-C-Pro)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n ],\n },\n ASSOCIATION: {\n name: 'Association',\n id: 4,\n idLegalForms: [LegalForm.ASSOCIATION.id],\n choices: [\n // {\n // name: 'Non fiscalisée si revenus de capitaux (2070)',\n // idActivity: Activity.AUTRES,\n // idTaxSystem: TaxSystem.IS,\n // idFiscalRegime: FiscalRegime.NA,\n // declaration: CerfaType.CERFA_2070,\n // },\n {\n name: 'Fiscalisée (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Fiscalisée (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n EURL_SARL: {\n name: 'EURL / SARL',\n id: 5,\n idLegalForms: [LegalForm.EURL.id, LegalForm.SARL.id, LegalForm.GIE.id ],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 && 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SAS_SASU: {\n name: 'SAS / SASU',\n id: 6,\n idLegalForms: [LegalForm.SAS.id, LegalForm.SASU.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SA: {\n name: 'SA',\n id: 7,\n idLegalForms: [LegalForm.SA.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SCI: {\n name: 'SCI',\n id: 8,\n idLegalForms: [LegalForm.SCI.id],\n choices: [\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n SCP: {\n name: 'SCP',\n id: 9,\n idLegalForms: [LegalForm.SCP.id],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SELARL: {\n name: 'SELARL',\n id: 10,\n idLegalForms: [LegalForm.SELARL.id],\n choices: [\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n};"]}
|
|
1
|
+
{"version":3,"file":"GlobalRegime.js","sourceRoot":"","sources":["../../../../ts/types/Enum/GlobalRegime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Activity } from './Activity';\nimport { CerfaType } from './CerfaType';\nimport { FiscalRegime } from './FiscalRegime';\nimport { LegalForm } from './LegalForm';\nimport { ProfitsType } from './ProfitsType';\nimport { TaxSystem } from './TaxSystem';\n/** this enum is about all the choices by legalForm for a society a declaration. All choices return multiple informations:\n * idActivity: the activity of the society (1: Prestataire de services, 2: Commerçant, 3: Profession libérale, 4: Autres)\n * idTaxSystem: the taxSystem of the society (1: IS, 2:IR, 3: N/A)\n * profitsType: the type of profits of the society (1: BIC, 2:BNC)\n * realFiscalRegime: The FiscalRegime of the society (1: RS, 2: RN, 3:NA)\n */\nexport type GlobalRegimeTypeChoicesContent = {\n name: string;\n idActivity: Activity,\n idTaxSystem: TaxSystem;\n profitsType?: ProfitsType;\n idFiscalRegime: FiscalRegime;\n declaration: number;\n annexe?: number,\n hidden: boolean,\n};\nexport type GlobalRegimeTypeContent = {\n name: string;\n id: number;\n idLegalForms: number[];\n choices: GlobalRegimeTypeChoicesContent[]\n};\nexport type GlobalRegimeType = {\n [key: string]: GlobalRegimeTypeContent\n};\nexport const GlobalRegime: GlobalRegimeType = {\n ENTREPRISE_INDIVIDUELLE: {\n name: 'Entreprise Individuelle',\n id: 1,\n idLegalForms: [LegalForm.EI.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n EIRL: {\n name: 'EIRL',\n id: 2,\n idLegalForms: [LegalForm.EIRL.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA, // FIXME: Pas de RS/RN ?\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BNC - IS - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n AUTO_MICRO_ENTREPRENEUR: {\n name: 'Auto-entrepreneur / micro-entreprise',\n id: 3,\n idLegalForms: [LegalForm.AUTO_ENTREPRENEUR.id],\n choices: [\n {\n name: 'Activité négoce (achat/revente de marchandises) et prestation d\\'hébergement (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Presta de services commerciales ou artisanales (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Profession libérale (Micro-BNC - 2042-C-Pro)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n ],\n },\n ASSOCIATION: {\n name: 'Association',\n id: 4,\n idLegalForms: [LegalForm.ASSOCIATION.id],\n choices: [\n // {\n // name: 'Non fiscalisée si revenus de capitaux (2070)',\n // idActivity: Activity.AUTRES,\n // idTaxSystem: TaxSystem.IS,\n // idFiscalRegime: FiscalRegime.NA,\n // declaration: CerfaType.CERFA_2070,\n // },\n {\n name: 'Fiscalisée (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Fiscalisée (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n EURL_SARL: {\n name: 'EURL / SARL',\n id: 5,\n idLegalForms: [LegalForm.EURL.id, LegalForm.SARL.id, LegalForm.GIE.id ],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 && 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SAS_SASU: {\n name: 'SAS / SASU',\n id: 6,\n idLegalForms: [LegalForm.SAS.id, LegalForm.SASU.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SA: {\n name: 'SA',\n id: 7,\n idLegalForms: [LegalForm.SA.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SCI: {\n name: 'SCI',\n id: 8,\n idLegalForms: [LegalForm.SCI.id],\n choices: [\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n SCP: {\n name: 'SCP',\n id: 9,\n idLegalForms: [LegalForm.SCP.id],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SELARL: {\n name: 'SELARL / SELARLU',\n id: 10,\n idLegalForms: [LegalForm.SELARL.id, LegalForm.SELARLU.id],\n choices: [\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n};"]}
|
|
@@ -60,6 +60,7 @@ export interface IPrestation {
|
|
|
60
60
|
prestationJuridique?: IPrestation;
|
|
61
61
|
prestationSocial?: IPrestation;
|
|
62
62
|
prestationCreation?: IPrestation;
|
|
63
|
+
prestationControleFiscal?: IPrestation;
|
|
63
64
|
societiesPrestations?: ISociety;
|
|
64
65
|
prestationsDetailsBeforeExercice?: IExercicePrestation[];
|
|
65
66
|
customersSignatures?: ICustomerSignature[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPrestation.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IPrestation.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,wBAAwB,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,+BAA+B,EAAE,OAAO,GAAG,IAAI,CAAC;IAChD,qBAAqB,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,qBAAqB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,sBAAsB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAGxB,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,mBAAmB,CAAC,EAAE,WAAW,CAAC;IAClC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,wBAAwB,CAAC,EAAE,WAAW,CAAC;IACvC,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,gCAAgC,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACzD,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPrestation.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"","sourcesContent":["import { IExercice } from './IExercice';\nimport { IPayment } from './IPayment';\nimport { IPrestationList } from './IPrestationList';\nimport { IPrestationComplementary } from './IPrestationComplementary';\nimport { ISociety } from './ISociety';\nimport { IExercicePrestation } from './IExercicePrestation';\nimport { ICustomerSignature } from './ICustomerSignature';\nimport { ITerminationList } from './ITerminationList';\nimport { IUser } from '../..';\n\n// prestations\nexport interface IPrestation {\n id?: number;\n numPrestation: string | null;\n statePrevi: number | null;\n archive: boolean;\n withStatuteDrafted: boolean | null;\n withCaptainContrat: boolean | null;\n withStatutesApportNature: boolean | null;\n withStatutesAutorisationTutelle: boolean | null;\n withStatutesFileAccre: boolean | null;\n paid: boolean | null;\n signed: boolean | null;\n toAdministratif: number | null;\n goToAdministratif: Date | null;\n administratifStatus: number;\n toConstitution: number;\n dateValidPrestation: Date | null;\n goToOnboarding: Date | null;\n dateLeavingOnboarding?: Date | null;\n goToClient: Date | null;\n goToFacturation?: Date | null;\n dateLeavingFacturation?: Date | null;\n scoring: number | null;\n isWithApplicationFees?: boolean;\n state: boolean;\n commentPdf: string | null;\n token: string | null;\n size: number | null;\n inProgress: number | null;\n idSociety: number;\n idPrestationList: number;\n idPrestationComplementary: number | null;\n gestionJuridique: boolean;\n idPrestationSocial: number | null;\n idPrestationJuridique: number | null;\n idPrestationCreation: number | null;\n idPrestationDeclarationIR: number | null;\n idPrestationControleFiscal: number | null;\n idOnBoarder: number | null;\n idStateAppointment: number | null;\n totalAmount?: number;\n discountAmount?: number;\n debitType?: string;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n exercices?: IExercice[];\n prestationsPayments?: IPayment[];\n prestationsList?: IPrestationList;\n prestationsComplementary?: IPrestationComplementary;\n prestationJuridique?: IPrestation;\n prestationSocial?: IPrestation;\n prestationCreation?: IPrestation;\n societiesPrestations?: ISociety;\n prestationsDetailsBeforeExercice?: IExercicePrestation[];\n customersSignatures?: ICustomerSignature[];\n terminationList?: ITerminationList;\n onBoarder?: IUser;\n}"]}
|
|
1
|
+
{"version":3,"file":"IPrestation.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"","sourcesContent":["import { IExercice } from './IExercice';\nimport { IPayment } from './IPayment';\nimport { IPrestationList } from './IPrestationList';\nimport { IPrestationComplementary } from './IPrestationComplementary';\nimport { ISociety } from './ISociety';\nimport { IExercicePrestation } from './IExercicePrestation';\nimport { ICustomerSignature } from './ICustomerSignature';\nimport { ITerminationList } from './ITerminationList';\nimport { IUser } from '../..';\n\n// prestations\nexport interface IPrestation {\n id?: number;\n numPrestation: string | null;\n statePrevi: number | null;\n archive: boolean;\n withStatuteDrafted: boolean | null;\n withCaptainContrat: boolean | null;\n withStatutesApportNature: boolean | null;\n withStatutesAutorisationTutelle: boolean | null;\n withStatutesFileAccre: boolean | null;\n paid: boolean | null;\n signed: boolean | null;\n toAdministratif: number | null;\n goToAdministratif: Date | null;\n administratifStatus: number;\n toConstitution: number;\n dateValidPrestation: Date | null;\n goToOnboarding: Date | null;\n dateLeavingOnboarding?: Date | null;\n goToClient: Date | null;\n goToFacturation?: Date | null;\n dateLeavingFacturation?: Date | null;\n scoring: number | null;\n isWithApplicationFees?: boolean;\n state: boolean;\n commentPdf: string | null;\n token: string | null;\n size: number | null;\n inProgress: number | null;\n idSociety: number;\n idPrestationList: number;\n idPrestationComplementary: number | null;\n gestionJuridique: boolean;\n idPrestationSocial: number | null;\n idPrestationJuridique: number | null;\n idPrestationCreation: number | null;\n idPrestationDeclarationIR: number | null;\n idPrestationControleFiscal: number | null;\n idOnBoarder: number | null;\n idStateAppointment: number | null;\n totalAmount?: number;\n discountAmount?: number;\n debitType?: string;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n exercices?: IExercice[];\n prestationsPayments?: IPayment[];\n prestationsList?: IPrestationList;\n prestationsComplementary?: IPrestationComplementary;\n prestationJuridique?: IPrestation;\n prestationSocial?: IPrestation;\n prestationCreation?: IPrestation;\n prestationControleFiscal?: IPrestation;\n societiesPrestations?: ISociety;\n prestationsDetailsBeforeExercice?: IExercicePrestation[];\n customersSignatures?: ICustomerSignature[];\n terminationList?: ITerminationList;\n onBoarder?: IUser;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAkBF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAkBF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,EA4PxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
|
|
@@ -63,7 +63,7 @@ const calculateFees = (amount, goToClient, paymentDate) => {
|
|
|
63
63
|
* @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding
|
|
64
64
|
*/
|
|
65
65
|
const calculatePaymentsAuto = (params) => {
|
|
66
|
-
var _a, _b, _c, _d;
|
|
66
|
+
var _a, _b, _c, _d, _e, _f;
|
|
67
67
|
const { idTypeBrand, goToClient, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations } = params;
|
|
68
68
|
const initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3 /* || dayjs().date() >= 15 */
|
|
69
69
|
? dayjs().add(2, 'month').startOf('month').toDate()
|
|
@@ -117,42 +117,57 @@ const calculatePaymentsAuto = (params) => {
|
|
|
117
117
|
const bStartDate = b === null || b === void 0 ? void 0 : b.startDate;
|
|
118
118
|
return dayjs(aStartDate).diff(bStartDate);
|
|
119
119
|
});
|
|
120
|
-
//
|
|
121
|
-
if (
|
|
120
|
+
// Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours
|
|
121
|
+
if (isWithApplicationFees) {
|
|
122
122
|
listPayments.push({
|
|
123
|
-
amount:
|
|
123
|
+
amount: applicationFeesAmountTTC, //TTC
|
|
124
124
|
isPaid: true,
|
|
125
125
|
datePayment: dayjs().toDate(),
|
|
126
126
|
idPrestation,
|
|
127
127
|
idPaymentMethod: (_b = (_a = listRegulations[0]) === null || _a === void 0 ? void 0 : _a.idPaymentMethod) !== null && _b !== void 0 ? _b : types_1.PaymentMethod.DIRECT_DEBIT.id,
|
|
128
128
|
closingDate: (listPartialExercicePrestationExpress === null || listPartialExercicePrestationExpress === void 0 ? void 0 : listPartialExercicePrestationExpress.length) ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,
|
|
129
|
+
comment: 'Frais de dossier',
|
|
129
130
|
});
|
|
130
|
-
|
|
131
|
-
if (isWithApplicationFees)
|
|
132
|
-
listPayments.push({
|
|
133
|
-
amount: applicationFeesAmountTTC, //TTC
|
|
134
|
-
isPaid: true,
|
|
135
|
-
datePayment: dayjs().toDate(),
|
|
136
|
-
idPrestation,
|
|
137
|
-
idPaymentMethod: (_d = (_c = listRegulations[0]) === null || _c === void 0 ? void 0 : _c.idPaymentMethod) !== null && _d !== void 0 ? _d : types_1.PaymentMethod.DIRECT_DEBIT.id,
|
|
138
|
-
closingDate: (listPartialExercicePrestationExpress === null || listPartialExercicePrestationExpress === void 0 ? void 0 : listPartialExercicePrestationExpress.length) ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,
|
|
139
|
-
comment: 'Frais de dossier',
|
|
140
|
-
});
|
|
131
|
+
remainingAmount += applicationFeesAmountTTC;
|
|
141
132
|
}
|
|
142
133
|
// =========================
|
|
143
134
|
// EXPRESS
|
|
144
135
|
// =========================
|
|
145
136
|
listPartialExercicePrestationExpress.forEach((exercicePrestation, indexEP) => {
|
|
146
|
-
var _a;
|
|
137
|
+
var _a, _b, _c, _d, _e;
|
|
138
|
+
const remainingBeforeThisExo = remainingAmount;
|
|
147
139
|
remainingAmount += !priceWithTaxesIncluded
|
|
148
140
|
? (0, types_1.getTaxesIncludedAmount)(exercicePrestation.totalAmount, idVat)
|
|
149
141
|
: exercicePrestation.totalAmount; //TTC
|
|
150
|
-
//Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
151
|
-
|
|
142
|
+
// Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
143
|
+
// on créé un paiement pour cet exo et on passe au suivant
|
|
144
|
+
if (remainingAmount <= 0) {
|
|
145
|
+
listPayments.push({
|
|
146
|
+
amount: !priceWithTaxesIncluded
|
|
147
|
+
? (0, types_1.getTaxesIncludedAmount)(exercicePrestation.totalAmount, idVat)
|
|
148
|
+
: exercicePrestation.totalAmount, //TTC
|
|
149
|
+
isPaid: true,
|
|
150
|
+
datePayment: dayjs().toDate(),
|
|
151
|
+
idPrestation,
|
|
152
|
+
idPaymentMethod: (_b = (_a = listRegulations[0]) === null || _a === void 0 ? void 0 : _a.idPaymentMethod) !== null && _b !== void 0 ? _b : types_1.PaymentMethod.DIRECT_DEBIT.id,
|
|
153
|
+
closingDate: exercicePrestation.endDate,
|
|
154
|
+
});
|
|
152
155
|
return;
|
|
156
|
+
}
|
|
157
|
+
else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
|
|
158
|
+
// Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
|
|
159
|
+
listPayments.push({
|
|
160
|
+
amount: -remainingBeforeThisExo, //TTC
|
|
161
|
+
isPaid: true,
|
|
162
|
+
datePayment: dayjs().toDate(),
|
|
163
|
+
idPrestation,
|
|
164
|
+
idPaymentMethod: (_d = (_c = listRegulations[0]) === null || _c === void 0 ? void 0 : _c.idPaymentMethod) !== null && _d !== void 0 ? _d : types_1.PaymentMethod.DIRECT_DEBIT.id,
|
|
165
|
+
closingDate: exercicePrestation.endDate,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
153
168
|
//express : on étale en countExpressMonthlyPayment (nb de mensualités)
|
|
154
169
|
let remainingAmountByExercicePrestation = remainingAmount; //TTC
|
|
155
|
-
let countExpressMonthlyPayment = (
|
|
170
|
+
let countExpressMonthlyPayment = (_e = exercicePrestation === null || exercicePrestation === void 0 ? void 0 : exercicePrestation.countExpressMonthlyPayment) !== null && _e !== void 0 ? _e : 3; //TTC
|
|
156
171
|
//Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)
|
|
157
172
|
if (indexEP === 0 && sumRegulations > 0)
|
|
158
173
|
countExpressMonthlyPayment -= 1;
|
|
@@ -191,16 +206,33 @@ const calculatePaymentsAuto = (params) => {
|
|
|
191
206
|
if (countMonthsBeforeExerciceEnd < 3)
|
|
192
207
|
countMonthsBeforeExerciceEnd = 3;
|
|
193
208
|
const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;
|
|
209
|
+
const remainingBeforeThisExo = remainingAmount;
|
|
194
210
|
remainingAmount += priceWithTaxesIncluded ? exoAmount : (0, types_1.getTaxesIncludedAmount)(exoAmount, idVat);
|
|
195
|
-
//
|
|
196
|
-
//
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
211
|
+
// Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
212
|
+
// on créé un paiement pour cet exo et on passe au suivant
|
|
213
|
+
if (remainingAmount <= 0) {
|
|
214
|
+
listPayments.push({
|
|
215
|
+
amount: priceWithTaxesIncluded ? exoAmount : (0, types_1.getTaxesIncludedAmount)(exoAmount, idVat), //TTC
|
|
216
|
+
isPaid: true,
|
|
217
|
+
datePayment: dayjs().toDate(),
|
|
218
|
+
idPrestation,
|
|
219
|
+
idPaymentMethod: (_d = (_c = listRegulations[0]) === null || _c === void 0 ? void 0 : _c.idPaymentMethod) !== null && _d !== void 0 ? _d : types_1.PaymentMethod.DIRECT_DEBIT.id,
|
|
220
|
+
closingDate: exerciceEndDate,
|
|
221
|
+
});
|
|
222
|
+
exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();
|
|
223
|
+
continue;
|
|
224
|
+
}
|
|
225
|
+
else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
|
|
226
|
+
// Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
|
|
227
|
+
listPayments.push({
|
|
228
|
+
amount: -remainingBeforeThisExo, //TTC
|
|
229
|
+
isPaid: true,
|
|
230
|
+
datePayment: dayjs().toDate(),
|
|
231
|
+
idPrestation,
|
|
232
|
+
idPaymentMethod: (_f = (_e = listRegulations[0]) === null || _e === void 0 ? void 0 : _e.idPaymentMethod) !== null && _f !== void 0 ? _f : types_1.PaymentMethod.DIRECT_DEBIT.id,
|
|
233
|
+
closingDate: exerciceEndDate,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
204
236
|
let remainingAmountByExercicePrestation = remainingAmount;
|
|
205
237
|
// - frais d'application dès les second exo non express
|
|
206
238
|
if (!isFirstNonExpress)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, goToClient: Date, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year() - oneYearLessIfIn3LastMonthsOfYear;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, goToClient, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations } = params;\n const initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n // if (!listRegulations?.length) throw new Error('List of regulations can not be empty');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n if (!listRegulations?.every((r: IRegulation) => !!r?.amount || !!r?.amountUsed)) throw new Error('Amount and amountUsed are missing for regulations');\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n //On ajoute un paiement initial correspondant à la somme des régulations\n if (sumRegulations) {\n listPayments.push({\n amount: isWithApplicationFees ? sumRegulations - applicationFeesAmountTTC : sumRegulations, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees)\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n //Si le premier règlement couvre le coût de cet exercicePrestation, on passe au suivant\n if (remainingAmount <= 0) return;\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 3; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n \n //On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n while (!hasGeneratedWholeYear) {\n \n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n //TODO: CAS A TESTER : si sumRegulations couvre le premier exercice par exemple (cas rar mais à envisager)\n //Si le premier règlement couvre le coût de cet exercicePrestation, on passe au suivant\n // if (remainingAmount <= 0) {\n // continue;\n // }\n\n // Si on a ajouté une ligne pour les applications fees, alors on les déduit du montant total\n /* if (isFirstNonExpress && isWithApplicationFees && !isApplicationFeesAlreadyPaid) {\n remainingAmount -= applicationFeesAmountTTC;\n } */\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, goToClient, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, goToClient, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, goToClient: Date, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year() - oneYearLessIfIn3LastMonthsOfYear;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, goToClient, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations } = params;\n const initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n // if (!listRegulations?.length) throw new Error('List of regulations can not be empty');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n if (!listRegulations?.every((r: IRegulation) => !!r?.amount || !!r?.amountUsed)) throw new Error('Amount and amountUsed are missing for regulations');\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees) {\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n remainingAmount += applicationFeesAmountTTC;\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n \n \n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n return;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: -remainingBeforeThisExo, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n }\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 3; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n \n //On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n while (!hasGeneratedWholeYear) {\n \n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;\n const remainingBeforeThisExo = remainingAmount;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat), //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n continue;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: -remainingBeforeThisExo, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n }\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, goToClient, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, goToClient, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
|
|
@@ -479,9 +479,9 @@ export const GlobalRegime = {
|
|
|
479
479
|
],
|
|
480
480
|
},
|
|
481
481
|
SELARL: {
|
|
482
|
-
name: 'SELARL',
|
|
482
|
+
name: 'SELARL / SELARLU',
|
|
483
483
|
id: 10,
|
|
484
|
-
idLegalForms: [LegalForm.SELARL.id],
|
|
484
|
+
idLegalForms: [LegalForm.SELARL.id, LegalForm.SELARLU.id],
|
|
485
485
|
choices: [
|
|
486
486
|
{
|
|
487
487
|
name: 'Profession libérale (BNC - IR - 2035)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalRegime.js","sourceRoot":"","sources":["../../../../ts/types/Enum/GlobalRegime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Activity } from './Activity';\nimport { CerfaType } from './CerfaType';\nimport { FiscalRegime } from './FiscalRegime';\nimport { LegalForm } from './LegalForm';\nimport { ProfitsType } from './ProfitsType';\nimport { TaxSystem } from './TaxSystem';\n/** this enum is about all the choices by legalForm for a society a declaration. All choices return multiple informations:\n * idActivity: the activity of the society (1: Prestataire de services, 2: Commerçant, 3: Profession libérale, 4: Autres)\n * idTaxSystem: the taxSystem of the society (1: IS, 2:IR, 3: N/A)\n * profitsType: the type of profits of the society (1: BIC, 2:BNC)\n * realFiscalRegime: The FiscalRegime of the society (1: RS, 2: RN, 3:NA)\n */\nexport type GlobalRegimeTypeChoicesContent = {\n name: string;\n idActivity: Activity,\n idTaxSystem: TaxSystem;\n profitsType?: ProfitsType;\n idFiscalRegime: FiscalRegime;\n declaration: number;\n annexe?: number,\n hidden: boolean,\n};\nexport type GlobalRegimeTypeContent = {\n name: string;\n id: number;\n idLegalForms: number[];\n choices: GlobalRegimeTypeChoicesContent[]\n};\nexport type GlobalRegimeType = {\n [key: string]: GlobalRegimeTypeContent\n};\nexport const GlobalRegime: GlobalRegimeType = {\n ENTREPRISE_INDIVIDUELLE: {\n name: 'Entreprise Individuelle',\n id: 1,\n idLegalForms: [LegalForm.EI.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n EIRL: {\n name: 'EIRL',\n id: 2,\n idLegalForms: [LegalForm.EIRL.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA, // FIXME: Pas de RS/RN ?\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BNC - IS - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n AUTO_MICRO_ENTREPRENEUR: {\n name: 'Auto-entrepreneur / micro-entreprise',\n id: 3,\n idLegalForms: [LegalForm.AUTO_ENTREPRENEUR.id],\n choices: [\n {\n name: 'Activité négoce (achat/revente de marchandises) et prestation d\\'hébergement (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Presta de services commerciales ou artisanales (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Profession libérale (Micro-BNC - 2042-C-Pro)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n ],\n },\n ASSOCIATION: {\n name: 'Association',\n id: 4,\n idLegalForms: [LegalForm.ASSOCIATION.id],\n choices: [\n // {\n // name: 'Non fiscalisée si revenus de capitaux (2070)',\n // idActivity: Activity.AUTRES,\n // idTaxSystem: TaxSystem.IS,\n // idFiscalRegime: FiscalRegime.NA,\n // declaration: CerfaType.CERFA_2070,\n // },\n {\n name: 'Fiscalisée (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Fiscalisée (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n EURL_SARL: {\n name: 'EURL / SARL',\n id: 5,\n idLegalForms: [LegalForm.EURL.id, LegalForm.SARL.id, LegalForm.GIE.id ],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 && 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SAS_SASU: {\n name: 'SAS / SASU',\n id: 6,\n idLegalForms: [LegalForm.SAS.id, LegalForm.SASU.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SA: {\n name: 'SA',\n id: 7,\n idLegalForms: [LegalForm.SA.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SCI: {\n name: 'SCI',\n id: 8,\n idLegalForms: [LegalForm.SCI.id],\n choices: [\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n SCP: {\n name: 'SCP',\n id: 9,\n idLegalForms: [LegalForm.SCP.id],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SELARL: {\n name: 'SELARL',\n id: 10,\n idLegalForms: [LegalForm.SELARL.id],\n choices: [\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n};"]}
|
|
1
|
+
{"version":3,"file":"GlobalRegime.js","sourceRoot":"","sources":["../../../../ts/types/Enum/GlobalRegime.ts"],"names":[],"mappings":"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","sourcesContent":["import { Activity } from './Activity';\nimport { CerfaType } from './CerfaType';\nimport { FiscalRegime } from './FiscalRegime';\nimport { LegalForm } from './LegalForm';\nimport { ProfitsType } from './ProfitsType';\nimport { TaxSystem } from './TaxSystem';\n/** this enum is about all the choices by legalForm for a society a declaration. All choices return multiple informations:\n * idActivity: the activity of the society (1: Prestataire de services, 2: Commerçant, 3: Profession libérale, 4: Autres)\n * idTaxSystem: the taxSystem of the society (1: IS, 2:IR, 3: N/A)\n * profitsType: the type of profits of the society (1: BIC, 2:BNC)\n * realFiscalRegime: The FiscalRegime of the society (1: RS, 2: RN, 3:NA)\n */\nexport type GlobalRegimeTypeChoicesContent = {\n name: string;\n idActivity: Activity,\n idTaxSystem: TaxSystem;\n profitsType?: ProfitsType;\n idFiscalRegime: FiscalRegime;\n declaration: number;\n annexe?: number,\n hidden: boolean,\n};\nexport type GlobalRegimeTypeContent = {\n name: string;\n id: number;\n idLegalForms: number[];\n choices: GlobalRegimeTypeChoicesContent[]\n};\nexport type GlobalRegimeType = {\n [key: string]: GlobalRegimeTypeContent\n};\nexport const GlobalRegime: GlobalRegimeType = {\n ENTREPRISE_INDIVIDUELLE: {\n name: 'Entreprise Individuelle',\n id: 1,\n idLegalForms: [LegalForm.EI.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n EIRL: {\n name: 'EIRL',\n id: 2,\n idLegalForms: [LegalForm.EIRL.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA, // FIXME: Pas de RS/RN ?\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Profession libérale (BNC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BNC - IS - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n AUTO_MICRO_ENTREPRENEUR: {\n name: 'Auto-entrepreneur / micro-entreprise',\n id: 3,\n idLegalForms: [LegalForm.AUTO_ENTREPRENEUR.id],\n choices: [\n {\n name: 'Activité négoce (achat/revente de marchandises) et prestation d\\'hébergement (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Presta de services commerciales ou artisanales (Micro-BIC - 2042-C-Pro)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n {\n name: 'Profession libérale (Micro-BNC - 2042-C-Pro)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.NA,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2042_C_Pro,\n hidden: false,\n },\n ],\n },\n ASSOCIATION: {\n name: 'Association',\n id: 4,\n idLegalForms: [LegalForm.ASSOCIATION.id],\n choices: [\n // {\n // name: 'Non fiscalisée si revenus de capitaux (2070)',\n // idActivity: Activity.AUTRES,\n // idTaxSystem: TaxSystem.IS,\n // idFiscalRegime: FiscalRegime.NA,\n // declaration: CerfaType.CERFA_2070,\n // },\n {\n name: 'Fiscalisée (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Fiscalisée (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.AUTRES,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n EURL_SARL: {\n name: 'EURL / SARL',\n id: 5,\n idLegalForms: [LegalForm.EURL.id, LegalForm.SARL.id, LegalForm.GIE.id ],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 && 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SAS_SASU: {\n name: 'SAS / SASU',\n id: 6,\n idLegalForms: [LegalForm.SAS.id, LegalForm.SASU.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IR - 2031 + 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IR - 2031 + 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2031,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SA: {\n name: 'SA',\n id: 7,\n idLegalForms: [LegalForm.SA.id],\n choices: [\n {\n name: 'Artisan - commerçant (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Artisan - commerçant (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.COMMERCANT,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SCI: {\n name: 'SCI',\n id: 8,\n idLegalForms: [LegalForm.SCI.id],\n choices: [\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n ],\n },\n SCP: {\n name: 'SCP',\n id: 9,\n idLegalForms: [LegalForm.SCP.id],\n choices: [\n {\n name: 'Presta de services (BNC - IR - 2035)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Presta de services (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PRESTA_SERVICE,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n SELARL: {\n name: 'SELARL / SELARLU',\n id: 10,\n idLegalForms: [LegalForm.SELARL.id, LegalForm.SELARLU.id],\n choices: [\n {\n name: 'Profession libérale (BNC - IR - 2035)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IR,\n profitsType: ProfitsType.BNC,\n idFiscalRegime: FiscalRegime.NA,\n declaration: CerfaType.CERFA_2035,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel simplifié - 2065 & 2033)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RS,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2033,\n hidden: false,\n },\n {\n name: 'Profession libérale (BIC - IS - Réel normal - 2065 & 2050)',\n idActivity: Activity.PROF_LIB,\n idTaxSystem: TaxSystem.IS,\n profitsType: ProfitsType.BIC,\n idFiscalRegime: FiscalRegime.RN,\n declaration: CerfaType.CERFA_2065,\n annexe: CerfaType.CERFA_2050,\n hidden: true,\n },\n ],\n },\n};"]}
|
|
@@ -60,6 +60,7 @@ export interface IPrestation {
|
|
|
60
60
|
prestationJuridique?: IPrestation;
|
|
61
61
|
prestationSocial?: IPrestation;
|
|
62
62
|
prestationCreation?: IPrestation;
|
|
63
|
+
prestationControleFiscal?: IPrestation;
|
|
63
64
|
societiesPrestations?: ISociety;
|
|
64
65
|
prestationsDetailsBeforeExercice?: IExercicePrestation[];
|
|
65
66
|
customersSignatures?: ICustomerSignature[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPrestation.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IPrestation.d.ts","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IPrestation.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"","sourcesContent":["import { IExercice } from './IExercice';\nimport { IPayment } from './IPayment';\nimport { IPrestationList } from './IPrestationList';\nimport { IPrestationComplementary } from './IPrestationComplementary';\nimport { ISociety } from './ISociety';\nimport { IExercicePrestation } from './IExercicePrestation';\nimport { ICustomerSignature } from './ICustomerSignature';\nimport { ITerminationList } from './ITerminationList';\nimport { IUser } from '../..';\n\n// prestations\nexport interface IPrestation {\n id?: number;\n numPrestation: string | null;\n statePrevi: number | null;\n archive: boolean;\n withStatuteDrafted: boolean | null;\n withCaptainContrat: boolean | null;\n withStatutesApportNature: boolean | null;\n withStatutesAutorisationTutelle: boolean | null;\n withStatutesFileAccre: boolean | null;\n paid: boolean | null;\n signed: boolean | null;\n toAdministratif: number | null;\n goToAdministratif: Date | null;\n administratifStatus: number;\n toConstitution: number;\n dateValidPrestation: Date | null;\n goToOnboarding: Date | null;\n dateLeavingOnboarding?: Date | null;\n goToClient: Date | null;\n goToFacturation?: Date | null;\n dateLeavingFacturation?: Date | null;\n scoring: number | null;\n isWithApplicationFees?: boolean;\n state: boolean;\n commentPdf: string | null;\n token: string | null;\n size: number | null;\n inProgress: number | null;\n idSociety: number;\n idPrestationList: number;\n idPrestationComplementary: number | null;\n gestionJuridique: boolean;\n idPrestationSocial: number | null;\n idPrestationJuridique: number | null;\n idPrestationCreation: number | null;\n idPrestationDeclarationIR: number | null;\n idPrestationControleFiscal: number | null;\n idOnBoarder: number | null;\n idStateAppointment: number | null;\n totalAmount?: number;\n discountAmount?: number;\n debitType?: string;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n exercices?: IExercice[];\n prestationsPayments?: IPayment[];\n prestationsList?: IPrestationList;\n prestationsComplementary?: IPrestationComplementary;\n prestationJuridique?: IPrestation;\n prestationSocial?: IPrestation;\n prestationCreation?: IPrestation;\n societiesPrestations?: ISociety;\n prestationsDetailsBeforeExercice?: IExercicePrestation[];\n customersSignatures?: ICustomerSignature[];\n terminationList?: ITerminationList;\n onBoarder?: IUser;\n}"]}
|
|
1
|
+
{"version":3,"file":"IPrestation.js","sourceRoot":"","sources":["../../../../../ts/types/Interface/models/IPrestation.ts"],"names":[],"mappings":"","sourcesContent":["import { IExercice } from './IExercice';\nimport { IPayment } from './IPayment';\nimport { IPrestationList } from './IPrestationList';\nimport { IPrestationComplementary } from './IPrestationComplementary';\nimport { ISociety } from './ISociety';\nimport { IExercicePrestation } from './IExercicePrestation';\nimport { ICustomerSignature } from './ICustomerSignature';\nimport { ITerminationList } from './ITerminationList';\nimport { IUser } from '../..';\n\n// prestations\nexport interface IPrestation {\n id?: number;\n numPrestation: string | null;\n statePrevi: number | null;\n archive: boolean;\n withStatuteDrafted: boolean | null;\n withCaptainContrat: boolean | null;\n withStatutesApportNature: boolean | null;\n withStatutesAutorisationTutelle: boolean | null;\n withStatutesFileAccre: boolean | null;\n paid: boolean | null;\n signed: boolean | null;\n toAdministratif: number | null;\n goToAdministratif: Date | null;\n administratifStatus: number;\n toConstitution: number;\n dateValidPrestation: Date | null;\n goToOnboarding: Date | null;\n dateLeavingOnboarding?: Date | null;\n goToClient: Date | null;\n goToFacturation?: Date | null;\n dateLeavingFacturation?: Date | null;\n scoring: number | null;\n isWithApplicationFees?: boolean;\n state: boolean;\n commentPdf: string | null;\n token: string | null;\n size: number | null;\n inProgress: number | null;\n idSociety: number;\n idPrestationList: number;\n idPrestationComplementary: number | null;\n gestionJuridique: boolean;\n idPrestationSocial: number | null;\n idPrestationJuridique: number | null;\n idPrestationCreation: number | null;\n idPrestationDeclarationIR: number | null;\n idPrestationControleFiscal: number | null;\n idOnBoarder: number | null;\n idStateAppointment: number | null;\n totalAmount?: number;\n discountAmount?: number;\n debitType?: string;\n createdAt?: Date | null;\n updatedAt?: Date | null;\n deletedAt?: Date | null;\n\n // Associations\n exercices?: IExercice[];\n prestationsPayments?: IPayment[];\n prestationsList?: IPrestationList;\n prestationsComplementary?: IPrestationComplementary;\n prestationJuridique?: IPrestation;\n prestationSocial?: IPrestation;\n prestationCreation?: IPrestation;\n prestationControleFiscal?: IPrestation;\n societiesPrestations?: ISociety;\n prestationsDetailsBeforeExercice?: IExercicePrestation[];\n customersSignatures?: ICustomerSignature[];\n terminationList?: ITerminationList;\n onBoarder?: IUser;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAkBF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAe,qBAAqB,EAAiB,WAAW,EAA0B,MAAM,UAAU,CAAC;AAK5H,UAAU,gBAAiB,SAAQ,QAAQ;IACzC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,QAAQ,EAAE,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,0BAA0B,aAAc,QAAQ,EAAE,UAAS,CAAC,aAAa,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,CAAC,EAAE,KAA2D,gBAAgB,EAoCrM,CAAC;AAkBF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,qBAAqB,WAAY,qBAAqB,KAAE,WAAW,EA4PxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
|
|
@@ -129,38 +129,53 @@ const calculatePaymentsAuto = (params) => {
|
|
|
129
129
|
const bStartDate = b?.startDate;
|
|
130
130
|
return dayjs(aStartDate).diff(bStartDate);
|
|
131
131
|
});
|
|
132
|
-
//
|
|
133
|
-
if (
|
|
132
|
+
// Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours
|
|
133
|
+
if (isWithApplicationFees) {
|
|
134
134
|
listPayments.push({
|
|
135
|
-
amount:
|
|
135
|
+
amount: applicationFeesAmountTTC, //TTC
|
|
136
136
|
isPaid: true,
|
|
137
137
|
datePayment: dayjs().toDate(),
|
|
138
138
|
idPrestation,
|
|
139
139
|
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
140
140
|
closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,
|
|
141
|
+
comment: 'Frais de dossier',
|
|
141
142
|
});
|
|
142
|
-
|
|
143
|
-
if (isWithApplicationFees)
|
|
144
|
-
listPayments.push({
|
|
145
|
-
amount: applicationFeesAmountTTC, //TTC
|
|
146
|
-
isPaid: true,
|
|
147
|
-
datePayment: dayjs().toDate(),
|
|
148
|
-
idPrestation,
|
|
149
|
-
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
150
|
-
closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,
|
|
151
|
-
comment: 'Frais de dossier',
|
|
152
|
-
});
|
|
143
|
+
remainingAmount += applicationFeesAmountTTC;
|
|
153
144
|
}
|
|
154
145
|
// =========================
|
|
155
146
|
// EXPRESS
|
|
156
147
|
// =========================
|
|
157
148
|
listPartialExercicePrestationExpress.forEach((exercicePrestation, indexEP) => {
|
|
149
|
+
const remainingBeforeThisExo = remainingAmount;
|
|
158
150
|
remainingAmount += !priceWithTaxesIncluded
|
|
159
151
|
? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)
|
|
160
152
|
: exercicePrestation.totalAmount; //TTC
|
|
161
|
-
//Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
162
|
-
|
|
153
|
+
// Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
154
|
+
// on créé un paiement pour cet exo et on passe au suivant
|
|
155
|
+
if (remainingAmount <= 0) {
|
|
156
|
+
listPayments.push({
|
|
157
|
+
amount: !priceWithTaxesIncluded
|
|
158
|
+
? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)
|
|
159
|
+
: exercicePrestation.totalAmount, //TTC
|
|
160
|
+
isPaid: true,
|
|
161
|
+
datePayment: dayjs().toDate(),
|
|
162
|
+
idPrestation,
|
|
163
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
164
|
+
closingDate: exercicePrestation.endDate,
|
|
165
|
+
});
|
|
163
166
|
return;
|
|
167
|
+
}
|
|
168
|
+
else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
|
|
169
|
+
// Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
|
|
170
|
+
listPayments.push({
|
|
171
|
+
amount: -remainingBeforeThisExo, //TTC
|
|
172
|
+
isPaid: true,
|
|
173
|
+
datePayment: dayjs().toDate(),
|
|
174
|
+
idPrestation,
|
|
175
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
176
|
+
closingDate: exercicePrestation.endDate,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
164
179
|
//express : on étale en countExpressMonthlyPayment (nb de mensualités)
|
|
165
180
|
let remainingAmountByExercicePrestation = remainingAmount; //TTC
|
|
166
181
|
let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 3; //TTC
|
|
@@ -202,16 +217,33 @@ const calculatePaymentsAuto = (params) => {
|
|
|
202
217
|
if (countMonthsBeforeExerciceEnd < 3)
|
|
203
218
|
countMonthsBeforeExerciceEnd = 3;
|
|
204
219
|
const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;
|
|
220
|
+
const remainingBeforeThisExo = remainingAmount;
|
|
205
221
|
remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);
|
|
206
|
-
//
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
222
|
+
// Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
223
|
+
// on créé un paiement pour cet exo et on passe au suivant
|
|
224
|
+
if (remainingAmount <= 0) {
|
|
225
|
+
listPayments.push({
|
|
226
|
+
amount: priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat), //TTC
|
|
227
|
+
isPaid: true,
|
|
228
|
+
datePayment: dayjs().toDate(),
|
|
229
|
+
idPrestation,
|
|
230
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
231
|
+
closingDate: exerciceEndDate,
|
|
232
|
+
});
|
|
233
|
+
exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();
|
|
234
|
+
continue;
|
|
235
|
+
}
|
|
236
|
+
else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
|
|
237
|
+
// Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
|
|
238
|
+
listPayments.push({
|
|
239
|
+
amount: -remainingBeforeThisExo, //TTC
|
|
240
|
+
isPaid: true,
|
|
241
|
+
datePayment: dayjs().toDate(),
|
|
242
|
+
idPrestation,
|
|
243
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
244
|
+
closingDate: exerciceEndDate,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
215
247
|
let remainingAmountByExercicePrestation = remainingAmount;
|
|
216
248
|
// - frais d'application dès les second exo non express
|
|
217
249
|
if (!isFirstNonExpress)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, goToClient: Date, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year() - oneYearLessIfIn3LastMonthsOfYear;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, goToClient, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations } = params;\n const initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n // if (!listRegulations?.length) throw new Error('List of regulations can not be empty');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n if (!listRegulations?.every((r: IRegulation) => !!r?.amount || !!r?.amountUsed)) throw new Error('Amount and amountUsed are missing for regulations');\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n //On ajoute un paiement initial correspondant à la somme des régulations\n if (sumRegulations) {\n listPayments.push({\n amount: isWithApplicationFees ? sumRegulations - applicationFeesAmountTTC : sumRegulations, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees)\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n //Si le premier règlement couvre le coût de cet exercicePrestation, on passe au suivant\n if (remainingAmount <= 0) return;\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 3; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n \n //On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n while (!hasGeneratedWholeYear) {\n \n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n //TODO: CAS A TESTER : si sumRegulations couvre le premier exercice par exemple (cas rar mais à envisager)\n //Si le premier règlement couvre le coût de cet exercicePrestation, on passe au suivant\n // if (remainingAmount <= 0) {\n // continue;\n // }\n\n // Si on a ajouté une ligne pour les applications fees, alors on les déduit du montant total\n /* if (isFirstNonExpress && isWithApplicationFees && !isApplicationFeesAlreadyPaid) {\n remainingAmount -= applicationFeesAmountTTC;\n } */\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, goToClient, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, goToClient, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../ts/utils/payment.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport { IPayment, IRegulation, ParamsForPaymentsAuto, PaymentMethod, PaymentAuto, getTaxesIncludedAmount } from '../types';\nimport * as dayjs from 'dayjs';\nimport { PartialExercicePrestationExpress } from '../types/Interface/api/payment/Util';\nimport { getApplicationFeesAmount, getPriceGrid } from './prestation';\n\ninterface PaymentsWithList extends IPayment {\n type: 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther',\n listPayments: IPayment[]\n}\n\n/**\n * A partir d'une liste de payment (avec include jusqu'à prestationList, \n * avec en attributs 'isComptable' | 'isJuridique' | 'isSocial' | 'isOther')\n * permet de récupérer uniquement le premier paiement de chaque type \n * et les autres payments dans listPayments\n * avec possibilité de filtrer avec le tableau de filtres\n * @param payments \n * @param types \n * @returns \n */\nconst groupPaymentsByServiceType = (payments: IPayment[], types: ('isComptable' | 'isJuridique' | 'isSocial' | 'isOther')[] = ['isComptable', 'isJuridique', 'isSocial', 'isOther']): PaymentsWithList[] => {\n const prestaComptable = payments.filter((el) => el?.paymentsPrestations?.prestationsList?.isComptable ?? false);\n const prestaSocial = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isSocial);\n const prestaJuridique = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && el?.paymentsPrestations?.prestationsList?.isJuridique);\n const prestaOther = payments.filter((el) => !el?.paymentsPrestations?.prestationsList?.isComptable && !el?.paymentsPrestations?.prestationsList?.isJuridique && !el?.paymentsPrestations?.prestationsList?.isSocial);\n \n const societyPayment: PaymentsWithList[] = [];\n if (prestaComptable.length && types.includes('isComptable')) {\n societyPayment.push({\n ...prestaComptable[0], // Données de base\n type: 'isComptable',\n listPayments: prestaComptable,\n });\n }\n if (prestaSocial.length && types.includes('isSocial')) {\n societyPayment.push({\n ...prestaSocial[0], // Données de base\n type: 'isSocial',\n listPayments: prestaSocial,\n });\n }\n if (prestaJuridique.length && types.includes('isJuridique')) {\n societyPayment.push({\n ...prestaJuridique[0], // Données de base\n type: 'isJuridique',\n listPayments: prestaJuridique,\n });\n }\n if (prestaOther.length && types.includes('isOther')) {\n societyPayment.push({\n ...prestaOther[0], // Données de base\n type: 'isOther',\n listPayments: prestaOther,\n });\n }\n return societyPayment;\n};\n\nconst calculateFees = (amount: number, goToClient: Date, paymentDate: Date):number => {\n const yearlyPriceIncreasing = 1.0275;\n\n const oneYearLessIfIn3LastMonthsOfYear = dayjs(goToClient).month() >= 9 ? 1 : 0;\n\n if (dayjs(paymentDate).year() - dayjs().year() > 0) {\n const nbYearsMore = dayjs(paymentDate).year() - dayjs().year() - oneYearLessIfIn3LastMonthsOfYear;\n // on applique X fois l'augmentation\n // ex. : si on lance l'appel en 2024, et qu'on génére un paiement pour 2026, on applique 2 fois l'augmentation\n // soit amount * yearlyPriceIncreasing * yearlyPriceIncreasing\n // soit amount * yearlyPriceIncreasing ^ nbYearsMore\n amount = amount * Math.pow(yearlyPriceIncreasing, nbYearsMore);\n }\n return amount;\n};\n\n/**\n// * @param {number} firstPaymentAmount - amount of the first payment (first regulation of the customer)\n * @param {Date} firstExerciceNonExpresssEndDate - end date of the first exercice non express\n * @param {number} idPrestation - prestation id\n * @param {number} idLegalForm - legal form id of the society\n * @param {boolean} isWithApplicationFees - if the prestation has application fees to paid\n * @param {IPrestationList} prestationList - type of prestation (hidden: 0, isCatalog: 1, isComptable: 1)\n * @param {number} idVat - vat id of society linked\n * @param {number} yearlyAmountNonExpress - yearly amount of non express prestation (HT)\n * @param {number} nextYearlyAmountNonExpress - yearly amount of non express prestation for next years (HT)\n * @param {PartialExercicePrestationExpress[]} listPartialExercicePrestationExpress - list of exercicePrestation linked to idPrestation -> used to get express\n * @param {IRegulation[]} listRegulations - list of regulations linked to idPrestation (TTC)\n * @returns { IPayment[] } list of payment to create for billing auto, after each presta go to onBoarding\n */\nconst calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {\n const { idTypeBrand, goToClient, isWithApplicationFees, firstExerciceNonExpresssEndDate, idPrestation, idLegalForm, prestationList, idVat, yearlyAmountNonExpress, nextYearlyAmountNonExpress, listPartialExercicePrestationExpress, listRegulations } = params;\n const initializedPaymentDate = dayjs().endOf('month').diff(dayjs(), 'day') < 3/* || dayjs().date() >= 15 */\n ? dayjs().add(2, 'month').startOf('month').toDate()\n : dayjs().add(1, 'month').startOf('month').toDate();\n\n // On récupère la grille tarifaire pour savoir si les tarifs sont HT ou TTC \n // et pour connaitre le montant du coût de l'app\n if (!prestationList.id) throw new Error('idPrestationList manquant');\n const priceGrid = getPriceGrid(idTypeBrand, prestationList.id);\n if (!priceGrid) throw new Error('Impossible de trouver la grille tarifaire correspondante');\n const { applicationCost, priceWithTaxesIncluded } = priceGrid;\n const applicationCostTotalTTC = (priceWithTaxesIncluded ? applicationCost : getTaxesIncludedAmount(applicationCost, idVat)) * 12;\n const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);\n\n if (prestationList?.isCatalog || !prestationList?.isComptable) throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');\n // if (!listRegulations?.length) throw new Error('List of regulations can not be empty');\n if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\n if (!listRegulations?.every((r: IRegulation) => !!r?.amount || !!r?.amountUsed)) throw new Error('Amount and amountUsed are missing for regulations');\n\n const nbExoExpress = listPartialExercicePrestationExpress.length;\n const listPayments:PaymentAuto[] = [];\n\n // on récupère le/les premiers réglements effectués, non alloués\n // const isApplicationFeesAlreadyPaid = false;\n const sumRegulations = listRegulations.reduce((acc: number, r:IRegulation) => {\n //Si la regulation est rattachée à un paymentExpectation, on récupère le détail\n // et on ne prend que les frais de dossier (applicationFee) + le montant de la compta (accountingFee)\n \n // Commenté temporairement :\n // Pour l'instant, on ne prend plus en compte les paymentExpectation :\n // On part du principe que si isWithApplicationFees = true, alors les regulations contiennent les frais de dossier\n // sinon, ils sont offerts et n'apparaissent pas\n /* if (r.paymentsExpectation?.payload) {\n const payload = JSON.parse(r.paymentsExpectation?.payload);\n if (+payload?.applicationFee > 0) {\n isApplicationFeesAlreadyPaid = true;\n acc += +payload?.applicationFee;\n }\n if (+payload?.accountingFee > 0) acc += +payload?.accountingFee;\n return acc;\n } else {\n return acc + r.amount - r.amountUsed;\n } */\n return acc + r.amount - r.amountUsed;\n }, 0);\n let remainingAmount = -sumRegulations; //TTC\n let paymentDate = initializedPaymentDate;\n\n //On order les exercicePrestation par startDate ASC et id ASC\n listPartialExercicePrestationExpress.sort((a, b) => {\n const aStartDate = a?.startDate as Date;\n const bStartDate = b?.startDate as Date;\n return dayjs(aStartDate).diff(bStartDate);\n });\n\n // Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours\n if (isWithApplicationFees) {\n listPayments.push({\n amount: applicationFeesAmountTTC, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,\n comment: 'Frais de dossier',\n });\n remainingAmount += applicationFeesAmountTTC;\n }\n \n // =========================\n // EXPRESS\n // =========================\n listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {\n const remainingBeforeThisExo = remainingAmount;\n\n remainingAmount += !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount; //TTC\n \n \n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: !priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n return;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: -remainingBeforeThisExo, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n }\n \n //express : on étale en countExpressMonthlyPayment (nb de mensualités)\n let remainingAmountByExercicePrestation = remainingAmount; //TTC\n let countExpressMonthlyPayment = exercicePrestation?.countExpressMonthlyPayment ?? 3; //TTC\n //Si un premier règlement est généré avec le montant des regulations, on le considère comme une mensualité (unioquement pour le premier express et la première mensualité)\n if (indexEP === 0 && sumRegulations > 0) countExpressMonthlyPayment -= 1;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countExpressMonthlyPayment; //TTC\n for (let index = 1; index <= countExpressMonthlyPayment; index++) {\n // On arrondis les 11 premières mensualités, mais on récupère le reste pour la dernière mensualité, pour éviter les centimes perdus en arrondis\n // et on applique le taux de tva de la société\n const amount = index < countExpressMonthlyPayment ? monthlyAmount : remainingAmountByExercicePrestation; //TTC\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exercicePrestation.endDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n remainingAmount = 0;\n });\n\n // =========================\n // NON EXPRESS\n // =========================\n // on lisse sur le nb de mois restants (avec au minimum 3 mensualités)\n // Si un seul exo express, alors on met les paiements de l'exo actuel en parallèle\n // sinon, ils sont à la suite des express\n if (nbExoExpress <= 1) paymentDate = initializedPaymentDate;\n let exerciceEndDate = dayjs(firstExerciceNonExpresssEndDate).toDate();\n\n let hasGeneratedWholeYear = false;\n let isFirstNonExpress = true;\n \n //On génère des paiements jusqu'à ce qu'un exercice soit entier (12 mois), non express\n while (!hasGeneratedWholeYear) {\n \n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;\n const remainingBeforeThisExo = remainingAmount;\n remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);\n\n // Si le premier règlement couvre le coût de cet exercicePrestation, \n // on créé un paiement pour cet exo et on passe au suivant\n if (remainingAmount <= 0) {\n listPayments.push({\n amount: priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat), //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n continue;\n } else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {\n // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo \n listPayments.push({\n amount: -remainingBeforeThisExo, //TTC\n isPaid: true,\n datePayment: dayjs().toDate(),\n idPrestation,\n idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n }\n\n let remainingAmountByExercicePrestation = remainingAmount;\n\n // - frais d'application dès les second exo non express\n if (!isFirstNonExpress) remainingAmountByExercicePrestation += applicationCostTotalTTC;\n\n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd; //TTC\n\n if (monthlyAmount > 0) {\n for (let index = 1; index <= countMonthsBeforeExerciceEnd; index++) {\n let amount = index < countMonthsBeforeExerciceEnd ? monthlyAmount : remainingAmountByExercicePrestation;\n \n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n amount = calculateFees(amount, goToClient, paymentDate);\n \n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n remainingAmountByExercicePrestation -= monthlyAmount; \n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();\n }\n remainingAmount = 0;\n if (countMonthsBeforeExerciceEnd === 12) hasGeneratedWholeYear = true;\n isFirstNonExpress = false;\n }\n\n remainingAmount = 0;\n\n // =========================\n // JUSQU'EN DECEMBRE\n // =========================\n // On applique le taux de tva de la société, si besoin, selon la grille tarifaire\n remainingAmount += priceWithTaxesIncluded ? nextYearlyAmountNonExpress : getTaxesIncludedAmount(nextYearlyAmountNonExpress, idVat);\n\n let remainingAmountByExercicePrestation = remainingAmount;\n //On compte le nb de mois restants entre la date à laquelle le paiement va être créé et la date de fin d'exercice\n let countMonthsBeforeExerciceEnd = Math.ceil(dayjs(exerciceEndDate).diff(paymentDate, 'months', true));\n if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;\n\n // - frais d'application dès les second exo non express\n remainingAmountByExercicePrestation += applicationCostTotalTTC;\n \n const monthlyAmount = remainingAmountByExercicePrestation / countMonthsBeforeExerciceEnd;\n \n // Si aucun paiement généré, on stoppe là\n if (!listPayments.length) return [];\n\n while (dayjs(listPayments.slice(-1)[0].datePayment).month() < 11) {\n let amount = monthlyAmount;\n\n // Si besoin, on applique les frais nécessaires :\n // - 2,75% d'augmentation chaque année, sauf si souscriptiuon dans les 3 derniers mois de l'année civile)\n // - frais d'application dès les second exo non express\n amount = calculateFees(amount, goToClient, paymentDate);\n\n listPayments.push({\n amount: Math.round(100 * amount) / 100,\n datePayment: paymentDate,\n idPrestation,\n idPaymentMethod: PaymentMethod.DIRECT_DEBIT.id,\n closingDate: exerciceEndDate,\n });\n paymentDate = dayjs(paymentDate).add(1, 'month').startOf('month').toDate();\n }\n\n return listPayments;\n};\n\nexport {\n groupPaymentsByServiceType, calculatePaymentsAuto,\n};"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silexpert/core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.315",
|
|
4
4
|
"description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
|
|
5
5
|
"homepage": "https://gitlab.compta-clementine.fr/dev/silex-api",
|
|
6
6
|
"main": "dist/cjs/index.js",
|
|
@@ -504,9 +504,9 @@ export const GlobalRegime: GlobalRegimeType = {
|
|
|
504
504
|
],
|
|
505
505
|
},
|
|
506
506
|
SELARL: {
|
|
507
|
-
name: 'SELARL',
|
|
507
|
+
name: 'SELARL / SELARLU',
|
|
508
508
|
id: 10,
|
|
509
|
-
idLegalForms: [LegalForm.SELARL.id],
|
|
509
|
+
idLegalForms: [LegalForm.SELARL.id, LegalForm.SELARLU.id],
|
|
510
510
|
choices: [
|
|
511
511
|
{
|
|
512
512
|
name: 'Profession libérale (BNC - IR - 2035)',
|
|
@@ -64,6 +64,7 @@ export interface IPrestation {
|
|
|
64
64
|
prestationJuridique?: IPrestation;
|
|
65
65
|
prestationSocial?: IPrestation;
|
|
66
66
|
prestationCreation?: IPrestation;
|
|
67
|
+
prestationControleFiscal?: IPrestation;
|
|
67
68
|
societiesPrestations?: ISociety;
|
|
68
69
|
prestationsDetailsBeforeExercice?: IExercicePrestation[];
|
|
69
70
|
customersSignatures?: ICustomerSignature[];
|
package/ts/utils/payment.ts
CHANGED
|
@@ -144,39 +144,56 @@ const calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {
|
|
|
144
144
|
return dayjs(aStartDate).diff(bStartDate);
|
|
145
145
|
});
|
|
146
146
|
|
|
147
|
-
//
|
|
148
|
-
if (
|
|
147
|
+
// Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours
|
|
148
|
+
if (isWithApplicationFees) {
|
|
149
149
|
listPayments.push({
|
|
150
|
-
amount:
|
|
150
|
+
amount: applicationFeesAmountTTC, //TTC
|
|
151
151
|
isPaid: true,
|
|
152
152
|
datePayment: dayjs().toDate(),
|
|
153
153
|
idPrestation,
|
|
154
154
|
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
155
155
|
closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,
|
|
156
|
+
comment: 'Frais de dossier',
|
|
156
157
|
});
|
|
157
|
-
|
|
158
|
-
// Si les frais de dossiers sont facturés, on ajoute un paiement sur le mois en cours
|
|
159
|
-
if (isWithApplicationFees)
|
|
160
|
-
listPayments.push({
|
|
161
|
-
amount: applicationFeesAmountTTC, //TTC
|
|
162
|
-
isPaid: true,
|
|
163
|
-
datePayment: dayjs().toDate(),
|
|
164
|
-
idPrestation,
|
|
165
|
-
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
166
|
-
closingDate: listPartialExercicePrestationExpress?.length ? listPartialExercicePrestationExpress[0].endDate : firstExerciceNonExpresssEndDate,
|
|
167
|
-
comment: 'Frais de dossier',
|
|
168
|
-
});
|
|
158
|
+
remainingAmount += applicationFeesAmountTTC;
|
|
169
159
|
}
|
|
170
160
|
|
|
171
161
|
// =========================
|
|
172
162
|
// EXPRESS
|
|
173
163
|
// =========================
|
|
174
164
|
listPartialExercicePrestationExpress.forEach((exercicePrestation:PartialExercicePrestationExpress, indexEP: number) => {
|
|
165
|
+
const remainingBeforeThisExo = remainingAmount;
|
|
166
|
+
|
|
175
167
|
remainingAmount += !priceWithTaxesIncluded
|
|
176
168
|
? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)
|
|
177
169
|
: exercicePrestation.totalAmount; //TTC
|
|
178
|
-
|
|
179
|
-
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
// Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
173
|
+
// on créé un paiement pour cet exo et on passe au suivant
|
|
174
|
+
if (remainingAmount <= 0) {
|
|
175
|
+
listPayments.push({
|
|
176
|
+
amount: !priceWithTaxesIncluded
|
|
177
|
+
? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)
|
|
178
|
+
: exercicePrestation.totalAmount, //TTC
|
|
179
|
+
isPaid: true,
|
|
180
|
+
datePayment: dayjs().toDate(),
|
|
181
|
+
idPrestation,
|
|
182
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
183
|
+
closingDate: exercicePrestation.endDate,
|
|
184
|
+
});
|
|
185
|
+
return;
|
|
186
|
+
} else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
|
|
187
|
+
// Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
|
|
188
|
+
listPayments.push({
|
|
189
|
+
amount: -remainingBeforeThisExo, //TTC
|
|
190
|
+
isPaid: true,
|
|
191
|
+
datePayment: dayjs().toDate(),
|
|
192
|
+
idPrestation,
|
|
193
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
194
|
+
closingDate: exercicePrestation.endDate,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
180
197
|
|
|
181
198
|
//express : on étale en countExpressMonthlyPayment (nb de mensualités)
|
|
182
199
|
let remainingAmountByExercicePrestation = remainingAmount; //TTC
|
|
@@ -223,18 +240,33 @@ const calculatePaymentsAuto = (params: ParamsForPaymentsAuto):PaymentAuto[] => {
|
|
|
223
240
|
if (countMonthsBeforeExerciceEnd < 3) countMonthsBeforeExerciceEnd = 3;
|
|
224
241
|
|
|
225
242
|
const exoAmount = isFirstNonExpress ? yearlyAmountNonExpress : nextYearlyAmountNonExpress;
|
|
243
|
+
const remainingBeforeThisExo = remainingAmount;
|
|
226
244
|
remainingAmount += priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat);
|
|
227
245
|
|
|
228
|
-
//
|
|
229
|
-
//
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
246
|
+
// Si le premier règlement couvre le coût de cet exercicePrestation,
|
|
247
|
+
// on créé un paiement pour cet exo et on passe au suivant
|
|
248
|
+
if (remainingAmount <= 0) {
|
|
249
|
+
listPayments.push({
|
|
250
|
+
amount: priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat), //TTC
|
|
251
|
+
isPaid: true,
|
|
252
|
+
datePayment: dayjs().toDate(),
|
|
253
|
+
idPrestation,
|
|
254
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
255
|
+
closingDate: exerciceEndDate,
|
|
256
|
+
});
|
|
257
|
+
exerciceEndDate = dayjs(exerciceEndDate).startOf('month').add(1, 'year').endOf('month').toDate();
|
|
258
|
+
continue;
|
|
259
|
+
} else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
|
|
260
|
+
// Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
|
|
261
|
+
listPayments.push({
|
|
262
|
+
amount: -remainingBeforeThisExo, //TTC
|
|
263
|
+
isPaid: true,
|
|
264
|
+
datePayment: dayjs().toDate(),
|
|
265
|
+
idPrestation,
|
|
266
|
+
idPaymentMethod: listRegulations[0]?.idPaymentMethod ?? PaymentMethod.DIRECT_DEBIT.id,
|
|
267
|
+
closingDate: exerciceEndDate,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
238
270
|
|
|
239
271
|
let remainingAmountByExercicePrestation = remainingAmount;
|
|
240
272
|
|