Saltar a contenido

Preparar la habilitación de nómina electrónica

Preparación no es habilitación conseguida

Corte: xdiegob/BPSPayrollE/dev-fase3, SHA 067ec7a21cf049451cd349ae473e872883f98e77, revalidado el 2026-09-13. URL Development 37956195 identificada por la extensión. El Test: Success corresponde a la comprobación previa del mismo día; el historial de Odoo.sh no pudo releerse en esta ampliación. Estado PARCIAL: formulario de consolidación NIE abierto con Operador UAT; configuración administrativa, resultados locales y cadena de firma pendientes de sesión autorizada y prueba. No se transmitió ni consultó DIAN.

Objetivo y responsables

Preparar una compañía, su software, un documento y una evidencia local que permitan al PO decidir el siguiente paso de habilitación. No producir una aceptación, consumir intentos ni sustituir el portal DIAN.

Responsable Qué hace Qué no debe delegar a esta guía
RR. HH. Datos del trabajador y códigos oficiales DSNE de la ficha laboral Contraseñas o custodia de certificados
Operador Insumos de nómina, consolidación local y controles permitidos Permisos de administrador o envíos
Administrador BPS autorizado Configuración por compañía/ambiente y evaluación local No convierte una evaluación en habilitación oficial
Revisor/auditor Revisa resultados conservados según acceso real No se presume que pueda ejecutar botones de administrador
PO / custodio autorizado Autenticación, certificado y secretos en privado; decisiones y acciones externas Nunca compartir P12/PFX, PIN o contraseñas en chat o capturas

Las sesiones que faltan están agrupadas en Accesos para completar los recorridos. No elevar operador_uat para evitar cambiar de usuario.

1. Confirmar compañía y ambiente

Clasificación: disponible por interfaz; verificación administrativa pendiente.

  1. Comprobar que se está en el proyecto xdiegob-bpspayrolle, rama y build autorizados de Development. Una URL de desarrollo no equivale al ambiente tributario de la configuración.
  2. Seleccionar exclusivamente la compañía sintética autorizada. Para el ejemplo mensual se conserva InfoCenter Ejemplo Colombia / Ana Ejemplo InfoCenter / agosto de 2026, todavía pendiente de preparar; D-19 no lo sustituye.
  3. Verificar país Colombia, COP, identificación y ubicación del emisor. RR. HH. completa códigos DSNE del trabajador con fuente: tipo/subtipo, período, método de pago y ubicación. No inventar códigos para superar un control.
  4. En Nómina BPS → DSNE → Firmante DIAN BPS → Configuración DSNE, verificar compañía y ambiente habilitación antes de evaluar. Esta entrada es para administrador/auditor, no para el operador observado.

Resultado esperado: contexto inequívoco. Si faltan permisos, cambiar a sesión autorizada con intervención del PO; no usar enlaces técnicos para saltar el menú.

2. Configurar el software

Clasificación: interfaz definida en el código fusionado, pendiente de recorrer con administrador.

En Configuración DSNE, el formulario agrupa:

Datos Uso y comprobación
Ambiente, Software ID, estado y fuente Identificar el registro propio de la compañía; no reutilizar datos de otra empresa
Modo de operación, TestSetID Deben corresponder al registro del PO ante DIAN; no inventar un set ni sus cantidades
Endpoint y fuente del endpoint Contrato técnico oficial del ambiente correcto, no una URL de memoria
Certificado vigente Referencia a metadata de certificado, no el archivo privado
País/departamento/municipio NIE y fuente Ubicación oficial del emisor
Naturaleza del participante y su fuente Documentar el dato requerido según el caso

Guardar únicamente datos autorizados de prueba cuando exista sesión preparada. No se ha guardado una configuración nueva en esta entrega. La ausencia de TestSetID o endpoint tiene una recuperación explícita en el panel, no se resuelve poniendo valores de ejemplo como si fueran reales.

3. Intervención privada del PO: certificado

Clasificación: reservada al PO/custodio. No ejecutada por el agente.

El código fusionado ofrece Cargar certificado al vault desde la configuración en habilitación. Abre un formulario HTTPS administrado que recibe PKCS#12, contraseña y PIN; existe además metadata en Certificados DIAN y un asistente Validar material PKCS#12. Estos nombres explican dónde interviene el custodio, no son instrucciones para que el agente abra, cargue o lea material real.

El PO debe completar la operación privada por el procedimiento aprobado y devolver solo un resumen sin secretos: compañía, ambiente, vigencia y resultado autorizado. No ejecutar validación del material real ni Firmar candidato XAdES para producir una captura. No abrir el vault para inspeccionarlo. Un certificado válido localmente no prueba aceptación DIAN.

4. Evaluar preparación local

Certificado de firma y certificado de conexión se evalúan por criterios distintos. El perfil WS-Security exige catálogo con OID, fuente, versión y vigencia; la aptitud XAdES verifica llave/vigencia y usos de firma. La validez de uno no prueba la del otro. Los validadores de material del vault pueden abrir PKCS#12: no confundirlos con los botones de preflight documental que no firman. En este encargo no se ejecutan sobre material real; la intervención privada sigue reservada al PO. Cambio fuenteado en PayrollBPS PR #39 (61b6a653, e4e6e3cb), presente en el canon actual.

Clasificación: botón fusionado para Administrador BPS; ejecución y captura de resultado pendientes.

  1. Abrir la configuración correcta y pulsar Evaluar habilitación DIAN local, solo sobre la configuración sintética autorizada y sin material real.
  2. Leer estado, fecha, número de evaluación y resumen; luego revisar los ítems vigentes. Cada ítem aporta código, severidad, mensaje, fuente y acción sugerida.
  3. Conservar la evidencia y su SHA-256, sin capturar secretos ni información personal. Las evaluaciones anteriores se distinguen de las vigentes.
Estado Lectura correcta
Borrador Aún no evaluado
Incompleta Faltan datos, credenciales o fuentes
Bloqueada Existe condición inválida o contradictoria
Lista técnica no transmisible Preparación local; no habilitación oficial ni autorización de envío

Bloqueos fuenteados en el código del corte

No son errores provocados en esta sesión; son códigos de la evaluación fusionada.

Código Qué revisar Responsable y recuperación
PENDIENTE_CONFIG_DSNE / PENDIENTE_MODO_OPERACION Identificación del software y modo Administrador/PO: completar desde registro autorizado
PENDIENTE_DATO_DIAN_TESTSETID Set de pruebas PO: obtener el dato en el portal oficial; no reiniciar sets
PENDIENTE_DATO_DIAN_ENDPOINT Endpoint por ambiente y fuente PO/implantador: contrastar contrato técnico oficial
PENDIENTE_CERTIFICADO_DIAN Metadata del certificado Custodio: completar operación privada
CERTIFICADO_NO_VIGENTE / CERTIFICADO_AMBIGUO Vigencia o varios certificados Custodio: resolver selección/vigencia sin entregar secretos
PENDIENTE_VAULT / PKCS12_MATERIAL_INVALIDO Presencia/estado del material Custodio: revisar por canal privado; no intentar descifrar
PREFLIGHT_CERTIFICADO_FIRMA_XADES / PREFLIGHT_CERTIFICADO_WS_SECURITY Perfil y fuente de certificado Seguir mensaje y fuente del ítem; escalar al custodio/implantador
XSD_OFICIAL_LOCAL_NO_DISPONIBLE XSD local ausente o que no compila Equipo de producto: conservar diagnóstico; no modificar producto desde InfoCenter

Corregir solo el dato autorizado de origen; reevaluar localmente y conservar ambos resultados. No repetir envíos para diagnosticar.

5. Del recibo al NIE local

Clasificación: asistente observado por interfaz; consolidación pendiente de recibo finalizado del caso.

Ruta del corte: Nómina BPS → DSNE → Consolidar documento NIE. A menor ancho puede estar dentro de +. El asistente observado se titula Consolidar documento DSNE y muestra Trabajador, Periodo, Politica D-5 y Origen, con botones Consolidar y Cancelar. Origen aparece como «Recibo productivo finalizado (DSNE local, HU-083B)».

  1. Preparar y revisar realmente el recibo del mismo trabajador y período.
  2. Abrir el asistente, seleccionar trabajador/período y documentar la política de origen requerida.
  3. Consolidar solo cuando los insumos estén completos. El aviso observado aclara que no firma, no genera CUNE ni transmite.
  4. En DSNE BPS → Documentos NIE, revisar vínculo al recibo, totales y líneas, estado y errores. La lista no tiene creación manual: el documento nace del flujo de consolidación.

Punto de parada del ejemplo: H-8 todavía impide completar el recibo nuevo. PR #17 fue consultado de nuevo: abierto, no fusionado. No consolidar desde un recibo precargado y presentarlo como el caso de agosto. El formulario se leyó en vivo, pero la extensión se desconectó antes de completar su captura; no se fabrica una imagen.

6. Notas de ajuste NIA

Clasificación: consulta definida en interfaz; creación por interfaz no demostrada.

Ruta observada en menú: DSNE → DSNE BPS → Notas de ajuste (NIA). Las vistas fusionadas de esta ruta deshabilitan crear/editar. Permiten examinar documento origen, tipo, período, motivo, soporte, estado XSD y datos oficiales conservados.

No indicar «Nuevo → guardar NIA» porque esa ruta no lo permite. La preparación de una nota nueva queda pendiente de una ruta operable verificada; no usar un servicio, SQL ni una nota precargada como sustituto. Si ya existe una nota autorizada, el revisor debe cotejar su origen y soporte sin fabricar estados. Cantidades o pasos del set DIAN requieren intervención del PO en el portal, no se infieren aquí.

7. Validaciones, candidato y evidencia

Clasificación: controles locales fusionados; ejecución del caso pendiente. Separar los botones que no descifran de los que usan material privado.

Acción del formulario Responsable del botón Resultado y frontera
Validación XSD oficial Según permisos efectivos del documento Estado/errores del esquema local, no aceptación DIAN
Preflight firma XAdES Operador o Administrador BPS Matriz local y digest técnico; no firma ni descifra secretos
Preflight SOAP DIAN Operador o Administrador BPS Requisitos locales y externos; no envía ni consulta DIAN
Exportar evidencia TXT Operador o Administrador BPS Evidencia del preflight, no XML firmado ni sobre SOAP
Ejecutar preflight DIAN Administrador BPS Asistente por documento/ambiente; auditor consulta
Generar paquete local Administrador BPS ZIP técnico con XML, manifiesto y preflight; no envío
Preparar pre-envío DIAN habilitación Administrador BPS Matriz local previa al envío; no respuesta del tercero
Firmar candidato XAdES Administrador; intervención privada del PO para material real Usa PKCS#12 custodiado; prohibido ejecutarlo con certificado real en este encargo
Preparar expediente DIAN Administrador BPS, desde candidato válido Expediente local SendNominaSync; no transmite

No se ha generado candidato, ZIP ni firma del ejemplo. No confundir Preparar pre-envío con Preparar expediente DIAN ni con Enviar. Registrar referencias y hash de cada objeto efectivamente generado cuando se retome.

8. Antes de cualquier acción externa

Dos ZIP distintos: el paquete de evidencia local no es el ZIP candidato transmisible. PayrollBPS PR #51 (a9dce162, 59d3d548), presente en el canon actual, exige que el ZIP candidato contenga exactamente un XML firmado, con nombre esperado y bytes idénticos al candidato persistido; rechaza directorios, cifrado o topología inválida. Ante ZIP_DSNE_TOPOLOGIA_INVALIDA o ZIP_DSNE_XML_DIFIERE_CANDIDATO, conservar diagnóstico y escalar. No recomprimir ni sustituir el XML manualmente, no firmar con material real para probarlo y no enviar. Este control fue contrastado en código; no se generó un ZIP del ejemplo. Fuente.

Clasificación: reservada al PO y fuera de la ejecución autorizada al agente.

El conector fusionado contiene Envíos DIAN (habilitación). El expediente distingue estado local, candidato, hash de paquete, consentimiento, intento real, origen de respuesta y aceptación externa. En su cabecera existen Emitir boleto de consentimiento, Enviar a DIAN habilitación y Consultar estado DIAN. Que estén implementados no concede autorización para usarlos.

Detenerse antes de estos botones. El consentimiento es por documento y de un solo uso; no emitirlo como parte de una captura. No abrir conexiones externas, consumir intentos, reiniciar sets ni sincronizar a producción. El PO debe intervenir si necesita el portal; no se documentan pantallas del portal que no se observaron.

9. Revisar respuestas conservadas y recuperar errores

Qué cambió respecto del conector histórico

Contraste de código final en S; ningún intercambio externo ejecutado aquí.

Antes / interpretación que debe retirarse Comportamiento vigente y acción del responsable
Expedientes del contrato SendTestSetAsync como si fueran la ruta actual Se preservan como legado. El expediente nominal NIE distingue SendNominaSync y GetStatus; no trasladar aceptación entre expedientes ni pulsar esas acciones en este encargo
NumeroSoftware y un sc estático como requisitos nuevos de captura El contrato vigente deriva SoftwareSecurityCode por documento a partir de SoftwareID, PIN custodiado y número. No pedir al PO un sc estático ni revelar el PIN; los registros anteriores permanecen históricos
Bandera persistente de compañía autoriza todos los envíos Sustituida por boleto de un uso ligado al documento/candidato, con vencimiento y consumo controlado. PUERTA_PERSISTENTE_DEPRECADA no se recupera activando la bandera antigua
Una NIA con candidato local ya puede enviarse La ruta local puede preparar NIA, pero S conserva PENDIENTE_CONTRATO_SOAP_NIA en el envío real. No probarla contra DIAN; la presencia del botón o de permisos no elimina el gate
El límite configurado de espera es el tiempo que tardó el error El diagnóstico distingue duración medida y límite, y fase TCP/TLS/escritura/lectura. El timeout SOAP es gobernado por compañía/ambiente (10–90 s, predeterminado técnico 60); modificarlo requiere responsable y traza, no garantiza respuesta
Cualquier excepción inmediata es timeout El transporte separa falta de CA, identidad TLS, error HTTP/Fault y agotamiento real del plazo. Conserva el error vivo en el intercambio, no el texto viejo de una evaluación anterior

Recuperar sin reenviar ni modificar la seguridad

Evidencia local Acción segura No hacer
PENDIENTE_ALMACEN_CA_TLS Instalador revisa almacén de confianza del entorno y diagnóstico; el control impide abrir red Desactivar verificación TLS o aceptar cualquier certificado
TLS_DIAN_SAN_AUSENTE / TLS_DIAN_HOSTNAME_NO_COINCIDE Escalar host/ambiente y diagnóstico redactado Cambiar endpoint a uno no fuenteado o saltar identidad del servidor
TIMEOUT_TRANSPORTE_DIAN[...] Registrar fase, duración medida, límite y expediente; el PO decide seguimiento por su procedimiento externo autorizado Reenviar el mismo ZIP o suponer aceptación por falta de respuesta
HTTP_DIAN_... con Fault Conservar Code/Subcode/Reason redactados, sin sobre SOAP ni material privado Confundir HTTP 500 con fallo de nómina o inventar respuesta DIAN normalizada
Panel evaluado antes del cambio de contrato Distinguir ítems históricos de vigentes y reevaluar localmente con los datos autorizados Reescribir la evidencia anterior como si perteneciera a S
Candidato antiguo con XML y manifiesto juntos Conservarlo inmutable y solicitar a producto/custodio la regeneración autorizada desde el origen con contrato vigente Recomprimir a mano, sustituir bytes o firmar con material real para tomar evidencia

Raíz y firma: instrucciones para interpretar, no para repararlas

La raíz literal protegida por 5d21202 debe mantener xsi:schemaLocation; no reconstruirla con otro serializador ni cambiar prefijos desde el InfoCenter. La verificación XAdES vigente examina su contrato completo, no solo una firma criptográficamente válida. Su canonicalización inclusiva no debe confundirse con la exclusiva de WS-Security ni con el digest técnico previo a la firma.

Si el diagnóstico menciona SigningTime, conserva el valor y el SHA para el carril de producto: el código declara una convención horaria específica que esta guía no certifica como equivalencia semántica de zona horaria. Ni el contrato local ni los vectores/replays sintéticos acreditan aceptación externa. Fuentes: transporte y fases, expediente y gate NIA, contrato XAdES, fecha de firma.

Capturas pendientes: metadata/configuración autorizada, resultado del preflight y diagnóstico local redactado, referencia del candidato y condición de recuperación. No se ejecutan firmas ni acciones externas para conseguirlas.

Clasificación: consulta local con rol autorizado; evidencia externa pendiente para este ejemplo.

  • Firmante DIAN BPS → Respuestas DIAN (local) conserva evidencia importada. Registrar respuesta DIAN local importa un archivo y lo interpreta; no ejecuta GetStatus ni demuestra aceptación productiva. No cargar respuestas inventadas.
  • Envíos DIAN (habilitación) conserva intercambios, tiempos, hashes, errores redactados y resultado normalizado. Leer evidencia existente no es pulsar Consultar estado DIAN, que sí es una acción externa y está prohibida en esta ejecución.
  • Ante rechazo o respuesta incierta: conservar referencia del expediente, fecha, estado, fase del error y evidencia redactada; informar al PO. No reenviar, no cambiar el estado a mano y no resolver ZE02 modificando la raíz XML desde este encargo.
  • Mantener protegida la corrección raiz_oficial de 5d21202: es código de producto fuera de alcance, no un ajuste editorial.

Resultado que se deberá comprobar al completar

Configuración y evaluación identificadas por compañía/ambiente; documento relacionado con recibo real del caso; diagnósticos y referencias conservados; cada paso privado/externo asignado al PO. La aceptación DIAN solo puede afirmarse con evidencia externa específica, nunca por CI, XSD o firma local.

Fuentes y QA

Código consultado en el SHA indicado: configuración y panel, evaluación y códigos, conector y expediente, vistas NIE/NIA.

Fuentes oficiales consultadas el 2026-09-13: DIAN — documento soporte de pago de nómina electrónica, documentación técnica DIAN, Resolución 13 de 2021, compilación DIAN. La distinción entre habilitación y operación proviene de esas fuentes; este manual no fija plazos ni cantidades de prueba sin verificar el caso en el portal.

QA documental y visual se registra aparte en la cobertura integral. La cabecera del manual local fue capturada a 1280/480/360; la primera tabla permite llegar a la última columna y regresar a 360 mediante desplazamiento interno. Esto no acredita las demás tablas ni el producto. Pantallas administrativas Odoo, sus capturas 1280/480/360 y el recorrido positivo siguen pendientes; no declarar QA global por la portada del manual.