@devlas/dte-sii 2.5.0
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/BoletaService.js +109 -0
- package/CAF.js +173 -0
- package/CafSolicitor.js +380 -0
- package/Certificado.js +123 -0
- package/ConsumoFolio.js +376 -0
- package/DTE.js +399 -0
- package/EnviadorSII.js +1304 -0
- package/Envio.js +196 -0
- package/FolioRegistry.js +553 -0
- package/FolioService.js +703 -0
- package/LICENSE +27 -0
- package/LibroBase.js +134 -0
- package/LibroCompraVenta.js +205 -0
- package/LibroGuia.js +225 -0
- package/README.md +239 -0
- package/Signer.js +94 -0
- package/SiiCertificacion.js +1189 -0
- package/SiiPortalAuth.js +460 -0
- package/SiiSession.js +499 -0
- package/cert/BoletaCert.js +731 -0
- package/cert/CertFolioHelper.js +185 -0
- package/cert/CertRunner.js +2658 -0
- package/cert/ConfigLoader.js +133 -0
- package/cert/IntercambioCert.js +429 -0
- package/cert/LibroCompras.js +359 -0
- package/cert/LibroGuias.js +171 -0
- package/cert/LibroVentas.js +153 -0
- package/cert/MuestrasImpresas.js +676 -0
- package/cert/SetBase.js +321 -0
- package/cert/SetBasico.js +413 -0
- package/cert/SetCompra.js +472 -0
- package/cert/SetExenta.js +490 -0
- package/cert/SetGuia.js +283 -0
- package/cert/SetParser.js +1184 -0
- package/cert/SetsProvider.js +499 -0
- package/cert/Simulacion.js +521 -0
- package/cert/comunaOficina.js +460 -0
- package/cert/index.js +124 -0
- package/cert/types.js +330 -0
- package/dte-sii.d.ts +458 -0
- package/index.js +428 -0
- package/package.json +48 -0
- package/utils/c14n.js +275 -0
- package/utils/calculo.js +396 -0
- package/utils/config.js +276 -0
- package/utils/constants.js +302 -0
- package/utils/emisor.js +174 -0
- package/utils/endpoints.js +225 -0
- package/utils/error.js +235 -0
- package/utils/index.js +339 -0
- package/utils/logger.js +239 -0
- package/utils/pfx.js +203 -0
- package/utils/receptor.js +218 -0
- package/utils/referencia.js +169 -0
- package/utils/resolucion.js +119 -0
- package/utils/rut.js +169 -0
- package/utils/sanitize.js +124 -0
- package/utils/tokenCache.js +214 -0
- package/utils/xml.js +358 -0
- package/utils.js +4 -0
|
@@ -0,0 +1,460 @@
|
|
|
1
|
+
// Copyright (c) 2026 Devlas SpA — https://devlas.cl
|
|
2
|
+
// Licencia MIT. Ver archivo LICENSE para mas detalles.
|
|
3
|
+
/**
|
|
4
|
+
* comunaOficina.js
|
|
5
|
+
*
|
|
6
|
+
* Mapa de comuna → oficina SII para el campo siiOficina de muestras impresas.
|
|
7
|
+
* Generado consultando https://www.sii.cl/ayudas/asistencia/oficinas/
|
|
8
|
+
*
|
|
9
|
+
* Formato: 'S.I.I. - NOMBRE_CORTO' (igual al default histórico 'S.I.I. - SANTIAGO CENTRO')
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
'use strict';
|
|
13
|
+
|
|
14
|
+
/** @type {Record<string, string>} */
|
|
15
|
+
const COMUNA_OFICINA_SII = {
|
|
16
|
+
// ── REGIÓN 1: Arica y Parinacota ─────────────────────────────────────────
|
|
17
|
+
'arica': 'S.I.I. - ARICA',
|
|
18
|
+
'camarones': 'S.I.I. - ARICA',
|
|
19
|
+
'putre': 'S.I.I. - ARICA',
|
|
20
|
+
'general lagos': 'S.I.I. - ARICA',
|
|
21
|
+
|
|
22
|
+
// ── REGIÓN 2: Tarapacá ───────────────────────────────────────────────────
|
|
23
|
+
'iquique': 'S.I.I. - IQUIQUE',
|
|
24
|
+
'alto hospicio': 'S.I.I. - IQUIQUE',
|
|
25
|
+
'pica': 'S.I.I. - IQUIQUE',
|
|
26
|
+
'pozo almonte': 'S.I.I. - IQUIQUE',
|
|
27
|
+
'huara': 'S.I.I. - IQUIQUE',
|
|
28
|
+
'camiña': 'S.I.I. - IQUIQUE',
|
|
29
|
+
'camina': 'S.I.I. - IQUIQUE',
|
|
30
|
+
'colchane': 'S.I.I. - IQUIQUE',
|
|
31
|
+
|
|
32
|
+
// ── REGIÓN 3: Antofagasta ────────────────────────────────────────────────
|
|
33
|
+
'antofagasta': 'S.I.I. - ANTOFAGASTA',
|
|
34
|
+
'mejillones': 'S.I.I. - ANTOFAGASTA',
|
|
35
|
+
'sierra gorda': 'S.I.I. - ANTOFAGASTA',
|
|
36
|
+
'taltal': 'S.I.I. - ANTOFAGASTA',
|
|
37
|
+
'tocopilla': 'S.I.I. - ANTOFAGASTA',
|
|
38
|
+
'maria elena': 'S.I.I. - ANTOFAGASTA',
|
|
39
|
+
// Unidad Calama
|
|
40
|
+
'calama': 'S.I.I. - CALAMA',
|
|
41
|
+
'san pedro de atacama': 'S.I.I. - CALAMA',
|
|
42
|
+
'ollague': 'S.I.I. - CALAMA',
|
|
43
|
+
'ollagüe': 'S.I.I. - CALAMA',
|
|
44
|
+
|
|
45
|
+
// ── REGIÓN 4: Atacama ────────────────────────────────────────────────────
|
|
46
|
+
'copiapó': 'S.I.I. - COPIAPÓ',
|
|
47
|
+
'copiapo': 'S.I.I. - COPIAPÓ',
|
|
48
|
+
'caldera': 'S.I.I. - COPIAPÓ',
|
|
49
|
+
'tierra amarilla': 'S.I.I. - COPIAPÓ',
|
|
50
|
+
'chañaral': 'S.I.I. - COPIAPÓ',
|
|
51
|
+
'chanaral': 'S.I.I. - COPIAPÓ',
|
|
52
|
+
'diego de almagro': 'S.I.I. - COPIAPÓ',
|
|
53
|
+
// Unidad Vallenar
|
|
54
|
+
'vallenar': 'S.I.I. - VALLENAR',
|
|
55
|
+
'freirina': 'S.I.I. - VALLENAR',
|
|
56
|
+
'huasco': 'S.I.I. - VALLENAR',
|
|
57
|
+
'alto del carmen': 'S.I.I. - VALLENAR',
|
|
58
|
+
|
|
59
|
+
// ── REGIÓN 5: Coquimbo ───────────────────────────────────────────────────
|
|
60
|
+
'la serena': 'S.I.I. - LA SERENA',
|
|
61
|
+
'la higuera': 'S.I.I. - LA SERENA',
|
|
62
|
+
'paihuano': 'S.I.I. - LA SERENA',
|
|
63
|
+
'andacollo': 'S.I.I. - LA SERENA',
|
|
64
|
+
'vicuña': 'S.I.I. - LA SERENA',
|
|
65
|
+
'vicuna': 'S.I.I. - LA SERENA',
|
|
66
|
+
// Unidad Coquimbo
|
|
67
|
+
'coquimbo': 'S.I.I. - COQUIMBO',
|
|
68
|
+
// (Ovalle, Illapel, etc. comparten D. Regional La Serena o tienen unidades propias)
|
|
69
|
+
'ovalle': 'S.I.I. - LA SERENA',
|
|
70
|
+
'illapel': 'S.I.I. - LA SERENA',
|
|
71
|
+
'salamanca': 'S.I.I. - LA SERENA',
|
|
72
|
+
|
|
73
|
+
// ── REGIÓN 6: Valparaíso ─────────────────────────────────────────────────
|
|
74
|
+
'valparaíso': 'S.I.I. - VALPARAÍSO',
|
|
75
|
+
'valparaiso': 'S.I.I. - VALPARAÍSO',
|
|
76
|
+
'casablanca': 'S.I.I. - VALPARAÍSO',
|
|
77
|
+
'juan fernández': 'S.I.I. - VALPARAÍSO',
|
|
78
|
+
'juan fernandez': 'S.I.I. - VALPARAÍSO',
|
|
79
|
+
'isla de pascua': 'S.I.I. - VALPARAÍSO',
|
|
80
|
+
// Unidad Viña del Mar
|
|
81
|
+
'viña del mar': 'S.I.I. - VIÑA DEL MAR',
|
|
82
|
+
'vina del mar': 'S.I.I. - VIÑA DEL MAR',
|
|
83
|
+
'concón': 'S.I.I. - VIÑA DEL MAR',
|
|
84
|
+
'concon': 'S.I.I. - VIÑA DEL MAR',
|
|
85
|
+
'quintero': 'S.I.I. - VIÑA DEL MAR',
|
|
86
|
+
'puchuncaví': 'S.I.I. - VIÑA DEL MAR',
|
|
87
|
+
'puchuncavi': 'S.I.I. - VIÑA DEL MAR',
|
|
88
|
+
// Unidad San Antonio
|
|
89
|
+
'san antonio': 'S.I.I. - SAN ANTONIO',
|
|
90
|
+
'santo domingo': 'S.I.I. - SAN ANTONIO',
|
|
91
|
+
'navidad': 'S.I.I. - SAN ANTONIO',
|
|
92
|
+
'cartagena': 'S.I.I. - SAN ANTONIO',
|
|
93
|
+
'el tabo': 'S.I.I. - SAN ANTONIO',
|
|
94
|
+
'el quisco': 'S.I.I. - SAN ANTONIO',
|
|
95
|
+
'algarrobo': 'S.I.I. - SAN ANTONIO',
|
|
96
|
+
// Unidad Los Andes
|
|
97
|
+
'los andes': 'S.I.I. - LOS ANDES',
|
|
98
|
+
'calle larga': 'S.I.I. - LOS ANDES',
|
|
99
|
+
'san esteban': 'S.I.I. - LOS ANDES',
|
|
100
|
+
'rinconada': 'S.I.I. - LOS ANDES',
|
|
101
|
+
// Unidad San Felipe
|
|
102
|
+
'san felipe': 'S.I.I. - SAN FELIPE',
|
|
103
|
+
'panquehue': 'S.I.I. - SAN FELIPE',
|
|
104
|
+
'catemu': 'S.I.I. - SAN FELIPE',
|
|
105
|
+
'putaendo': 'S.I.I. - SAN FELIPE',
|
|
106
|
+
'llay llay': 'S.I.I. - SAN FELIPE',
|
|
107
|
+
// Unidad Villa Alemana (Quilpué + Villa Alemana)
|
|
108
|
+
'villa alemana': 'S.I.I. - VILLA ALEMANA',
|
|
109
|
+
'quilpué': 'S.I.I. - VILLA ALEMANA',
|
|
110
|
+
'quilpue': 'S.I.I. - VILLA ALEMANA',
|
|
111
|
+
// Unidad Quillota
|
|
112
|
+
'quillota': 'S.I.I. - VALPARAÍSO',
|
|
113
|
+
'la calera': 'S.I.I. - VALPARAÍSO',
|
|
114
|
+
'la cruz': 'S.I.I. - VALPARAÍSO',
|
|
115
|
+
'nogales': 'S.I.I. - VALPARAÍSO',
|
|
116
|
+
'hijuelas': 'S.I.I. - VALPARAÍSO',
|
|
117
|
+
'olmué': 'S.I.I. - VALPARAÍSO',
|
|
118
|
+
'olmue': 'S.I.I. - VALPARAÍSO',
|
|
119
|
+
'limache': 'S.I.I. - VALPARAÍSO',
|
|
120
|
+
'la ligua': 'S.I.I. - VALPARAÍSO',
|
|
121
|
+
'petorca': 'S.I.I. - VALPARAÍSO',
|
|
122
|
+
'cabildo': 'S.I.I. - VALPARAÍSO',
|
|
123
|
+
'papudo': 'S.I.I. - VALPARAÍSO',
|
|
124
|
+
'zapallar': 'S.I.I. - VALPARAÍSO',
|
|
125
|
+
|
|
126
|
+
// ── REGIÓN 7: Metropolitana ──────────────────────────────────────────────
|
|
127
|
+
// D.R. Santiago Centro
|
|
128
|
+
'santiago': 'S.I.I. - SANTIAGO CENTRO',
|
|
129
|
+
// D.R. Santiago Oriente
|
|
130
|
+
'las condes': 'S.I.I. - SANTIAGO ORIENTE',
|
|
131
|
+
'lo barnechea': 'S.I.I. - SANTIAGO ORIENTE',
|
|
132
|
+
'vitacura': 'S.I.I. - SANTIAGO ORIENTE',
|
|
133
|
+
// D.R. Santiago Norte
|
|
134
|
+
'independencia': 'S.I.I. - SANTIAGO NORTE',
|
|
135
|
+
'recoleta': 'S.I.I. - SANTIAGO NORTE',
|
|
136
|
+
'huechuraba': 'S.I.I. - SANTIAGO NORTE',
|
|
137
|
+
'conchalí': 'S.I.I. - SANTIAGO NORTE',
|
|
138
|
+
'conchali': 'S.I.I. - SANTIAGO NORTE',
|
|
139
|
+
'quilicura': 'S.I.I. - SANTIAGO NORTE',
|
|
140
|
+
'colina': 'S.I.I. - SANTIAGO NORTE',
|
|
141
|
+
'lampa': 'S.I.I. - SANTIAGO NORTE',
|
|
142
|
+
'til-til': 'S.I.I. - SANTIAGO NORTE',
|
|
143
|
+
'tiltil': 'S.I.I. - SANTIAGO NORTE',
|
|
144
|
+
// D.R. Santiago Poniente
|
|
145
|
+
'cerro navia': 'S.I.I. - SANTIAGO PONIENTE',
|
|
146
|
+
'curacaví': 'S.I.I. - SANTIAGO PONIENTE',
|
|
147
|
+
'curacavi': 'S.I.I. - SANTIAGO PONIENTE',
|
|
148
|
+
'estación central': 'S.I.I. - SANTIAGO PONIENTE',
|
|
149
|
+
'estacion central': 'S.I.I. - SANTIAGO PONIENTE',
|
|
150
|
+
'lo prado': 'S.I.I. - SANTIAGO PONIENTE',
|
|
151
|
+
'pudahuel': 'S.I.I. - SANTIAGO PONIENTE',
|
|
152
|
+
'quinta normal': 'S.I.I. - SANTIAGO PONIENTE',
|
|
153
|
+
'renca': 'S.I.I. - SANTIAGO PONIENTE',
|
|
154
|
+
// D.R. Santiago Sur
|
|
155
|
+
'san miguel': 'S.I.I. - SANTIAGO SUR',
|
|
156
|
+
'la cisterna': 'S.I.I. - SANTIAGO SUR',
|
|
157
|
+
'san joaquín': 'S.I.I. - SANTIAGO SUR',
|
|
158
|
+
'san joaquin': 'S.I.I. - SANTIAGO SUR',
|
|
159
|
+
'pedro aguirre cerda': 'S.I.I. - SANTIAGO SUR',
|
|
160
|
+
'lo espejo': 'S.I.I. - SANTIAGO SUR',
|
|
161
|
+
'la granja': 'S.I.I. - SANTIAGO SUR',
|
|
162
|
+
'la pintana': 'S.I.I. - SANTIAGO SUR',
|
|
163
|
+
'san ramón': 'S.I.I. - SANTIAGO SUR',
|
|
164
|
+
'san ramon': 'S.I.I. - SANTIAGO SUR',
|
|
165
|
+
// Unidad Ñuñoa
|
|
166
|
+
'ñuñoa': 'S.I.I. - ÑUÑOA',
|
|
167
|
+
'nunoa': 'S.I.I. - ÑUÑOA',
|
|
168
|
+
'la reina': 'S.I.I. - ÑUÑOA',
|
|
169
|
+
'macul': 'S.I.I. - ÑUÑOA',
|
|
170
|
+
'peñalolén': 'S.I.I. - ÑUÑOA',
|
|
171
|
+
'penalolen': 'S.I.I. - ÑUÑOA',
|
|
172
|
+
// Unidad Maipú
|
|
173
|
+
'maipú': 'S.I.I. - MAIPÚ',
|
|
174
|
+
'maipu': 'S.I.I. - MAIPÚ',
|
|
175
|
+
'cerrillos': 'S.I.I. - MAIPÚ',
|
|
176
|
+
'el monte': 'S.I.I. - MAIPÚ',
|
|
177
|
+
'isla de maipo': 'S.I.I. - MAIPÚ',
|
|
178
|
+
'padre hurtado': 'S.I.I. - MAIPÚ',
|
|
179
|
+
'peñaflor': 'S.I.I. - MAIPÚ',
|
|
180
|
+
'penaflor': 'S.I.I. - MAIPÚ',
|
|
181
|
+
'talagante': 'S.I.I. - MAIPÚ',
|
|
182
|
+
// Unidad La Florida
|
|
183
|
+
'la florida': 'S.I.I. - LA FLORIDA',
|
|
184
|
+
'puente alto': 'S.I.I. - LA FLORIDA',
|
|
185
|
+
'pirque': 'S.I.I. - LA FLORIDA',
|
|
186
|
+
'san josé de maipo': 'S.I.I. - LA FLORIDA',
|
|
187
|
+
'san jose de maipo': 'S.I.I. - LA FLORIDA',
|
|
188
|
+
// Unidad Providencia
|
|
189
|
+
'providencia': 'S.I.I. - PROVIDENCIA',
|
|
190
|
+
// Unidad San Bernardo
|
|
191
|
+
'san bernardo': 'S.I.I. - SAN BERNARDO',
|
|
192
|
+
'calera de tango': 'S.I.I. - SAN BERNARDO',
|
|
193
|
+
'el bosque': 'S.I.I. - SAN BERNARDO',
|
|
194
|
+
// Unidad Buin
|
|
195
|
+
'buin': 'S.I.I. - BUIN',
|
|
196
|
+
'paine': 'S.I.I. - BUIN',
|
|
197
|
+
// Melipilla (comparte D.R. Santiago Poniente en algunos esquemas)
|
|
198
|
+
'melipilla': 'S.I.I. - SANTIAGO PONIENTE',
|
|
199
|
+
'alhué': 'S.I.I. - SANTIAGO PONIENTE',
|
|
200
|
+
'alhue': 'S.I.I. - SANTIAGO PONIENTE',
|
|
201
|
+
'san pedro': 'S.I.I. - SANTIAGO PONIENTE',
|
|
202
|
+
|
|
203
|
+
// ── REGIÓN 8: O'Higgins ──────────────────────────────────────────────────
|
|
204
|
+
'rancagua': 'S.I.I. - RANCAGUA',
|
|
205
|
+
'machalí': 'S.I.I. - RANCAGUA',
|
|
206
|
+
'machali': 'S.I.I. - RANCAGUA',
|
|
207
|
+
'graneros': 'S.I.I. - RANCAGUA',
|
|
208
|
+
'san francisco de mostazal': 'S.I.I. - RANCAGUA',
|
|
209
|
+
'doñihue': 'S.I.I. - RANCAGUA',
|
|
210
|
+
'donihue': 'S.I.I. - RANCAGUA',
|
|
211
|
+
'codegua': 'S.I.I. - RANCAGUA',
|
|
212
|
+
'rengo': 'S.I.I. - RANCAGUA',
|
|
213
|
+
'coltauco': 'S.I.I. - RANCAGUA',
|
|
214
|
+
'requinoa': 'S.I.I. - RANCAGUA',
|
|
215
|
+
'olivar': 'S.I.I. - RANCAGUA',
|
|
216
|
+
'malloa': 'S.I.I. - RANCAGUA',
|
|
217
|
+
'quinta de tilcoco': 'S.I.I. - RANCAGUA',
|
|
218
|
+
'coinco': 'S.I.I. - RANCAGUA',
|
|
219
|
+
// Resto de O'Higgins → Rancagua como capital de región
|
|
220
|
+
'san fernando': 'S.I.I. - RANCAGUA',
|
|
221
|
+
'santa cruz': 'S.I.I. - RANCAGUA',
|
|
222
|
+
'pichilemu': 'S.I.I. - RANCAGUA',
|
|
223
|
+
|
|
224
|
+
// ── REGIÓN 9: Maule ──────────────────────────────────────────────────────
|
|
225
|
+
'talca': 'S.I.I. - TALCA',
|
|
226
|
+
'san clemente': 'S.I.I. - TALCA',
|
|
227
|
+
'pelarco': 'S.I.I. - TALCA',
|
|
228
|
+
'río claro': 'S.I.I. - TALCA',
|
|
229
|
+
'rio claro': 'S.I.I. - TALCA',
|
|
230
|
+
'pencahue': 'S.I.I. - TALCA',
|
|
231
|
+
'maule': 'S.I.I. - TALCA',
|
|
232
|
+
'curepto': 'S.I.I. - TALCA',
|
|
233
|
+
'san javier': 'S.I.I. - TALCA',
|
|
234
|
+
'san rafael': 'S.I.I. - TALCA',
|
|
235
|
+
'constitución': 'S.I.I. - TALCA',
|
|
236
|
+
'constitucion': 'S.I.I. - TALCA',
|
|
237
|
+
'empedrado': 'S.I.I. - TALCA',
|
|
238
|
+
// Unidad Curicó
|
|
239
|
+
'curicó': 'S.I.I. - CURICÓ',
|
|
240
|
+
'curico': 'S.I.I. - CURICÓ',
|
|
241
|
+
'teno': 'S.I.I. - CURICÓ',
|
|
242
|
+
'romeral': 'S.I.I. - CURICÓ',
|
|
243
|
+
'molina': 'S.I.I. - CURICÓ',
|
|
244
|
+
'hualañe': 'S.I.I. - CURICÓ',
|
|
245
|
+
'hualane': 'S.I.I. - CURICÓ',
|
|
246
|
+
'sagrada familia': 'S.I.I. - CURICÓ',
|
|
247
|
+
'licantén': 'S.I.I. - CURICÓ',
|
|
248
|
+
'licanten': 'S.I.I. - CURICÓ',
|
|
249
|
+
'vichuquén': 'S.I.I. - CURICÓ',
|
|
250
|
+
'vichuquen': 'S.I.I. - CURICÓ',
|
|
251
|
+
'rauco': 'S.I.I. - CURICÓ',
|
|
252
|
+
// Linares → Talca
|
|
253
|
+
'linares': 'S.I.I. - TALCA',
|
|
254
|
+
'longaví': 'S.I.I. - TALCA',
|
|
255
|
+
'longavi': 'S.I.I. - TALCA',
|
|
256
|
+
'parral': 'S.I.I. - TALCA',
|
|
257
|
+
'cauquenes': 'S.I.I. - TALCA',
|
|
258
|
+
|
|
259
|
+
// ── REGIÓN 10: Bío Bío ───────────────────────────────────────────────────
|
|
260
|
+
'concepción': 'S.I.I. - CONCEPCIÓN',
|
|
261
|
+
'concepcion': 'S.I.I. - CONCEPCIÓN',
|
|
262
|
+
'chiguayante': 'S.I.I. - CONCEPCIÓN',
|
|
263
|
+
'san pedro de la paz': 'S.I.I. - CONCEPCIÓN',
|
|
264
|
+
'penco': 'S.I.I. - CONCEPCIÓN',
|
|
265
|
+
'hualqui': 'S.I.I. - CONCEPCIÓN',
|
|
266
|
+
'florida': 'S.I.I. - CONCEPCIÓN',
|
|
267
|
+
'tomé': 'S.I.I. - CONCEPCIÓN',
|
|
268
|
+
'tome': 'S.I.I. - CONCEPCIÓN',
|
|
269
|
+
'coronel': 'S.I.I. - CONCEPCIÓN',
|
|
270
|
+
'lota': 'S.I.I. - CONCEPCIÓN',
|
|
271
|
+
'santa juana': 'S.I.I. - CONCEPCIÓN',
|
|
272
|
+
'arauco': 'S.I.I. - CONCEPCIÓN',
|
|
273
|
+
'lebu': 'S.I.I. - CONCEPCIÓN',
|
|
274
|
+
'cañete': 'S.I.I. - CONCEPCIÓN',
|
|
275
|
+
'canete': 'S.I.I. - CONCEPCIÓN',
|
|
276
|
+
'tirúa': 'S.I.I. - CONCEPCIÓN',
|
|
277
|
+
'tirua': 'S.I.I. - CONCEPCIÓN',
|
|
278
|
+
'curanilahue': 'S.I.I. - CONCEPCIÓN',
|
|
279
|
+
'los álamos': 'S.I.I. - CONCEPCIÓN',
|
|
280
|
+
'los alamos': 'S.I.I. - CONCEPCIÓN',
|
|
281
|
+
// Unidad Los Ángeles
|
|
282
|
+
'los ángeles': 'S.I.I. - LOS ÁNGELES',
|
|
283
|
+
'los angeles': 'S.I.I. - LOS ÁNGELES',
|
|
284
|
+
'santa bárbara': 'S.I.I. - LOS ÁNGELES',
|
|
285
|
+
'santa barbara': 'S.I.I. - LOS ÁNGELES',
|
|
286
|
+
'laja': 'S.I.I. - LOS ÁNGELES',
|
|
287
|
+
'quilleco': 'S.I.I. - LOS ÁNGELES',
|
|
288
|
+
'nacimiento': 'S.I.I. - LOS ÁNGELES',
|
|
289
|
+
'negrete': 'S.I.I. - LOS ÁNGELES',
|
|
290
|
+
'mulchén': 'S.I.I. - LOS ÁNGELES',
|
|
291
|
+
'mulchen': 'S.I.I. - LOS ÁNGELES',
|
|
292
|
+
'quilaco': 'S.I.I. - LOS ÁNGELES',
|
|
293
|
+
'yumbel': 'S.I.I. - LOS ÁNGELES',
|
|
294
|
+
'cabrero': 'S.I.I. - LOS ÁNGELES',
|
|
295
|
+
'san rosendo': 'S.I.I. - LOS ÁNGELES',
|
|
296
|
+
'tucapel': 'S.I.I. - LOS ÁNGELES',
|
|
297
|
+
'antuco': 'S.I.I. - LOS ÁNGELES',
|
|
298
|
+
'alto bío-bío': 'S.I.I. - LOS ÁNGELES',
|
|
299
|
+
'alto biobio': 'S.I.I. - LOS ÁNGELES',
|
|
300
|
+
|
|
301
|
+
// ── REGIÓN 11: Araucanía ─────────────────────────────────────────────────
|
|
302
|
+
'temuco': 'S.I.I. - TEMUCO',
|
|
303
|
+
'vilcún': 'S.I.I. - TEMUCO',
|
|
304
|
+
'vilcun': 'S.I.I. - TEMUCO',
|
|
305
|
+
'freire': 'S.I.I. - TEMUCO',
|
|
306
|
+
'cunco': 'S.I.I. - TEMUCO',
|
|
307
|
+
'lautaro': 'S.I.I. - TEMUCO',
|
|
308
|
+
'perquenco': 'S.I.I. - TEMUCO',
|
|
309
|
+
'galvarino': 'S.I.I. - TEMUCO',
|
|
310
|
+
'nueva imperial': 'S.I.I. - TEMUCO',
|
|
311
|
+
'carahue': 'S.I.I. - TEMUCO',
|
|
312
|
+
'puerto saavedra': 'S.I.I. - TEMUCO',
|
|
313
|
+
'pitrufquén': 'S.I.I. - TEMUCO',
|
|
314
|
+
'pitrufquen': 'S.I.I. - TEMUCO',
|
|
315
|
+
'gorbea': 'S.I.I. - TEMUCO',
|
|
316
|
+
'toltén': 'S.I.I. - TEMUCO',
|
|
317
|
+
'tolten': 'S.I.I. - TEMUCO',
|
|
318
|
+
'loncoche': 'S.I.I. - TEMUCO',
|
|
319
|
+
'melipeuco': 'S.I.I. - TEMUCO',
|
|
320
|
+
'teodoro schmidt': 'S.I.I. - TEMUCO',
|
|
321
|
+
'padre las casas': 'S.I.I. - TEMUCO',
|
|
322
|
+
'cholchol': 'S.I.I. - TEMUCO',
|
|
323
|
+
'angol': 'S.I.I. - TEMUCO',
|
|
324
|
+
'victoria': 'S.I.I. - TEMUCO',
|
|
325
|
+
'traiguén': 'S.I.I. - TEMUCO',
|
|
326
|
+
'traiguen': 'S.I.I. - TEMUCO',
|
|
327
|
+
'los sauces': 'S.I.I. - TEMUCO',
|
|
328
|
+
'lumaco': 'S.I.I. - TEMUCO',
|
|
329
|
+
'purén': 'S.I.I. - TEMUCO',
|
|
330
|
+
'puren': 'S.I.I. - TEMUCO',
|
|
331
|
+
'collipulli': 'S.I.I. - TEMUCO',
|
|
332
|
+
'ercilla': 'S.I.I. - TEMUCO',
|
|
333
|
+
'curacautín': 'S.I.I. - TEMUCO',
|
|
334
|
+
'curacautin': 'S.I.I. - TEMUCO',
|
|
335
|
+
'lonquimay': 'S.I.I. - TEMUCO',
|
|
336
|
+
'villarrica': 'S.I.I. - TEMUCO',
|
|
337
|
+
'pucón': 'S.I.I. - TEMUCO',
|
|
338
|
+
'pucon': 'S.I.I. - TEMUCO',
|
|
339
|
+
'curarrehue': 'S.I.I. - TEMUCO',
|
|
340
|
+
|
|
341
|
+
// ── REGIÓN 12: Los Ríos ──────────────────────────────────────────────────
|
|
342
|
+
'valdivia': 'S.I.I. - VALDIVIA',
|
|
343
|
+
'máfil': 'S.I.I. - VALDIVIA',
|
|
344
|
+
'mafil': 'S.I.I. - VALDIVIA',
|
|
345
|
+
'corral': 'S.I.I. - VALDIVIA',
|
|
346
|
+
'los lagos': 'S.I.I. - VALDIVIA',
|
|
347
|
+
'paillaco': 'S.I.I. - VALDIVIA',
|
|
348
|
+
'futrono': 'S.I.I. - VALDIVIA',
|
|
349
|
+
'río bueno': 'S.I.I. - VALDIVIA',
|
|
350
|
+
'rio bueno': 'S.I.I. - VALDIVIA',
|
|
351
|
+
'la unión': 'S.I.I. - VALDIVIA',
|
|
352
|
+
'la union': 'S.I.I. - VALDIVIA',
|
|
353
|
+
'lago ranco': 'S.I.I. - VALDIVIA',
|
|
354
|
+
'mariquina': 'S.I.I. - VALDIVIA',
|
|
355
|
+
'lanco': 'S.I.I. - VALDIVIA',
|
|
356
|
+
|
|
357
|
+
// ── REGIÓN 13: Los Lagos ─────────────────────────────────────────────────
|
|
358
|
+
'puerto montt': 'S.I.I. - PUERTO MONTT',
|
|
359
|
+
'calbuco': 'S.I.I. - PUERTO MONTT',
|
|
360
|
+
'maullín': 'S.I.I. - PUERTO MONTT',
|
|
361
|
+
'maullin': 'S.I.I. - PUERTO MONTT',
|
|
362
|
+
'los muermos': 'S.I.I. - PUERTO MONTT',
|
|
363
|
+
'hualaihué': 'S.I.I. - PUERTO MONTT',
|
|
364
|
+
'hualaihue': 'S.I.I. - PUERTO MONTT',
|
|
365
|
+
'cochamó': 'S.I.I. - PUERTO MONTT',
|
|
366
|
+
'cochamo': 'S.I.I. - PUERTO MONTT',
|
|
367
|
+
'puerto varas': 'S.I.I. - PUERTO MONTT',
|
|
368
|
+
'llanquihue': 'S.I.I. - PUERTO MONTT',
|
|
369
|
+
'fresia': 'S.I.I. - PUERTO MONTT',
|
|
370
|
+
'frutillar': 'S.I.I. - PUERTO MONTT',
|
|
371
|
+
'los llanos': 'S.I.I. - PUERTO MONTT',
|
|
372
|
+
// Unidad Osorno
|
|
373
|
+
'osorno': 'S.I.I. - OSORNO',
|
|
374
|
+
'puyehue': 'S.I.I. - OSORNO',
|
|
375
|
+
'purranque': 'S.I.I. - OSORNO',
|
|
376
|
+
'río negro': 'S.I.I. - OSORNO',
|
|
377
|
+
'rio negro': 'S.I.I. - OSORNO',
|
|
378
|
+
'san pablo': 'S.I.I. - OSORNO',
|
|
379
|
+
'san juan de la costa': 'S.I.I. - OSORNO',
|
|
380
|
+
'puerto octay': 'S.I.I. - OSORNO',
|
|
381
|
+
// Ancud/Castro → Puerto Montt
|
|
382
|
+
'ancud': 'S.I.I. - PUERTO MONTT',
|
|
383
|
+
'castro': 'S.I.I. - PUERTO MONTT',
|
|
384
|
+
'chonchi': 'S.I.I. - PUERTO MONTT',
|
|
385
|
+
'quellón': 'S.I.I. - PUERTO MONTT',
|
|
386
|
+
'quellon': 'S.I.I. - PUERTO MONTT',
|
|
387
|
+
'dalcahue': 'S.I.I. - PUERTO MONTT',
|
|
388
|
+
|
|
389
|
+
// ── REGIÓN 14: Aysén ─────────────────────────────────────────────────────
|
|
390
|
+
'coyhaique': 'S.I.I. - COYHAIQUE',
|
|
391
|
+
'río ibáñez': 'S.I.I. - COYHAIQUE',
|
|
392
|
+
'rio ibanez': 'S.I.I. - COYHAIQUE',
|
|
393
|
+
'tortel': 'S.I.I. - COYHAIQUE',
|
|
394
|
+
'cochrane': 'S.I.I. - COYHAIQUE',
|
|
395
|
+
'chile chico': 'S.I.I. - COYHAIQUE',
|
|
396
|
+
'aysén': 'S.I.I. - COYHAIQUE',
|
|
397
|
+
'aysen': 'S.I.I. - COYHAIQUE',
|
|
398
|
+
'cisnes': 'S.I.I. - COYHAIQUE',
|
|
399
|
+
'lago verde': 'S.I.I. - COYHAIQUE',
|
|
400
|
+
'guaitecas': 'S.I.I. - COYHAIQUE',
|
|
401
|
+
|
|
402
|
+
// ── REGIÓN 15: Magallanes ────────────────────────────────────────────────
|
|
403
|
+
'punta arenas': 'S.I.I. - PUNTA ARENAS',
|
|
404
|
+
'río verde': 'S.I.I. - PUNTA ARENAS',
|
|
405
|
+
'rio verde': 'S.I.I. - PUNTA ARENAS',
|
|
406
|
+
'san gregorio': 'S.I.I. - PUNTA ARENAS',
|
|
407
|
+
'laguna blanca': 'S.I.I. - PUNTA ARENAS',
|
|
408
|
+
'cabo de hornos': 'S.I.I. - PUNTA ARENAS',
|
|
409
|
+
'puerto natales': 'S.I.I. - PUNTA ARENAS',
|
|
410
|
+
'natales': 'S.I.I. - PUNTA ARENAS',
|
|
411
|
+
'torres del paine': 'S.I.I. - PUNTA ARENAS',
|
|
412
|
+
'porvenir': 'S.I.I. - PUNTA ARENAS',
|
|
413
|
+
'primavera': 'S.I.I. - PUNTA ARENAS',
|
|
414
|
+
'timaukel': 'S.I.I. - PUNTA ARENAS',
|
|
415
|
+
'puerto williams': 'S.I.I. - PUNTA ARENAS',
|
|
416
|
+
|
|
417
|
+
// ── REGIÓN 16: Ñuble ─────────────────────────────────────────────────────
|
|
418
|
+
'chillán': 'S.I.I. - CHILLÁN',
|
|
419
|
+
'chillan': 'S.I.I. - CHILLÁN',
|
|
420
|
+
'chillán viejo': 'S.I.I. - CHILLÁN',
|
|
421
|
+
'chillan viejo': 'S.I.I. - CHILLÁN',
|
|
422
|
+
'coihueco': 'S.I.I. - CHILLÁN',
|
|
423
|
+
'pinto': 'S.I.I. - CHILLÁN',
|
|
424
|
+
'el carmen': 'S.I.I. - CHILLÁN',
|
|
425
|
+
'san ignacio': 'S.I.I. - CHILLÁN',
|
|
426
|
+
'pemuco': 'S.I.I. - CHILLÁN',
|
|
427
|
+
'yungay': 'S.I.I. - CHILLÁN',
|
|
428
|
+
'bulnes': 'S.I.I. - CHILLÁN',
|
|
429
|
+
'quillón': 'S.I.I. - CHILLÁN',
|
|
430
|
+
'quillon': 'S.I.I. - CHILLÁN',
|
|
431
|
+
'ranquil': 'S.I.I. - CHILLÁN',
|
|
432
|
+
'portezuelo': 'S.I.I. - CHILLÁN',
|
|
433
|
+
'coelemu': 'S.I.I. - CHILLÁN',
|
|
434
|
+
'trehuaco': 'S.I.I. - CHILLÁN',
|
|
435
|
+
'quirihue': 'S.I.I. - CHILLÁN',
|
|
436
|
+
'cobquecura': 'S.I.I. - CHILLÁN',
|
|
437
|
+
'ninhue': 'S.I.I. - CHILLÁN',
|
|
438
|
+
'san carlos': 'S.I.I. - CHILLÁN',
|
|
439
|
+
'ñiquén': 'S.I.I. - CHILLÁN',
|
|
440
|
+
'niquen': 'S.I.I. - CHILLÁN',
|
|
441
|
+
'san fabián': 'S.I.I. - CHILLÁN',
|
|
442
|
+
'san fabian': 'S.I.I. - CHILLÁN',
|
|
443
|
+
'san nicolás': 'S.I.I. - CHILLÁN',
|
|
444
|
+
'san nicolas': 'S.I.I. - CHILLÁN',
|
|
445
|
+
};
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Devuelve el nombre de la oficina SII para imprimir en la muestra impresa.
|
|
449
|
+
* Formato: 'S.I.I. - NOMBRE_OFICINA'
|
|
450
|
+
*
|
|
451
|
+
* @param {string} comuna - Nombre de la comuna (se normaliza automáticamente)
|
|
452
|
+
* @returns {string} Nombre de oficina, o null si no se encuentra
|
|
453
|
+
*/
|
|
454
|
+
function getOficinaForComuna(comuna) {
|
|
455
|
+
if (!comuna || typeof comuna !== 'string') return null;
|
|
456
|
+
const key = comuna.trim().toLowerCase();
|
|
457
|
+
return COMUNA_OFICINA_SII[key] || null;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
module.exports = { COMUNA_OFICINA_SII, getOficinaForComuna };
|
package/cert/index.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// Copyright (c) 2026 Devlas SpA — https://devlas.cl
|
|
2
|
+
// Licencia MIT. Ver archivo LICENSE para mas detalles.
|
|
3
|
+
/**
|
|
4
|
+
* Módulo de Certificación SII
|
|
5
|
+
*
|
|
6
|
+
* Proporciona todo lo necesario para ejecutar el proceso de
|
|
7
|
+
* certificación de facturación electrónica del SII de Chile.
|
|
8
|
+
*
|
|
9
|
+
* Componentes:
|
|
10
|
+
* - CertRunner: Orquestador del proceso completo
|
|
11
|
+
* - Sets: SetBasico, SetExenta, SetGuia, SetCompra
|
|
12
|
+
* - Libros: LibroVentasCert, LibroComprasCert, LibroGuiasCert
|
|
13
|
+
* - Simulacion: Etapa 2 del proceso
|
|
14
|
+
*
|
|
15
|
+
* @module dte-sii/cert
|
|
16
|
+
* @example
|
|
17
|
+
* const { CertRunner, SetBasico } = require('@devlas/dte-sii/cert');
|
|
18
|
+
*
|
|
19
|
+
* const runner = new CertRunner(config);
|
|
20
|
+
* await runner.ejecutar();
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
// Tipos y constantes
|
|
24
|
+
const types = require('./types');
|
|
25
|
+
|
|
26
|
+
// Helpers existentes
|
|
27
|
+
const CertFolioHelper = require('./CertFolioHelper');
|
|
28
|
+
// Configuración centralizada
|
|
29
|
+
const ConfigLoader = require('./ConfigLoader');
|
|
30
|
+
// Parser de sets de prueba
|
|
31
|
+
const SetParser = require('./SetParser');
|
|
32
|
+
// Clase base
|
|
33
|
+
const SetBase = require('./SetBase');
|
|
34
|
+
|
|
35
|
+
// Obtención de sets de prueba (Fase 2)
|
|
36
|
+
const SetsProvider = require('./SetsProvider');
|
|
37
|
+
|
|
38
|
+
// ═══════════════════════════════════════════════════════════════
|
|
39
|
+
// SETS
|
|
40
|
+
// ═══════════════════════════════════════════════════════════════
|
|
41
|
+
|
|
42
|
+
// Fase 3 - Sets migrados ✅
|
|
43
|
+
const SetBasico = require('./SetBasico');
|
|
44
|
+
const SetGuia = require('./SetGuia');
|
|
45
|
+
const SetExenta = require('./SetExenta');
|
|
46
|
+
const SetCompra = require('./SetCompra');
|
|
47
|
+
|
|
48
|
+
// ═══════════════════════════════════════════════════════════════
|
|
49
|
+
// LIBROS (Fase 4) ✅
|
|
50
|
+
// ═══════════════════════════════════════════════════════════════
|
|
51
|
+
|
|
52
|
+
const LibroVentas = require('./LibroVentas');
|
|
53
|
+
const LibroCompras = require('./LibroCompras');
|
|
54
|
+
const LibroGuias = require('./LibroGuias');
|
|
55
|
+
|
|
56
|
+
// ═══════════════════════════════════════════════════════════════
|
|
57
|
+
// RUNNER Y SIMULACIÓN
|
|
58
|
+
// ═══════════════════════════════════════════════════════════════
|
|
59
|
+
|
|
60
|
+
const CertRunner = require('./CertRunner');
|
|
61
|
+
|
|
62
|
+
// Fase 6 - Simulación ✅
|
|
63
|
+
const Simulacion = require('./Simulacion');
|
|
64
|
+
|
|
65
|
+
// ═══════════════════════════════════════════════════════════════
|
|
66
|
+
// BOLETAS ELECTRÓNICAS
|
|
67
|
+
// ═══════════════════════════════════════════════════════════════
|
|
68
|
+
|
|
69
|
+
const BoletaCert = require('./BoletaCert');
|
|
70
|
+
|
|
71
|
+
// ═══════════════════════════════════════════════════════════════
|
|
72
|
+
// INTERCAMBIO DE INFORMACIÓN
|
|
73
|
+
// ═══════════════════════════════════════════════════════════════
|
|
74
|
+
|
|
75
|
+
const IntercambioCert = require('./IntercambioCert');
|
|
76
|
+
|
|
77
|
+
// ═══════════════════════════════════════════════════════════════
|
|
78
|
+
// EXPORTS
|
|
79
|
+
// ═══════════════════════════════════════════════════════════════
|
|
80
|
+
|
|
81
|
+
module.exports = {
|
|
82
|
+
// Tipos y constantes
|
|
83
|
+
...types,
|
|
84
|
+
|
|
85
|
+
// Helpers existentes (v1)
|
|
86
|
+
CertFolioHelper,
|
|
87
|
+
|
|
88
|
+
// Configuración centralizada
|
|
89
|
+
ConfigLoader,
|
|
90
|
+
loadConfig: ConfigLoader.loadConfig,
|
|
91
|
+
printBanner: ConfigLoader.printBanner,
|
|
92
|
+
|
|
93
|
+
// Parser de sets de prueba
|
|
94
|
+
SetParser,
|
|
95
|
+
|
|
96
|
+
// Clases base
|
|
97
|
+
SetBase,
|
|
98
|
+
|
|
99
|
+
// Obtención de sets (Fase 2)
|
|
100
|
+
SetsProvider,
|
|
101
|
+
|
|
102
|
+
// Sets
|
|
103
|
+
SetBasico,
|
|
104
|
+
SetGuia,
|
|
105
|
+
SetExenta,
|
|
106
|
+
SetCompra,
|
|
107
|
+
|
|
108
|
+
// Libros (Fase 4) ✅
|
|
109
|
+
LibroVentas,
|
|
110
|
+
LibroCompras,
|
|
111
|
+
LibroGuias,
|
|
112
|
+
|
|
113
|
+
// Runner (orquestador principal)
|
|
114
|
+
CertRunner,
|
|
115
|
+
|
|
116
|
+
// Simulación (Fase 6) ✅
|
|
117
|
+
Simulacion,
|
|
118
|
+
|
|
119
|
+
// Boletas Electrónicas
|
|
120
|
+
BoletaCert,
|
|
121
|
+
|
|
122
|
+
// Intercambio de Información
|
|
123
|
+
IntercambioCert,
|
|
124
|
+
};
|