Reemplaza o elimina una nómina aceptada
/api/v1/documents/payroll-adjustmentsnote_type: replace lleva la nómina completa corregida (mismo trabajador). note_type: delete solo necesita reference_document_id, external_id y notes. Rango de tipo payroll_adjustment. Se puede ajustar una nómina o una nota que la reemplazó.
Parámetros de consulta
waitintegerSegundos (máximo 10) que la petición espera el resultado de la DIAN. Si llega, responde 200 con número, CUFE y estado final; si no, 202 y el resultado llega por webhook. mínimo 0, máximo 10.
Cuerpo de la petición application/json
Montos, cantidades y tarifas van como texto decimal: "5000.00", "19".
external_idstring· máx. 128 caracteresobligatorionumbering_range_idstring · uuidOpcional si la cuenta tiene un solo rango activo del tipo de documento
issued_atstring · date-timenotesarray<string>employeeobjectobligatorio+ Ver 14 campos− Ocultar 14 campos
worker_typestringobligatorioTabla 5.5.3 (01 dependiente, 02 servicio doméstico, 12/19 aprendices SENA, 51 tiempo parcial...)
worker_subtypestringobligatorio00 no aplica, 01 dependiente pensionado por vejez activo
high_risk_pensionbooleandocument_typestringobligatoriodocument_numberstringobligatoriofirst_surnamestringobligatoriosecond_surnamestringOpcional: quien tiene un solo apellido lo omite (aceptado por la DIAN, NE5)
first_namestringobligatorioother_namesstringwork_addressobjectobligatorio+ Ver 8 campos− Ocultar 8 campos
linestringcity_codestringDIVIPOLA del municipio (5 dígitos)
city_namestringdepartment_codestringDIVIPOLA del departamento (2 dígitos)
department_namestringpostal_zonestringcountry_codestringISO 3166-1; vacío = CO
country_namestring
integral_salarybooleancontract_typestringobligatorio1 término fijo, 2 indefinido, 3 obra o labor, 4 aprendizaje, 5 prácticas
salarystringobligatoriocodestringCódigo interno del trabajador
periodobjectobligatorio+ Ver 6 campos− Ocultar 6 campos
admission_datestring · dateobligatorioretirement_datestring · datesettlement_startstring · dateobligatoriosettlement_endstring · dateobligatoriopayroll_periodstringobligatorio1 semanal, 2 decenal, 3 catorcenal, 4 quincenal, 5 mensual, 6 otro
payment_datesarray<string · date>obligatorio
paymentobjectobligatorio+ Ver 5 campos− Ocultar 5 campos
formstring· por defecto 1methodstringobligatorioMedio de pago DIAN (10 efectivo, 42 consignación, 47 transferencia...)
bankstringaccount_typestringaccount_numberstring
earningsobjectobligatorio+ Ver 27 campos− Ocultar 27 campos
worked_daysinteger· máximo 31obligatoriosalarystringobligatoriotransportarray<object>+ Ver 3 campos− Ocultar 3 campos
allowancestringviatic_salarystringviatic_non_salarystring
overtimearray<object>+ Ver 5 campos− Ocultar 5 campos
typestringobligatoriostartstring · date-timeendstring · date-timehoursstringobligatoriopaymentstringobligatorio
vacationsarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
compensated_vacationsarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
service_bonusobject+ Ver 3 campos− Ocultar 3 campos
daysintegerpaymentstringnon_salarystring
severanceobject+ Ver 3 campos− Ocultar 3 campos
paymentstringinterest_ratestringPorcentaje con hasta 3 decimales
intereststring
disabilitiesarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
maternity_leavesarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
paid_leavesarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
unpaid_leavesarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
strikesarray<object>+ Ver 5 campos− Ocultar 5 campos
typestringSolo incapacidades: 1 común, 2 profesional, 3 laboral
startstring · dateendstring · datedaysintegerpaymentstring
bonusesarray<object>+ Ver 3 campos− Ocultar 3 campos
descriptionstringSolo other_concepts (obligatoria)
salarystringnon_salarystring
aidsarray<object>+ Ver 3 campos− Ocultar 3 campos
descriptionstringSolo other_concepts (obligatoria)
salarystringnon_salarystring
other_conceptsarray<object>+ Ver 3 campos− Ocultar 3 campos
descriptionstringSolo other_concepts (obligatoria)
salarystringnon_salarystring
compensationsarray<object>+ Ver 2 campos− Ocultar 2 campos
ordinarystringextraordinarystring
vouchersarray<object>+ Ver 4 campos− Ocultar 4 campos
salarystringnon_salarystringfood_salarystringfood_non_salarystring
commissionsarray<string>third_party_paymentsarray<string>advancesarray<string>endowmentstringsupport_paymentstringteleworkstringretirement_bonusstringindemnitystringrefundstring
deductionsobjectobligatorio+ Ver 18 campos− Ocultar 18 campos
healthobjectobligatorio+ Ver 2 campos− Ocultar 2 campos
ratestringPorcentaje con hasta 3 decimales
amountstring
pensionobjectobligatorio+ Ver 2 campos− Ocultar 2 campos
ratestringPorcentaje con hasta 3 decimales
amountstring
pension_solidarityobject+ Ver 4 campos− Ocultar 4 campos
ratestringPorcentaje con hasta 3 decimales
amountstringsubsistence_ratestringPorcentaje con hasta 3 decimales
subsistence_amountstring
unionsarray<object>+ Ver 2 campos− Ocultar 2 campos
ratestringPorcentaje con hasta 3 decimales
amountstring
sanctionsarray<object>+ Ver 2 campos− Ocultar 2 campos
publicstringprivatestring
loansarray<object>+ Ver 2 campos− Ocultar 2 campos
descriptionstringobligatorioamountstringobligatorio
third_party_paymentsarray<string>advancesarray<string>othersarray<string>voluntary_pensionstringwithholding_taxstringafcstringcooperativestringtax_lienstringcomplementary_plansstringeducationstringrefundstringdebtstring
note_typestringobligatorioreference_document_idstring · uuidobligatorio
Respuestas
202Documento en fila (pending). El número, el CUFE y la firma se asignan al enviarlo a la DIAN.
idstring · uuidaccount_idstring · uuidCuenta emisora; una casa de software la usa para saber de qué cliente es el aviso
document_typestringexternal_idstringreference_document_idstring · uuidprefixstringnumberintegernull hasta que se envía a la DIAN; un rechazo lo libera
full_numberstringdocument_keystringCUFE, CUDE, CUDS o CUNE según el tipo
environmentinteger1 producción, 2 habilitación
stagingbooleanDocumento de prueba (cuenta en staging): no fue a la DIAN y no tiene validez fiscal
issued_atstring · date-timecustomer_idstringContraparte: adquirente, vendedor (documento soporte) o trabajador (nómina)
customer_namestringcurrencystringSiempre COP: el XML y los montos van en pesos (regla FAD15 del Anexo 1.9)
payable_amountstringforeignobjectSolo si se facturó en otra moneda: moneda, tasa usada y total en esa moneda
+ Ver 3 campos− Ocultar 3 campos
currencystringexchange_ratestringpayable_amountstring
statusstringpendingesperando al worker,submittedenviado y esperando a la DIAN,accepted,rejected(por la DIAN, final) yfailed(se agotaron los reintentos).dianobject+ Ver 5 campos− Ocultar 5 campos
track_idstringstatus_codestringstatus_descriptionstringerrorsarray<string>rulesarray<object>errors separados: regla, tipo (rejection rechaza el documento; notification no impide la aceptación), mensaje de la DIAN y, si factuROA la conoce, cómo corregirla
+ Ver 4 campos− Ocultar 4 campos
rulestringtypestringmessagestringhintstring
attemptsintegererrorobjectSolo si factuROA rechazó el documento sin enviarlo a la DIAN (p. ej.
error.plan.no_documents: se quedó en fila cuando el plan se agotó o venció con la renovación cancelada)+ Ver 2 campos− Ocultar 2 campos
codestringmessagestring
emailobjectCorreo al adquiriente con el AttachedDocument y el PDF (solo facturas y notas aceptadas, con FACTUROA_EMAIL_FROM configurado).
+ Ver 6 campos− Ocultar 6 campos
statusstringabandoned: sin correo válido del adquiriente o intentos agotados (ver last_error)
attemptsintegersent_atstring · date-timelast_errorstringrecipientstringDirección del último reenvío (si se pidió otra)
resendsintegerReenvíos pedidos (máximo 5)
created_atstring · date-timeupdated_atstring · date-time
200Ya existía un documento con ese external_id; se devuelve sin crear otro.
idstring · uuidaccount_idstring · uuidCuenta emisora; una casa de software la usa para saber de qué cliente es el aviso
document_typestringexternal_idstringreference_document_idstring · uuidprefixstringnumberintegernull hasta que se envía a la DIAN; un rechazo lo libera
full_numberstringdocument_keystringCUFE, CUDE, CUDS o CUNE según el tipo
environmentinteger1 producción, 2 habilitación
stagingbooleanDocumento de prueba (cuenta en staging): no fue a la DIAN y no tiene validez fiscal
issued_atstring · date-timecustomer_idstringContraparte: adquirente, vendedor (documento soporte) o trabajador (nómina)
customer_namestringcurrencystringSiempre COP: el XML y los montos van en pesos (regla FAD15 del Anexo 1.9)
payable_amountstringforeignobjectSolo si se facturó en otra moneda: moneda, tasa usada y total en esa moneda
+ Ver 3 campos− Ocultar 3 campos
currencystringexchange_ratestringpayable_amountstring
statusstringpendingesperando al worker,submittedenviado y esperando a la DIAN,accepted,rejected(por la DIAN, final) yfailed(se agotaron los reintentos).dianobject+ Ver 5 campos− Ocultar 5 campos
track_idstringstatus_codestringstatus_descriptionstringerrorsarray<string>rulesarray<object>errors separados: regla, tipo (rejection rechaza el documento; notification no impide la aceptación), mensaje de la DIAN y, si factuROA la conoce, cómo corregirla
+ Ver 4 campos− Ocultar 4 campos
rulestringtypestringmessagestringhintstring
attemptsintegererrorobjectSolo si factuROA rechazó el documento sin enviarlo a la DIAN (p. ej.
error.plan.no_documents: se quedó en fila cuando el plan se agotó o venció con la renovación cancelada)+ Ver 2 campos− Ocultar 2 campos
codestringmessagestring
emailobjectCorreo al adquiriente con el AttachedDocument y el PDF (solo facturas y notas aceptadas, con FACTUROA_EMAIL_FROM configurado).
+ Ver 6 campos− Ocultar 6 campos
statusstringabandoned: sin correo válido del adquiriente o intentos agotados (ver last_error)
attemptsintegersent_atstring · date-timelast_errorstringrecipientstringDirección del último reenvío (si se pidió otra)
resendsintegerReenvíos pedidos (máximo 5)
created_atstring · date-timeupdated_atstring · date-time
402En producción la cuenta (o su casa de software) no tiene un plan activo: error.plan.inactive. No se crea el documento
codestringmessagestringerrorsarray<object>Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)
+ Ver 2 campos− Ocultar 2 campos
fieldstringRuta del campo en el JSON enviado
messagestring
detailsarray<string>Rutas de los campos inválidos (compatibilidad; usa errors)
request_idstring
400Datos inválidos (details trae los campos)
codestringmessagestringerrorsarray<object>Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)
+ Ver 2 campos− Ocultar 2 campos
fieldstringRuta del campo en el JSON enviado
messagestring
detailsarray<string>Rutas de los campos inválidos (compatibilidad; usa errors)
request_idstring
401Falta la key o es inválida, está deshabilitada, vencida o revocada (error.missing_api_key, error.invalid_api_key, error.api_key.disabled, error.api_key.expired, error.api_key.revoked)
codestringmessagestringerrorsarray<object>Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)
+ Ver 2 campos− Ocultar 2 campos
fieldstringRuta del campo en el JSON enviado
messagestring
detailsarray<string>Rutas de los campos inválidos (compatibilidad; usa errors)
request_idstring
409Conflicto con el estado actual (p. ej. documento referenciado no aceptado, rango agotado)
codestringmessagestringerrorsarray<object>Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)
+ Ver 2 campos− Ocultar 2 campos
fieldstringRuta del campo en el JSON enviado
messagestring
detailsarray<string>Rutas de los campos inválidos (compatibilidad; usa errors)
request_idstring
422Faltan datos para generar el XML (error.document.incomplete, campos en details)
codestringmessagestringerrorsarray<object>Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)
+ Ver 2 campos− Ocultar 2 campos
fieldstringRuta del campo en el JSON enviado
messagestring
detailsarray<string>Rutas de los campos inválidos (compatibilidad; usa errors)
request_idstring