@silexpert/core 1.1.315 → 1.1.317

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TaskResponseType.js","sourceRoot":"","sources":["../../../../ts/types/Enum/TaskResponseType.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role } from './Role';\n\nexport const ResponseType = {\n MAIL: {\n id: 1,\n label: 'Mail',\n },\n CALL: {\n id: 2,\n label: 'Appel',\n },\n};\n\nexport const Deadline = {\n min: 24,\n default: 120,\n max: 120,\n};\n\nexport enum StateTask {\n TODO = 1,\n DO = 2,\n NOTDO = 3,\n REFUSED = 4,\n}\n\nexport enum RoleAvailableForTask {\n SOCIAL = Role.SOCIAL,\n FACTURATION = Role.FACTURATION,\n JURIDIC = Role.JURIDIC,\n CUSTOMER_SUCCESS = Role.CUSTOMER_SUCCESS,\n ON_BOARDER = Role.ON_BOARDER,\n FRONT_OFFICE = Role.FRONT_OFFICE,\n COMMERCIAL = Role.COMMERCIAL,\n // BACK_MANAGER = Role.BACK_MANAGER,\n EXPERT_ACCOUNTANT = Role.EXPERT_ACCOUNTANT,\n REFERENT_CLIENT = Role.EXPERT_ACCOUNTANT,\n REFERENT_LITIGE = Role.EXPERT_ACCOUNTANT,\n DATA_OFFICER = Role.DATA_OFFICER,\n}\n\nexport const TaskResponseType = {\n INTERN: {\n id: 1,\n label: 'Interne',\n types: [\n {\n id: 1,\n label: 'Social',\n role: Role.SOCIAL,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Passer des OD.',\n },\n {\n id: 2,\n label: 'Facturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Est-ce que la facturation du dossier est à jour ?',\n },\n {\n id: 3,\n label: 'Juridique',\n role: Role.JURIDIC,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pouvez-vous remettre le PV AG dans la GED ?',\n },\n {\n id: 4,\n label: 'Administratif',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pouvez-vous archiver le dossier ?',\n },\n {\n id: 5,\n label: 'Comptable',\n role: Role.FRONT_OFFICE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Comment annoter une facture d\\'achat SFR ?',\n },\n {\n id: 6,\n label: 'Archivage',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pouvez-vous archiver le dossier (liquidation terminée) ?',\n },\n {\n id: 7,\n label: 'Commercial',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Client XX veut créer une nouvelle société.',\n },\n {\n id: 8,\n label: 'Refacturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Bilan 2021 à refaire : à refacturer svp.',\n },\n {\n id: 9,\n label: 'Facturation client',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Pouvez-vous intégrer les paiements du client dans la facturation ?',\n },\n {\n id: 10,\n label: 'Préparation d\\'un bilan',\n role: Role.MANAGER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: true,\n responseType: null,\n description: 'Controle de la DADS.',\n },\n {\n id: 11,\n label: 'Comptable express',\n role: Role.FRONT_OFFICE_EXPRESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Est-ce que nous pouvons réaliser le bilan 2020 de ce client ?',\n },\n {\n id: 12,\n label: 'Référent litige',\n role: Role.REFERENT_LITIGE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour référent litige',\n },\n {\n id: 13,\n label: 'Référent client',\n role: Role.REFERENT_CLIENT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour référent client',\n },\n {\n id: 14,\n label: 'Administratif',\n role: Role.ADMIN,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour administratif',\n },\n {\n id: 15,\n label: 'Expert-Comptable',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour expert-comptable',\n },\n {\n id: 16,\n label: 'Comptable',\n role: Role.FRONT_OFFICE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour comptable',\n },\n {\n id: 17,\n label: 'Mettre à jour la facturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mettre à jour la grille tarifaire',\n },\n {\n id: 18,\n label: 'Nouveau client Statuts-express',\n role: Role.JURIDIC,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Attribution juridique à faire',\n },\n {\n id: 19,\n label: 'On Boarder Formalisme',\n role: Role.ON_BOARDER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mettre à jour le formalisme (LAB)',\n },\n {\n id: 20,\n label: 'On Boarder Conformité',\n role: Role.ON_BOARDER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mettre à jour la conformité du dossier',\n },\n {\n id: 21,\n label: 'Résiliation',\n role: Role.TERMINATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Contacter le client pour reception courrier de résiliation',\n },\n {\n id: 22,\n label: 'Litige',\n role: Role.LITIGE,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Contacter le client mécontent',\n },\n {\n id: 23,\n label: 'Data Officer Solde Bancaire',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mise à jour solde bancaire',\n },\n {\n id: 24,\n label: 'Data Officer Annotation',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mise à jour annotation',\n },\n {\n id: 25,\n label: 'Appel téléphonique non honoré',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Appel téléphonique non honoré, pensez à reprendre RDV',\n },\n ],\n },\n EXTERN: {\n id: 2,\n label: 'Externe',\n types: [\n {\n id: 1,\n label: 'Social',\n role: Role.SOCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Prise de salaire par le président faire BP.',\n },\n {\n id: 3,\n label: 'Juridique',\n role: Role.JURIDIC,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Demande de convention CC.',\n },\n {\n id: 4,\n label: 'Administratif',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Courrier à faire.',\n },\n {\n id: 5,\n label: 'Comptable',\n role: Role.FRONT_OFFICE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Le client a besoin de la TVA du mois de Septembre 2022 ?',\n },\n {\n id: 7,\n label: 'Commercial',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Documents manquant pour validation facturation.',\n },\n {\n id: 9,\n label: 'Impayés',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Resiliation du client car 6 mois d\\'impayés.',\n },\n {\n id: 10,\n label: 'Application',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Prendre RDV myclementine pour explication plateforme.',\n },\n {\n id: 11,\n label: 'Expert comptable gestion conflit',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'RDV client refus bilan, prendre RDV.',\n },\n {\n id: 12,\n label: 'Expert comptable demande de conseil',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'RDV client réintégration fiscale - conseil.',\n },\n {\n id: 13,\n label: 'Expert comptable calendly',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Prendre RDV Clementine.',\n },\n {\n id: 14,\n label: 'Litige dossier',\n role: Role.MANAGER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Le client veut avoir une explication de bilan par le responsable comptable',\n },\n {\n id: 15,\n label: 'Comptable express',\n role: Role.FRONT_OFFICE_EXPRESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Bilan express à envoyer au SIE.',\n },\n {\n id: 16,\n label: 'Facturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Changement de régime de TVA.',\n },\n {\n id: 30,\n label: 'Notation',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Note espace Clementine',\n },\n {\n id: 31,\n label: 'Bilan',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Appel notation suite à la livraison du bilan',\n },\n {\n id: 32,\n label: 'Administratif',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Rendez-vous Clementine',\n },\n {\n id: 33,\n label: 'Juridique',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Abandon de constitution, résiliation de la mission comptable',\n },\n {\n id: 34,\n label: 'Mettre à jour l\\'application',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Relancer pour les annotations afin de préparer le bilan',\n },\n {\n id: 35,\n label: 'Mettre à jour l\\'application',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Faire le pointage du compte bancaire afin de préparer le bilan',\n },\n {\n id: 36,\n label: 'RDV client calendly',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.CALL,\n description: 'Motif',\n },\n {\n id: 37,\n label: 'Documents manquants',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Documents manquant pour validation onboarding.',\n },\n {\n id: 38,\n label: 'Pas de réponse à l\\'onboarding',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pas de réponse du client malgrès les relances, client à rappeler avant régules.',\n },\n {\n id: 39,\n label: 'Bilan',\n role: Role.ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Votre client a régularisé son impayé.',\n },\n ],\n\n },\n};"]}
1
+ {"version":3,"file":"TaskResponseType.js","sourceRoot":"","sources":["../../../../ts/types/Enum/TaskResponseType.ts"],"names":[],"mappings":"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","sourcesContent":["import { Role } from './Role';\n\nexport const ResponseType = {\n MAIL: {\n id: 1,\n label: 'Mail',\n },\n CALL: {\n id: 2,\n label: 'Appel',\n },\n};\n\nexport const Deadline = {\n min: 24,\n default: 120,\n max: 120,\n};\n\nexport enum StateTask {\n TODO = 1,\n DO = 2,\n NOTDO = 3,\n REFUSED = 4,\n}\n\nexport enum RoleAvailableForTask {\n SOCIAL = Role.SOCIAL,\n FACTURATION = Role.FACTURATION,\n JURIDIC = Role.JURIDIC,\n CUSTOMER_SUCCESS = Role.CUSTOMER_SUCCESS,\n ON_BOARDER = Role.ON_BOARDER,\n FRONT_OFFICE = Role.FRONT_OFFICE,\n COMMERCIAL = Role.COMMERCIAL,\n // BACK_MANAGER = Role.BACK_MANAGER,\n EXPERT_ACCOUNTANT = Role.EXPERT_ACCOUNTANT,\n REFERENT_CLIENT = Role.EXPERT_ACCOUNTANT,\n REFERENT_LITIGE = Role.EXPERT_ACCOUNTANT,\n DATA_OFFICER = Role.DATA_OFFICER,\n}\n\nexport const TaskResponseType = {\n INTERN: {\n id: 1,\n label: 'Interne',\n types: [\n {\n id: 1,\n label: 'Social',\n role: Role.SOCIAL,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Passer des OD.',\n },\n {\n id: 2,\n label: 'Facturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Est-ce que la facturation du dossier est à jour ?',\n },\n {\n id: 3,\n label: 'Juridique',\n role: Role.JURIDIC,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pouvez-vous remettre le PV AG dans la GED ?',\n },\n {\n id: 4,\n label: 'Administratif',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pouvez-vous archiver le dossier ?',\n },\n {\n id: 5,\n label: 'Comptable',\n role: Role.FRONT_OFFICE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Comment annoter une facture d\\'achat SFR ?',\n },\n {\n id: 6,\n label: 'Archivage',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pouvez-vous archiver le dossier (liquidation terminée) ?',\n },\n {\n id: 7,\n label: 'Commercial',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Client XX veut créer une nouvelle société.',\n },\n {\n id: 8,\n label: 'Refacturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Bilan 2021 à refaire : à refacturer svp.',\n },\n {\n id: 9,\n label: 'Facturation client',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Pouvez-vous intégrer les paiements du client dans la facturation ?',\n },\n {\n id: 10,\n label: 'Préparation d\\'un bilan',\n role: Role.MANAGER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: true,\n responseType: null,\n description: 'Controle de la DADS.',\n },\n {\n id: 11,\n label: 'Comptable express',\n role: Role.FRONT_OFFICE_EXPRESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Est-ce que nous pouvons réaliser le bilan 2020 de ce client ?',\n },\n {\n id: 12,\n label: 'Référent litige',\n role: Role.REFERENT_LITIGE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour référent litige',\n },\n {\n id: 13,\n label: 'Référent client',\n role: Role.REFERENT_CLIENT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour référent client',\n },\n {\n id: 14,\n label: 'Administratif',\n role: Role.ADMIN,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour administratif',\n },\n {\n id: 15,\n label: 'Expert-Comptable',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour expert-comptable',\n },\n {\n id: 16,\n label: 'Comptable',\n role: Role.FRONT_OFFICE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Signalement pour comptable',\n },\n {\n id: 17,\n label: 'Mettre à jour la facturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mettre à jour la grille tarifaire',\n },\n {\n id: 18,\n label: 'Nouveau client Statuts-express',\n role: Role.JURIDIC,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Attribution juridique à faire',\n },\n {\n id: 19,\n label: 'On Boarder Formalisme',\n role: Role.ON_BOARDER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mettre à jour le formalisme (LAB)',\n },\n {\n id: 20,\n label: 'On Boarder Conformité',\n role: Role.ON_BOARDER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mettre à jour la conformité du dossier',\n },\n {\n id: 21,\n label: 'Résiliation',\n role: Role.TERMINATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Contacter le client pour reception courrier de résiliation',\n },\n {\n id: 22,\n label: 'Litige',\n role: Role.LITIGE,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Contacter le client mécontent',\n },\n {\n id: 23,\n label: 'Data Officer Solde Bancaire',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mise à jour solde bancaire',\n },\n {\n id: 24,\n label: 'Data Officer Annotation',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Mise à jour annotation',\n },\n {\n id: 25,\n label: 'Appel téléphonique non honoré',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Appel téléphonique non honoré, pensez à reprendre RDV',\n },\n ],\n },\n EXTERN: {\n id: 2,\n label: 'Externe',\n types: [\n {\n id: 1,\n label: 'Social',\n role: Role.SOCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Prise de salaire par le président faire BP.',\n },\n {\n id: 3,\n label: 'Juridique',\n role: Role.JURIDIC,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Demande de convention CC.',\n },\n {\n id: 4,\n label: 'Administratif',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Courrier à faire.',\n },\n {\n id: 5,\n label: 'Comptable',\n role: Role.FRONT_OFFICE,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Le client a besoin de la TVA du mois de Septembre 2022 ?',\n },\n {\n id: 7,\n label: 'Commercial',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Documents manquant pour validation facturation.',\n },\n {\n id: 9,\n label: 'Impayés',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Resiliation du client car 6 mois d\\'impayés.',\n },\n {\n id: 10,\n label: 'Application',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Prendre RDV myclementine pour explication plateforme.',\n },\n {\n id: 11,\n label: 'Expert comptable gestion conflit',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'RDV client refus bilan, prendre RDV.',\n },\n {\n id: 12,\n label: 'Expert comptable demande de conseil',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'RDV client réintégration fiscale - conseil.',\n },\n {\n id: 13,\n label: 'Expert comptable calendly',\n role: Role.EXPERT_ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Prendre RDV Clementine.',\n },\n {\n id: 14,\n label: 'Litige dossier',\n role: Role.MANAGER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.MAIL,\n description: 'Le client veut avoir une explication de bilan par le responsable comptable',\n },\n {\n id: 15,\n label: 'Comptable express',\n role: Role.FRONT_OFFICE_EXPRESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Bilan express à envoyer au SIE.',\n },\n {\n id: 16,\n label: 'Facturation',\n role: Role.FACTURATION,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.MAIL,\n description: 'Changement de régime de TVA.',\n },\n {\n id: 30,\n label: 'Notation',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Note espace Clementine',\n },\n {\n id: 31,\n label: 'Bilan',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Appel notation suite à la livraison du bilan',\n },\n {\n id: 32,\n label: 'Administratif',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Rendez-vous Clementine',\n },\n {\n id: 33,\n label: 'Juridique',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Abandon de constitution, résiliation de la mission comptable',\n },\n {\n id: 34,\n label: 'Mettre à jour l\\'application',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: true,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Relancer pour les annotations afin de préparer le bilan',\n },\n {\n id: 35,\n label: 'Mettre à jour l\\'application',\n role: Role.DATA_OFFICER,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Faire le pointage du compte bancaire afin de préparer le bilan',\n },\n {\n id: 36,\n label: 'RDV client calendly',\n role: Role.CUSTOMER_SUCCESS,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: true,\n responseType: ResponseType.CALL,\n description: 'Motif',\n },\n {\n id: 37,\n label: 'Documents manquants',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Documents manquant pour validation onboarding.',\n },\n {\n id: 38,\n label: 'Pas de réponse à l\\'onboarding',\n role: Role.COMMERCIAL,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: false,\n goToCalendar: false,\n responseType: null,\n description: 'Pas de réponse du client malgrès les relances, client à rappeler avant régules.',\n },\n {\n id: 39,\n label: 'Bilan',\n role: Role.ACCOUNTANT,\n deadline: Deadline,\n isForWholeRole: false,\n backToClient: true,\n goToCalendar: false,\n responseType: ResponseType.CALL,\n description: 'Votre client a régularisé son impayé.',\n },\n ],\n\n },\n};"]}
@@ -1,3 +1,4 @@
1
+ import { PartnerTransactionType } from '../../../Enum/PartnerTransactionType';
1
2
  export interface ReadExpiredBankAccount {
2
3
  idBankAccount: number;
3
4
  isExpired: boolean;
@@ -15,5 +16,6 @@ export type ReadBankAccountTransactionsIntermediateSolde = {
15
16
  difference: number | null;
16
17
  noBalanceInfoForDay?: boolean;
17
18
  isRelatedToAccountingFile: boolean;
19
+ idTypePartnerTransaction: PartnerTransactionType;
18
20
  };
19
21
  //# sourceMappingURL=Read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Read.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankAccount/Read.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,4CAA4C,GAAG;IACzD,uBAAuB,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,EAAE,OAAO,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"Read.d.ts","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankAccount/Read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,4CAA4C,GAAG;IACzD,uBAAuB,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,sBAAsB,CAAC;CAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Read.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankAccount/Read.ts"],"names":[],"mappings":"","sourcesContent":["export interface ReadExpiredBankAccount {\n idBankAccount: number;\n isExpired: boolean;\n}\n\nexport type ReadBankAccountTransactionsIntermediateSolde = {\n idAccountingtransaction: number;\n debit: number | null;\n credit: number | null;\n dateValue: Date;\n designation: string;\n exported: Date | null;\n annotated: Date | null;\n intermediateSolde: number;\n balanceBankAccount: number;\n difference: number | null;\n noBalanceInfoForDay?: boolean;\n isRelatedToAccountingFile: boolean;\n};"]}
1
+ {"version":3,"file":"Read.js","sourceRoot":"","sources":["../../../../../../ts/types/Interface/api/bankAccount/Read.ts"],"names":[],"mappings":"","sourcesContent":["import { PartnerTransactionType } from '../../../Enum/PartnerTransactionType';\n\nexport interface ReadExpiredBankAccount {\n idBankAccount: number;\n isExpired: boolean;\n}\n\nexport type ReadBankAccountTransactionsIntermediateSolde = {\n idAccountingtransaction: number;\n debit: number | null;\n credit: number | null;\n dateValue: Date;\n designation: string;\n exported: Date | null;\n annotated: Date | null;\n intermediateSolde: number;\n balanceBankAccount: number;\n difference: number | null;\n noBalanceInfoForDay?: boolean;\n isRelatedToAccountingFile: boolean;\n idTypePartnerTransaction: PartnerTransactionType;\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,EA4PxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
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,EA0PxE,CAAC;AAEF,OAAO,EACL,0BAA0B,EAAE,qBAAqB,GAClD,CAAC"}
@@ -92,11 +92,8 @@ const calculatePaymentsAuto = (params) => {
92
92
  const applicationFeesAmountTTC = getApplicationFeesAmount(idLegalForm, idVat);
93
93
  if (prestationList?.isCatalog || !prestationList?.isComptable)
94
94
  throw new Error('Ce type de prestation ne correspond pas aux conditions attendues.');
95
- // if (!listRegulations?.length) throw new Error('List of regulations can not be empty');
96
95
  if (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep) => !ep?.startDate))
97
96
  throw new Error('Start date of some exercice are missing');
98
- if (!listRegulations?.every((r) => !!r?.amount || !!r?.amountUsed))
99
- throw new Error('Amount and amountUsed are missing for regulations');
100
97
  const nbExoExpress = listPartialExercicePrestationExpress.length;
101
98
  const listPayments = [];
102
99
  // on récupère le/les premiers réglements effectués, non alloués
@@ -154,9 +151,9 @@ const calculatePaymentsAuto = (params) => {
154
151
  // on créé un paiement pour cet exo et on passe au suivant
155
152
  if (remainingAmount <= 0) {
156
153
  listPayments.push({
157
- amount: !priceWithTaxesIncluded
154
+ amount: Math.round(100 * (!priceWithTaxesIncluded
158
155
  ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat)
159
- : exercicePrestation.totalAmount, //TTC
156
+ : exercicePrestation.totalAmount)) / 100, //TTC
160
157
  isPaid: true,
161
158
  datePayment: dayjs().toDate(),
162
159
  idPrestation,
@@ -168,7 +165,7 @@ const calculatePaymentsAuto = (params) => {
168
165
  else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
169
166
  // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
170
167
  listPayments.push({
171
- amount: -remainingBeforeThisExo, //TTC
168
+ amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC
172
169
  isPaid: true,
173
170
  datePayment: dayjs().toDate(),
174
171
  idPrestation,
@@ -223,7 +220,7 @@ const calculatePaymentsAuto = (params) => {
223
220
  // on créé un paiement pour cet exo et on passe au suivant
224
221
  if (remainingAmount <= 0) {
225
222
  listPayments.push({
226
- amount: priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat), //TTC
223
+ amount: Math.round(100 * (priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat))) / 100, //TTC
227
224
  isPaid: true,
228
225
  datePayment: dayjs().toDate(),
229
226
  idPrestation,
@@ -236,7 +233,7 @@ const calculatePaymentsAuto = (params) => {
236
233
  else if (remainingBeforeThisExo < 0 && remainingAmount > 0) {
237
234
  // Si le paiement couvre une partie du paiement, on créé un paiement pour cette partie lié à l'exo
238
235
  listPayments.push({
239
- amount: -remainingBeforeThisExo, //TTC
236
+ amount: Math.round(100 * -remainingBeforeThisExo) / 100, //TTC
240
237
  isPaid: true,
241
238
  datePayment: dayjs().toDate(),
242
239
  idPrestation,
@@ -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 // 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};"]}
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 (listPartialExercicePrestationExpress.length && listPartialExercicePrestationExpress?.some((ep: PartialExercicePrestationExpress) => !ep?.startDate)) throw new Error('Start date of some exercice are missing');\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: Math.round(100 * (!priceWithTaxesIncluded \n ? getTaxesIncludedAmount(exercicePrestation.totalAmount, idVat) \n : exercicePrestation.totalAmount)) / 100, //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: Math.round(100 * -remainingBeforeThisExo) / 100, //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: Math.round(100 * (priceWithTaxesIncluded ? exoAmount : getTaxesIncludedAmount(exoAmount, idVat))) / 100, //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: Math.round(100 * -remainingBeforeThisExo) / 100, //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};"]}
@@ -1,5 +1,5 @@
1
1
  import * as dayjs from 'dayjs';
2
- import { Vat, PaymentMethod, LegalFormTypeEnum } from '../../types';
2
+ import { Vat, PaymentMethod, LegalFormTypeEnum, getTaxesIncludedAmount } from '../../types';
3
3
  import MockDate from 'mockdate';
4
4
  import { calculatePaymentsAuto } from '../payment';
5
5
  describe('Payment', () => {
@@ -29,7 +29,6 @@ describe('Payment', () => {
29
29
  signaturePage: 7,
30
30
  };
31
31
  const idVat = Vat.TX_10.id;
32
- const vatRate = Object.values(Vat).find(v => v.id === idVat)?.value ?? 20;
33
32
  const listPartialExercicePrestationExpress = [
34
33
  {
35
34
  startDate: dayjs().subtract(2, 'year').startOf('month').toDate(),
@@ -97,54 +96,6 @@ describe('Payment', () => {
97
96
  expect(error.message).toStrictEqual('Ce type de prestation ne correspond pas aux conditions attendues.');
98
97
  }
99
98
  });
100
- test('should return error if listRegulations is empty', () => {
101
- expect.assertions(2);
102
- try {
103
- calculatePaymentsAuto({
104
- idTypeBrand: 1,
105
- goToClient: dayjs('2024-06-06').toDate(),
106
- firstExerciceNonExpresssEndDate,
107
- idPrestation,
108
- isWithApplicationFees: true,
109
- idLegalForm: LegalFormTypeEnum.SARL,
110
- prestationList,
111
- idVat,
112
- listPartialExercicePrestationExpress,
113
- listRegulations: [],
114
- yearlyAmountNonExpress,
115
- nextYearlyAmountNonExpress
116
- });
117
- }
118
- catch (error) {
119
- expect(error).toBeInstanceOf(Error);
120
- // @ts-ignore
121
- expect(error.message).toStrictEqual('List of regulations can not be empty');
122
- }
123
- });
124
- test('should listRegulations contain amount and amountUsed', () => {
125
- expect.assertions(2);
126
- try {
127
- calculatePaymentsAuto({
128
- idTypeBrand: 1,
129
- goToClient: dayjs('2024-06-06').toDate(),
130
- firstExerciceNonExpresssEndDate,
131
- idPrestation,
132
- isWithApplicationFees: true,
133
- idLegalForm: LegalFormTypeEnum.SARL,
134
- prestationList,
135
- idVat,
136
- listPartialExercicePrestationExpress,
137
- listRegulations: [{ processed: true }],
138
- yearlyAmountNonExpress,
139
- nextYearlyAmountNonExpress
140
- });
141
- }
142
- catch (error) {
143
- expect(error).toBeInstanceOf(Error);
144
- // @ts-ignore
145
- expect(error.message).toStrictEqual('Amount and amountUsed are missing for regulations');
146
- }
147
- });
148
99
  // =====================
149
100
  // logical
150
101
  // =====================
@@ -212,7 +163,7 @@ describe('Payment', () => {
212
163
  });
213
164
  // const listNonExpressPayments = payments.filter(p => p.closingDate === newFirstExerciceNonExpresssEndDate);
214
165
  const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
215
- expect(listNonExpressPayments.length).toStrictEqual(nbMonthDelay);
166
+ expect(listNonExpressPayments.length).toStrictEqual(1 + nbMonthDelay); //On ajoute 1 pour les frais de dossier
216
167
  MockDate.reset();
217
168
  });
218
169
  test('should return a number of payments equal to 3 (if in 3 last month of exercice)', async () => {
@@ -236,7 +187,7 @@ describe('Payment', () => {
236
187
  nextYearlyAmountNonExpress
237
188
  });
238
189
  const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
239
- expect(listNonExpressPayments.length).toStrictEqual(3);
190
+ expect(listNonExpressPayments.length).toStrictEqual(1 + 3); //On ajoute 1 pour les frais de dossier
240
191
  });
241
192
  test('should (yearlyAmountNonExpress - sum of listRegulations) / count of monthly payments be equal to monthly payment amount (if not in 3 last month)', async () => {
242
193
  const mockedDate = dayjs('2024-05-15').toDate();
@@ -252,7 +203,7 @@ describe('Payment', () => {
252
203
  goToClient: dayjs('2024-06-06').toDate(),
253
204
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
254
205
  idPrestation,
255
- isWithApplicationFees: true,
206
+ isWithApplicationFees: false,
256
207
  idLegalForm: LegalFormTypeEnum.SARL,
257
208
  prestationList,
258
209
  idVat,
@@ -261,9 +212,9 @@ describe('Payment', () => {
261
212
  yearlyAmountNonExpress,
262
213
  nextYearlyAmountNonExpress
263
214
  });
264
- const diff = yearlyAmountNonExpress - newListRegulations.reduce((acc, r) => acc + r.amount - r.amountUsed, 0);
215
+ const diff = getTaxesIncludedAmount(yearlyAmountNonExpress, idVat) - newListRegulations.reduce((acc, r) => acc + r.amount - r.amountUsed, 0);
265
216
  const amount = Math.round(100 * diff / nbMonthDelay) / 100;
266
- expect(payments[0].amount).toStrictEqual(Math.round(100 * amount * ((100 + vatRate) / 100)) / 100);
217
+ expect(payments[1].amount).toStrictEqual(amount);
267
218
  MockDate.reset();
268
219
  });
269
220
  test('should (totalAmount - firstPaymentAmount) / 3 be equal to monthly payment amount (if in 3 last month of exercice)', async () => {
@@ -278,7 +229,7 @@ describe('Payment', () => {
278
229
  goToClient: dayjs('2024-06-06').toDate(),
279
230
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
280
231
  idPrestation,
281
- isWithApplicationFees: true,
232
+ isWithApplicationFees: false,
282
233
  idLegalForm: LegalFormTypeEnum.SARL,
283
234
  prestationList,
284
235
  idVat,
@@ -287,9 +238,9 @@ describe('Payment', () => {
287
238
  yearlyAmountNonExpress,
288
239
  nextYearlyAmountNonExpress
289
240
  });
290
- const diff = yearlyAmountNonExpress - newListRegulations.reduce((acc, r) => acc + r.amount - r.amountUsed, 0);
241
+ const diff = getTaxesIncludedAmount(yearlyAmountNonExpress, idVat) - newListRegulations.reduce((acc, r) => acc + r.amount - r.amountUsed, 0);
291
242
  const amount = Math.round(100 * diff / 3) / 100;
292
- expect(payments[0].amount).toStrictEqual(Math.round(100 * amount * ((100 + vatRate) / 100)) / 100);
243
+ expect(payments[1].amount).toStrictEqual(amount);
293
244
  });
294
245
  // annual price increase
295
246
  test('should apply annual price increase (2,75%) if signed before last 3 months of civil year', async () => {
@@ -314,7 +265,8 @@ describe('Payment', () => {
314
265
  nextYearlyAmountNonExpress
315
266
  });
316
267
  const listNonExpressPayments = payments.filter(p => dayjs(p.closingDate).diff(newFirstExerciceNonExpresssEndDate) === 0);
317
- expect(Math.round(100 * listNonExpressPayments[0].amount * 1.0275) / 100).toStrictEqual(listNonExpressPayments.splice(-2)[0].amount);
268
+ const firstPaymentWithTaxRateForced = listNonExpressPayments[1].amount * 1.0275;
269
+ expect(firstPaymentWithTaxRateForced - listNonExpressPayments.splice(-2)[0].amount).toBeLessThanOrEqual(0.01); //Permet de gérer le pb d'arrondi
318
270
  MockDate.reset();
319
271
  });
320
272
  test('should not apply annual price increase (2,75%) if signed in last 3 months of civil year', async () => {
@@ -351,7 +303,7 @@ describe('Payment', () => {
351
303
  goToClient: dayjs('2024-06-06').toDate(),
352
304
  firstExerciceNonExpresssEndDate: newFirstExerciceNonExpresssEndDate,
353
305
  idPrestation,
354
- isWithApplicationFees: true,
306
+ isWithApplicationFees: false,
355
307
  idLegalForm: LegalFormTypeEnum.SARL,
356
308
  prestationList,
357
309
  idVat,
@@ -363,9 +315,9 @@ describe('Payment', () => {
363
315
  yearlyAmountNonExpress,
364
316
  nextYearlyAmountNonExpress
365
317
  });
366
- const paymentsOfFirstExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0).splice(-1)[0].amount ?? 0;
318
+ const paymentsOfFirstExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-06-01')) === 0)[0].amount ?? 0;
367
319
  const paymentsOfSecondExo = payments.filter(p => dayjs(p.datePayment).diff(dayjs('2025-07-01')) === 0).splice(-1)[0].amount ?? 0;
368
- expect(paymentsOfFirstExo + appCost * ((100 + vatRate) / 100)).toStrictEqual(paymentsOfSecondExo);
320
+ expect(Math.round(100 * (paymentsOfFirstExo + getTaxesIncludedAmount(appCost, idVat) * 1.0275)) / 100).toStrictEqual(paymentsOfSecondExo);
369
321
  MockDate.reset();
370
322
  });
371
323
  // misc
@@ -404,7 +356,7 @@ describe('Payment', () => {
404
356
  goToClient: dayjs('2024-06-06').toDate(),
405
357
  firstExerciceNonExpresssEndDate,
406
358
  idPrestation,
407
- isWithApplicationFees: true,
359
+ isWithApplicationFees: false,
408
360
  idLegalForm: LegalFormTypeEnum.SARL,
409
361
  prestationList,
410
362
  idVat,
@@ -422,16 +374,14 @@ describe('Payment', () => {
422
374
  });
423
375
  expect(payments.length).toBeGreaterThanOrEqual(2);
424
376
  expect(payments[0]).toMatchObject({
425
- amount: 550,
426
- datePayment: dayjs(mockedDate).add(1, 'month').startOf('month').toDate(),
377
+ amount: 1320, // 1200 * 1,1
427
378
  idPrestation: 1,
428
- idPaymentMethod: 1,
379
+ idPaymentMethod: PaymentMethod.BANK_CARD.id,
429
380
  });
430
381
  expect(payments[1]).toMatchObject({
431
- amount: 550,
432
- datePayment: dayjs(mockedDate).add(2, 'month').startOf('month').toDate(),
382
+ amount: 680, // 2000 - (1200 * 1,1)
433
383
  idPrestation: 1,
434
- idPaymentMethod: 1,
384
+ idPaymentMethod: PaymentMethod.BANK_CARD.id,
435
385
  });
436
386
  MockDate.reset();
437
387
  });
@@ -443,7 +393,7 @@ describe('Payment', () => {
443
393
  goToClient: dayjs('2024-06-06').toDate(),
444
394
  firstExerciceNonExpresssEndDate,
445
395
  idPrestation,
446
- isWithApplicationFees: true,
396
+ isWithApplicationFees: false,
447
397
  idLegalForm: LegalFormTypeEnum.SARL,
448
398
  prestationList,
449
399
  idVat,
@@ -453,7 +403,7 @@ describe('Payment', () => {
453
403
  nextYearlyAmountNonExpress
454
404
  });
455
405
  expect(payments.length).toBeGreaterThanOrEqual(4);
456
- expect(payments?.[0]?.datePayment).toStrictEqual(dayjs(mockedDate).add(2, 'month').startOf('month').toDate());
406
+ expect(payments?.[1]?.datePayment).toStrictEqual(dayjs().add(2, 'month').startOf('month').toDate());
457
407
  MockDate.reset();
458
408
  });
459
409
  test('last payment returned should be last of a year (12/XX)', async () => {