@silexpert/core 2.0.57 → 2.0.58-zendesk

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.
Files changed (92) hide show
  1. package/dist/api/resources/CommercialDocument.d.ts +4 -1
  2. package/dist/api/resources/CommercialDocument.d.ts.map +1 -1
  3. package/dist/api/resources/CommercialDocument.js +9 -0
  4. package/dist/api/resources/CommercialDocument.js.map +1 -1
  5. package/dist/api/resources/zendesk/Ticket.d.ts +12 -0
  6. package/dist/api/resources/zendesk/Ticket.d.ts.map +1 -0
  7. package/dist/api/resources/zendesk/Ticket.js +40 -0
  8. package/dist/api/resources/zendesk/Ticket.js.map +1 -0
  9. package/dist/api/resources.d.ts +2 -0
  10. package/dist/api/resources.d.ts.map +1 -1
  11. package/dist/api/resources.js +2 -0
  12. package/dist/api/resources.js.map +1 -1
  13. package/dist/types/Enum/BrandClementine.d.ts.map +1 -1
  14. package/dist/types/Enum/BrandClementine.js +1 -0
  15. package/dist/types/Enum/BrandClementine.js.map +1 -1
  16. package/dist/types/Enum/EInvoicingReasonType.d.ts +44 -0
  17. package/dist/types/Enum/EInvoicingReasonType.d.ts.map +1 -0
  18. package/dist/types/Enum/EInvoicingReasonType.js +143 -0
  19. package/dist/types/Enum/EInvoicingReasonType.js.map +1 -0
  20. package/dist/types/Enum/EInvoicingStatusCode.d.ts +2 -1
  21. package/dist/types/Enum/EInvoicingStatusCode.d.ts.map +1 -1
  22. package/dist/types/Enum/EInvoicingStatusCode.js +1 -0
  23. package/dist/types/Enum/EInvoicingStatusCode.js.map +1 -1
  24. package/dist/types/Enum/MimeType.d.ts +2 -0
  25. package/dist/types/Enum/MimeType.d.ts.map +1 -1
  26. package/dist/types/Enum/MimeType.js +1 -0
  27. package/dist/types/Enum/MimeType.js.map +1 -1
  28. package/dist/types/Enum/Unit.d.ts +2 -0
  29. package/dist/types/Enum/Unit.d.ts.map +1 -1
  30. package/dist/types/Enum/Unit.js +22 -0
  31. package/dist/types/Enum/Unit.js.map +1 -1
  32. package/dist/types/Enum/Zendesk.d.ts +40 -0
  33. package/dist/types/Enum/Zendesk.d.ts.map +1 -0
  34. package/dist/types/Enum/Zendesk.js +40 -0
  35. package/dist/types/Enum/Zendesk.js.map +1 -0
  36. package/dist/types/Interface/api/commercialManagement/Read.d.ts +26 -0
  37. package/dist/types/Interface/api/commercialManagement/Read.d.ts.map +1 -1
  38. package/dist/types/Interface/api/commercialManagement/Read.js.map +1 -1
  39. package/dist/types/Interface/api/docoon/Create.d.ts +17 -0
  40. package/dist/types/Interface/api/docoon/Create.d.ts.map +1 -1
  41. package/dist/types/Interface/api/docoon/Create.js +72 -1
  42. package/dist/types/Interface/api/docoon/Create.js.map +1 -1
  43. package/dist/types/Interface/api/docoon/DocoonInvoice.d.ts +16 -4
  44. package/dist/types/Interface/api/docoon/DocoonInvoice.d.ts.map +1 -1
  45. package/dist/types/Interface/api/docoon/DocoonInvoice.js.map +1 -1
  46. package/dist/types/Interface/api/zendesk/QueryTicket.d.ts +39 -0
  47. package/dist/types/Interface/api/zendesk/QueryTicket.d.ts.map +1 -0
  48. package/dist/types/Interface/api/zendesk/QueryTicket.js +244 -0
  49. package/dist/types/Interface/api/zendesk/QueryTicket.js.map +1 -0
  50. package/dist/types/Interface/api/zendesk/ReadTicket.d.ts +99 -0
  51. package/dist/types/Interface/api/zendesk/ReadTicket.d.ts.map +1 -0
  52. package/dist/types/Interface/api/zendesk/ReadTicket.js +2 -0
  53. package/dist/types/Interface/api/zendesk/ReadTicket.js.map +1 -0
  54. package/dist/types/Interface/models/IAccountingFile.d.ts +4 -0
  55. package/dist/types/Interface/models/IAccountingFile.d.ts.map +1 -1
  56. package/dist/types/Interface/models/IAccountingFile.js +3 -0
  57. package/dist/types/Interface/models/IAccountingFile.js.map +1 -1
  58. package/dist/types/Interface/models/IEInvoicing.d.ts +6 -0
  59. package/dist/types/Interface/models/IEInvoicing.d.ts.map +1 -1
  60. package/dist/types/Interface/models/IEInvoicing.js +3 -0
  61. package/dist/types/Interface/models/IEInvoicing.js.map +1 -1
  62. package/dist/types/Interface/models/IEInvoicingStatus.d.ts +2 -0
  63. package/dist/types/Interface/models/IEInvoicingStatus.d.ts.map +1 -1
  64. package/dist/types/Interface/models/IEInvoicingStatus.js +1 -0
  65. package/dist/types/Interface/models/IEInvoicingStatus.js.map +1 -1
  66. package/dist/types/index.d.ts +4 -0
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/types/index.js +4 -0
  69. package/dist/types/index.js.map +1 -1
  70. package/dist/utils/vat/centuries.d.ts.map +1 -1
  71. package/dist/utils/vat/centuries.js +11 -1
  72. package/dist/utils/vat/centuries.js.map +1 -1
  73. package/package.json +1 -1
  74. package/ts/api/resources/CommercialDocument.ts +16 -0
  75. package/ts/api/resources/zendesk/Ticket.ts +58 -0
  76. package/ts/api/resources.ts +2 -0
  77. package/ts/types/Enum/BrandClementine.ts +1 -0
  78. package/ts/types/Enum/EInvoicingReasonType.ts +156 -0
  79. package/ts/types/Enum/EInvoicingStatusCode.ts +1 -0
  80. package/ts/types/Enum/MimeType.ts +1 -0
  81. package/ts/types/Enum/Unit.ts +24 -1
  82. package/ts/types/Enum/Zendesk.ts +56 -0
  83. package/ts/types/Interface/api/commercialManagement/Read.ts +25 -0
  84. package/ts/types/Interface/api/docoon/Create.ts +46 -0
  85. package/ts/types/Interface/api/docoon/DocoonInvoice.ts +16 -3
  86. package/ts/types/Interface/api/zendesk/QueryTicket.ts +192 -0
  87. package/ts/types/Interface/api/zendesk/ReadTicket.ts +110 -0
  88. package/ts/types/Interface/models/IAccountingFile.ts +4 -0
  89. package/ts/types/Interface/models/IEInvoicing.ts +6 -0
  90. package/ts/types/Interface/models/IEInvoicingStatus.ts +2 -0
  91. package/ts/types/index.ts +4 -0
  92. package/ts/utils/vat/centuries.ts +11 -1
@@ -71,12 +71,22 @@ const vatDocuments = [
71
71
  idCerfaType: CerfaType.CERFA_3514,
72
72
  name: '3514',
73
73
  century: '23',
74
- centuries: [2022, 2023, 2024, 2025, 2026],
74
+ centuries: [2022, 2023, 2024, 2025],
75
75
  payload: (payload) => getCerfa3514Century22Payload(payload),
76
76
  asponePayload: (data) => getCerfa3514Century23RegistrationFields(data),
77
77
  fields: cerfa3514Century22Fields,
78
78
  fileName: '3514-2022',
79
79
  },
80
+ {
81
+ idCerfaType: CerfaType.CERFA_3514,
82
+ name: '3514',
83
+ century: '26',
84
+ centuries: [2026, 2027],
85
+ payload: (payload) => getCerfa3514Century22Payload(payload),
86
+ asponePayload: (data) => getCerfa3514Century23RegistrationFields(data),
87
+ fields: cerfa3514Century22Fields,
88
+ fileName: '3514-2022', // TODO:
89
+ },
80
90
  {
81
91
  idCerfaType: CerfaType.CERFA_3517,
82
92
  name: '3517',
@@ -1 +1 @@
1
- {"version":3,"file":"centuries.js","sourceRoot":"","sources":["../../../ts/utils/vat/centuries.ts"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport { CerfaType } from '../../types/Enum/CerfaType.js';\nimport { VatDocument } from '../../types/Interface/api/cerfa/ReadCerfa.js';\nimport { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry.js';\nimport {\n Cerfa3310_2024,\n Cerfa3310_2025,\n Cerfa3310_2026,\n PayloadCerfa3310_2024,\n PayloadCerfa3310_2025,\n PayloadCerfa3310_2026,\n} from '../../types/Interface/api/cerfa/3310.js';\nimport {\n Cerfa3514_2022,\n Cerfa3519_2017,\n PayloadCerfa3514_2022,\n PayloadCerfa3519_2017,\n UpdatedAnnotation,\n} from '../../types/index.js';\nimport { cerfa3519Century17Fields, getCerfa3519Century17Payload } from './3519/century17.js';\nimport { getCerfa3519Century23RegistrationFields } from './3519/century23.js';\nimport { cerfa3514Century22Fields, getCerfa3514Century22Payload } from './3514/century22.js';\nimport { getCerfa3514Century23RegistrationFields } from './3514/century23.js';\nimport {\n Cerfa3517_2025,\n Cerfa3517_2026,\n PayloadCerfa3517_2025,\n PayloadCerfa3517_2026,\n} from '../../types/Interface/api/cerfa/3517.js';\nimport {\n cerfa3310Century24Fields,\n getCerfa3310Century24Payload,\n getCerfa3310Century24RegistrationFields,\n} from './3310/century24.js';\nimport {\n cerfa3517Century25Fields,\n getCerfa3517Century25Payload,\n getCerfa3517Century25RegistrationField,\n} from './3517/century25.js';\nimport {\n cerfa3310Century25Fields,\n getCerfa3310Century25Payload,\n getCerfa3310Century25RegistrationFields,\n} from './3310/century25.js';\nimport {\n cerfa3310Century26Fields,\n getCerfa3310Century26Payload,\n getCerfa3310Century26RegistrationFields,\n} from './3310/century26.js';\nimport {\n cerfa3517Century26Fields,\n getCerfa3517Century26Payload,\n getCerfa3517Century26RegistrationField,\n getCerfa3517DDRCentury26RegistrationField,\n} from './3517/century26.js';\n\nconst vatDocuments: VatDocument[] = [\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '24',\n centuries: [2022, 2023, 2024],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2024,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century24Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2024) => getCerfa3310Century24RegistrationFields(data),\n fields: cerfa3310Century24Fields,\n fileName: '3310-2024',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2024) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '25',\n centuries: [2025],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2025,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century25Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2025) => getCerfa3310Century25RegistrationFields(data),\n fields: cerfa3310Century25Fields,\n fileName: '3310-2025',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2025) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '26',\n centuries: [2026],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2026,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century26Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2026) => getCerfa3310Century26RegistrationFields(data),\n fields: cerfa3310Century26Fields,\n fileName: '3310-2026',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2026) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3514,\n name: '3514',\n century: '23',\n centuries: [2022, 2023, 2024, 2025, 2026],\n payload: (payload: PayloadCerfa3514_2022) => getCerfa3514Century22Payload(payload),\n asponePayload: (data: Cerfa3514_2022) => getCerfa3514Century23RegistrationFields(data),\n fields: cerfa3514Century22Fields,\n fileName: '3514-2022',\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '25',\n centuries: [2022, 2023, 2024, 2025],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2025) =>\n getCerfa3517Century25Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2025) => getCerfa3517Century25RegistrationField(data),\n fields: cerfa3517Century25Fields,\n fileName: '3517-2025',\n annexFields: (data: Cerfa3517_2025) => getCerfa3517DDRCentury26RegistrationField(data),\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '26',\n centuries: [2026],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2026) =>\n getCerfa3517Century26Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2026) => getCerfa3517Century26RegistrationField(data),\n fields: cerfa3517Century26Fields,\n fileName: '3517-2026',\n annexFields: (data: Cerfa3517_2026) => getCerfa3517DDRCentury26RegistrationField(data),\n },\n];\n\nexport const getVatCerfaObject = (idCerfaType: CerfaType, endDate: string): VatDocument => {\n // Suppression du add(1, 'day') suite à une déclaration 3310 31/12 rejetée car millésime trop avancé pour le champ (0C3CE366-26EB-4BBA-AB61-93A606686C9A)\n\n // CA12 => Utiliser le millésime N pour les déclarations dont la date de fin de période CB/DTM >= 31/12/N-1\n // Autre => Utiliser le millésime N pour les déclarations dont la date de fin de période CB/DTM >= 01/01/N\n const year =\n idCerfaType === CerfaType.CERFA_3517 && dayjs(endDate).format('MM-DD') === '12-31'\n ? +dayjs(endDate).year() + 1\n : +dayjs(endDate).year();\n\n const cerfa = vatDocuments.find((v) => v.idCerfaType === idCerfaType && v.centuries.find((c) => c === year));\n if (!cerfa) throw new Error(`Cerfa type #${idCerfaType} with century ${year} is not managed yet.`);\n\n return cerfa;\n};\n"]}
1
+ {"version":3,"file":"centuries.js","sourceRoot":"","sources":["../../../ts/utils/vat/centuries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAkB1D,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,qBAAqB,CAAC;AAO9E,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,uCAAuC,GACxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,sCAAsC,GACvC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,uCAAuC,GACxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,uCAAuC,GACxC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,sCAAsC,EACtC,yCAAyC,GAC1C,MAAM,qBAAqB,CAAC;AAE7B,MAAM,YAAY,GAAkB;IAClC;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QAC7B,OAAO,EAAE,CACP,iBAAqC,EACrC,OAA8B,EAC9B,cAAiC,EACjC,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC;QAC7E,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;QACtF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACjG,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACzG,OAAO,EAAE,CAAC,MAAc,EAAE,OAA8B,EAAE,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC;YAC1G,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;YACtF,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,WAAW;SACtB;KACF;IACD;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,CACP,iBAAqC,EACrC,OAA8B,EAC9B,cAAiC,EACjC,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC;QAC7E,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;QACtF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACjG,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACzG,OAAO,EAAE,CAAC,MAAc,EAAE,OAA8B,EAAE,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC;YAC1G,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;YACtF,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,WAAW;SACtB;KACF;IACD;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,CACP,iBAAqC,EACrC,OAA8B,EAC9B,cAAiC,EACjC,EAAE,CAAC,4BAA4B,CAAC,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC;QAC7E,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;QACtF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;YACjG,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YACzG,OAAO,EAAE,CAAC,MAAc,EAAE,OAA8B,EAAE,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC;YAC1G,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;YACtF,MAAM,EAAE,wBAAwB;YAChC,QAAQ,EAAE,WAAW;SACtB;KACF;IACD;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC,OAA8B,EAAE,EAAE,CAAC,4BAA4B,CAAC,OAAO,CAAC;QAClF,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;QACtF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW;KACtB;IACD;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACvB,OAAO,EAAE,CAAC,OAA8B,EAAE,EAAE,CAAC,4BAA4B,CAAC,OAAO,CAAC;QAClF,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,uCAAuC,CAAC,IAAI,CAAC;QACtF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW,EAAE,QAAQ;KAChC;IACD;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACnC,OAAO,EAAE,CAAC,iBAAqC,EAAE,OAA8B,EAAE,EAAE,CACjF,4BAA4B,CAAC,iBAAiB,EAAE,OAAO,CAAC;QAC1D,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,CAAC;QACrF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC;KACvF;IACD;QACE,WAAW,EAAE,SAAS,CAAC,UAAU;QACjC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,CAAC,iBAAqC,EAAE,OAA8B,EAAE,EAAE,CACjF,4BAA4B,CAAC,iBAAiB,EAAE,OAAO,CAAC;QAC1D,aAAa,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,sCAAsC,CAAC,IAAI,CAAC;QACrF,MAAM,EAAE,wBAAwB;QAChC,QAAQ,EAAE,WAAW;QACrB,WAAW,EAAE,CAAC,IAAoB,EAAE,EAAE,CAAC,yCAAyC,CAAC,IAAI,CAAC;KACvF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAsB,EAAE,OAAe,EAAe,EAAE;IACxF,yJAAyJ;IAEzJ,2GAA2G;IAC3G,0GAA0G;IAC1G,MAAM,IAAI,GACR,WAAW,KAAK,SAAS,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO;QAChF,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;QAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC7G,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,iBAAiB,IAAI,sBAAsB,CAAC,CAAC;IAEnG,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import dayjs from 'dayjs';\nimport { CerfaType } from '../../types/Enum/CerfaType.js';\nimport { VatDocument } from '../../types/Interface/api/cerfa/ReadCerfa.js';\nimport { IAccountingEntry } from '../../types/Interface/models/IAccountingEntry.js';\nimport {\n Cerfa3310_2024,\n Cerfa3310_2025,\n Cerfa3310_2026,\n PayloadCerfa3310_2024,\n PayloadCerfa3310_2025,\n PayloadCerfa3310_2026,\n} from '../../types/Interface/api/cerfa/3310.js';\nimport {\n Cerfa3514_2022,\n Cerfa3519_2017,\n PayloadCerfa3514_2022,\n PayloadCerfa3519_2017,\n UpdatedAnnotation,\n} from '../../types/index.js';\nimport { cerfa3519Century17Fields, getCerfa3519Century17Payload } from './3519/century17.js';\nimport { getCerfa3519Century23RegistrationFields } from './3519/century23.js';\nimport { cerfa3514Century22Fields, getCerfa3514Century22Payload } from './3514/century22.js';\nimport { getCerfa3514Century23RegistrationFields } from './3514/century23.js';\nimport {\n Cerfa3517_2025,\n Cerfa3517_2026,\n PayloadCerfa3517_2025,\n PayloadCerfa3517_2026,\n} from '../../types/Interface/api/cerfa/3517.js';\nimport {\n cerfa3310Century24Fields,\n getCerfa3310Century24Payload,\n getCerfa3310Century24RegistrationFields,\n} from './3310/century24.js';\nimport {\n cerfa3517Century25Fields,\n getCerfa3517Century25Payload,\n getCerfa3517Century25RegistrationField,\n} from './3517/century25.js';\nimport {\n cerfa3310Century25Fields,\n getCerfa3310Century25Payload,\n getCerfa3310Century25RegistrationFields,\n} from './3310/century25.js';\nimport {\n cerfa3310Century26Fields,\n getCerfa3310Century26Payload,\n getCerfa3310Century26RegistrationFields,\n} from './3310/century26.js';\nimport {\n cerfa3517Century26Fields,\n getCerfa3517Century26Payload,\n getCerfa3517Century26RegistrationField,\n getCerfa3517DDRCentury26RegistrationField,\n} from './3517/century26.js';\n\nconst vatDocuments: VatDocument[] = [\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '24',\n centuries: [2022, 2023, 2024],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2024,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century24Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2024) => getCerfa3310Century24RegistrationFields(data),\n fields: cerfa3310Century24Fields,\n fileName: '3310-2024',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2024) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '25',\n centuries: [2025],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2025,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century25Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2025) => getCerfa3310Century25RegistrationFields(data),\n fields: cerfa3310Century25Fields,\n fileName: '3310-2025',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2025) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3310,\n name: '3310',\n century: '26',\n centuries: [2026],\n payload: (\n accountingEntries: IAccountingEntry[],\n payload: PayloadCerfa3310_2026,\n updatedEntries: UpdatedAnnotation,\n ) => getCerfa3310Century26Payload(accountingEntries, payload, updatedEntries),\n asponePayload: (data: Cerfa3310_2026) => getCerfa3310Century26RegistrationFields(data),\n fields: cerfa3310Century26Fields,\n fileName: '3310-2026',\n annex: {\n name: '3519',\n century: dayjs().month() === 0 ? dayjs().subtract(1, 'month').format('YY') : dayjs().format('YY'),\n shouldInclude: (data: Cerfa3310_2026) => Boolean(data.credit?.refundAsked && data.credit.refundAsked > 0),\n payload: (amount: number, payload: PayloadCerfa3519_2017) => getCerfa3519Century17Payload(amount, payload),\n asponePayload: (data: Cerfa3519_2017) => getCerfa3519Century23RegistrationFields(data),\n fields: cerfa3519Century17Fields,\n fileName: '3519-2017',\n },\n },\n {\n idCerfaType: CerfaType.CERFA_3514,\n name: '3514',\n century: '23',\n centuries: [2022, 2023, 2024, 2025],\n payload: (payload: PayloadCerfa3514_2022) => getCerfa3514Century22Payload(payload),\n asponePayload: (data: Cerfa3514_2022) => getCerfa3514Century23RegistrationFields(data),\n fields: cerfa3514Century22Fields,\n fileName: '3514-2022',\n },\n {\n idCerfaType: CerfaType.CERFA_3514,\n name: '3514',\n century: '26',\n centuries: [2026, 2027],\n payload: (payload: PayloadCerfa3514_2022) => getCerfa3514Century22Payload(payload),\n asponePayload: (data: Cerfa3514_2022) => getCerfa3514Century23RegistrationFields(data),\n fields: cerfa3514Century22Fields,\n fileName: '3514-2022', // TODO:\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '25',\n centuries: [2022, 2023, 2024, 2025],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2025) =>\n getCerfa3517Century25Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2025) => getCerfa3517Century25RegistrationField(data),\n fields: cerfa3517Century25Fields,\n fileName: '3517-2025',\n annexFields: (data: Cerfa3517_2025) => getCerfa3517DDRCentury26RegistrationField(data),\n },\n {\n idCerfaType: CerfaType.CERFA_3517,\n name: '3517',\n century: '26',\n centuries: [2026],\n payload: (accountingEntries: IAccountingEntry[], payload: PayloadCerfa3517_2026) =>\n getCerfa3517Century26Payload(accountingEntries, payload),\n asponePayload: (data: Cerfa3517_2026) => getCerfa3517Century26RegistrationField(data),\n fields: cerfa3517Century26Fields,\n fileName: '3517-2026',\n annexFields: (data: Cerfa3517_2026) => getCerfa3517DDRCentury26RegistrationField(data),\n },\n];\n\nexport const getVatCerfaObject = (idCerfaType: CerfaType, endDate: string): VatDocument => {\n // Suppression du add(1, 'day') suite à une déclaration 3310 31/12 rejetée car millésime trop avancé pour le champ (0C3CE366-26EB-4BBA-AB61-93A606686C9A)\n\n // CA12 => Utiliser le millésime N pour les déclarations dont la date de fin de période CB/DTM >= 31/12/N-1\n // Autre => Utiliser le millésime N pour les déclarations dont la date de fin de période CB/DTM >= 01/01/N\n const year =\n idCerfaType === CerfaType.CERFA_3517 && dayjs(endDate).format('MM-DD') === '12-31'\n ? +dayjs(endDate).year() + 1\n : +dayjs(endDate).year();\n\n const cerfa = vatDocuments.find((v) => v.idCerfaType === idCerfaType && v.centuries.find((c) => c === year));\n if (!cerfa) throw new Error(`Cerfa type #${idCerfaType} with century ${year} is not managed yet.`);\n\n return cerfa;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "2.0.57",
3
+ "version": "2.0.58-zendesk",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "keywords": [
6
6
  "accounting",
@@ -1,11 +1,13 @@
1
1
  import { CancelToken } from 'axios';
2
2
  import { Resource } from '../Resource.js';
3
3
  import {
4
+ AcceptEInvoice,
4
5
  BasePaginate,
5
6
  CreateInvoiceDocument,
6
7
  CreatePreSaleDocument,
7
8
  CreateRegenerateDocument,
8
9
  EstimateInvoiceType,
10
+ IEInvoicing,
9
11
  IEstimateInvoice,
10
12
  QueryCountByStatus,
11
13
  QueryDocumentPaginated,
@@ -13,8 +15,10 @@ import {
13
15
  QueryNextReference,
14
16
  QueryPaginate,
15
17
  ReadCountDocumentByStatus,
18
+ ReadEinvoiceInfo,
16
19
  ReadEstimateInvoice,
17
20
  ReadPreview,
21
+ RejectEInvoice,
18
22
  UpdateCommercialDocument,
19
23
  } from '../../types/index.js';
20
24
 
@@ -108,4 +112,16 @@ export class CommercialDocument extends Resource {
108
112
  },
109
113
  });
110
114
  }
115
+
116
+ decline(idEInvoicing: number, payload: RejectEInvoice): Promise<IEInvoicing> {
117
+ return this.axios.$post(`/commercial-management/e-invoicing/${idEInvoicing}/decline`, payload);
118
+ }
119
+
120
+ accept(idEInvoicing: number, payload: AcceptEInvoice): Promise<IEInvoicing> {
121
+ return this.axios.$post(`/commercial-management/e-invoicing/${idEInvoicing}/accept`, payload);
122
+ }
123
+
124
+ eInvoiceInformation(idEInvoicing: number): Promise<ReadEinvoiceInfo> {
125
+ return this.axios.$get(`/commercial-management/e-invoicing/${idEInvoicing}`);
126
+ }
111
127
  }
@@ -0,0 +1,58 @@
1
+ import {
2
+ CreateZendeskTicket,
3
+ UpdateZendeskTicket,
4
+ ListZendeskTickets,
5
+ TicketZendeskResponse,
6
+ SearchZendeskResponse,
7
+ TicketFormEnriched,
8
+ TicketZendesk,
9
+ } from '../../../index.js';
10
+ import { Resource } from '../../Resource.js';
11
+
12
+ export class ZendeskTicket extends Resource {
13
+ getPaginate(query: ListZendeskTickets): Promise<TicketZendeskResponse | SearchZendeskResponse> {
14
+ return this.axios.$get('connectors/zendesk/tickets', { params: query });
15
+ }
16
+
17
+ getForms(): Promise<TicketFormEnriched[]> {
18
+ return this.axios.$get('connectors/zendesk/tickets/forms');
19
+ }
20
+
21
+ get(id: number): Promise<TicketZendesk> {
22
+ return this.axios.$get(`connectors/zendesk/tickets/${id}`);
23
+ }
24
+
25
+ create(data: CreateZendeskTicket, file?: File): Promise<TicketZendesk> {
26
+ const formData = new FormData();
27
+ Object.entries(data).forEach(([key, value]) => {
28
+ if (value) {
29
+ formData.append(key, `${value}`);
30
+ }
31
+ });
32
+
33
+ if (file) {
34
+ formData.append('file', file);
35
+ }
36
+
37
+ return this.axios.$post('connectors/zendesk/tickets', formData, {
38
+ headers: { 'Content-Type': 'multipart/form-data' },
39
+ });
40
+ }
41
+
42
+ update(id: number, data: UpdateZendeskTicket): Promise<TicketZendesk> {
43
+ return this.axios.$put(`connectors/zendesk/tickets/${id}`, data);
44
+ }
45
+
46
+ delete(id: number): Promise<void> {
47
+ return this.axios.$delete(`connectors/zendesk/tickets/${id}`);
48
+ }
49
+
50
+ uploadAttachment(file: File): Promise<string> {
51
+ const formData = new FormData();
52
+ formData.append('file', file);
53
+
54
+ return this.axios.$post(`connectors/zendesk/tickets/upload`, formData, {
55
+ headers: { 'Content-Type': 'multipart/form-data' },
56
+ });
57
+ }
58
+ }
@@ -191,6 +191,7 @@ import { Acd } from './resources/Acd.js';
191
191
  import { UsersHistory } from './resources/UsersHistory.js';
192
192
  import { Zendesk } from './resources/zendesk/Zendesk.js';
193
193
  import { Formalism } from './resources/Formalism.js';
194
+ import { ZendeskTicket } from './resources/zendesk/Ticket.js';
194
195
  import { Vialink } from './resources/Vialink.js';
195
196
  import { KycMandate } from './resources/KycMandate.js';
196
197
 
@@ -388,6 +389,7 @@ export const resources = {
388
389
  acd: Acd,
389
390
  zendesk: Zendesk,
390
391
  formalism: Formalism,
392
+ zendeskTicket: ZendeskTicket,
391
393
  vialink: Vialink,
392
394
  kycMandate: KycMandate,
393
395
  };
@@ -148,6 +148,7 @@ export const BrandClementine: Brand[] = [
148
148
  resiliation: 'resiliation@comptastartbyclementine.fr',
149
149
  satisfaction: 'satisfaction-client@comptastartbyclementine.fr',
150
150
  gestion: 'gestion@clementine.fr',
151
+ facturation: 'facturation@clementine.fr',
151
152
  },
152
153
  companyInformation: {
153
154
  ape: '6920Z',
@@ -0,0 +1,156 @@
1
+ import { EInvoicingDirection } from './EInvoicingDirection.js';
2
+
3
+ export enum EInvoicingReasonType {
4
+ INCORRECT_AMOUNT = 1,
5
+ CALCULATION_ERROR = 2,
6
+ E_ADDRESS_ERROR = 3,
7
+ SEMANTIC_ERROR = 4,
8
+ CONSISTENCY_CHECK_ERROR = 5,
9
+ E_ADDRESS_CONTROL_ERROR = 6,
10
+ B2G_CONTROL_ERROR = 7,
11
+ ATTACHMENT_REFERENCE_ERROR = 8,
12
+ ATTACHMENT_ASSOCIATION_ERROR = 9,
13
+ RECIPIENT_ERROR = 10,
14
+ ROUTING_ERROR = 11,
15
+ UNITY_ERROR = 12,
16
+ DUPLICATE_INVOICE = 13,
17
+ }
18
+
19
+ export enum EInvoicingReasonTypeCode {
20
+ INCORRECT_AMOUNT = 'MONTANTTOTAL_ERR',
21
+ CALCULATION_ERROR = 'CALCUL_ERR',
22
+ E_ADDRESS_ERROR = 'ADR_ERR',
23
+ SEMANTIC_ERROR = 'REJ_SEMAN',
24
+ CONSISTENCY_CHECK_ERROR = 'REJ_COH',
25
+ E_ADDRESS_CONTROL_ERROR = 'REJ_ADR',
26
+ B2G_CONTROL_ERROR = 'REJ_CONT_B2G',
27
+ ATTACHMENT_REFERENCE_ERROR = 'REJ_REF_PJ',
28
+ ATTACHMENT_ASSOCIATION_ERROR = 'REJ_ASS_PJ',
29
+ RECIPIENT_ERROR = 'DEST_INC',
30
+ ROUTING_ERROR = 'ROUTAGE_ERR',
31
+ UNITY_ERROR = 'REJ_UNI',
32
+ DUPLICATE_INVOICE = 'DOUBLON',
33
+ }
34
+
35
+ export type EInvoicingReason = {
36
+ id: EInvoicingReasonType;
37
+ reasonCode: EInvoicingReasonTypeCode;
38
+ label: string;
39
+ description: string;
40
+ type: EInvoicingDirection[];
41
+ isVisibleByClient: boolean;
42
+ };
43
+
44
+ export type EInvocingReasonListType = {
45
+ [key: string]: EInvoicingReason;
46
+ };
47
+
48
+ export const einvoicingReasonList: EInvocingReasonListType = {
49
+ INCORRECT_AMOUNT: {
50
+ id: EInvoicingReasonType.INCORRECT_AMOUNT,
51
+ reasonCode: EInvoicingReasonTypeCode.INCORRECT_AMOUNT,
52
+ label: 'Montant total erroné',
53
+ description: 'Un des montants totaux de la facutre est erronée, par exemple Net à payer',
54
+ type: [EInvoicingDirection.EMISSION, EInvoicingDirection.RECEPTION],
55
+ isVisibleByClient: true,
56
+ },
57
+ CALCULATION_ERROR: {
58
+ id: EInvoicingReasonType.CALCULATION_ERROR,
59
+ reasonCode: EInvoicingReasonTypeCode.CALCULATION_ERROR,
60
+ label: 'Erreur de calcul de la facture',
61
+ description: 'Soit détecté au schematron, soit après (pour les lignes, ou arrondi non accepté)',
62
+ type: [EInvoicingDirection.EMISSION, EInvoicingDirection.RECEPTION],
63
+ isVisibleByClient: true,
64
+ },
65
+ E_ADDRESS_ERROR: {
66
+ id: EInvoicingReasonType.E_ADDRESS_ERROR,
67
+ reasonCode: EInvoicingReasonTypeCode.E_ADDRESS_ERROR,
68
+ label: 'Adresse de facturation électronique erronée',
69
+ description: "L'adresse de facturation électronique du destinataire(BT-49 ou BT-34) est absente ou erronée",
70
+ type: [EInvoicingDirection.EMISSION],
71
+ isVisibleByClient: false,
72
+ },
73
+ SEMANTIC_ERROR: {
74
+ id: EInvoicingReasonType.SEMANTIC_ERROR,
75
+ reasonCode: EInvoicingReasonTypeCode.SEMANTIC_ERROR,
76
+ label: 'Rejet pour erreur sémantique',
77
+ description: 'Analyse du format sémantique',
78
+ type: [EInvoicingDirection.EMISSION, EInvoicingDirection.RECEPTION],
79
+ isVisibleByClient: true,
80
+ },
81
+ CONSISTENCY_CHECK_ERROR: {
82
+ id: EInvoicingReasonType.CONSISTENCY_CHECK_ERROR,
83
+ reasonCode: EInvoicingReasonTypeCode.CONSISTENCY_CHECK_ERROR,
84
+ label: 'Rejet sur contrôle Cohérence de données',
85
+ description: 'Contrôle de cohérence des données (les balises et les référentiels)',
86
+ type: [EInvoicingDirection.EMISSION, EInvoicingDirection.RECEPTION],
87
+ isVisibleByClient: false,
88
+ },
89
+ E_ADDRESS_CONTROL_ERROR: {
90
+ id: EInvoicingReasonType.E_ADDRESS_CONTROL_ERROR,
91
+ reasonCode: EInvoicingReasonTypeCode.E_ADDRESS_CONTROL_ERROR,
92
+ label: "Rejet sur Contrôle d'adressage",
93
+ description: "Contrôle d'adressage",
94
+ type: [EInvoicingDirection.EMISSION],
95
+ isVisibleByClient: false,
96
+ },
97
+ B2G_CONTROL_ERROR: {
98
+ id: EInvoicingReasonType.B2G_CONTROL_ERROR,
99
+ reasonCode: EInvoicingReasonTypeCode.B2G_CONTROL_ERROR,
100
+ label: 'Rejet sur Contrôle métier B2G',
101
+ description: "Contrôle B2G (vérification du n° d'engagement)",
102
+ type: [EInvoicingDirection.EMISSION],
103
+ isVisibleByClient: false,
104
+ },
105
+ ATTACHMENT_REFERENCE_ERROR: {
106
+ id: EInvoicingReasonType.ATTACHMENT_REFERENCE_ERROR,
107
+ reasonCode: EInvoicingReasonTypeCode.ATTACHMENT_REFERENCE_ERROR,
108
+ label: 'Rejet sur Référence de la PJ',
109
+ description: 'Référence de la PJ',
110
+ type: [EInvoicingDirection.EMISSION],
111
+ isVisibleByClient: false,
112
+ },
113
+ ATTACHMENT_ASSOCIATION_ERROR: {
114
+ id: EInvoicingReasonType.ATTACHMENT_ASSOCIATION_ERROR,
115
+ reasonCode: EInvoicingReasonTypeCode.ATTACHMENT_ASSOCIATION_ERROR,
116
+ label: "Rejet sur erreur d'association de la PJ",
117
+ description: "Erreur d'associartion de la PJ",
118
+ type: [EInvoicingDirection.EMISSION],
119
+ isVisibleByClient: false,
120
+ },
121
+ RECIPIENT_ERROR: {
122
+ id: EInvoicingReasonType.RECIPIENT_ERROR,
123
+ reasonCode: EInvoicingReasonTypeCode.RECIPIENT_ERROR,
124
+ label: 'Destinataire inconnu',
125
+ description: "À l'émission, le destinataire est inconnu. Il n'existe pas dans l'annuaire",
126
+ type: [EInvoicingDirection.EMISSION],
127
+ isVisibleByClient: false,
128
+ },
129
+ ROUTING_ERROR: {
130
+ id: EInvoicingReasonType.ROUTING_ERROR,
131
+ reasonCode: EInvoicingReasonTypeCode.ROUTING_ERROR,
132
+ label: 'Erreur de routage',
133
+ description: `Ce motif doit être utilisé dans le cas où les informations servant au routage de la facture sont devenues obsolètes. Ceci peut se produire par exmple:
134
+ - en case de décalage de mise à jour de l'annuaire
135
+ - une erreur de la PDP émettrice
136
+ Post correction de l'annuaire par le destinataire de la facture, la facture peut être transmise à nouveau (sans aucun changement sur les données de la facture)`,
137
+ type: [EInvoicingDirection.EMISSION],
138
+ isVisibleByClient: false,
139
+ },
140
+ UNITY_ERROR: {
141
+ id: EInvoicingReasonType.UNITY_ERROR,
142
+ reasonCode: EInvoicingReasonTypeCode.UNITY_ERROR,
143
+ label: 'Rejet sur contrôle unicité',
144
+ description: "Contôle d'unicité",
145
+ type: [EInvoicingDirection.EMISSION, EInvoicingDirection.RECEPTION],
146
+ isVisibleByClient: true,
147
+ },
148
+ DUPLICATE_INVOICE: {
149
+ id: EInvoicingReasonType.DUPLICATE_INVOICE,
150
+ reasonCode: EInvoicingReasonTypeCode.DUPLICATE_INVOICE,
151
+ label: 'Facture en doublon',
152
+ description: 'Facture en doublon (même numéro, même fournisseur et même année de la date de la facture)',
153
+ type: [EInvoicingDirection.EMISSION, EInvoicingDirection.RECEPTION],
154
+ isVisibleByClient: true,
155
+ },
156
+ };
@@ -14,4 +14,5 @@ export enum EInvoicingStatusCode {
14
14
  PAID = 10,
15
15
  CANCELLED = 11,
16
16
  ERROR = 12,
17
+ REFUSED = 13,
17
18
  }
@@ -21,6 +21,7 @@ export const MimeType = {
21
21
  JPG: 'image/jpg',
22
22
  XML: 'image/svg+xml',
23
23
  TEXTXML: 'text/xml',
24
+ APP_XML: 'application/xml',
24
25
  HEIC: 'image/heic',
25
26
  };
26
27
 
@@ -3,6 +3,7 @@ export class IUnit {
3
3
  id: number;
4
4
  name: string;
5
5
  shortName: string;
6
+ codeEN16931: string;
6
7
  };
7
8
  }
8
9
 
@@ -31,118 +32,140 @@ export enum UnitId {
31
32
  GRAM = 22,
32
33
  }
33
34
 
34
- export type IUnitList = Array<{ name: string; id: number; shortName: string }>;
35
+ export type IUnitList = Array<{ name: string; id: number; shortName: string; eInvoicingCode: string | null }>;
35
36
 
36
37
  export const Unit: IUnit = {
37
38
  ITEM: {
38
39
  id: UnitId.ITEM,
39
40
  name: 'Article',
40
41
  shortName: 'art',
42
+ codeEN16931: 'NAR',
41
43
  },
42
44
  HOUR: {
43
45
  id: UnitId.HOUR,
44
46
  name: 'Heure',
45
47
  shortName: 'h',
48
+ codeEN16931: 'HUR',
46
49
  },
47
50
  DAY: {
48
51
  id: UnitId.DAY,
49
52
  name: 'Jour',
50
53
  shortName: 'j',
54
+ codeEN16931: 'DAY',
51
55
  },
52
56
  KILOGRAM: {
53
57
  id: UnitId.KILOGRAM,
54
58
  name: 'Kilogramme',
55
59
  shortName: 'kg',
60
+ codeEN16931: 'KGM',
56
61
  },
57
62
  LITER: {
58
63
  id: UnitId.LITER,
59
64
  name: 'Litre',
60
65
  shortName: 'l',
66
+ codeEN16931: 'LTR',
61
67
  },
62
68
  KILOMETER: {
63
69
  id: UnitId.KILOMETER,
64
70
  name: 'Kilomètres',
65
71
  shortName: 'km',
72
+ codeEN16931: 'KMT',
66
73
  },
67
74
  HALF_DAY: {
68
75
  id: UnitId.HALF_DAY,
69
76
  name: 'Demi journée',
70
77
  shortName: 'demi j',
78
+ codeEN16931: 'LS', // (Half hour existe, mais pas de code standard pour "demi-journée")
71
79
  },
72
80
  YEAR: {
73
81
  id: UnitId.YEAR,
74
82
  name: 'Année',
75
83
  shortName: 'an',
84
+ codeEN16931: 'ANN',
76
85
  },
77
86
  WEEK: {
78
87
  id: UnitId.WEEK,
79
88
  name: 'Semaine',
80
89
  shortName: 'sem',
90
+ codeEN16931: 'WEE',
81
91
  },
82
92
  MONTH: {
83
93
  id: UnitId.MONTH,
84
94
  name: 'Mois',
85
95
  shortName: 'mois',
96
+ codeEN16931: 'MON',
86
97
  },
87
98
  QUARTER: {
88
99
  id: UnitId.QUARTER,
89
100
  name: 'Trimestre',
90
101
  shortName: 'trim',
102
+ codeEN16931: 'QAN',
91
103
  },
92
104
  PIECE: {
93
105
  id: UnitId.PIECE,
94
106
  name: 'Pièce',
95
107
  shortName: 'p',
108
+ codeEN16931: 'H87',
96
109
  },
97
110
  FIXED: {
98
111
  id: UnitId.FIXED,
99
112
  name: 'Forfaitaire',
100
113
  shortName: 'f',
114
+ codeEN16931: 'LS',
101
115
  },
102
116
  SQUARE_METER: {
103
117
  id: UnitId.SQUARE_METER,
104
118
  name: 'Mètre carré',
105
119
  shortName: 'm2',
120
+ codeEN16931: 'MTK',
106
121
  },
107
122
  CUBIC_METER: {
108
123
  id: UnitId.CUBIC_METER,
109
124
  name: 'Mètre cube',
110
125
  shortName: 'm3',
126
+ codeEN16931: 'MTQ',
111
127
  },
112
128
  METER: {
113
129
  id: UnitId.METER,
114
130
  name: 'Mètre',
115
131
  shortName: 'm',
132
+ codeEN16931: 'MTR',
116
133
  },
117
134
  SUBSCRIPTION: {
118
135
  id: UnitId.SUBSCRIPTION,
119
136
  name: 'Abonnement',
120
137
  shortName: 'abo',
138
+ codeEN16931: 'LS',
121
139
  },
122
140
  NIGHT: {
123
141
  id: UnitId.NIGHT,
124
142
  name: 'Nuitée',
125
143
  shortName: 'nuit',
144
+ codeEN16931: 'NI',
126
145
  },
127
146
  TON: {
128
147
  id: UnitId.TON,
129
148
  name: 'Tonne',
130
149
  shortName: 't',
150
+ codeEN16931: 'TNE',
131
151
  },
132
152
  HECTARE: {
133
153
  id: UnitId.HECTARE,
134
154
  name: 'Hectare',
135
155
  shortName: 'ha',
156
+ codeEN16931: 'HAR',
136
157
  },
137
158
  MINUTE: {
138
159
  id: UnitId.MINUTE,
139
160
  name: 'Minute',
140
161
  shortName: 'min',
162
+ codeEN16931: 'MIN',
141
163
  },
142
164
  GRAM: {
143
165
  id: UnitId.GRAM,
144
166
  name: 'Gramme',
145
167
  shortName: 'g',
168
+ codeEN16931: 'GRM',
146
169
  },
147
170
  };
148
171
 
@@ -0,0 +1,56 @@
1
+ export type ZendeskTicketStatus = 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed';
2
+ export type ZendeskTicketPriority = 'urgent' | 'high' | 'normal' | 'low';
3
+ export type ZendeskTicketType = 'problem' | 'incident' | 'question' | 'task';
4
+ export type ZendeskTicketChannel =
5
+ | 'api'
6
+ | 'chat'
7
+ | 'email'
8
+ | 'facebook'
9
+ | 'mobile'
10
+ | 'native_messaging'
11
+ | 'sample_ticket'
12
+ | 'sms'
13
+ | 'twitter'
14
+ | 'voice'
15
+ | 'web'
16
+ | 'web_service'
17
+ | 'whatsapp';
18
+
19
+ export enum ZendeskTicketStatusEnum {
20
+ NEW = 'new',
21
+ OPEN = 'open',
22
+ PENDING = 'pending',
23
+ HOLD = 'hold',
24
+ SOLVED = 'solved',
25
+ CLOSED = 'closed',
26
+ }
27
+
28
+ export enum ZendeskTicketPriorityEnum {
29
+ URGENT = 'urgent',
30
+ HIGH = 'high',
31
+ NORMAL = 'normal',
32
+ LOW = 'low',
33
+ }
34
+
35
+ export enum ZendeskTicketTypeEnum {
36
+ PROBLEM = 'problem',
37
+ INCIDENT = 'incident',
38
+ QUESTION = 'question',
39
+ TASK = 'task',
40
+ }
41
+
42
+ export enum ZendeskTicketChannelEnum {
43
+ API = 'api',
44
+ CHAT = 'chat',
45
+ EMAIL = 'email',
46
+ FACEBOOK = 'facebook',
47
+ MOBILE = 'mobile',
48
+ NATIVE_MESSAGING = 'native_messaging',
49
+ SAMPLE_TICKET = 'sample_ticket',
50
+ SMS = 'sms',
51
+ TWITTER = 'twitter',
52
+ VOICE = 'voice',
53
+ WEB = 'web',
54
+ WEB_SERVICE = 'web_service',
55
+ WHATSAPP = 'whatsapp',
56
+ }
@@ -9,6 +9,7 @@ import { IThirdParty } from '../../models/IThirdParty.js';
9
9
  import { InternationalizationChoices } from '../../../../utils/commercialManagement/internationalization/type.js';
10
10
  import { ISaleEmail } from '../../models/ISaleEmail.js';
11
11
  import { CountryId } from '#types/Enum/Country.js';
12
+ import { IAccountingTransaction } from '#types/Interface/models/IAccountingTransaction.js';
12
13
 
13
14
  export type ReadCashBasedInvoice = Partial<IAccountingFile>;
14
15
 
@@ -213,3 +214,27 @@ export type ReadEInvoicingReception = {
213
214
  }>;
214
215
  };
215
216
  };
217
+
218
+ export type ProductInvoiceFromEInvoice = Omit<IProductInvoice, 'id' | 'idEstimateInvoice' | 'createdAt' | 'updatedAt'>;
219
+
220
+ export type ReadEinvoiceInfo = {
221
+ item: IAccountingFile | IAccountingTransaction;
222
+ products: ProductInvoiceFromEInvoice[];
223
+ };
224
+
225
+ export type ReadEInvoice = {
226
+ externalId: string;
227
+ direction: 'In' | 'Out';
228
+ type: string;
229
+ flow: 'CustomerInvoice' | 'SupplierInvoice';
230
+ syntax: 'UBL' | 'CII' | 'Factur-X';
231
+ category: 'FLUX1' | 'FLUX2' | 'FLUX3' | 'FLUX4' | 'FLUX5' | 'FLUX6';
232
+ name: string;
233
+ status: string;
234
+ statusDetails: Array<{ code: string; description: string; fullDescription: string }>;
235
+ updatedAt: string;
236
+ submittedAt: string;
237
+ documentStatus: string;
238
+ externalStructureId: string;
239
+ documentId: string;
240
+ };