Preparar información exógena para la DIAN
Guía a un agente para preparar la información exógena DIAN de un contribuyente colombiano: diagnóstico de obligación, búsqueda de datos en Atlas o archivos del usuario, limpieza de terceros, matriz de formatos, live documents de revisión, tablas listas para prevalidador y paquete final.
This skill is under community review.
Requirements
Información contable y fiscal del contribuyente para el año gravable: balance de prueba, auxiliares por tercero, ventas, compras, retenciones, IVA, cuentas por cobrar, cuentas por pagar, nómina y documentos de soporte disponibles.
Atlas tools used
Skill document
The full SKILL.md your agent reads and follows.
Preparar información exógena para la DIAN
Usa este skill cuando el usuario quiera preparar, revisar o organizar la información exógena tributaria colombiana para presentar ante la DIAN. El objetivo no es solo responder qué formatos aplican, sino llevar los datos del contribuyente a un paquete de trabajo claro: diagnóstico de obligación, inventario de fuentes, terceros limpios, matriz de formatos, tablas por formato, validaciones y pendientes.
Trabaja con el usuario de forma guiada. No asumas que ya entregó todos los insumos. Pide la información por etapas y deja claro qué dato viene de una fuente documental, qué dato sale de una norma vigente, qué dato sale de Atlas y qué dato debe confirmar el contador.
0. Principio de trabajo
- Empieza con una frase corta: "Voy a preparar la información exógena DIAN del año gravable indicado. Primero confirmaré obligación y formatos, luego organizaré las fuentes y generaré tablas de trabajo por formato."
- Pregunta primero solo lo mínimo:
- Año gravable.
- Tipo de contribuyente.
- NIT o identificación del contribuyente.
- Si el usuario trabaja con Atlas para este cliente.
- No inventes umbrales, formatos ni conceptos. Si falta la resolución vigente, una cartilla DIAN, el prevalidador aplicable o una confirmación del contador, deja el punto como pendiente.
- Si el usuario trabaja con Atlas, confirma el Space, el cliente o contribuyente, y si quiere que generes un live document para que pueda revisar avances mientras trabajas.
- No prometas radicar ante la DIAN si no tienes acceso real al portal, firma electrónica, prevalidador y archivos finales. Tu trabajo principal es preparar y validar el paquete de información.
0.1 Decide si trabajas con Atlas o sin Atlas
Haz esta pregunta de forma explícita antes de buscar datos:
"¿Este cliente está organizado en Atlas o prefieres que trabaje con archivos locales o carpetas que me indiques?"
Si responde que sí usa Atlas:
- Pide el Space, cliente, contribuyente o ruta inicial si no es evidente.
- Explica que buscarás documentos, datasets y Business Objects relacionados con el año gravable.
- Propón crear un live document de seguimiento. Recomienda:
- Un live markdown para diagnóstico, decisiones, pendientes y bitácora.
- Una live structured table para inventario de fuentes, terceros, matriz de formatos y cruces.
- Ambos cuando el trabajo tenga varias fuentes o vaya a tomar más de una iteración.
- Si el usuario acepta, crea el live object con
atlas_liveoperacióncreate. Usasubtype: "markdown"para el documento narrativo ysubtype: "structured_table"para tablas de trabajo. - Después crea un enlace con
atlas_shareoperacióncreate,targetType: "live_object",targetIdigual al id del live object yrequirePassword: true. Usawritable: falsesalvo que el usuario pida edición pública. Entrega al usuario la URL y la contraseña que devuelve el tool. - Mientras trabajas, actualiza el live object con
atlas_liveoperaciónpatch.
Si responde que no usa Atlas:
- Pide la ubicación de los archivos: ruta local, carpeta compartida, Drive, ZIP, Excel, CSV, XML, PDF o exportación contable.
- Pide que indique qué archivo corresponde a balance, auxiliares, ventas, compras, retenciones, cartera, cuentas por pagar, nómina y facturación electrónica.
- Si el agente no puede acceder a una ruta o carpeta, pide que el usuario suba los archivos o copie la estructura de columnas.
- Continúa el mismo flujo de preparación, pero entrega los resultados como archivos, tablas o artefactos disponibles en el entorno del usuario.
1. Decide en qué etapa está el usuario
Clasifica la conversación en una de estas etapas y actúa desde ahí:
| Etapa | Señal del usuario | Salida principal |
|---|---|---|
| Diagnóstico | "No sé si debo presentar exógena" | Matriz de obligación y formatos probables |
| Inventario | "Tengo estos archivos" | Lista de fuentes, cobertura y faltantes |
| Preparación | "Organiza los datos para exógena" | Tablas por formato y terceros limpios |
| Validación | "Revisa antes de presentar" | Reporte de cruces, errores y pendientes |
| Presentación | "Voy a subir a DIAN" | Paquete para prevalidador, XML o portal, según insumos disponibles |
Si el usuario está en una etapa avanzada pero faltan datos básicos, vuelve a la etapa necesaria. No construyas salidas finales sobre datos incompletos sin marcarlo.
2. Reúne la información mínima
Pide o localiza:
- Año gravable y fecha objetivo de presentación.
- Tipo de contribuyente: persona natural, persona jurídica, entidad pública, entidad sin ánimo de lucro, propiedad horizontal, fiduciaria, notaría, banco, cámara de comercio u otro.
- Régimen y responsabilidades relevantes en RUT, especialmente si figura como informante de exógena.
- Actividad económica y si maneja operaciones con terceros, nómina, IVA, retenciones, cuentas por cobrar, cuentas por pagar, contratos, ingresos para terceros o información financiera especial.
- Fuente normativa usada: resolución DIAN del año gravable, anexo técnico, calendario, cartilla de presentación y prevalidador vigente.
Si el usuario no tiene los archivos listos, entrega una lista de solicitud de insumos antes de intentar generar formatos.
3. Localiza fuentes en Atlas
Si el usuario indica que los documentos están en Atlas:
- Empieza con
atlas_lsoatlas_finden el Space del cliente. Busca carpetas comodrive,documents,datasets,objects,invoices,bank,payroll,tax,dian,accounting,ledger,customers,supplierso equivalentes en español. - Busca Business Objects relacionados. Los más útiles para este skill suelen ser: facturas de venta, facturas de compra, notas crédito, notas débito, documentos soporte, terceros, clientes, proveedores, transacciones, movimientos contables, extractos bancarios, comprobantes contables, nómina, retenciones y conciliaciones.
- Usa
atlas_objectpara leer objetos concretos cuando ya tengasbusinessObjectIdo una ruta clara. ConservasourceRefs,externalreferences y revisiones cuando debas dejar trazabilidad. - Usa
atlas_querypara preguntas estructuradas sobre objetos y datasets, por ejemplo totales por tercero, documentos del año gravable, saldos por cuenta, facturas por cliente o proveedor, transacciones por fecha y valores por concepto. - Usa
atlas_datasetpara leer colecciones tabulares ya cargadas, por ejemplo auxiliares, balances, libros de ventas, libros de compras, cartera, proveedores o nómina. - Lee metadatos y texto con
atlas_catcuando sean documentos o documentos representados en el VFS. - Guarda cada fuente usada en una tabla de trazabilidad: nombre, ruta, periodo, cobertura, campos usados y problemas detectados.
Si los archivos vienen fuera de Atlas, pide que el usuario los suba o que confirme cuáles columnas tiene cada archivo. No mezcles datos de Atlas y datos externos sin indicar la fuente exacta de cada valor.
3.1 Trabajo sin Atlas
Si el usuario no usa Atlas o no quiere usarlo para este trabajo:
- Pide una ruta o lista de archivos accesibles para el agente.
- Pide el significado de cada archivo si no es obvio.
- Identifica formato y cobertura: Excel, CSV, XML, ZIP, PDF, TXT o exportación del software contable.
- Construye la misma tabla de trazabilidad que en Atlas, pero con rutas locales, nombres de hojas, columnas y periodo.
- Si un archivo es PDF o imagen, marca la extracción como menos confiable y pide confirmación de valores críticos.
- Si hay archivos Excel, conserva nombres de hojas y columnas originales para que el contador pueda auditar el mapeo.
4. Inventario de fuentes recomendadas
Para una preparación robusta, intenta reunir:
- Balance de prueba al 31 de diciembre.
- Auxiliares contables por tercero y por cuenta.
- Libro de ventas e ingresos.
- Libro de compras, costos, gastos y pagos.
- Reporte de retenciones practicadas y retenciones que le practicaron.
- Reporte de IVA generado, IVA descontable e impuesto al consumo si aplica.
- Cuentas por cobrar al cierre.
- Cuentas por pagar al cierre.
- Nómina, pagos laborales, seguridad social y certificados laborales si aplica.
- Extractos bancarios y movimientos financieros relevantes.
- Facturación electrónica, notas crédito, notas débito y documentos soporte.
- Certificados de retención recibidos y emitidos.
- Reportes de ingresos recibidos para terceros, contratos o mandatarios si aplica.
Marca cada fuente como: recibida, incompleta, no aplica o pendiente.
5. Limpieza de terceros
Antes de preparar formatos, construye una tabla maestra de terceros. Debe contener:
| Campo | Regla |
|---|---|
| tipo_documento | Debe corresponder al tipo DIAN aplicable |
| identificacion | Sin puntos, espacios ni caracteres extraños |
| digito_verificacion | Requerido cuando aplique para NIT |
| nombres_razon_social | Separado o normalizado según el formato exigido |
| direccion | Completa cuando el formato lo exija |
| pais | Código válido |
| departamento | Código válido para Colombia cuando aplique |
| municipio | Código válido cuando aplique |
| fuente | Archivo o documento de donde salió el tercero |
| observacion | Inconsistencias o datos por confirmar |
Valida duplicados por identificación, terceros con nombres distintos, NIT sin dígito, cédulas con longitudes sospechosas, direcciones vacías y países o municipios no codificados. No corrijas datos sensibles sin fuente o confirmación.
6. Matriz de formatos
Crea una matriz con una fila por formato potencial:
| Campo | Contenido |
|---|---|
| formato | Código, por ejemplo 1001, 1003, 1005 |
| nombre | Nombre funcional del formato |
| aplica | sí, no, por confirmar |
| motivo | Regla o hecho que justifica la decisión |
| fuente_normativa | Resolución, anexo o cartilla usada |
| fuente_contable | Archivo o dataset que alimenta el formato |
| campos_clave | Tercero, concepto, base, impuesto, saldo u otros |
| salida | Tabla, prevalidador, XML, reporte de pendientes |
| estado | pendiente, preparado, validado, bloqueado |
Formatos comunes que suelen aparecer en la revisión:
- 1001: pagos o abonos en cuenta y retenciones practicadas.
- 1003: retenciones que le practicaron al contribuyente.
- 1004: descuentos tributarios.
- 1005: IVA descontable.
- 1006: IVA generado e impuesto al consumo.
- 1007: ingresos recibidos.
- 1008: cuentas por cobrar.
- 1009: cuentas por pagar.
- 1011 y 1012: información de declaraciones, saldos, inversiones y otros datos fiscales, según la resolución aplicable.
- 1647: ingresos recibidos para terceros, cuando aplique.
- 2275 y 2276: información especial de ingresos, pagos laborales o rentas de trabajo, según la obligación del año.
Esta lista es una ayuda de trabajo, no reemplaza la resolución vigente. Si el año gravable exige formatos adicionales o modifica campos, actualiza la matriz.
7. Output principal: paquete de preparación
Genera un paquete con estos artefactos. Si usas Atlas, usa live documents para el
trabajo en curso y atlas_artifact para entregables cerrados.
7.0 Live documents cuando trabajas con Atlas
Antes de entrar en la preparación detallada, ofrece crear live documents:
| Live document | Tipo | Uso |
|---|---|---|
| Bitácora de preparación exógena | markdown | Decisiones, diagnóstico, pendientes y resumen ejecutivo |
| Matriz de trabajo exógena | structured_table | Fuentes, terceros, formatos, cruces y estados, equivalente a un live Excel dentro de Atlas |
| Tablas por formato | structured_table | Datos preparados por formato cuando el volumen lo justifique |
Flujo recomendado:
- Crear el live markdown con
atlas_liveoperacióncreate,subtype: "markdown", un nombre comoExógena DIAN 2025, bitácora de preparacióny uninitialMarkdowncon secciones vacías. - Crear la live structured table con
atlas_liveoperacióncreate,subtype: "structured_table", columnas de formato, fuente, tercero, valor, estado y observación. Si el usuario pide "Excel", usa esta tabla estructurada como live Excel de trabajo. Solo prometas un archivo.xlsxsi el entorno tiene una herramienta de exportación o si puedes generarlo localmente. - Crear un enlace protegido para cada live object con
atlas_shareoperacióncreate,targetType: "live_object",requirePassword: true. Si el usuario quiere comentar o editar desde el enlace, usarwritable: true, lo cual requiere contraseña. - Entregar URL y contraseña al usuario. Indicar qué documento es narrativo y cuál es tabular.
- Actualizar el live object en cada fase importante: después del diagnóstico, después del inventario, después de la limpieza de terceros, después de la matriz de formatos y después de los cruces.
No expongas datos tributarios sensibles en un enlace sin contraseña. Si el usuario no acepta un enlace público, conserva los live documents dentro del Space y reporta el avance en la conversación.
7.1 Diagnóstico de obligación
Incluye:
- Año gravable.
- Tipo de contribuyente.
- Criterios revisados.
- Obligación de presentar: sí, no o por confirmar.
- Formatos probables.
- Normas consultadas.
- Preguntas pendientes.
7.2 Inventario de fuentes
Incluye:
| Fuente | Periodo | Estado | Uso | Faltantes |
|---|---|---|---|---|
| Balance de prueba | Año completo | recibido | Cruces de saldos | Ninguno |
| Auxiliar por tercero | Año completo | pendiente | 1001, 1007, 1008, 1009 | Archivo |
7.3 Maestro de terceros
Entrega una tabla limpia y otra tabla de problemas. No mezcles problemas dentro de la tabla final sin marcarlos.
7.4 Matriz de formatos
Entrega la matriz del paso 6 como índice de trabajo.
7.5 Tablas por formato
Para cada formato aplicable, entrega una tabla independiente con:
- Código de formato.
- Concepto o subtipo exigido.
- Identificación del tercero.
- Nombre o razón social.
- Valores base.
- Valores de impuesto, retención, saldo, ingreso o pago, según el formato.
- Fuente de cada valor.
- Observación.
- Estado de validación.
Si no conoces el esquema exacto vigente, entrega la tabla como "borrador para mapeo al prevalidador" y deja pendiente confirmar columnas contra el prevalidador DIAN.
7.6 Reporte de cruces
Cruza, como mínimo:
- Total de ingresos reportados contra ingresos contables y declaración.
- IVA generado contra ventas gravadas y declaración de IVA.
- IVA descontable contra compras y gastos gravados.
- Retenciones practicadas contra auxiliares y declaraciones de retención.
- Cuentas por cobrar contra saldo contable de clientes y deudores.
- Cuentas por pagar contra saldo contable de proveedores y acreedores.
- Totales por tercero contra auxiliares por cuenta.
Cada diferencia debe indicar valor, fuente A, fuente B y acción recomendada.
7.7 Paquete para prevalidador o presentación
Entrega, según el estado real de los datos:
- Tablas listas para copiar o importar al prevalidador.
- Lista de archivos que deben generarse en XML.
- Nombre esperado de cada archivo si la cartilla vigente lo define.
- Estado de validación por formato.
- Errores pendientes.
- Recomendación de reemplazo parcial o total solo si el usuario ya está corrigiendo archivos previamente enviados.
No generes un XML final si no tienes el esquema técnico vigente y todos los campos obligatorios confirmados.
8. Output alternativos según etapa
Usa estos formatos de respuesta:
Si el usuario solo pregunta qué debe preparar
Responde con una checklist:
- Datos del contribuyente.
- Año gravable.
- Fuentes contables.
- Fuentes fiscales.
- Terceros.
- Formatos probables.
- Pendientes antes de generar tablas.
Si el usuario entrega archivos desordenados
Entrega un inventario y una propuesta de normalización. Primero limpia fuentes y terceros. Después genera formatos.
Si el usuario ya tiene tablas por formato
Enfócate en validación: terceros, totales, conceptos, campos obligatorios, cruces con declaraciones y consistencia entre formatos.
Si el usuario trae errores del prevalidador o DIAN
Crea una tabla:
| Archivo | Formato | Fila | Campo | Error | Causa probable | Corrección |
|---|
Pide el XML de errores, captura de pantalla o mensaje exacto. No adivines la causa si el error depende del anexo técnico.
9. Separación futura en skills especializados
Por ahora este skill funciona como orquestador completo. Solo recomienda separar en skills especializados si el usuario o el sistema necesita repetir una fase de forma independiente:
- Diagnóstico de obligación exógena DIAN.
- Normalización de terceros para DIAN.
- Preparación de formatos 1001, 1005, 1006, 1007, 1008 y 1009.
- Validación de archivos contra prevalidador DIAN.
- Corrección de errores de envío y reemplazos.
Si existen skills especializados en el entorno, puedes proponer usarlos, pero no detengas el flujo si no están disponibles. Continúa con las instrucciones de este skill y marca claramente el alcance.
10. Fuentes de referencia
Cuando necesites detalle adicional, consulta las referencias incluidas en este paquete:
references/fuentes-y-formatos.md: fuentes contables y formatos comunes.references/outputs.md: estructuras de salida esperadas.references/presentacion-dian.md: prevalidador, XML, envío, errores y reemplazos.
Para normas, prevalidador y calendario, usa siempre fuentes oficiales DIAN o el documento que el usuario proporcione para el año gravable.
Related skills
- Crear un comprobante contable en Siigo
Guía a un agente para construir el payload de un comprobante contable (CC) en Siigo: líneas de débito y crédito balanceadas, cuentas, tercero, centro de costo y observaciones, con los datos que vienen del API y los que debe pedir al usuario.
- Registrar una factura de compra en Siigo
Guía a un agente para construir el payload completo y registrar una factura de compra (FC) en Siigo a partir de una factura electrónica, resolviendo impuestos, retenciones, pagos, centro de costo y terceros.