@facturacr/atv-sdk 0.0.7-beta → 0.0.9-beta

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 (167) hide show
  1. package/.github/workflows/ci.yml +7 -4
  2. package/__tests__/stubs/commonExpectedXml.xml +94 -0
  3. package/__tests__/stubs/createDocument.stub.ts +80 -0
  4. package/__tests__/tests/ATV/__snapshots__/index.test.ts.snap +3 -0
  5. package/__tests__/tests/ATV/index.test.ts +50 -0
  6. package/doc/atv-structures/4.3/ANEXOS Y ESTRUCTURAS_V4.3.pdf +0 -0
  7. package/doc/atv-structures/4.3/API Ministerio de Hacienda /342/200/223 Dropbox Paper.pdf +0 -0
  8. package/doc/atv-structures/4.3/MensajeHacienda_V4.3.xsd.xml +179 -0
  9. package/doc/atv-structures/4.3/MensajeReceptor_V4.3.xsd.xml +163 -0
  10. package/doc/atv-structures/4.3/NotaCreditoElectronica_V4.3.xsd.xml +1804 -0
  11. package/doc/atv-structures/4.3/NotaDebitoElectronica_V4.3.xsd.xml +1804 -0
  12. package/examples/confirmXML.ts +1 -1
  13. package/examples/createAndSend.ts +27 -32
  14. package/examples/getToken.ts +3 -2
  15. package/jest-setup.js +5 -0
  16. package/jest.config.js +6 -5
  17. package/package.json +18 -14
  18. package/src/ATV/core/Clave.ts +41 -0
  19. package/src/ATV/core/Document.ts +123 -0
  20. package/src/ATV/core/DocumentType.ts +23 -0
  21. package/src/ATV/core/FullConsecutive.ts +29 -0
  22. package/src/ATV/core/OrderLine.ts +95 -0
  23. package/src/ATV/core/Person.ts +68 -0
  24. package/src/ATV/core/Summary.type.ts +20 -0
  25. package/src/ATV/core/documentNames.types.ts +5 -0
  26. package/src/ATV/index.ts +101 -0
  27. package/src/ATV/mappers/billDocToAtv.ts +103 -0
  28. package/src/ATV/types.ts +37 -0
  29. package/src/ATV/useCases/createDocument/index.ts +137 -0
  30. package/src/ATV/useCases/createDocument/types.ts +79 -0
  31. package/src/helpers/comprobantes.ts +1 -1
  32. package/src/lib/genJSON/confirmXML.ts +1 -1
  33. package/src/lib/genJSON/index.ts +2 -2
  34. package/src/lib/genXML/xmlConfig.ts +2 -2
  35. package/src/services/getToken/GetToken.ts +2 -2
  36. package/src/services/send/index.ts +1 -1
  37. package/src/types/facturaInterfaces.d.ts +27 -20
  38. package/tools/xsdToJsonSchema.ts +2 -2
  39. package/__tests__/tests/electronicBill.test.ts +0 -28
  40. package/dist/__tests__/stubs/frontendRequest.stub.d.ts +0 -3
  41. package/dist/__tests__/stubs/frontendRequest.stub.js +0 -61
  42. package/dist/__tests__/stubs/frontendRequest.stub.js.map +0 -1
  43. package/dist/__tests__/stubs/token.stub.d.ts +0 -17
  44. package/dist/__tests__/stubs/token.stub.js +0 -21
  45. package/dist/__tests__/stubs/token.stub.js.map +0 -1
  46. package/dist/__tests__/tests/electronicBill.test.d.ts +0 -1
  47. package/dist/__tests__/tests/electronicBill.test.js +0 -38
  48. package/dist/__tests__/tests/electronicBill.test.js.map +0 -1
  49. package/dist/__tests__/tests/getClave.test.d.ts +0 -1
  50. package/dist/__tests__/tests/getClave.test.js +0 -15
  51. package/dist/__tests__/tests/getClave.test.js.map +0 -1
  52. package/dist/__tests__/tests/getToken.test.d.ts +0 -0
  53. package/dist/__tests__/tests/getToken.test.js +0 -28
  54. package/dist/__tests__/tests/getToken.test.js.map +0 -1
  55. package/dist/__tests__/tests/lib/getClave.test.d.ts +0 -1
  56. package/dist/__tests__/tests/lib/getClave.test.js +0 -15
  57. package/dist/__tests__/tests/lib/getClave.test.js.map +0 -1
  58. package/dist/__tests__/tests/services/getToken.test.d.ts +0 -1
  59. package/dist/__tests__/tests/services/getToken.test.js +0 -27
  60. package/dist/__tests__/tests/services/getToken.test.js.map +0 -1
  61. package/dist/examples/confirmXML.d.ts +0 -1
  62. package/dist/examples/confirmXML.js +0 -89
  63. package/dist/examples/confirmXML.js.map +0 -1
  64. package/dist/examples/consultXML.d.ts +0 -1
  65. package/dist/examples/consultXML.js +0 -55
  66. package/dist/examples/consultXML.js.map +0 -1
  67. package/dist/examples/createAndSend.d.ts +0 -1
  68. package/dist/examples/createAndSend.js +0 -77
  69. package/dist/examples/createAndSend.js.map +0 -1
  70. package/dist/examples/createCreditNote.d.ts +0 -1
  71. package/dist/examples/createCreditNote.js +0 -52
  72. package/dist/examples/createCreditNote.js.map +0 -1
  73. package/dist/examples/createDebitNote.d.ts +0 -1
  74. package/dist/examples/createDebitNote.js +0 -52
  75. package/dist/examples/createDebitNote.js.map +0 -1
  76. package/dist/examples/genBasicXML.d.ts +0 -1
  77. package/dist/examples/genBasicXML.js +0 -44
  78. package/dist/examples/genBasicXML.js.map +0 -1
  79. package/dist/examples/getClave.d.ts +0 -1
  80. package/dist/examples/getClave.js +0 -12
  81. package/dist/examples/getClave.js.map +0 -1
  82. package/dist/examples/getToken.d.ts +0 -1
  83. package/dist/examples/getToken.js +0 -16
  84. package/dist/examples/getToken.js.map +0 -1
  85. package/dist/src/ATV.d.ts +0 -17
  86. package/dist/src/ATV.js +0 -16
  87. package/dist/src/ATV.js.map +0 -1
  88. package/dist/src/confirmXML.d.ts +0 -8
  89. package/dist/src/confirmXML.js +0 -44
  90. package/dist/src/confirmXML.js.map +0 -1
  91. package/dist/src/creditNote.d.ts +0 -14
  92. package/dist/src/creditNote.js +0 -77
  93. package/dist/src/creditNote.js.map +0 -1
  94. package/dist/src/data/codigoMoneda.d.ts +0 -1
  95. package/dist/src/data/codigoMoneda.js +0 -184
  96. package/dist/src/data/codigoMoneda.js.map +0 -1
  97. package/dist/src/data/exoneracion.d.ts +0 -1
  98. package/dist/src/data/exoneracion.js +0 -15
  99. package/dist/src/data/exoneracion.js.map +0 -1
  100. package/dist/src/data/impuestos.d.ts +0 -25
  101. package/dist/src/data/impuestos.js +0 -51
  102. package/dist/src/data/impuestos.js.map +0 -1
  103. package/dist/src/data/tipoCedula.d.ts +0 -7
  104. package/dist/src/data/tipoCedula.js +0 -17
  105. package/dist/src/data/tipoCedula.js.map +0 -1
  106. package/dist/src/data/tipoDocumento.d.ts +0 -26
  107. package/dist/src/data/tipoDocumento.js +0 -30
  108. package/dist/src/data/tipoDocumento.js.map +0 -1
  109. package/dist/src/data/unidadesMedida.d.ts +0 -5
  110. package/dist/src/data/unidadesMedida.js +0 -141
  111. package/dist/src/data/unidadesMedida.js.map +0 -1
  112. package/dist/src/debitNote.d.ts +0 -14
  113. package/dist/src/debitNote.js +0 -77
  114. package/dist/src/debitNote.js.map +0 -1
  115. package/dist/src/electronicBill.d.ts +0 -3
  116. package/dist/src/electronicBill.js +0 -61
  117. package/dist/src/electronicBill.js.map +0 -1
  118. package/dist/src/helpers/comprobantes.d.ts +0 -7
  119. package/dist/src/helpers/comprobantes.js +0 -92
  120. package/dist/src/helpers/comprobantes.js.map +0 -1
  121. package/dist/src/index.d.ts +0 -8
  122. package/dist/src/index.js.map +0 -1
  123. package/dist/src/lib/genClave/index.d.ts +0 -9
  124. package/dist/src/lib/genClave/index.js +0 -119
  125. package/dist/src/lib/genClave/index.js.map +0 -1
  126. package/dist/src/lib/genJSON/confirmXML.d.ts +0 -7
  127. package/dist/src/lib/genJSON/confirmXML.js +0 -46
  128. package/dist/src/lib/genJSON/confirmXML.js.map +0 -1
  129. package/dist/src/lib/genJSON/index.d.ts +0 -3
  130. package/dist/src/lib/genJSON/index.js +0 -133
  131. package/dist/src/lib/genJSON/index.js.map +0 -1
  132. package/dist/src/lib/genXML/index.d.ts +0 -7
  133. package/dist/src/lib/genXML/index.js +0 -51
  134. package/dist/src/lib/genXML/index.js.map +0 -1
  135. package/dist/src/lib/genXML/sigXML/genKeysAndCert.d.ts +0 -6
  136. package/dist/src/lib/genXML/sigXML/genKeysAndCert.js +0 -72
  137. package/dist/src/lib/genXML/sigXML/genKeysAndCert.js.map +0 -1
  138. package/dist/src/lib/genXML/sigXML/index.d.ts +0 -1
  139. package/dist/src/lib/genXML/sigXML/index.js +0 -86
  140. package/dist/src/lib/genXML/sigXML/index.js.map +0 -1
  141. package/dist/src/lib/genXML/xmlConfig.d.ts +0 -55
  142. package/dist/src/lib/genXML/xmlConfig.js +0 -36
  143. package/dist/src/lib/genXML/xmlConfig.js.map +0 -1
  144. package/dist/src/services/getToken/GetToken.d.ts +0 -8
  145. package/dist/src/services/getToken/GetToken.js +0 -66
  146. package/dist/src/services/getToken/GetToken.js.map +0 -1
  147. package/dist/src/services/getToken/__tests__/GetToken.test.d.ts +0 -1
  148. package/dist/src/services/getToken/__tests__/GetToken.test.js +0 -86
  149. package/dist/src/services/getToken/__tests__/GetToken.test.js.map +0 -1
  150. package/dist/src/services/getToken/index.d.ts +0 -3
  151. package/dist/src/services/getToken/index.js +0 -22
  152. package/dist/src/services/getToken/index.js.map +0 -1
  153. package/dist/src/services/getToken/types.d.ts +0 -27
  154. package/dist/src/services/getToken/types.js +0 -3
  155. package/dist/src/services/getToken/types.js.map +0 -1
  156. package/dist/src/services/send/index.d.ts +0 -2
  157. package/dist/src/services/send/index.js +0 -40
  158. package/dist/src/services/send/index.js.map +0 -1
  159. package/dist/src/types/xml/notaDeCredito.d.ts +0 -21
  160. package/dist/src/types/xml/notaDeCredito.js +0 -3
  161. package/dist/src/types/xml/notaDeCredito.js.map +0 -1
  162. package/dist/src/types/xml/notaDeDebito.d.ts +0 -21
  163. package/dist/src/types/xml/notaDeDebito.js +0 -3
  164. package/dist/src/types/xml/notaDeDebito.js.map +0 -1
  165. package/src/ATV.ts +0 -28
  166. /package/{atv-structures → doc/atv-structures}/4.3/FacturaElectronicaExportacion_V4.3.xsd.xml +0 -0
  167. /package/{atv-structures → doc/atv-structures}/4.3/FacturaElectronica_V4.3.xsd.xml +0 -0
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.enumIdentificacionType = exports.tipoCedula = void 0;
4
- exports.tipoCedula = {
5
- fisico: '01',
6
- juridico: '02',
7
- dimex: '03',
8
- nite: '04'
9
- };
10
- // Tipo de identificación
11
- exports.enumIdentificacionType = [
12
- '01',
13
- '02',
14
- '03',
15
- '04' // NITE
16
- ];
17
- //# sourceMappingURL=tipoCedula.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tipoCedula.js","sourceRoot":"","sources":["../../../src/data/tipoCedula.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,IAAI;CACX,CAAA;AAED,yBAAyB;AACZ,QAAA,sBAAsB,GAAG;IACpC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI,CAAC,OAAO;CACb,CAAA"}
@@ -1,26 +0,0 @@
1
- export declare const tipoDocumento: {
2
- FE: {
3
- code: string;
4
- };
5
- ND: {
6
- code: string;
7
- };
8
- NC: {
9
- code: string;
10
- };
11
- TE: {
12
- code: string;
13
- };
14
- CCE: {
15
- code: string;
16
- msjReceptorCode: string;
17
- };
18
- CPCE: {
19
- code: string;
20
- msjReceptorCode: string;
21
- };
22
- RCE: {
23
- code: string;
24
- msjReceptorCode: string;
25
- };
26
- };
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tipoDocumento = void 0;
4
- exports.tipoDocumento = {
5
- FE: {
6
- code: '01'
7
- },
8
- ND: {
9
- code: '02'
10
- },
11
- NC: {
12
- code: '03'
13
- },
14
- TE: {
15
- code: '04'
16
- },
17
- CCE: {
18
- code: '05',
19
- msjReceptorCode: '1'
20
- },
21
- CPCE: {
22
- code: '06',
23
- msjReceptorCode: '2'
24
- },
25
- RCE: {
26
- code: '07',
27
- msjReceptorCode: '3'
28
- }
29
- };
30
- //# sourceMappingURL=tipoDocumento.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tipoDocumento.js","sourceRoot":"","sources":["../../../src/data/tipoDocumento.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;KACX;IACD,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;KACX;IACD,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;KACX;IACD,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;KACX;IACD,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,GAAG;KACrB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,GAAG;KACrB;IACD,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,GAAG;KACrB;CACF,CAAA"}
@@ -1,5 +0,0 @@
1
- export declare const unidadesDeMedida: {
2
- simbol: string;
3
- description: string;
4
- }[];
5
- export declare const enumUnidadDeMedidaType: string[];
@@ -1,141 +0,0 @@
1
- "use strict";
2
- // ver doc https://www.hacienda.go.cr/ATV/ComprobanteElectronico/docs/esquemas/2016/v4/ANEXOS%20Y%20ESTRUCTURAS.pdf
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.enumUnidadDeMedidaType = exports.unidadesDeMedida = void 0;
5
- exports.unidadesDeMedida = [
6
- {
7
- simbol: 'Sp',
8
- description: 'Servicios Profesionales'
9
- },
10
- {
11
- simbol: 'm',
12
- description: 'Metro'
13
- },
14
- {
15
- simbol: 'kg',
16
- description: 'Kilogramos'
17
- },
18
- {
19
- simbol: 's',
20
- description: 'Segundo'
21
- },
22
- {
23
- simbol: 'A',
24
- description: 'Ampere'
25
- },
26
- {
27
- simbol: 'K',
28
- description: 'Kelvin'
29
- },
30
- {
31
- simbol: 'mol',
32
- description: 'Mol'
33
- },
34
- {
35
- simbol: 'cd',
36
- description: 'Candela'
37
- },
38
- {
39
- simbol: 'm²',
40
- description: 'Metro cuadrado'
41
- }
42
- ];
43
- exports.enumUnidadDeMedidaType = [
44
- 'Al',
45
- 'Alc',
46
- 'Cm',
47
- 'I',
48
- 'Os',
49
- 'Sp',
50
- 'Spe',
51
- 'St',
52
- 'd',
53
- 'm',
54
- 'kg',
55
- 's',
56
- 'A',
57
- 'K',
58
- 'mol',
59
- 'cd',
60
- 'm²',
61
- 'm³',
62
- 'm/s',
63
- 'm/s²',
64
- '1/m',
65
- 'kg/m³',
66
- 'A/m²',
67
- 'A/m',
68
- 'mol/m³',
69
- 'cd/m²',
70
- '1',
71
- 'rad',
72
- 'sr',
73
- 'Hz',
74
- 'N',
75
- 'Pa',
76
- 'J',
77
- 'W',
78
- 'C',
79
- 'V',
80
- 'F',
81
- 'Ω',
82
- 'S',
83
- 'Wb',
84
- 'T',
85
- 'H',
86
- '°C',
87
- 'lm',
88
- 'lx',
89
- 'Bq',
90
- 'Gy',
91
- 'Sv',
92
- 'kat',
93
- 'Pa·s',
94
- 'N·m',
95
- 'N/m',
96
- 'rad/s',
97
- 'rad/s²',
98
- 'W/m²',
99
- 'J/K',
100
- 'J/(kg·K)',
101
- 'J/kg',
102
- 'W/(m·K)',
103
- 'J/m³',
104
- 'V/m',
105
- 'C/m³',
106
- 'C/m²',
107
- 'F/m',
108
- 'H/m',
109
- 'J/mol',
110
- 'J/(mol·K)',
111
- 'C/kg',
112
- 'Gy/s',
113
- 'W/sr',
114
- 'W/(m²·sr)',
115
- 'kat/m³',
116
- 'min',
117
- 'h',
118
- 'd',
119
- 'º',
120
- '´',
121
- '´´',
122
- 'L',
123
- 't',
124
- 'Np',
125
- 'B',
126
- 'eV',
127
- 'u',
128
- 'ua',
129
- 'Unid',
130
- 'Gal',
131
- 'g',
132
- 'Km',
133
- 'Kw',
134
- 'ln',
135
- 'cm',
136
- 'mL',
137
- 'mm',
138
- 'Oz',
139
- 'Otros'
140
- ];
141
- //# sourceMappingURL=unidadesMedida.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unidadesMedida.js","sourceRoot":"","sources":["../../../src/data/unidadesMedida.ts"],"names":[],"mappings":";AAAA,mHAAmH;;;AAEtG,QAAA,gBAAgB,GAAG;IAC9B;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,OAAO;KACrB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,YAAY;KAC1B;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,SAAS;KACvB;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,QAAQ;KACtB;IACD;QACE,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,KAAK;KACnB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,SAAS;KACvB;IACD;QACE,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,gBAAgB;KAC9B;CACF,CAAA;AAEY,QAAA,sBAAsB,GAAG;IACpC,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,OAAO;IACP,GAAG;IACH,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,UAAU;IACV,MAAM;IACN,SAAS;IACT,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,OAAO;IACP,WAAW;IACX,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;IACR,KAAK;IACL,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,MAAM;IACN,KAAK;IACL,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,OAAO;CACR,CAAA"}
@@ -1,14 +0,0 @@
1
- import { ClientPayload, XmlOpt } from '@src/types/globalInterfaces';
2
- import { NotaDebitoContenedor } from '@src/types/xml/notaDeDebito';
3
- export declare function parseCreditNote(options: {
4
- frontEndRequest: ClientPayload;
5
- consecutivo: string;
6
- clave: string;
7
- date: Date;
8
- }): NotaDebitoContenedor;
9
- declare const _default: (options: {
10
- token: string;
11
- frontEndRequest: ClientPayload;
12
- xmlOpt: XmlOpt;
13
- }) => Promise<any>;
14
- export default _default;
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.parseCreditNote = void 0;
13
- const index_1 = require("@src/lib/genXML/index");
14
- const index_2 = require("@src/services/send/index");
15
- const index_3 = require("@src/lib/genClave/index");
16
- const comprobantes_1 = require("@src/helpers/comprobantes");
17
- const VOUCHER_TYPE = 'ND';
18
- function parseCreditNote(options) {
19
- const resum = (0, comprobantes_1.getBillResum)(options.frontEndRequest);
20
- const receiver = (0, comprobantes_1.getReceiver)(options.frontEndRequest);
21
- const sender = (0, comprobantes_1.getSender)(options.frontEndRequest);
22
- return {
23
- NotaDebitoElectronica: {
24
- Clave: options.clave,
25
- CodigoActividad: options.frontEndRequest.actividad.padStart(6, '0'),
26
- NumeroConsecutivo: options.consecutivo,
27
- FechaEmision: options.date.toISOString(),
28
- Emisor: sender,
29
- Receptor: receiver,
30
- CondicionVenta: '01',
31
- MedioPago: '01',
32
- DetalleServicio: {
33
- LineaDetalle: options.frontEndRequest.LineasDetalle
34
- },
35
- ResumenFactura: resum
36
- }
37
- };
38
- }
39
- exports.parseCreditNote = parseCreditNote;
40
- function sendMessage(options) {
41
- const emisor = (0, comprobantes_1.getSimpleSender)(options.frontEndRequest);
42
- const receptor = (0, comprobantes_1.getSimpleReceiver)(options.frontEndRequest);
43
- const finalMesage = {
44
- clave: options.clave,
45
- fecha: options.date.toISOString(),
46
- emisor,
47
- receptor,
48
- comprobanteXml: options.xml
49
- };
50
- return (0, index_2.send)(options.token, finalMesage).catch((err) => {
51
- const response = err.response || {};
52
- const header = response.headers || {};
53
- console.log('x-error-cause', header['x-error-cause']);
54
- });
55
- }
56
- exports.default = (options) => __awaiter(void 0, void 0, void 0, function* () {
57
- const date = new Date();
58
- const parsedOpts = (0, index_3.parseOptions)(options.frontEndRequest);
59
- const claveObj = (0, index_3.genClaveObj)(parsedOpts);
60
- const clave = (0, index_3.genString)(claveObj);
61
- const consecutivo = Object.values(claveObj.consecutivo).join('');
62
- const vaucher = parseCreditNote({
63
- frontEndRequest: options.frontEndRequest,
64
- consecutivo,
65
- clave,
66
- date
67
- });
68
- const xml = yield (0, index_1.genXML)(VOUCHER_TYPE, vaucher, Object.assign(Object.assign({}, options.xmlOpt), { base64: true }));
69
- return sendMessage({
70
- frontEndRequest: options.frontEndRequest,
71
- token: options.token,
72
- clave,
73
- date,
74
- xml
75
- });
76
- });
77
- //# sourceMappingURL=debitNote.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debitNote.js","sourceRoot":"","sources":["../../src/debitNote.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ClientPayload } from '@src/types/globalInterfaces';
2
- declare const _default: (token: any, frontEndRequest: ClientPayload, xmlOpt: any) => Promise<any>;
3
- export default _default;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const index_1 = require("@src/lib/genClave/index");
16
- const index_2 = __importDefault(require("@src/lib/genJSON/index"));
17
- const index_3 = require("@src/services/send/index");
18
- const DEFAULT_VALUES = {
19
- tipoIdentificacion: '01'
20
- };
21
- const encodeXML = (xmlStr) => {
22
- const buffer = Buffer.from(xmlStr);
23
- return buffer.toString('base64');
24
- };
25
- function getSender(frontEndRequest) {
26
- const sender = frontEndRequest.Emisor;
27
- return {
28
- tipoIdentificacion: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
29
- numeroIdentificacion: sender.Identificacion.Numero
30
- };
31
- }
32
- function getReceiver(frontEndRequest) {
33
- const receiver = frontEndRequest.Receptor;
34
- return {
35
- tipoIdentificacion: receiver.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
36
- numeroIdentificacion: receiver.Identificacion.Numero
37
- };
38
- }
39
- exports.default = (token, frontEndRequest, xmlOpt) => __awaiter(void 0, void 0, void 0, function* () {
40
- const parsedOpts = (0, index_1.parseOptions)(frontEndRequest);
41
- const claveObj = (0, index_1.genClaveObj)(parsedOpts);
42
- const claveStr = (0, index_1.genString)(claveObj);
43
- const date = new Date();
44
- const consecutivo = Object.values(claveObj.consecutivo).join('');
45
- const XML = yield (0, index_2.default)(frontEndRequest, date.toISOString(), claveStr, consecutivo, Object.assign(Object.assign({}, xmlOpt), { base64: true }));
46
- const finalMesage = {
47
- clave: claveStr,
48
- fecha: date.toISOString(),
49
- emisor: getSender(frontEndRequest),
50
- receptor: getReceiver(frontEndRequest),
51
- comprobanteXml: encodeXML(XML)
52
- };
53
- const response = (0, index_3.send)(token, finalMesage).catch((err) => {
54
- const response = err.response || {};
55
- const header = response.headers || {};
56
- console.log('response status code', err.response.status);
57
- console.log('x-error-cause', header['x-error-cause']);
58
- });
59
- return response;
60
- });
61
- //# sourceMappingURL=electronicBill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"electronicBill.js","sourceRoot":"","sources":["../../src/electronicBill.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,mDAA8E;AAC9E,mEAA4C;AAC5C,oDAA+C;AAE/C,MAAM,cAAc,GAAG;IACrB,kBAAkB,EAAE,IAAI;CACzB,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,MAAc,EAAU,EAAE;IAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,SAAS,SAAS,CAAC,eAA8B;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;IACrC,OAAO;QACL,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,kBAAkB;QACnF,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM;KACnD,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,eAA8B;IACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;IACzC,OAAO;QACL,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,kBAAkB;QACrF,oBAAoB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;KACrD,CAAA;AACH,CAAC;AAED,kBAAe,CAAO,KAAK,EAAE,eAA8B,EAAE,MAAM,EAAgB,EAAE;IACnF,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAA;IAChD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,UAAU,CAAC,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;IACvB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,MAAM,IAAA,eAAO,EAAC,eAAe,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,WAAW,kCAC/E,MAAM,KACT,MAAM,EAAE,IAAI,IACZ,CAAA;IACF,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE;QACzB,MAAM,EAAE,SAAS,CAAC,eAAe,CAAC;QAClC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC;QACtC,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC;KAC/B,CAAA;IACD,MAAM,QAAQ,GAAG,IAAA,YAAI,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAA;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACxD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA,CAAA"}
@@ -1,7 +0,0 @@
1
- import { ClientPayload, FinalMessagePerson } from '@src/types/globalInterfaces';
2
- import { Resumen, Persona } from '@src/types/facturaInterfaces';
3
- export declare function getSimpleSender(frontEndRequest: ClientPayload): FinalMessagePerson;
4
- export declare function getSimpleReceiver(frontEndRequest: ClientPayload): FinalMessagePerson;
5
- export declare function getBillResum(frontEndRequest: ClientPayload): Resumen;
6
- export declare function getSender(frontEndRequest: ClientPayload): Persona;
7
- export declare function getReceiver(frontEndRequest: ClientPayload): Persona;
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getReceiver = exports.getSender = exports.getBillResum = exports.getSimpleReceiver = exports.getSimpleSender = void 0;
4
- const DEFAULT_VALUES = {
5
- key: 0,
6
- message: 'Default msj',
7
- detailsMessage: 'Default details msj',
8
- taxes: 100,
9
- tipoIdentificacion: '01'
10
- };
11
- function getSimpleSender(frontEndRequest) {
12
- const sender = frontEndRequest.Emisor;
13
- return {
14
- tipoIdentificacion: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
15
- numeroIdentificacion: sender.Identificacion.Numero
16
- };
17
- }
18
- exports.getSimpleSender = getSimpleSender;
19
- function getSimpleReceiver(frontEndRequest) {
20
- const receiver = frontEndRequest.Receptor;
21
- return {
22
- tipoIdentificacion: receiver.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
23
- numeroIdentificacion: receiver.Identificacion.Numero
24
- };
25
- }
26
- exports.getSimpleReceiver = getSimpleReceiver;
27
- function calculateTaxes(billTotal, billTaxes) {
28
- const taxes = typeof billTaxes === 'number' ? billTaxes : DEFAULT_VALUES.taxes;
29
- return billTotal * taxes;
30
- }
31
- function getBillResum(frontEndRequest) {
32
- const taxes = calculateTaxes(frontEndRequest.total, frontEndRequest.impuesto);
33
- return {
34
- CodigoTipoMoneda: {
35
- CodigoMoneda: 'CRC',
36
- TipoCambio: '585.69'
37
- },
38
- TotalServGravados: 0,
39
- TotalServExentos: 0,
40
- TotalServExonerado: 0,
41
- TotalMercanciasGravadas: frontEndRequest.total,
42
- TotalMercanciasExentas: 0,
43
- TotalGravado: frontEndRequest.total,
44
- TotalExento: 0,
45
- TotalExonerado: 0,
46
- TotalVenta: frontEndRequest.total,
47
- TotalDescuentos: 0,
48
- TotalVentaNeta: frontEndRequest.total,
49
- TotalImpuesto: taxes,
50
- TotalComprobante: frontEndRequest.total + taxes
51
- };
52
- }
53
- exports.getBillResum = getBillResum;
54
- function getSender(frontEndRequest) {
55
- const sender = frontEndRequest.Emisor;
56
- return {
57
- Nombre: sender.Nombre,
58
- Identificacion: {
59
- Tipo: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
60
- Numero: sender.Identificacion.Numero
61
- },
62
- NombreComercial: sender.Nombre,
63
- Ubicacion: sender.Ubicacion,
64
- Telefono: {
65
- CodigoPais: sender.Telefono.CodigoPais,
66
- NumTelefono: sender.Telefono.NumTelefono
67
- },
68
- Fax: {
69
- CodigoPais: sender.Telefono.CodigoPais,
70
- NumTelefono: sender.Telefono.NumTelefono
71
- },
72
- CorreoElectronico: sender.CorreoElectronico
73
- };
74
- }
75
- exports.getSender = getSender;
76
- function getReceiver(frontEndRequest) {
77
- const receiver = frontEndRequest.Receptor;
78
- return {
79
- Nombre: receiver.Nombre,
80
- Identificacion: {
81
- Tipo: receiver.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
82
- Numero: receiver.Identificacion.Numero
83
- },
84
- NombreComercial: receiver.NombreComercial,
85
- Ubicacion: receiver.Ubicacion,
86
- Telefono: receiver.Telefono,
87
- Fax: receiver.Fax,
88
- CorreoElectronico: receiver.CorreoElectronico
89
- };
90
- }
91
- exports.getReceiver = getReceiver;
92
- //# sourceMappingURL=comprobantes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comprobantes.js","sourceRoot":"","sources":["../../../src/helpers/comprobantes.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import confirmXML from '@src/confirmXML';
2
- import { sendToCustomURL } from '@src/services/send/index';
3
- import getToken from '@src/services/getToken';
4
- import genJSON from '@src/lib/genJSON';
5
- import eletronicBill from '@src/electronicBill';
6
- import * as genClaveTools from '@src/lib/genClave';
7
- import { ATV } from './ATV';
8
- export { ATV, confirmXML, sendToCustomURL, getToken, eletronicBill, genJSON, genClaveTools };
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAwC;AAYtC,qBAZK,oBAAU,CAYL;AAXZ,oDAA0D;AAYxD,gGAZO,uBAAe,OAYP;AAXjB,sEAA6C;AAY3C,mBAZK,kBAAQ,CAYL;AAXV,+DAAsC;AAapC,kBAbK,iBAAO,CAaL;AAZT,yEAA+C;AAW7C,wBAXK,wBAAa,CAWL;AAVf,iEAAkD;AAYhD,sCAAa;AAXf,+BAA2B;AAKzB,oFALO,SAAG,OAKP"}
@@ -1,9 +0,0 @@
1
- import { ClaveOpts, Clave } from '@src/lib/genClave/interfaces';
2
- import { ClientPayload } from '@src/types/globalInterfaces';
3
- export declare function consecutivoStr(consecutivoObj: any): string;
4
- export declare function genClaveObj(opts: ClaveOpts): Clave;
5
- export declare function genString(claveObj: Clave): string;
6
- export default function genClave(opts: ClaveOpts): string;
7
- export declare function stringToClave(claveStr: string): Clave;
8
- export declare function parseOptions(frontEndRequest: ClientPayload): ClaveOpts;
9
- export declare function getClave(frontEndRequest: ClientPayload): string;
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClave = exports.parseOptions = exports.stringToClave = exports.genString = exports.genClaveObj = exports.consecutivoStr = void 0;
4
- const tipoDocumento_1 = require("@src/data/tipoDocumento");
5
- const DEFAULT_VALUES = {
6
- tipoDocumento: '01',
7
- tipoIdentificacion: '01',
8
- codigoPais: '506'
9
- };
10
- function getConsecutivo(opts) {
11
- const tipoDocNum = tipoDocumento_1.tipoDocumento[opts.tipoDocKey];
12
- return {
13
- sucursal: opts.sucursal || '001',
14
- terminal: opts.terminal || '00001',
15
- tipoDocumento: tipoDocNum.code || '01',
16
- consecutivo: String(opts.consecutivo).padStart(10, '0')
17
- };
18
- }
19
- function consecutivoStr(consecutivoObj) {
20
- const cons = getConsecutivo(consecutivoObj);
21
- return Object.values(cons).join('');
22
- }
23
- exports.consecutivoStr = consecutivoStr;
24
- function getSender(frontEndRequest) {
25
- const sender = frontEndRequest.Emisor;
26
- return {
27
- tipoIdentificacion: sender.Identificacion.Tipo || DEFAULT_VALUES.tipoIdentificacion,
28
- numeroIdentificacion: sender.Identificacion.Numero
29
- };
30
- }
31
- function getDateInfo(date) {
32
- const day = String(date.getDate()).padStart(2, '0');
33
- const month = String(date.getMonth() + 1).padStart(2, '0');
34
- const year = date.getFullYear() - 2000;
35
- return {
36
- dia: day,
37
- mes: month,
38
- ano: year.toString()
39
- };
40
- }
41
- function getCountryCode(code) {
42
- if (!code || !code.length) {
43
- return DEFAULT_VALUES.codigoPais;
44
- }
45
- return code.padStart(3, '0');
46
- }
47
- function getIssuerCard(issuerCard) {
48
- return issuerCard.padStart(12, '0');
49
- }
50
- function genClaveObj(opts) {
51
- const today = new Date();
52
- return {
53
- codigoPais: getCountryCode(opts.codigoPais),
54
- fecha: getDateInfo(today),
55
- cedulaEmisor: getIssuerCard(opts.cedulaEmisor),
56
- consecutivo: getConsecutivo(opts),
57
- situacionCE: opts.situacionCE,
58
- codigoSeguridad: opts.codigoSeguridad.padStart(8, '0')
59
- };
60
- }
61
- exports.genClaveObj = genClaveObj;
62
- function genString(claveObj) {
63
- const clave = {
64
- codigoPais: claveObj.codigoPais,
65
- fecha: Object.values(claveObj.fecha).join(''),
66
- cedulaEmisor: claveObj.cedulaEmisor,
67
- consecutivo: Object.values(claveObj.consecutivo).join(''),
68
- situacionCE: claveObj.situacionCE,
69
- codigoSeguridad: claveObj.codigoSeguridad
70
- };
71
- return Object.values(clave).join('');
72
- }
73
- exports.genString = genString;
74
- function genClave(opts) {
75
- const claveObj = genClaveObj(opts);
76
- return genString(claveObj);
77
- }
78
- exports.default = genClave;
79
- function stringToClave(claveStr) {
80
- return {
81
- codigoPais: claveStr.slice(0, 3),
82
- fecha: {
83
- dia: claveStr.slice(3, 5),
84
- mes: claveStr.slice(5, 7),
85
- ano: claveStr.slice(7, 9)
86
- },
87
- cedulaEmisor: claveStr.slice(9, 21),
88
- consecutivo: {
89
- sucursal: claveStr.slice(21, 24),
90
- terminal: claveStr.slice(24, 29),
91
- tipoDocumento: claveStr.slice(29, 31),
92
- consecutivo: claveStr.slice(31, 41)
93
- },
94
- situacionCE: claveStr.slice(41, 42),
95
- codigoSeguridad: claveStr.slice(42, 51)
96
- };
97
- }
98
- exports.stringToClave = stringToClave;
99
- function parseOptions(frontEndRequest) {
100
- const sender = getSender(frontEndRequest);
101
- return {
102
- cedulaEmisor: sender.numeroIdentificacion,
103
- codigoPais: frontEndRequest.codigoPais,
104
- codigoSeguridad: frontEndRequest.codigoSeguridad,
105
- consecutivo: frontEndRequest.consecutivo,
106
- situacionCE: frontEndRequest.situationEC,
107
- sucursal: frontEndRequest.sucursal,
108
- terminal: frontEndRequest.terminal,
109
- tipoCedula: sender.tipoIdentificacion,
110
- tipoDocKey: frontEndRequest.tipoDocumento
111
- };
112
- }
113
- exports.parseOptions = parseOptions;
114
- function getClave(frontEndRequest) {
115
- const claveOptions = parseOptions(frontEndRequest);
116
- return genClave(claveOptions);
117
- }
118
- exports.getClave = getClave;
119
- //# sourceMappingURL=index.js.map