Arquitectura Global xPOS
Este documento presenta los diagramas de arquitectura y flujos de integracion de xPOS para los distintos paises de operacion.
🏗️ Arquitectura General
El componente xPOS Core funciona como un agente multiplataforma encargado de la transformacion, validacion, firma y auditoria de documentos electronicos antes de su envio a la entidad tributaria o a la nube de Gosocket.

Flujos de integración por país
xPOS opera con tres modelos de integración según cómo cada autoridad tributaria recibe y responde el estado del documento electrónico. El proceso interno de xPOS Core (validación XSD/Schematron, asignación de folios y firma) es común a los tres; lo que cambia es quién dialoga con la entidad tributaria y cuándo se conoce el estado oficial.
| Modelo | Países | Quién envía al ente tributario | Cuándo se conoce el estado oficial |
|---|---|---|---|
| Síncrono | Colombia, Guatemala, Panamá | xPOS Core | En la misma llamada |
| Mixto (síncrono + asíncrono) | Costa Rica, República Dominicana, El Salvador, Chile, Paraguay | xPOS Core | En una consulta posterior |
| Asíncrono | Chile, Paraguay | Nube Gosocket | Lo gestiona la nube Gosocket |
Chile y Paraguay aparecen en dos modelos porque el cliente puede elegir si el envío al ente tributario lo realiza xPOS Core directamente (modelo mixto) o si lo delega a la nube Gosocket (modelo asíncrono).
Flujo síncrono — Colombia, Guatemala y Panamá
xPOS Core dialoga directamente con la entidad tributaria y obtiene el estado definitivo dentro de la misma llamada. La respuesta al POS ya contiene el resultado oficial.
- POS Cliente → xPOS Core: envía el documento (JSON / XML / TXT).
- xPOS Core: ejecuta validación XSD / Schematron, asignación de folios y firma.
- xPOS Core → Entidad tributaria: envío síncrono. xPOS Core espera la respuesta oficial.
- Entidad tributaria → xPOS Core:
acknowledgecon el estado aprobado o rechazado. xPOS Core actualiza el DTE y sincroniza el Inbox (Emitidos). - xPOS Core → POS Cliente: respuesta de proceso con el estado definitivo.
Flujo mixto (síncrono + asíncrono) — Costa Rica, República Dominicana, El Salvador, Chile, Paraguay
La autoridad tributaria exige el envío directo desde el emisor, pero el estado oficial se entrega de forma diferida. xPOS Core realiza dos viajes contra la entidad tributaria: el primero entrega el documento, el segundo consulta el estado.
- POS Cliente → xPOS Core: envía el documento (JSON / XML / TXT).
- xPOS Core: ejecuta validación XSD / Schematron, asignación de folios y firma.
- Primer envío (asíncrono). xPOS Core entrega el documento a la entidad tributaria y recibe un
acknowledgede recepción. El DTE se registra en el Inbox sin estado (sincronizado). - xPOS Core → POS Cliente: respuesta de proceso confirmando que el documento fue aceptado para procesar.
- Consulta posterior. xPOS Core consulta el estado del DTE a la entidad tributaria.
- Entidad tributaria → xPOS Core:
acknowledgecon el estado aprobado o rechazado. xPOS Core actualiza el DTE en el Inbox (Emitidos) y notifica al POS la sincronización del estado final.
Permite que el POS no quede bloqueado esperando la validación oficial: recibe el acuse de recepción de inmediato y la sincronización del estado definitivo llega cuando la autoridad tributaria lo emite.
Flujo asíncrono — Chile y Paraguay
xPOS Core no dialoga con la entidad tributaria: entrega el documento a la API de Gosocket y es la nube quien se comunica con el SII (Chile) o el SIFEN (Paraguay).
- POS Cliente → xPOS Core: envía el documento (JSON / XML / TXT).
- xPOS Core: ejecuta validación XSD / Schematron, asignación de folios y firma.
- xPOS Core → API Gosocket: envío asíncrono. Recibe
acknowledgede la nube. - xPOS Core: sincroniza el Inbox (Emitidos) y devuelve al POS la respuesta de proceso.
- API Gosocket → Entidad tributaria: la nube envía el documento de forma asíncrona y procesa el
acknowledgecorrespondiente.
xPOS Core se desentiende de la comunicación con la autoridad tributaria: una vez entregado el documento a la nube, la responsabilidad del envío, los reintentos y la conciliación del estado oficial queda en Gosocket.