@silexpert/core 1.3.174 → 1.3.176
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/api/resources.d.ts +1 -1
- package/dist/cjs/api/resources.js +1 -1
- package/dist/cjs/api/resources.js.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheet.d.ts +14 -2
- package/dist/cjs/types/Enum/BalanceSheet.d.ts.map +1 -1
- package/dist/cjs/types/Enum/BalanceSheet.js +45 -10
- package/dist/cjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/cjs/types/Enum/Ged.d.ts +3 -2
- package/dist/cjs/types/Enum/Ged.d.ts.map +1 -1
- package/dist/cjs/types/Enum/Ged.js +10 -4
- package/dist/cjs/types/Enum/Ged.js.map +1 -1
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.d.ts +20 -0
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.d.ts.map +1 -1
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.js +37 -1
- package/dist/cjs/types/Interface/api/revenue/revenueMovement.js.map +1 -1
- package/dist/cjs/utils/exercice.d.ts +9 -0
- package/dist/cjs/utils/exercice.d.ts.map +1 -1
- package/dist/cjs/utils/exercice.js +15 -1
- package/dist/cjs/utils/exercice.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century23.js +19 -18
- package/dist/cjs/utils/vat/3310/century23.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century24.js +19 -18
- package/dist/cjs/utils/vat/3310/century24.js.map +1 -1
- package/dist/cjs/utils/vat/3310/century25.js +18 -17
- package/dist/cjs/utils/vat/3310/century25.js.map +1 -1
- package/dist/mjs/api/resources.d.ts +1 -1
- package/dist/mjs/api/resources.js +1 -1
- package/dist/mjs/api/resources.js.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheet.d.ts +14 -2
- package/dist/mjs/types/Enum/BalanceSheet.d.ts.map +1 -1
- package/dist/mjs/types/Enum/BalanceSheet.js +42 -10
- package/dist/mjs/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/mjs/types/Enum/Ged.d.ts +3 -2
- package/dist/mjs/types/Enum/Ged.d.ts.map +1 -1
- package/dist/mjs/types/Enum/Ged.js +10 -4
- package/dist/mjs/types/Enum/Ged.js.map +1 -1
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.d.ts +20 -0
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.d.ts.map +1 -1
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.js +34 -0
- package/dist/mjs/types/Interface/api/revenue/revenueMovement.js.map +1 -1
- package/dist/mjs/utils/exercice.d.ts +9 -0
- package/dist/mjs/utils/exercice.d.ts.map +1 -1
- package/dist/mjs/utils/exercice.js +13 -0
- package/dist/mjs/utils/exercice.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century23.js +19 -18
- package/dist/mjs/utils/vat/3310/century23.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century24.js +19 -18
- package/dist/mjs/utils/vat/3310/century24.js.map +1 -1
- package/dist/mjs/utils/vat/3310/century25.js +17 -16
- package/dist/mjs/utils/vat/3310/century25.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources.ts +1 -1
- package/ts/types/Enum/BalanceSheet.ts +51 -9
- package/ts/types/Enum/Ged.ts +10 -4
- package/ts/types/Interface/api/revenue/revenueMovement.ts +41 -0
- package/ts/utils/exercice.ts +14 -0
- package/ts/utils/vat/3310/century23.ts +16 -16
- package/ts/utils/vat/3310/century24.ts +18 -18
- package/ts/utils/vat/3310/century25.ts +19 -19
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silexpert/core",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.176",
|
|
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",
|
package/ts/api/resources.ts
CHANGED
|
@@ -374,7 +374,7 @@ export const resources = {
|
|
|
374
374
|
analyticsUtm: AnalyticsUtm,
|
|
375
375
|
caarl: Caarl,
|
|
376
376
|
gdpr: Gdpr,
|
|
377
|
-
|
|
377
|
+
stripePurchase: StripePurchase,
|
|
378
378
|
documentRequest: DocumentRequest,
|
|
379
379
|
balanceSheetReport: BalanceSheetReport,
|
|
380
380
|
revenue: Revenue,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-duplicate-enum-values */
|
|
2
|
+
import { ReadBalanceSheetItem, ReadBalanceSheetList } from '../Interface/api/balanceSheet/ReadBalanceSheet';
|
|
2
3
|
import { ThirdPartyType } from './ThirdPartyType';
|
|
3
4
|
import { MathematicalSign } from './Util';
|
|
4
5
|
|
|
@@ -324,11 +325,13 @@ export enum BalanceSheetLabel {
|
|
|
324
325
|
FOND_COMMERCIAL = 'Fonds commercial',
|
|
325
326
|
AUTRES_IMMOBILISATIONS_INCORPORELLES = 'Autres immobilisations inc.',
|
|
326
327
|
AVANCES_ET_ACOMPTES_INCORPORELLES = 'Avances et acomptes',
|
|
328
|
+
IMMOBILISATIONS_INCORPORELLES_EN_COURS = 'Immobilisations incorporelles en cours',
|
|
327
329
|
TERRAINS = 'Terrains',
|
|
328
330
|
CONSTRUCTIONS = 'Constructions',
|
|
329
331
|
INSTALLATIONS_TECHNIQUES = 'Installations techniques, matériels, et outillage industriels',
|
|
330
332
|
AUTRES_IMMOBILISATIONS_CORPORELLES = 'Autres immobilisations corp.',
|
|
331
333
|
IMMOBILISATIONS_CORPORELLES_EN_COURS = 'Immobilisations corporelles en cours',
|
|
334
|
+
TITRES_IMMOBILISES_DE_LACTIVITE = 'Titres immobilisés de l\'activité de portefeuille',
|
|
332
335
|
AVANCES_ET_ACOMPTES_CORPORELLES = 'Avances et acomptes',
|
|
333
336
|
CREANCES_RATTACHEES_PARTICIPATIONS = 'Créances rattachées à des participations',
|
|
334
337
|
AUTRES_TITRES_IMMOBILISES = 'Autres titres immobilisés',
|
|
@@ -336,11 +339,13 @@ export enum BalanceSheetLabel {
|
|
|
336
339
|
AUTRES_IMMOBILISATIONS_FINANCIERES = 'Autres immobilisations fin.',
|
|
337
340
|
TOTAL_1 = 'Total (I)',
|
|
338
341
|
MATIERES_PREMIERES_ET_AUTRES_APPROVISIONNEMENTS = 'Matières premières et autres approvisionnements',
|
|
342
|
+
EN_COURS_DE_PRODUCTION_BIENS_SERVICES = 'En cours de production (biens et services)',
|
|
339
343
|
PRODUITS_INTERMEDIAIRES_ET_FINIS = 'Produits intermédiaires et finis',
|
|
340
344
|
MARCHANDISES = 'Marchandises',
|
|
341
345
|
AVANCES_ET_ACOMPTES_VERSES_SUR_COMMANDES = 'Avances et acomptes versés sur commandes',
|
|
342
346
|
CREANCES_CLIENTS_ET_COMPTES_RATTACHES = 'Créances clients et comptes rattachés',
|
|
343
347
|
AUTRES_CREANCES = 'Autres créances',
|
|
348
|
+
AUTRES_TITRES = 'Autres titres',
|
|
344
349
|
CAPITAL_SOUSCRIT_APPELE_NON_VERSE = 'Capital souscrit - appelé, non versé',
|
|
345
350
|
VALEUR_MOBILIERE_PLACEMENT_ACTION_PROPRE = 'Actions propres',
|
|
346
351
|
VALEUR_MOBILIERE_PLACEMENT = 'Valeurs mobilières de placement',
|
|
@@ -352,6 +357,8 @@ export enum BalanceSheetLabel {
|
|
|
352
357
|
TOTAL_GENERAL = 'Total général (I+II+III+IV+V)',
|
|
353
358
|
PARTICIPATIONS = 'Participations',
|
|
354
359
|
FRAIS_DE_RECHERCHE_DEVELOPPEMENT = 'Frais de recherche et de développement',
|
|
360
|
+
INSTRUMENTS_DE_TRESORERIE = 'Instruments de trésorerie',
|
|
361
|
+
CHARGES_A_REPARTIR_SUR_PLUSIEURS_EXERCICES ='Charges à répartir sur plusieurs exercices (III)'
|
|
355
362
|
}
|
|
356
363
|
|
|
357
364
|
export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
@@ -407,7 +414,7 @@ export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
|
407
414
|
accountsDescription: [],
|
|
408
415
|
},
|
|
409
416
|
{
|
|
410
|
-
name:
|
|
417
|
+
name: BalanceSheetLabel.IMMOBILISATIONS_INCORPORELLES_EN_COURS,
|
|
411
418
|
accounts: ['232'],
|
|
412
419
|
accountsDeducted: ['2932'],
|
|
413
420
|
accountsDescription: [],
|
|
@@ -479,7 +486,7 @@ export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
|
479
486
|
accountsDescription: [],
|
|
480
487
|
},
|
|
481
488
|
{
|
|
482
|
-
name:
|
|
489
|
+
name: BalanceSheetLabel.TITRES_IMMOBILISES_DE_LACTIVITE,
|
|
483
490
|
accounts: ['273'],
|
|
484
491
|
accountsDeducted: ['2973'],
|
|
485
492
|
accountsDescription: [],
|
|
@@ -533,7 +540,7 @@ export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
|
533
540
|
accountsDescription: [],
|
|
534
541
|
},
|
|
535
542
|
{
|
|
536
|
-
name:
|
|
543
|
+
name: BalanceSheetLabel.EN_COURS_DE_PRODUCTION_BIENS_SERVICES,
|
|
537
544
|
accounts: ['33', '34'],
|
|
538
545
|
accountsDeducted: ['393', '394'],
|
|
539
546
|
accountsDescription: [],
|
|
@@ -628,7 +635,7 @@ export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
|
628
635
|
accountsDescription: [],
|
|
629
636
|
},
|
|
630
637
|
{
|
|
631
|
-
name:
|
|
638
|
+
name: BalanceSheetLabel.AUTRES_TITRES,
|
|
632
639
|
accounts: ['503', '504', '505', '506', '507', '508'],
|
|
633
640
|
accountsDeducted: ['5903', '5904', '5905', '5906', '5907', '5908'],
|
|
634
641
|
accountsDescription: [],
|
|
@@ -636,7 +643,7 @@ export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
|
636
643
|
],
|
|
637
644
|
},
|
|
638
645
|
{
|
|
639
|
-
name:
|
|
646
|
+
name: BalanceSheetLabel.INSTRUMENTS_DE_TRESORERIE,
|
|
640
647
|
key: 'treasuryInstruments',
|
|
641
648
|
accounts: ['52'],
|
|
642
649
|
type: 'active',
|
|
@@ -667,7 +674,7 @@ export const BALANCE_SHEET_LIST_ACTIVE: BalanceSheetList = [
|
|
|
667
674
|
calculationAdd: ['circulatingActive'],
|
|
668
675
|
},
|
|
669
676
|
{
|
|
670
|
-
name:
|
|
677
|
+
name: BalanceSheetLabel.CHARGES_A_REPARTIR_SUR_PLUSIEURS_EXERCICES,
|
|
671
678
|
key: 'total3',
|
|
672
679
|
accounts: ['481'],
|
|
673
680
|
accountsDescription: [],
|
|
@@ -718,10 +725,12 @@ export enum BalanceSheetPassiveLabel {
|
|
|
718
725
|
RESERVE_LEGALE = 'Réserve légale',
|
|
719
726
|
PRIMES_EMISSION = 'Primes d\'émission, de fusion, d\'apport',
|
|
720
727
|
ECART_DE_REEVALUATION = 'Ecart de réévaluation',
|
|
728
|
+
ECART_EQUIVALENCE = 'Ecart d\'équivalence',
|
|
721
729
|
RESERVES_STATUAIRES = 'Réserves statutaires ou contractuelles',
|
|
722
730
|
RESERVES_REGLEMENTEES = 'Réserves réglementées',
|
|
723
731
|
AUTRES_RESERVES = 'Autres',
|
|
724
732
|
REPORT_A_NOUVEAU = 'Report à nouveau',
|
|
733
|
+
RESULTAT_DE_L_EXERCICE = 'Résultat de l\'exercice (bénéfice ou perte)',
|
|
725
734
|
SUBVENTIONS_INVESTISSEMENT = 'Subventions d\'investissement',
|
|
726
735
|
PROVISIONS_REFLEMENTEES = 'Provisions réglementées',
|
|
727
736
|
PROVISIONS_POUR_RISQUES = 'Provisions pour risques',
|
|
@@ -740,6 +749,7 @@ export enum BalanceSheetPassiveLabel {
|
|
|
740
749
|
TOTAL_GENERAL = 'Total général (I+II+III+IV)',
|
|
741
750
|
CONCOURS = '(1) Dont concours bancaires courants et soldes créditeurs de banques',
|
|
742
751
|
EMPRUNTS_PARTICIPATIFS = '(2) Dont emprunts participatifs',
|
|
752
|
+
INSTRUMENTS_DE_TRESORERIE = 'Instruments de trésorerie'
|
|
743
753
|
}
|
|
744
754
|
|
|
745
755
|
export const SOCIAL_CAPITAL_NUMBERS = ['101', '108', '102'];
|
|
@@ -769,7 +779,7 @@ export const BALANCE_SHEET_LIST_PASSIVE: BalanceSheetList = [
|
|
|
769
779
|
accountsDescription: [],
|
|
770
780
|
},
|
|
771
781
|
{
|
|
772
|
-
name:
|
|
782
|
+
name: BalanceSheetPassiveLabel.ECART_EQUIVALENCE,
|
|
773
783
|
key: 'equivalenceGap',
|
|
774
784
|
accounts: ['107'],
|
|
775
785
|
isSubcategory: true,
|
|
@@ -815,7 +825,7 @@ export const BALANCE_SHEET_LIST_PASSIVE: BalanceSheetList = [
|
|
|
815
825
|
accountsDescription: [],
|
|
816
826
|
},
|
|
817
827
|
{
|
|
818
|
-
name:
|
|
828
|
+
name: BalanceSheetPassiveLabel.RESULTAT_DE_L_EXERCICE,
|
|
819
829
|
key: 'resultExercice',
|
|
820
830
|
accounts: ['12'], // comptes 6 - 7
|
|
821
831
|
isSubcategory: true,
|
|
@@ -975,7 +985,7 @@ export const BALANCE_SHEET_LIST_PASSIVE: BalanceSheetList = [
|
|
|
975
985
|
accountsDescription: [],
|
|
976
986
|
},
|
|
977
987
|
{
|
|
978
|
-
name:
|
|
988
|
+
name: BalanceSheetPassiveLabel.INSTRUMENTS_DE_TRESORERIE,
|
|
979
989
|
key: 'treasuryInstruments',
|
|
980
990
|
accounts: ['52'],
|
|
981
991
|
isSubcategory: true,
|
|
@@ -1075,3 +1085,35 @@ export const balanceSheetTotalRanges = [
|
|
|
1075
1085
|
highValue: 10000000,
|
|
1076
1086
|
},
|
|
1077
1087
|
] as const;
|
|
1088
|
+
|
|
1089
|
+
export function balanceSheetToObject(data: ReadBalanceSheetList): ReadBalanceSheetList {
|
|
1090
|
+
const result: ReadBalanceSheetList = [];
|
|
1091
|
+
|
|
1092
|
+
function recurse(items: ReadBalanceSheetList) {
|
|
1093
|
+
for (const item of items) {
|
|
1094
|
+
// Ajoute l'élément actuel dans le résultat
|
|
1095
|
+
result.push({
|
|
1096
|
+
name: item.name,
|
|
1097
|
+
total: item.total,
|
|
1098
|
+
totalDeducted: item.totalDeducted,
|
|
1099
|
+
totalNet: item.totalNet,
|
|
1100
|
+
key: item.key,
|
|
1101
|
+
});
|
|
1102
|
+
|
|
1103
|
+
// Si l'élément a une description, on le parcourt récursivement
|
|
1104
|
+
if (item.description && Array.isArray(item.description)) {
|
|
1105
|
+
recurse(item.description);
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
recurse(data);
|
|
1111
|
+
return result;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
export function getBalanceSheetValue(
|
|
1115
|
+
values: ReadBalanceSheetItem[],
|
|
1116
|
+
label: BalanceSheetLabel | BalanceSheetPassiveLabel,
|
|
1117
|
+
): ReadBalanceSheetItem | null {
|
|
1118
|
+
return values?.find((v) => v.name === label) ?? null;
|
|
1119
|
+
}
|
package/ts/types/Enum/Ged.ts
CHANGED
|
@@ -138,7 +138,7 @@ export enum TypeFile {
|
|
|
138
138
|
CHECKLIST_NOTE = 76, // Note de conseils
|
|
139
139
|
INSURANCE_CONTRACT = 77, // Contrat d'assurance
|
|
140
140
|
COMPANY_CONTRIBUTION_PROOF = 78, // Justificatif des apports fait à la société
|
|
141
|
-
|
|
141
|
+
NOTARY_STATEMENT = 79, // Décompte de notaire
|
|
142
142
|
PV_RESULT_ALLOCATION = 80, // PV d'AG d'affectation du résultat
|
|
143
143
|
SUBSIDY_PROOF = 81, // Justificatifs des subventions reçues
|
|
144
144
|
LOAN_AMORTIZATION_TABLE = 82, // Tableau d'amortissement des emprunts
|
|
@@ -170,6 +170,7 @@ export enum TypeFile {
|
|
|
170
170
|
STRIPE_AMAZON_STATEMENTS = 108, // Vos relevés stripe, amazon etc
|
|
171
171
|
INVOICING_SOFTWARE_SUMMARY = 109, // Un récapitulatif de votre logiciel de facturation détaillé par type d'encaissement et par taux de TVA
|
|
172
172
|
MILEAGE_ALLOWANCES_SUMMARY = 110, // Un récapitulatif de vos indemnités kilométriques
|
|
173
|
+
PURCHASE_DEED = 111, // Acte d'achat
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
/** @deprecated this is a legacy enum try to use TypeFile enum if you can or use both enum's */
|
|
@@ -651,12 +652,17 @@ export const TypeFileDetail: Record<number, {
|
|
|
651
652
|
idGedFolder: GedFolder.JURIDICAL,
|
|
652
653
|
helpText: 'Vos relevés bancaires personnels indiquant le montant d’épargne disponible, votre avis d\'imposition personnel'
|
|
653
654
|
},
|
|
654
|
-
[TypeFile.
|
|
655
|
-
typeFile: TypeFile.
|
|
656
|
-
name: 'Décompte de notaire
|
|
655
|
+
[TypeFile.NOTARY_STATEMENT]: {
|
|
656
|
+
typeFile: TypeFile.NOTARY_STATEMENT,
|
|
657
|
+
name: 'Décompte de notaire',
|
|
657
658
|
idGedFolder: GedFolder.JURIDICAL,
|
|
658
659
|
helpText: 'Le décompte du notaire définitif doit détailler toutes les opérations intervenues'
|
|
659
660
|
},
|
|
661
|
+
[TypeFile.PURCHASE_DEED]: {
|
|
662
|
+
typeFile: TypeFile.PURCHASE_DEED,
|
|
663
|
+
name: 'Acte d\'achat',
|
|
664
|
+
idGedFolder: GedFolder.JURIDICAL,
|
|
665
|
+
},
|
|
660
666
|
[TypeFile.PV_RESULT_ALLOCATION]: {
|
|
661
667
|
typeFile: TypeFile.PV_RESULT_ALLOCATION,
|
|
662
668
|
name: 'PV d\'AG d\'affectation du résultat',
|
|
@@ -255,3 +255,44 @@ export interface IManageRetroactivityResponse {
|
|
|
255
255
|
arr: number;
|
|
256
256
|
}[];
|
|
257
257
|
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* DTO pour gérer la rétroactivité batch de toutes les sociétés sans mouvements
|
|
261
|
+
*/
|
|
262
|
+
export class IManageRetroactivityBatchRequest {
|
|
263
|
+
@ApiPropertyOptional({
|
|
264
|
+
description: 'Limite du nombre de sociétés à traiter',
|
|
265
|
+
example: 10,
|
|
266
|
+
})
|
|
267
|
+
@IsOptional()
|
|
268
|
+
@IsInt()
|
|
269
|
+
limit?: number = 10;
|
|
270
|
+
|
|
271
|
+
@ApiPropertyOptional({
|
|
272
|
+
description: 'Offset pour pagination',
|
|
273
|
+
example: 0,
|
|
274
|
+
})
|
|
275
|
+
@IsOptional()
|
|
276
|
+
@IsInt()
|
|
277
|
+
offset?: number = 0;
|
|
278
|
+
|
|
279
|
+
@ApiPropertyOptional({
|
|
280
|
+
description: 'Date de référence pour la rétroactivité',
|
|
281
|
+
})
|
|
282
|
+
@IsOptional()
|
|
283
|
+
@IsDate()
|
|
284
|
+
date?: Date;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Réponse pour la gestion batch de la rétroactivité
|
|
289
|
+
*/
|
|
290
|
+
export interface IManageRetroactivityBatchResponse {
|
|
291
|
+
message: string;
|
|
292
|
+
totalSocietiesProcessed: number;
|
|
293
|
+
results: IManageRetroactivityResponse[];
|
|
294
|
+
errors: Array<{
|
|
295
|
+
idSociety: number;
|
|
296
|
+
error: string;
|
|
297
|
+
}>;
|
|
298
|
+
}
|
package/ts/utils/exercice.ts
CHANGED
|
@@ -32,3 +32,17 @@ const exerciceNumber = (endDate: Date, exerciceList: IExercice[]): number => {
|
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
export { exerciceNumber, isExerciceAfterRecoveryDate };
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Compute the real number of months in an exercice, inclusive of the last day.
|
|
38
|
+
* For accounting correctness, we include the end day in the diff.
|
|
39
|
+
*
|
|
40
|
+
* @param startDate - Exercice start date
|
|
41
|
+
* @param endDate - Exercice end date
|
|
42
|
+
* @returns Number of months in the exercice
|
|
43
|
+
*/
|
|
44
|
+
export const getNbExerciceMonths = (startDate: Date, endDate: Date): number => {
|
|
45
|
+
const start = dayjs(startDate);
|
|
46
|
+
const end = dayjs(endDate).add(1, 'day');
|
|
47
|
+
return Math.round(end.diff(start, 'months', true));
|
|
48
|
+
};
|
|
@@ -462,12 +462,12 @@ export function getCerfa3310Century23Payload(
|
|
|
462
462
|
),
|
|
463
463
|
) + (payload?.vatControl?.deducted?.other ?? 0);
|
|
464
464
|
|
|
465
|
-
const
|
|
465
|
+
const isNil = payload.isNil === true;
|
|
466
|
+
const report = isNil ? 0 :
|
|
466
467
|
(payload.vat?.deductible?.toReport && payload.vat?.deductible?.toReport >= 0
|
|
467
468
|
? _round(payload.vat?.deductible?.toReport ?? 0)
|
|
468
469
|
: (payload.previousVatDeclaration?.credit?.toReport ?? 0)) + (payload?.vatControl?.deducted?.reported ?? 0);
|
|
469
470
|
const coefficient = _round(payload.vat?.deductible?.coefficient ?? 100, 2);
|
|
470
|
-
const isNil = payload.isNil === true;
|
|
471
471
|
const isHolidayDeposit = payload.isHolidayDeposit === true;
|
|
472
472
|
|
|
473
473
|
const sumToAdd =
|
|
@@ -1048,7 +1048,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1048
1048
|
tag: 'Valeur',
|
|
1049
1049
|
isMultiple: false,
|
|
1050
1050
|
description:
|
|
1051
|
-
|
|
1051
|
+
'MOA Livraisons d\'electricité, de gaz naturel, de chaleur ou de froid imposables en France, base hors taxe',
|
|
1052
1052
|
value: data.taxedOperations.energyDelivery,
|
|
1053
1053
|
},
|
|
1054
1054
|
{
|
|
@@ -1056,7 +1056,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1056
1056
|
tag: 'Valeur',
|
|
1057
1057
|
isMultiple: false,
|
|
1058
1058
|
description:
|
|
1059
|
-
|
|
1059
|
+
'MOA Achats de biens ou de prestations de services réalisés auprès d\'un assujetti non établi en France, art 283-1 du CGI',
|
|
1060
1060
|
value: data.taxedOperations.purchaseOfServicesNotInFrance,
|
|
1061
1061
|
},
|
|
1062
1062
|
{
|
|
@@ -1105,7 +1105,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1105
1105
|
key: 'DC',
|
|
1106
1106
|
tag: 'Valeur',
|
|
1107
1107
|
isMultiple: false,
|
|
1108
|
-
description:
|
|
1108
|
+
description: 'MOA Livraisons intracommunautaires à destination d\'une personne assujettie 100077',
|
|
1109
1109
|
value: data.untaxedOperations.intracommunityDelivery,
|
|
1110
1110
|
},
|
|
1111
1111
|
{
|
|
@@ -1127,7 +1127,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1127
1127
|
tag: 'Valeur',
|
|
1128
1128
|
isMultiple: false,
|
|
1129
1129
|
description:
|
|
1130
|
-
|
|
1130
|
+
'MOA Livraisons d\'electricité, de gaz naturel, de chaleur ou de froid non imposables en France 100122',
|
|
1131
1131
|
value: data.untaxedOperations.energyDelivery,
|
|
1132
1132
|
},
|
|
1133
1133
|
{
|
|
@@ -1334,7 +1334,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1334
1334
|
tag: 'Valeur',
|
|
1335
1335
|
isMultiple: false,
|
|
1336
1336
|
description:
|
|
1337
|
-
|
|
1337
|
+
'PCD Pourcentage de déduction applicable pour la période s\'il est différent de 100% Valeur entière et au plus 2 décimales',
|
|
1338
1338
|
value:
|
|
1339
1339
|
isDefined(data.vat.deductible.coefficient) && data.vat.deductible.coefficient !== 100
|
|
1340
1340
|
? data.vat.deductible.coefficient
|
|
@@ -1365,7 +1365,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1365
1365
|
key: 'HJ',
|
|
1366
1366
|
tag: 'Valeur',
|
|
1367
1367
|
isMultiple: false,
|
|
1368
|
-
description:
|
|
1368
|
+
description: 'CCITBX Mention membre d\'un groupe Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',
|
|
1369
1369
|
value: null,
|
|
1370
1370
|
},
|
|
1371
1371
|
{
|
|
@@ -1571,7 +1571,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1571
1571
|
tag: 'Valeur',
|
|
1572
1572
|
isMultiple: false,
|
|
1573
1573
|
description:
|
|
1574
|
-
|
|
1574
|
+
'CCITBX Mention de qualité de représentant d\'un assujetti unique Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',
|
|
1575
1575
|
value: null,
|
|
1576
1576
|
},
|
|
1577
1577
|
{
|
|
@@ -1592,7 +1592,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1592
1592
|
key: 'MD',
|
|
1593
1593
|
tag: 'Valeur',
|
|
1594
1594
|
isMultiple: false,
|
|
1595
|
-
description:
|
|
1595
|
+
description: 'MOA Retenue de TVA sur droits d\'auteur taxe due',
|
|
1596
1596
|
value: data.vat.otherRate.author.tax,
|
|
1597
1597
|
},
|
|
1598
1598
|
{
|
|
@@ -1613,7 +1613,7 @@ export function getCerfa3310Century23RegistrationFields(data: Cerfa3310_2023): A
|
|
|
1613
1613
|
key: 'MG',
|
|
1614
1614
|
tag: 'Valeur',
|
|
1615
1615
|
isMultiple: false,
|
|
1616
|
-
description:
|
|
1616
|
+
description: 'MOA Retenue de TVA sur droits d\'auteur base HT',
|
|
1617
1617
|
value: data.vat.otherRate.oldRate.base,
|
|
1618
1618
|
},
|
|
1619
1619
|
{
|
|
@@ -1799,12 +1799,12 @@ export const cerfa3310Century23Fields: CerfaPayloadForm[] = [
|
|
|
1799
1799
|
type: 'number',
|
|
1800
1800
|
},
|
|
1801
1801
|
{
|
|
1802
|
-
label:
|
|
1802
|
+
label: 'B3 - Achats d\'electricité, de gaz naturel, de chaleur ou de froid imposables en France',
|
|
1803
1803
|
key: 'taxedOperations.energyDelivery',
|
|
1804
1804
|
type: 'number',
|
|
1805
1805
|
},
|
|
1806
1806
|
{
|
|
1807
|
-
label:
|
|
1807
|
+
label: 'B4 - Achats de biens ou de prestations de services réalisés auprès d\'un assujetti non établi en France',
|
|
1808
1808
|
key: 'taxedOperations.regularizations',
|
|
1809
1809
|
type: 'number',
|
|
1810
1810
|
},
|
|
@@ -1834,7 +1834,7 @@ export const cerfa3310Century23Fields: CerfaPayloadForm[] = [
|
|
|
1834
1834
|
type: 'number',
|
|
1835
1835
|
},
|
|
1836
1836
|
{
|
|
1837
|
-
label:
|
|
1837
|
+
label: 'F3 - Livraisons d\'électricité, de gaz naturel, de chaleur ou de froid non imposables en France',
|
|
1838
1838
|
key: 'untaxedOperations.energyDelivery',
|
|
1839
1839
|
type: 'number',
|
|
1840
1840
|
},
|
|
@@ -1864,7 +1864,7 @@ export const cerfa3310Century23Fields: CerfaPayloadForm[] = [
|
|
|
1864
1864
|
type: 'number',
|
|
1865
1865
|
},
|
|
1866
1866
|
{
|
|
1867
|
-
label:
|
|
1867
|
+
label: 'F9 - Opérations internes réalisées entre membres d\'un assujetti unique',
|
|
1868
1868
|
key: 'untaxedOperations.internalUniq',
|
|
1869
1869
|
type: 'number',
|
|
1870
1870
|
},
|
|
@@ -1951,7 +1951,7 @@ export const cerfa3310Century23Fields: CerfaPayloadForm[] = [
|
|
|
1951
1951
|
type: 'number',
|
|
1952
1952
|
},
|
|
1953
1953
|
{
|
|
1954
|
-
label:
|
|
1954
|
+
label: '29 - Taxes assimilées calculées sur l\'annexe n° 3310 A',
|
|
1955
1955
|
key: 'credit.assimiledTaxes',
|
|
1956
1956
|
type: 'number',
|
|
1957
1957
|
},
|
|
@@ -461,13 +461,13 @@ export function getCerfa3310Century24Payload(
|
|
|
461
461
|
),
|
|
462
462
|
) + (payload?.vatControl?.deducted?.other ?? 0);
|
|
463
463
|
|
|
464
|
-
|
|
464
|
+
const isNil = payload.isNil === true;
|
|
465
|
+
const report = isNil ? 0 :
|
|
465
466
|
(isDefined(payload.vat?.deductible?.toReport) && payload.vat?.deductible?.toReport >= 0
|
|
466
467
|
? _round(payload.vat?.deductible?.toReport ?? 0)
|
|
467
468
|
: (payload.previousVatDeclaration?.credit?.toReport ?? 0)) + (payload?.vatControl?.deducted?.reported ?? 0);
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
const isHolidayDeposit = payload.isHolidayDeposit === true;
|
|
469
|
+
const coefficient = _round(payload.vat?.deductible?.coefficient ?? 100, 2);
|
|
470
|
+
const isHolidayDeposit = payload.isHolidayDeposit === true;
|
|
471
471
|
|
|
472
472
|
const sumToAdd =
|
|
473
473
|
setZeroIfIsNegative(
|
|
@@ -1053,7 +1053,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1053
1053
|
tag: 'Valeur',
|
|
1054
1054
|
isMultiple: false,
|
|
1055
1055
|
description:
|
|
1056
|
-
|
|
1056
|
+
'MOA Livraisons d\'electricité, de gaz naturel, de chaleur ou de froid imposables en France, base hors taxe',
|
|
1057
1057
|
value: data.taxedOperations.energyDelivery,
|
|
1058
1058
|
},
|
|
1059
1059
|
{
|
|
@@ -1061,7 +1061,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1061
1061
|
tag: 'Valeur',
|
|
1062
1062
|
isMultiple: false,
|
|
1063
1063
|
description:
|
|
1064
|
-
|
|
1064
|
+
'MOA Achats de biens ou de prestations de services réalisés auprès d\'un assujetti non établi en France, art 283-1 du CGI',
|
|
1065
1065
|
value: data.taxedOperations.purchaseOfServicesNotInFrance,
|
|
1066
1066
|
},
|
|
1067
1067
|
{
|
|
@@ -1124,7 +1124,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1124
1124
|
key: 'DC',
|
|
1125
1125
|
tag: 'Valeur',
|
|
1126
1126
|
isMultiple: false,
|
|
1127
|
-
description:
|
|
1127
|
+
description: 'MOA Livraisons intracommunautaires à destination d\'une personne assujettie 100077',
|
|
1128
1128
|
value: data.untaxedOperations.intracommunityDelivery,
|
|
1129
1129
|
},
|
|
1130
1130
|
{
|
|
@@ -1146,7 +1146,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1146
1146
|
tag: 'Valeur',
|
|
1147
1147
|
isMultiple: false,
|
|
1148
1148
|
description:
|
|
1149
|
-
|
|
1149
|
+
'MOA Livraisons d\'electricité, de gaz naturel, de chaleur ou de froid non imposables en France 100122',
|
|
1150
1150
|
value: data.untaxedOperations.energyDelivery,
|
|
1151
1151
|
},
|
|
1152
1152
|
{
|
|
@@ -1353,7 +1353,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1353
1353
|
tag: 'Valeur',
|
|
1354
1354
|
isMultiple: false,
|
|
1355
1355
|
description:
|
|
1356
|
-
|
|
1356
|
+
'PCD Pourcentage de déduction applicable pour la période s\'il est différent de 100% Valeur entière et au plus 2 décimales',
|
|
1357
1357
|
value:
|
|
1358
1358
|
isDefined(data.vat.deductible.coefficient) && data.vat.deductible.coefficient !== 100
|
|
1359
1359
|
? data.vat.deductible.coefficient
|
|
@@ -1384,7 +1384,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1384
1384
|
key: 'HJ',
|
|
1385
1385
|
tag: 'Valeur',
|
|
1386
1386
|
isMultiple: false,
|
|
1387
|
-
description:
|
|
1387
|
+
description: 'CCITBX Mention membre d\'un groupe Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',
|
|
1388
1388
|
value: null,
|
|
1389
1389
|
},
|
|
1390
1390
|
{
|
|
@@ -1591,7 +1591,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1591
1591
|
tag: 'Valeur',
|
|
1592
1592
|
isMultiple: false,
|
|
1593
1593
|
description:
|
|
1594
|
-
|
|
1594
|
+
'CCITBX Mention de qualité de représentant d\'un assujetti unique Table TBX avec X pour sélectionné, CCI/7037 = CAV/1131 =',
|
|
1595
1595
|
value: null,
|
|
1596
1596
|
},
|
|
1597
1597
|
{
|
|
@@ -1612,7 +1612,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1612
1612
|
key: 'MD',
|
|
1613
1613
|
tag: 'Valeur',
|
|
1614
1614
|
isMultiple: false,
|
|
1615
|
-
description:
|
|
1615
|
+
description: 'MOA Retenue de TVA sur droits d\'auteur taxe due',
|
|
1616
1616
|
value: data.vat.otherRate.author.tax,
|
|
1617
1617
|
},
|
|
1618
1618
|
{
|
|
@@ -1633,7 +1633,7 @@ export function getCerfa3310Century24RegistrationFields(data: Cerfa3310_2024): A
|
|
|
1633
1633
|
key: 'MG',
|
|
1634
1634
|
tag: 'Valeur',
|
|
1635
1635
|
isMultiple: false,
|
|
1636
|
-
description:
|
|
1636
|
+
description: 'MOA Retenue de TVA sur droits d\'auteur base HT',
|
|
1637
1637
|
value: data.vat.otherRate.oldRate.base,
|
|
1638
1638
|
},
|
|
1639
1639
|
{
|
|
@@ -1820,12 +1820,12 @@ export const cerfa3310Century24Fields: CerfaPayloadForm[] = [
|
|
|
1820
1820
|
type: 'number',
|
|
1821
1821
|
},
|
|
1822
1822
|
{
|
|
1823
|
-
label:
|
|
1823
|
+
label: 'B3 - Achats d\'electricité, de gaz naturel, de chaleur ou de froid imposables en France',
|
|
1824
1824
|
key: 'taxedOperations.energyDelivery',
|
|
1825
1825
|
type: 'number',
|
|
1826
1826
|
},
|
|
1827
1827
|
{
|
|
1828
|
-
label:
|
|
1828
|
+
label: 'B4 - Achats de biens ou de prestations de services réalisés auprès d\'un assujetti non établi en France',
|
|
1829
1829
|
key: 'taxedOperations.regularizations',
|
|
1830
1830
|
type: 'number',
|
|
1831
1831
|
},
|
|
@@ -1855,7 +1855,7 @@ export const cerfa3310Century24Fields: CerfaPayloadForm[] = [
|
|
|
1855
1855
|
type: 'number',
|
|
1856
1856
|
},
|
|
1857
1857
|
{
|
|
1858
|
-
label:
|
|
1858
|
+
label: 'F3 - Livraisons d\'électricité, de gaz naturel, de chaleur ou de froid non imposables en France',
|
|
1859
1859
|
key: 'untaxedOperations.energyDelivery',
|
|
1860
1860
|
type: 'number',
|
|
1861
1861
|
},
|
|
@@ -1885,7 +1885,7 @@ export const cerfa3310Century24Fields: CerfaPayloadForm[] = [
|
|
|
1885
1885
|
type: 'number',
|
|
1886
1886
|
},
|
|
1887
1887
|
{
|
|
1888
|
-
label:
|
|
1888
|
+
label: 'F9 - Opérations internes réalisées entre membres d\'un assujetti unique',
|
|
1889
1889
|
key: 'untaxedOperations.internalUniq',
|
|
1890
1890
|
type: 'number',
|
|
1891
1891
|
},
|
|
@@ -1972,7 +1972,7 @@ export const cerfa3310Century24Fields: CerfaPayloadForm[] = [
|
|
|
1972
1972
|
type: 'number',
|
|
1973
1973
|
},
|
|
1974
1974
|
{
|
|
1975
|
-
label:
|
|
1975
|
+
label: '29 - Taxes assimilées calculées sur l\'annexe n° 3310 A',
|
|
1976
1976
|
key: 'credit.assimiledTaxes',
|
|
1977
1977
|
type: 'number',
|
|
1978
1978
|
},
|