# Ruta DIAN → SIIGO: Documentos de contabilización

## Objetivo
Generar un archivo plano de documentos de contabilización para cargar en SIIGO, a partir de:
- **Archivo DIAN**: documentos emitidos/recibidos con totales de impuestos (sin ítems, porcentajes ni bases).
- **Archivo de proveedores**: características, qué venden y postura frente a la empresa.

## Camino recomendado (rápido y revisable)

### Paso 1 – Obtener la plantilla oficial de SIIGO
1. En SIIGO: **Interfaces → Importaciones desde Excel → Movimiento contable → Generar modelo para importar**.
2. Elige el modelo (p. ej. General o Básico) y los campos que necesites.
3. Exporta la plantilla en blanco a Excel.
4. **No modificar**: nombres de columnas, fila 5 (encabezados), orden de columnas.

Así tendrás los nombres exactos de columnas que SIIGO espera (Fecha, Tercero, Cuenta, Centro de costo, Débito, Haber, Número documento, etc.).

### Paso 2 – Primera versión del generador (este proyecto)
- **Entrada 1 – DIAN**: CSV o Excel con al menos: Prefijo, Folio, Fecha, NIT emisor, Nombre emisor, Tipo documento, **Total**, **Total impuestos (IVA)**.  
  Si usas MySQL (como en tu informe ICG/DIAN), se puede leer desde ahí.
- **Entrada 2 – Proveedores**: CSV o Excel con NIT (o identificador), nombre, **cuenta contable** (o tipo: inventario/servicios), **centro de costo**, **¿aplica retención?** (postura).

Con eso el script:
1. Lee DIAN y proveedores.
2. Calcula **base** cuando no la traes: `Base = Total - IVA` (si el total incluye IVA) o usa el Total de impuestos que sí tienes.
3. Cruza NIT con el archivo de proveedores para asignar cuenta, centro de costo y retención.
4. Arma **líneas de movimiento** por documento:
   - Débito: cuenta de compras/servicios (base) y cuenta de IVA (impuesto).
   - Haber: cuenta de proveedores (total a pagar) y, si aplica, retención en la fuente.
5. Exporta a **Excel** con las mismas columnas que la plantilla de SIIGO (o un mapeo que documentamos en el notebook).

### Paso 3 – Ajustar y validar
- Comparar un documento generado vs uno contabilizado a mano en SIIGO.
- Ajustar cuentas, centros de costo y reglas de retención según tu plan contable.
- Cuando coincida, guardar el Excel como **texto delimitado por tabulación (.txt)** y cargar en SIIGO: **Procesos → Intercambio de datos → Importar**.

## Limitaciones conocidas (por no tener ítems en DIAN)
- **Una factura = un conjunto de líneas contables**, no por artículo. Se trabaja con totales: base + IVA (y retención si aplica).
- Si hay varios tipos de impuesto en el mismo documento, el archivo DIAN suele traer un solo “total impuestos”; se puede repartir con reglas (p. ej. todo como IVA 19 %) hasta que tengas detalle por ítem.
- Porcentajes y bases se **estiman** (p. ej. IVA 19 % → base = Total / 1.19, IVA = Total - base).

## Archivos en esta carpeta
- `README_Ruta_DIAN_SIIGO.md`: esta guía.
- `generar_movimiento_siigo.ipynb`: notebook para generar la primera versión del archivo a partir de DIAN + proveedores.
- `ejemplo_dian.csv` y `ejemplo_proveedores.csv`: estructuras de ejemplo para probar (cambiar rutas en el notebook a estos archivos para una primera prueba).

## Próximo paso inmediato
1. Descargar la plantilla de movimiento contable desde SIIGO (Paso 1).
2. Compartir (o indicar ruta de) un ejemplo del archivo DIAN y del archivo de proveedores (sin datos sensibles si prefieres).
3. Ejecutar el notebook con esos archivos y revisar juntos el Excel/TXT generado y el mapeo de columnas a SIIGO.
