Saltar al contenido principal

🚦 Codigos de errores xPOS-Core

Aplicable a todos los paises

Las fichas por pais (Chile, Colombia, …) solo documentan los errores especificos de la entidad tributaria local. Las etapas listadas aqui aplican a todos los paises salvo que se indique lo contrario en la columna "Pais".

Fuente

Catalogo mantenido por el equipo de xPOS-Core a partir del runbook interno Codigos de respuestas/errores POS. Se sincroniza contra los stages emitidos por process-documents.

Donde aparece el error en el response

Cuando xPOS-Core no logra completar una operacion, el response del protocolo trae estos tres campos poblados:

CampoQue contiene
messageOperation Error (en caso de error) u Operation Successful (cuando la etapa es 200 — el documento siguio adelante con observacion).
stageEl nombre de la etapa que disparo el evento (columna Stage name del catalogo).
errorDescriptionEl mensaje humano-legible que describe la causa puntual (columna Mensaje).

El stage es la llave para localizar la fila correcta del catalogo. Cuando un mismo stage puede dispararse por distintos motivos, el errorDescription discrimina entre filas (caso tipico: MEGAPRINT_RESPONSE_STAGE en Guatemala).

Stage code (HTTP-like)

xPOS-Core usa cinco codigos para clasificar el evento. No se mapean 1:1 al HTTP devuelto por la API REST: son una etiqueta operativa interna.

CodeSignificado
200Operacion completada con observacion. El documento siguio su flujo, pero hubo una nota relevante (contingencia, fallback, reintento programado).
400Error de validacion o transformacion. xPOS no pudo construir o enviar el documento; requiere accion del POS o del producto.
404Documento duplicado: la "serie + numero" ya existe en la base local de xPOS.
503Timeout: la entidad tributaria tardo mas de 30 segundos en responder.
510Error de cumplimiento: excepcion al enviar a la entidad tributaria (red, autenticacion, formato rechazado).

Acciones recomendadas

AccionQue tiene que hacer el POS
Corregir y reintentarRevisar el input del POS, corregir lo que indica errorDescription y reenviar.
ReintentarReenviar el mismo documento sin cambios — error transitorio o de configuracion temporal.
Recargar y reintentarPedir al xPOS que vuelva a descargar su configuracion (folios, certificados, plantillas) y reenviar. Aplica cuando el problema es de estado local.
CorregirRevisar el input pero sin reenviar automaticamente (el documento ya fue notificado al backend tributario).
Fin del procesoNo requiere accion del POS — xPOS gestiona el reintento o la condicion ya esta resuelta.

Tipo de input

La columna Tipo Input indica los valores de inputType (query param de POST /api/v1/process-documents) que pueden disparar la etapa. Todos significa que aplica a cualquier inputType soportado por el pais.

Errores comunes a todos los paises

Estas etapas forman parte del pipeline general de xPOS-Core. Se ordenan por la secuencia de ejecucion dentro de process-documents.

17 de 17 etapas
CodeStage nameMotivoSugerenciaAcciónInput
400TRANSFORM_JSON_STAGEEl proceso de transformacion de JSON a XML <root> fallo (p. ej.: caracteres especiales mal escapados).Verificar el archivo de origen y corregir; si persiste, contactar a Gosocket.Corregir y reintentarjson
400TRANSFORM_ROOT_STAGEEl proceso de transformacion desde XML <root> a XML GUF no se pudo completar.Recargar la configuracion del xPOS y/o revisar caracteres especiales; si persiste, contactar a Gosocket para revisar el archivo XSLT.Corregir y reintentarjson, txt, xdoc
400TRANSFORM_GENERIC_STAGEEl proceso de transformacion desde XML <root> a XML GUF no se pudo completar.Recargar la configuracion del xPOS y/o revisar caracteres especiales; si persiste, contactar a Gosocket para revisar el archivo XSLT.Corregir y reintentarjson, txt, xdoc
400INVALID_REQUESTEl valor del query param typeDoc no coincide con el tipo del documento dentro del DTE, o el typeDoc no esta declarado en el onboarding.Corregir el typeDoc del request o el tipo de documento dentro del DTE.Corregir y reintentarTodos
400TRANSFORM_OTHER_STAGEEl proceso de transformacion desde XML <root> a XML GUF no se pudo completar.Recargar la configuracion del xPOS y/o revisar caracteres especiales; si persiste, contactar a Gosocket para revisar el archivo XSLT.Corregir y reintentartxt, xdoc
400TRANSFORM_FISCAL_STAGEEl proceso de transformacion desde XML GUF a XML fiscal no se pudo completar.Recargar la configuracion del xPOS y/o revisar caracteres especiales; si persiste, contactar a Gosocket para revisar el archivo XSLT.Corregir y reintentarxml
400VALIDATE_XSD_STAGEEl documento fiscal no paso la validacion de estructura segun el XSD o JSON Schema entregado por la entidad tributaria.Revisar que el documento cumpla con la informacion correcta acorde a los campos observados.Corregir y reintentarTodos
400FOLIATOR_STAGExPOS no cuenta con un subrango de numeracion para asignar el folio al documento (requiere GF 3.0 activo).Revisar que el xPOS tenga un subrango descargado o solicitar recarga desde el xPOS; si persiste, contactar a Gosocket.ReintentarTodos
400SIGN_STAGExPOS no pudo firmar el documento fiscal (certificado, llave privada o nodo de referencia ausente).Intentar enviar el documento nuevamente; si persiste, contactar a Gosocket.ReintentarTodos
400VALIDATE_SCHEMATRON_STAGEEl documento fiscal no supero la validacion de contenido Schematron (requiere archivo Schematron cargado).Revisar que el documento tenga la informacion correcta acorde a los campos observados.Corregir y reintentarTodos
400CUSTOM_RESPONSE_STAGENo se logro agregar la informacion personalizada en el response (requiere XSLT Customized cargado).Recargar la configuracion del xPOS; si persiste, contactar a Gosocket para revisar el archivo XSLT.ReintentarTodos
400SERVER_PROCESS_REQUEST_STAGEExcepcion no controlada al transformar el input en documento fiscal.Intentar enviar el documento nuevamente; si persiste, contactar a Gosocket.ReintentarTodos
400REMOVE_PERSONALIZADOS_STAGENo se logro quitar los campos personalizados antes de emitir el documento fiscal.Contactar a Gosocket.Fin del procesoTodos
200SEND_DOCUMENT_TO_SAVEEl documento no pudo ser enviado a Gosocket por fallas de conexion.Ninguna. xPOS reintentara enviar el documento cada 2 minutos.Fin del procesoTodos
510COMPLIANCE_ERROR_510Excepcion al enviar el documento a la entidad tributaria (red, autenticacion, formato rechazado).Intentar enviar el documento nuevamente.ReintentarTodos
503TIMEOUT_ERROR_503El tiempo de respuesta de la entidad tributaria supero los 30 segundos.Intentar enviar el documento nuevamente; si persiste tras varios intentos, escalar a Gosocket.ReintentarTodos
404VALIDATE_DUPLICITY_STAGEEl documento con la combinacion "serie + numero" ya existe en la base local de xPOS.Verificar que el documento ya aprobado existe consultando GET /api/v1/status.Fin del procesoTodos
Patrones literales de errorDescription

Algunas etapas devuelven un mensaje con formato estable que el POS puede parsear:

  • VALIDATE_DUPLICITY_STAGE: Documento duplicado con el transactionId <UUID>, docNumber <NUM> en la fecha <DD-MM-YYYY HH:mm:ss>.
  • FOLIATOR_STAGE: No tiene folios activos para el tipo de documento = <N>.
  • INVALID_REQUEST: [VALIDATE TYPE DOC] typeDoc <N> ....

El resto de etapas reenvian el mensaje original de la libreria o de la entidad tributaria, sin formato garantizado.

Errores especificos por pais

Cuando la etapa la dispara la entidad tributaria local (o un PAC intermedio), el catalogo agrega filas que solo aplican a ese pais.

🇨🇴 Colombia (DIAN)

CodeStage nameMotivoSugerenciaAccion
400FIND_SERIE_AND_NUMBER_STAGE_CONo se pudo completar la busqueda de la serie y folio del documento electronico.Revisar que el documento tenga la serie y folio; si persiste, contactar a Gosocket.Corregir y reintentar
400DIAN_RESPONSE_STAGELa DIAN rechaza o no logro procesar el documento enviado. El errorDescription reenvia el mensaje de la DIAN.Revisar el documento, corregir los errores e intentar enviar nuevamente.Corregir y reintentar

Detalle del flujo DIAN en la ficha de Colombia.

🇬🇹 Guatemala (Megaprint / SAT)

MEGAPRINT_RESPONSE_STAGE se dispara con dos motivos distintos. Para distinguirlos, inspeccionar el campo error_description del response.

CodeStage nameMotivoSugerenciaAccion
400MEGAPRINT_RESPONSE_STAGEMegaprint rechaza el documento o no logro procesarlo. El campo error_description trae el detalle (p. ej.: FEL_GEN102 RESTRICTION_PATTERN).Revisar error_description, corregir los errores e intentar enviar el documento nuevamente.Corregir
400MEGAPRINT_RESPONSE_STAGE (duplicidad)error_description empieza con Notificacion: Documento enviado anteriormente con el folio XXXXXX-XXXXXXX. Megaprint ya proceso y acepto el documento previamente.No requiere accion. El POS puede confirmar la aceptacion del documento con numero XXXXX-XXXXXX.Fin del proceso
200ACCESS_NUMBER_GENERATION_STAGENo esta disponible un subrango de folios de contingencia para asignar al documento.Revisar si el xPOS tiene descargado un subrango de folios de contingencia. Recargar la configuracion del xPOS o verificar la asignacion de rangos en GF 3.0.Recargar y reintentar
200MEGAPRINT_TOKEN_REQUESTProblemas con el token asignado al xPOS.Intentar enviar el documento nuevamente para generar un nuevo token.Reintentar

Detalle del flujo SAT/Megaprint en la ficha de Guatemala.

🇵🇦 Panama (PAC-GS)

CodeStage nameMotivoSugerenciaAccion
200PROCESS_PAC_RESPONSEEl PAC rechaza o no logro procesar el documento enviado. El errorDescription reenvia el mensaje del PAC.Revisar el documento, corregir los errores e intentar enviar nuevamente.Corregir y reintentar

Detalle del flujo PAC-GS en la ficha de Panama.

🇨🇷 Costa Rica (Ministerio de Hacienda)

CodeStage nameMotivoSugerenciaAccion
400MINISTERIO_HACIENDA_RESPONSE_STAGEEl Ministerio de Hacienda (MH) rechaza o no logro procesar el documento enviado. El errorDescription reenvia el mensaje del MH.Revisar el documento, corregir los errores e intentar enviar nuevamente.Corregir y reintentar

Detalle del flujo MH en la ficha de Costa Rica.

🇩🇴 Republica Dominicana (DGII)

CodeStage nameMotivoSugerenciaAccion
400SEND_RFCE_TO_DGII_STAGELa DGII rechaza o no logro procesar documentos de tipo RFCE. El errorDescription reenvia el mensaje de la DGII.Revisar el documento, corregir los errores e intentar enviar nuevamente.Corregir y reintentar

Detalle del flujo DGII en la ficha de Republica Dominicana.

Guia rapida de resolucion

Cuando llega un response con message: "Operation Error":

  1. Leer stage → ubicar la fila en este catalogo.
  2. Leer errorDescription → distinguir entre filas que comparten stage (caso Guatemala).
  3. Aplicar la accion:
    • Corregir y reintentar → corregir input y volver a llamar POST /api/v1/process-documents.
    • Reintentar → reenviar tal cual.
    • Recargar y reintentar → llamar PUT /api/v1/reobtain-config y reenviar.
    • Fin del proceso → no reenviar; el documento esta resuelto (duplicado, reintento automatico programado, o requiere escalamiento manual a Gosocket).
  4. Si stage no esta en este catalogo → revisar logs operativos con GET /api/v1/db-data/logs/search?uuid=<transactionId> y escalar a Gosocket.