El módulo Importar CSV SII permite cargar directamente el Libro de Compras descargado desde el portal del Servicio de Impuestos Internos de Chile. El archivo que entrega el SII usa codificación latin1 (ISO-8859-1) y punto y coma (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Davidmallega/Gastos-App/llms.txt
Use this file to discover all available pages before exploring further.
;) como delimitador de columnas, que es el formato nativo con el que trabaja GastosApp. El proceso sigue un stepper de tres pasos: subida del archivo, revisión del preview con detección de duplicados y asignación de categorías, y confirmación de la importación. Al confirmar, los registros nuevos se agregan como facturas SII y los proveedores que no existan en el directorio se crean automáticamente.
Proceso de importación
Subir archivo
Ve a Administración → Importar CSV. Arrastra el archivo GastosApp mapea cada columna al modelo interno de factura según esta tabla:
.csv a la zona de carga o haz clic en ella para abrirlo con el explorador de archivos.GastosApp espera un archivo exportado desde SII → Registro de Compras y Ventas → Libro de Compras → Exportar CSV. El parser valida que las columnas mínimas requeridas (Razon Social, Fecha Docto, Monto Total) estén presentes; si faltan, muestra un error antes de avanzar.El encabezado del CSV del SII tiene la siguiente estructura:| Columna CSV | Campo interno |
|---|---|
RUT Proveedor | rutProveedor |
Razon Social | proveedor |
Folio | numero |
Fecha Docto | fecha |
Monto Neto | neto |
Monto IVA Recuperable | iva |
Monto Total | total |
Valor Otro Impuesto | otroImpuesto (en observaciones si > 0) |
Preview — revisar y categorizar
Después de parsear el archivo, GastosApp muestra una tabla con todos los registros encontrados. Cada fila tiene un badge de estado y un selector de categoría:Badges de estado:
Selección de categoría: cada fila nueva tiene un desplegable que muestra las categorías del catálogo. Las filas auto-categorizadas ya tienen una categoría preseleccionada, pero puede cambiarse manualmente antes de importar.En la parte superior del preview se muestran cuatro contadores: Total registros, Nuevos, Duplicados y Auto-categorizados.
| Badge | Significado |
|---|---|
| Nuevo (azul) | El registro no existe en el historial de facturas. Se puede seleccionar para importar. |
| Auto (verde) | El registro es nuevo y fue categorizado automáticamente por uno de los tres niveles de auto-categorización. |
| Duplicado (gris) | Ya existe una factura con el mismo folio y RUT proveedor. No se puede seleccionar para importar. |
La importación queda bloqueada si hay filas seleccionadas sin categoría asignada. El sistema muestra un aviso indicando cuántas filas requieren categoría antes de permitir continuar.
Confirmación
Al hacer clic en Importar, GastosApp:
- Agrega las facturas seleccionadas al historial (
facturas[]en el store). - Crea automáticamente los proveedores nuevos que aparezcan en las facturas importadas y aún no existan en el directorio (matching por RUT o por nombre).
- Muestra la pantalla de confirmación con el conteo de facturas importadas y proveedores creados.
Auto-categorización
Antes de mostrar el preview, GastosApp intenta asignar una categoría a cada registro nuevo usando tres niveles de detección en orden de prioridad:Nivel 1 — RUT exacto en el directorio de proveedores
Nivel 1 — RUT exacto en el directorio de proveedores
El sistema busca en
proveedores[] un registro cuyo campo rut coincida exactamente con el RUT Proveedor de la fila del CSV. Si encuentra una coincidencia y el proveedor tiene categoría asignada, la usa directamente.Este es el nivel más confiable porque el RUT es un identificador único e inmutable del proveedor.Nivel 2 — RUT encontrado en el historial de facturas
Nivel 2 — RUT encontrado en el historial de facturas
Si el RUT no está en el directorio (o el proveedor no tiene categoría), el sistema busca en
facturas[] registros anteriores con el mismo rutProveedor que sí tengan categoría. Toma la categoría del registro más reciente por createdAt o fecha.Este nivel es útil para proveedores que ya fueron importados en un período anterior pero aún no están en el directorio formal.Nivel 3 — Nombre del emisor en el historial de Gastos por Caja
Nivel 3 — Nombre del emisor en el historial de Gastos por Caja
Si no hay coincidencia por RUT en facturas, el sistema busca en
gastosCaja[] registros cuyo campo proveedor coincida con la Razon Social de la fila del CSV y que tengan categoría. Toma la categoría del registro más reciente.Este nivel cubre el caso en que el proveedor fue ingresado manualmente como gasto por caja antes de que comenzara a emitir facturas SII.Detección de duplicados
GastosApp detecta duplicados comparando la clave compuestafolio + RUT proveedor (${numero}__${rutProveedor}) contra:
- Todas las facturas ya existentes en el store (
facturas[]). - Las demás filas del mismo archivo CSV (para evitar importar dos veces el mismo folio si aparece repetido en el archivo).
La detección de duplicados es preventiva, no bloqueante: si por algún motivo necesitas reimportar un registro ya existente, puedes eliminarlo del historial primero y volver a importarlo desde el CSV.