FACTURACIÓN ELECTRÓNICA · COLOMBIA

XmlApp Service
de un XML a un asiento cuadrado

Cómo un archivo que nadie lee a simple vista se convierte, solo, en una factura clasificada, una orden de compra o un asiento contable balanceado.

desliza para empezar · 7 paradas
Ingesta
de dónde llega
🌐
Portal del
proveedor
📤
Carga
manual
📄
PDF
escaneado
VíaEstado
Descarga automáticaconectado
Si el portal fallacarga manual

El papel ya no llega en papel

Cada mañana, un robot entra al portal donde el hotel recibe las facturas de sus proveedores y las descarga solo — sin que nadie las reenvíe por correo. El analista de cuentas por pagar no tiene que ir a buscarlas.

Y si el robot no puede entrar —el portal cambió su contraseña, cayó un minuto— el equipo no se queda parado: sube el archivo a mano y el resto del proceso sigue exactamente igual, duplicados, clasificación y asiento incluidos.

XML → Factura · 1 de 2
FE2450123.xml
1<Invoice xmlns:cbc="…" xmlns:cac="…">
2  <cbc:UUID>7fa2…c091</>
3  <cac:AccountingSupplierParty>
4    <cbc:CompanyID>8904049703</>
5  </cac:AccountingSupplierParty>
6  <cac:OrderReference>OC-4471</>
7  <cbc:PayableAmount currencyID="COP">2.450.000</>
8</Invoice>
factura extraída
CUFE7fa2…c091
Proveedor (NIT normalizado)890.404.970-3
Referencia de OCOC-4471
Total a pagar$ 2.450.000

Lo que un XML esconde

El archivo trae los datos en un estándar internacional (UBL 2.1): el CUFE —la huella única que la DIAN le puso a esa factura— viaja junto con el proveedor, el valor y, si existe, el número de la orden de compra que la originó.

Un detalle real que rompe facturas si se ignora: muchos proveedores mandan el NIT con el dígito de verificación pegado al número. El sistema lo separa calculando ese dígito con el mismo algoritmo de la DIAN — si no lo hiciera, la factura caería en el hotel equivocado.

iEl CUFE es también la llave que evita duplicados: si ese mismo XML llega dos veces, no crea una segunda factura, actualiza la que ya existía.
XML → Factura · 2 de 2
¿ya la pagamos?
contra el histórico contable 65% de coincidencia
cómo adivina la cuenta
EXACTA
100%
PROVEEDOR
85-95
DICC. HOTEL
80-90
FUZZY
80-99
DICC. GLOBAL
60-75
HISTÓRICO
50-65

Desconfiar primero, aprender después

Antes de clasificar nada, el sistema pregunta: ¿esto ya se contabilizó a mano? Cruza proveedor, número y valor contra el histórico real del ERP. Si la coincidencia es alta, se detiene y espera a que un humano confirme si es la misma factura o no.

Si es nueva, prueba seis formas de adivinar la cuenta contable, de la más segura —ya vio esa descripción exacta antes, en ese mismo hotel— a la más arriesgada: cómo se contabilizó ese proveedor el año pasado. Con 80% o más se asigna sola; por debajo, espera confirmación.

Después calcula lo que la ley obliga a retener —usando la UVT del año exacto de la factura, no la de hoy— y arma el asiento hasta que débito y crédito cuadran al peso.

XML → Orden de compra · 1 de 2
qué decide el camino
Factura XML recibida
Es un serviciova directo a un asiento contable
Es mercancíaentra a un camino aparte: la orden de compra

Cuando el papel es mercancía

Una factura de honorarios y una factura de 40 cajas de papel higiénico no se procesan igual. La segunda tiene que entrar al inventario del hotel, y el ERP legado ya sabe hacerlo a su manera: entrada de mercancía, saldos, cuentas por pagar, todo encadenado en sus propios procedimientos.

Mezclar los dos caminos habría significado romper ese proceso ya probado. Por eso XmlApp Service abre un carril aparte, diseñado a propósito para no chocar contra las reglas de inventario que el ERP ya tiene y que el equipo ya conoce.

XML → Orden de compra · 2 de 2
línea de factura
DescripciónPapel higiénico ×120
Valor$ 340.000
orden de compra
Artículo del inventarioASE-0231 · Bodega Principal
Borrador
2
Validada
(ensayo)
3
Creada
en el ERP

De una línea a un artículo de bodega

Cada línea de la factura se empareja con un artículo real del catálogo de inventario —sugerido por lo que ya se compró antes, el histórico de órdenes o el catálogo vivo del hotel— y con su bodega.

Antes de escribir nada, la orden pasa por un ensayo: se valida contra el ERP sin insertar todavía. Solo cuando ese ensayo sale limpio se ejecuta de verdad, y desde ahí sigue siendo un registro que se puede corregir o anular, nunca un hecho consumado a ciegas.

El documento
representación gráfica
CUFE7fa2…c091
Estado DIANcertificada
si solo llega el PDF
🖥️
nodo 1
🖥️
nodo 2
🖥️
nodo 3

infraestructura propia · nunca sale a la nube

El PDF y el sello de la DIAN

Junto al XML suele venir su representación gráfica: la hoja legible que un contador reconoce, con el CUFE y un código QR para verificarla. Esa factura ya llegó certificada — la DIAN la validó y firmó antes de que el proveedor se la entregara al hotel, así que el sistema no vuelve a preguntarle nada a la DIAN, solo lee un documento que ya es válido.

Cuando no llega el XML y solo hay un PDF escaneado, tres computadoras dedicadas lo leen con reconocimiento de texto sin conexión a ningún servicio externo — una decisión deliberada para que un dato contable nunca salga hacia una nube ajena.

En el roadmap · mediados de 2027
Asistente (vista previa)
¿Por qué la factura de Suministros Andinos no quedó 100% clasificada?
ASISTENTELe faltó una línea: "Insumos varios cocina" no coincide con nada que este hotel haya clasificado antes. Le sugiero la cuenta que usó el diccionario general, pero necesita que usted la confirme.
no inserta en el ERP no confirma duplicados no inventa cuentas

Un asistente que explicará, nunca decidirá

A mediados de 2027 sumaremos un asistente conversacional: podrá encontrar una factura con problema, explicar en qué estado está, revisar por qué no clasificó al 100% o traducir el rechazo de un ERP a lenguaje simple. Incluso podrá preparar un caso para soporte, con la evidencia ya reunida.

Lo que no hará es igual de importante, y quedará así desde el diseño: no confirmará un duplicado, no insertará un asiento, no inventará una cuenta contable. Cada decisión que mueve dinero seguirá pasando por una persona.