Saltar al contenido

Estructura de un XML

estructura de un XML

Un archivo XML se organiza en capas: arriba va el prólogo, después el elemento raíz y dentro de él, todos los datos estructurados en elementos hijos con sus atributos. Esta jerarquía es la que permite al SAT y a cualquier sistema leer, validar y procesar la información sin ambigüedad.

estructura de un XML

¿Qué es un archivo XML y para qué sirve?

XML son las siglas de eXtensible Markup Language, que en español significa Lenguaje de Etiquetado Extensible. Se trata de un estándar creado por el World Wide Web Consortium (W3C) para representar información de forma estructurada, legible tanto por personas como por sistemas informáticos. A diferencia de otros formatos, XML no define cómo se ve la información, sino cómo se organiza y qué significa cada dato.

La clave de XML está en que cada dato va acompañado de su significado. Esto se logra mediante etiquetas personalizadas que describen el contenido que contienen. Por eso, un archivo XML puede representar desde una factura electrónica hasta un catálogo de cuentas contables, siempre con la misma lógica de organización.

Qué es un archivo XML y para qué sirve en contabilidad electrónica Diagrama que muestra la definición de XML, su propósito y su rol en la contabilidad electrónica y la facturación del SAT. ¿Qué es XML y para qué sirve? Definición Lenguaje de Etiquetado Extensible Estándar W3C para representar datos estructurados Propósito Dato + Significado Cada etiqueta describe qué contiene el dato, no cómo se ve Legible por personas y sistemas Usos clave Facturas (CFDI) Contabilidad electrónica SAT Intercambio de datos entre sistemas XML organiza la información con etiquetas personalizadas en una jerarquía clara y legible

XML en la contabilidad electrónica

En México, la contabilidad electrónica se envía al SAT mediante archivos en formato XML a través del Buzón Tributario. Este no es un uso secundario del formato: es la base técnica que permite al SAT procesar, validar y verificar la información contable de los contribuyentes de manera automática y sin ambigüedad.

Las reglas para generar estos archivos están definidas en el Anexo 24 de la Resolución de Miscelánea Fiscal. Cada archivo XML que envías al SAT debe seguir una estructura precisa, validada mediante esquemas técnicos llamados XSD, que el propio SAT publica en su portal oficial.

Diferencia entre XML y PDF en documentos fiscales

Cuando recibes una factura, generalmente ves el PDF. Pero el documento con validez fiscal real es el archivo XML. El PDF es solo una representación visual diseñada para que las personas lean la información con facilidad; el XML contiene todos los datos estructurados, el sello digital y la validación del SAT.

Característica XML PDF
Validez fiscal ante el SAT ✅ Sí ❌ No
Legible por sistemas ✅ Sí ❌ No directamente
Contiene sello digital ✅ Sí ❌ No
Fácil de leer para personas Requiere práctica ✅ Inmediatamente
Se puede cancelar o modificar ✅ Solo con el UUID del XML ❌ No aplica

¿Cuáles son las partes de la estructura de un XML?

Todo documento XML sigue una misma organización, sin importar para qué se use. La estructura general se compone de cinco partes fundamentales: el prólogo, el elemento raíz, los elementos hijos, los atributos y los comentarios. Conocer cada una te permite leer cualquier archivo XML con criterio y detectar errores cuando algo no cuadra.

Partes de la estructura de un archivo XML explicadas visualmente Diagrama que muestra las cinco partes principales de la estructura de un XML: prólogo, elemento raíz, elementos hijos, atributos y comentarios. Partes de la estructura de un XML 1. Prólogo <?xml version=»1.0″ encoding=»UTF-8″?> Versión y codificación del archivo 2. Elemento raíz <contabilidad> … </contabilidad> Único contenedor de todo el documento 3. Elementos hijos <cuenta> <nombre>Caja</nombre> Datos anidados dentro del raíz 4. Atributos <cuenta tipo=»activo» nivel=»1″> Información adicional en la etiqueta 5. Comentarios <!– Texto informativo para el lector –>

Prólogo o declaración XML

El prólogo es la primera línea de cualquier archivo XML y actúa como una presentación del documento. Indica la versión de XML utilizada y la codificación de caracteres, que en la mayoría de los archivos del SAT es UTF-8. Esta línea no es obligatoria en todas las implementaciones, pero sí altamente recomendada para evitar problemas de compatibilidad entre sistemas.

Ejemplo de prólogo XML

<?xml version="1.0" encoding="UTF-8"?>

version: versión del estándar XML  |  encoding: conjunto de caracteres usado en el archivo

Elemento raíz

Después del prólogo, todo documento XML tiene exactamente un elemento raíz. Este elemento es el contenedor principal del que dependen todos los demás datos del archivo. No puede haber dos elementos raíz en el mismo documento; si existieran, el archivo no sería válido y cualquier sistema que intente procesarlo lo rechazaría.

En los archivos de contabilidad electrónica del SAT, el elemento raíz lleva el nombre del tipo de documento que representa, como <BCE:Balanza> en la balanza de comprobación o <catalogocuentas:Catalogo> en el catálogo de cuentas. Este nombre no es libre: el SAT lo define en sus esquemas técnicos.

Elementos hijos y anidamiento

Dentro del elemento raíz viven todos los demás elementos del documento. Se les llama elementos hijos porque dependen jerárquicamente de un elemento padre. El anidamiento correcto es una regla fundamental en XML: una etiqueta que se abre dentro de otra debe cerrarse dentro de esa misma antes de que el padre se cierre.

Anidamiento correcto vs. incorrecto

✅ Correcto: <empresa> <nombre>Ejemplo SA</nombre> </empresa> ❌ Incorrecto: <empresa> <nombre>Ejemplo SA</empresa> </nombre>

Atributos

Los atributos son información adicional que se escribe directamente dentro de la etiqueta de apertura de un elemento. Su sintaxis siempre sigue el patrón nombre=»valor» y los valores deben ir obligatoriamente entre comillas. No puede haber dos atributos con el mismo nombre dentro de una misma etiqueta, y los atributos solo aparecen en etiquetas de apertura, nunca en las de cierre.

Comentarios

Los comentarios en XML sirven para incluir notas informativas dentro del archivo sin que afecten el procesamiento de los datos. Se abren con <!– y se cierran con –>. Todo lo que esté entre esos delimitadores es ignorado por cualquier sistema que lea el archivo. Son útiles para documentar la estructura cuando el XML lo desarrolla un equipo técnico.

¿Cómo se organiza la jerarquía en un documento XML?

La jerarquía de un documento XML funciona como un árbol: hay una raíz en la parte superior y de ella se desprenden ramas que representan los elementos hijos, que a su vez pueden tener sus propios hijos. Esta estructura arbórea es lo que le da al XML su capacidad de representar relaciones complejas de forma ordenada, sin mezclar datos ni perder el contexto de cada uno.

Jerarquía en árbol de la estructura de un XML de contabilidad electrónica Diagrama de árbol que muestra cómo se organiza jerárquicamente la estructura de un XML, desde el elemento raíz hasta los elementos hijos y nietos. Jerarquía en árbol de un XML Elemento raíz Hijo: <cuenta> Elemento padre de nivel 1 Hijo: <periodo> Elemento padre de nivel 1 Hijo: <emisor> Elemento padre de nivel 1 <nombre> Nieto nivel 2 <clave> Nieto nivel 2 <rfc> Nieto nivel 2 <nombre> Nieto nivel 2 Elemento raíz Hijos nivel 1 Nietos nivel 2 Cada nivel hereda el contexto de su padre — la estructura de árbol impide la ambigüedad

Esta lógica de árbol hace que cada dato tenga un lugar exacto en el documento. El sistema que lee el XML siempre sabe de qué elemento es hijo cada dato, lo que elimina la posibilidad de confusión entre campos. Por eso, en la contabilidad electrónica, los sistemas del SAT pueden extraer automáticamente el RFC del emisor, el saldo de cada cuenta o la fecha del periodo sin depender de posiciones fijas o formatos visuales.

Reglas que debe cumplir un XML bien formado

Un XML «bien formado» es aquel que cumple todas las reglas de sintaxis del estándar. Si alguna regla se rompe, el archivo no puede ser procesado por ningún sistema, incluido el del SAT. No hay forma de que un archivo mal formado sea aceptado: se rechaza automáticamente antes de que sus datos sean revisados.

  • Un solo elemento raíz: Todo el contenido del documento debe estar dentro de un único contenedor principal. No se permiten dos elementos raíz en paralelo.
  • Etiquetas siempre cerradas: Cada etiqueta de apertura debe tener su correspondiente etiqueta de cierre. A diferencia de HTML, XML no permite etiquetas abiertas sin cerrar.
  • Anidamiento correcto: Los elementos deben cerrarse en el orden inverso en que se abrieron. Si se cruzan los cierres, el archivo está malformado.
  • Sensibilidad a mayúsculas: En XML, <Cuenta> y <cuenta> son dos elementos diferentes. La etiqueta de apertura y la de cierre deben coincidir exactamente, carácter por carácter.
  • Atributos entre comillas: Todo valor de atributo debe ir encerrado en comillas simples o dobles. Un atributo sin comillas invalida el archivo.
  • Sin caracteres especiales sin escapar: Los caracteres <, >, &, ‘ y » tienen un significado especial en XML. Si necesitas usarlos como datos, debes escribirlos con su secuencia de escape correspondiente.

Estructura de un XML en la contabilidad electrónica del SAT

En México, la contabilidad electrónica se compone de varios archivos XML, cada uno con su propia estructura definida por el SAT. Cada archivo tiene un propósito concreto y debe seguir el esquema XSD que el SAT publica oficialmente. Además, la nomenclatura de archivos XML del SAT establece la forma exacta en que deben nombrarse estos archivos antes de enviarlos, ya que un nombre incorrecto puede provocar el rechazo del envío.

Archivo XML Contenido Frecuencia de envío
Catálogo de cuentas Listado de cuentas contables con su código agrupador SAT Cuando haya cambios
Balanza de comprobación Saldos iniciales, movimientos y saldos finales por cuenta Mensual
Pólizas del periodo Detalle de movimientos contables con sus asientos A solicitud del SAT
Auxiliar de cuentas Desglose de movimientos por cuenta o subcuenta A solicitud del SAT
Auxiliar de folios Relación de CFDIs vinculados a las pólizas A solicitud del SAT

Catálogo de cuentas

El catálogo de cuentas es el primer archivo XML que una empresa debe tener listo para su contabilidad electrónica. Contiene la lista completa de cuentas contables que usa la empresa, cada una identificada con una clave propia y vinculada al Código Agrupador del SAT. Además, registra el nivel jerárquico de cada cuenta, indicando cuáles son cuentas padre y cuáles son subcuentas dependientes de ellas.

Balanza de comprobación

La balanza de comprobación se envía mensualmente y es el archivo XML más frecuente en la operación cotidiana. Registra los saldos iniciales, los movimientos del periodo y los saldos finales de cada cuenta. Su estructura XML permite al SAT cruzar esta información con los CFDI emitidos y recibidos para detectar inconsistencias entre lo declarado y lo facturado.

Pólizas del periodo

Las pólizas contienen el detalle de cada asiento contable del periodo: fecha, descripción y los cargos y abonos que lo integran. Este archivo XML solo se envía cuando el SAT lo solicita, generalmente durante una auditoría o revisión. Cada póliza debe ir vinculada a los CFDI correspondientes mediante su UUID, lo que conecta el registro contable con el comprobante fiscal.

¿Cómo se valida la estructura de un XML?

Validar un archivo XML significa verificar que su estructura cumple con las reglas definidas en un esquema. Existen dos niveles de validación: el primero comprueba que el XML está bien formado (sintaxis correcta), y el segundo verifica que además es válido según un esquema específico. El SAT usa esquemas XSD para validar los archivos de contabilidad electrónica antes de aceptarlos.

Un esquema XSD (XML Schema Definition) es un documento que define exactamente qué elementos, atributos y tipos de datos puede contener un archivo XML y en qué orden deben aparecer.

Para validar un XML antes de enviarlo al SAT, puedes usar herramientas en línea o software de edición XML que comprueben el archivo contra el esquema XSD publicado en el portal del SAT. Validar antes de enviar reduce considerablemente el riesgo de rechazo y evita tener que corregir y reenviar el archivo, lo que puede generar retrasos en el cumplimiento de tus obligaciones fiscales.

✅ XML bien formado y válido

Sintaxis correcta + cumple el esquema XSD del SAT. Listo para enviarse.

⚠️ XML bien formado pero no válido

Sintaxis correcta, pero falta un campo obligatorio o hay un tipo de dato incorrecto.

❌ XML malformado

Error de sintaxis: etiqueta sin cerrar, dos raíces o atributo sin comillas. El sistema lo rechaza de inmediato.

Errores comunes en la estructura de un XML

La mayoría de los errores que provocan el rechazo de un XML ante el SAT no son complicados: son fallos de sintaxis que se repiten con frecuencia y que se evitan fácilmente cuando conoces la estructura. Identificarlos antes de enviar el archivo te ahorra tiempo y posibles consecuencias fiscales.

  • Etiqueta sin cerrar: Es el error más frecuente. Si abres <cuenta> y no escribes </cuenta>, el archivo entero es inválido desde ese punto.
  • Mayúsculas inconsistentes: Escribir <Cuenta> en la apertura y <cuenta> en el cierre genera un error, porque XML distingue entre mayúsculas y minúsculas.
  • Atributo sin comillas: Escribir RFC=AAA010101AAA en lugar de RFC=»AAA010101AAA» invalida la etiqueta completa.
  • Caracteres especiales sin escapar: Usar & directamente en el contenido de un elemento, en vez de escribir &amp;, rompe la sintaxis del archivo.
  • Codificación incorrecta: Si el archivo se guarda con una codificación diferente a la declarada en el prólogo, los caracteres con tilde o la ñ pueden corromperse.
  • Estructura que no coincide con el XSD: Agregar un elemento que el esquema no prevé, o cambiar el orden de los elementos obligatorios, genera errores de validación que no son de sintaxis, sino de estructura semántica.
Errores más comunes en la estructura de un XML de contabilidad electrónica Diagrama visual que ilustra los seis errores más frecuentes en la estructura de un XML que provocan rechazo en el SAT. Errores comunes en la estructura de un XML Etiqueta sin cerrar <cuenta> sin </cuenta> Invalida todo el archivo Mayúsculas distintas <Cuenta> ≠ <cuenta> Case sensitive obligatorio Atributo sin comillas RFC=AAA010101AAA Siempre entre comillas Carácter sin escapar Usar & en lugar de &amp; Rompe el parseo del XML Codificación errónea Archivo en Latin-1 declarado como UTF-8 Tildes y ñ corruptas Estructura fuera de XSD Elemento extra o campo faltante SAT rechaza el envío

Preguntas frecuentes

¿Qué elementos conforman la estructura básica de un XML?

La estructura básica de un XML se compone de cinco partes: el prólogo (declaración de versión y codificación), el elemento raíz (contenedor principal único), los elementos hijos (datos anidados dentro del raíz), los atributos (información adicional dentro de las etiquetas de apertura) y los comentarios (notas para desarrolladores que no afectan el procesamiento del archivo). Todas estas partes trabajan juntas para que el documento sea a la vez legible por personas y procesable por sistemas.

¿Cuál es la diferencia entre un elemento y un atributo en XML?

Un elemento es una unidad de contenido delimitada por una etiqueta de apertura y una de cierre, y puede contener texto, otros elementos o estar vacío. Un atributo, en cambio, es información adicional que se escribe directamente dentro de la etiqueta de apertura del elemento, con el formato nombre=»valor». La diferencia práctica es que los elementos pueden anidarse y contener múltiples datos, mientras que los atributos son simples pares de clave y valor que complementan al elemento sin añadir profundidad jerárquica.

¿Qué significa que un XML esté bien formado?

Un XML bien formado es aquel que cumple todas las reglas de sintaxis del estándar: tiene un único elemento raíz, todas las etiquetas están correctamente cerradas, el anidamiento no se cruza, los atributos van entre comillas y los caracteres especiales están debidamente escapados. Un archivo bien formado puede ser leído por cualquier parser XML, pero eso no garantiza que sea válido para un propósito específico; la validez adicional se comprueba contra un esquema XSD.

¿Para qué sirven los esquemas XSD en los archivos XML del SAT?

Los esquemas XSD (XML Schema Definition) son documentos técnicos que definen exactamente qué elementos y atributos debe contener un archivo XML, qué tipos de datos son válidos para cada campo y en qué orden deben aparecer los elementos. El SAT publica sus propios XSD para cada tipo de archivo de contabilidad electrónica. Cuando envías un XML, el sistema del SAT lo valida automáticamente contra ese esquema; si el archivo no coincide, el envío es rechazado.

¿Cuántos archivos XML se envían en la contabilidad electrónica?

La contabilidad electrónica contempla cinco archivos XML principales: el catálogo de cuentas, la balanza de comprobación, las pólizas del periodo, el auxiliar de cuentas y subcuentas, y el auxiliar de folios. No todos se envían con la misma frecuencia ni en las mismas circunstancias. El catálogo se envía cuando hay cambios en el plan de cuentas; la balanza se envía mensualmente, y los demás solo cuando el SAT los solicita, generalmente en el marco de una revisión o auditoría. Cabe señalar que ciertas organizaciones, como las donatarias autorizadas, tienen condiciones particulares en el cumplimiento de sus obligaciones de contabilidad electrónica.

¿Qué es el prólogo de un archivo XML?

El prólogo es la primera línea de un archivo XML y funciona como una declaración de identidad del documento. Indica la versión del estándar XML que se usa (generalmente 1.0) y la codificación de caracteres con la que fue guardado el archivo (casi siempre UTF-8 en los archivos del SAT). Aunque no es obligatorio en todos los contextos, su presencia es altamente recomendada porque permite a los sistemas leer el archivo correctamente desde el primer carácter, especialmente cuando el contenido incluye tildes, la letra ñ u otros caracteres propios del español.

¿Por qué el XML es el formato oficial para la contabilidad electrónica?

El XML se adoptó como formato oficial porque cumple con varios requisitos técnicos que otros formatos no satisfacen de forma simultánea: es un estándar abierto, independiente del software con el que se genera, legible por cualquier sistema, estructurado de forma jerárquica y extensible para adaptarse a distintos tipos de información. Además, permite la validación automática mediante esquemas XSD, lo que hace posible que el SAT verifique miles de archivos de forma instantánea sin intervención humana. Todo esto lo convierte en la opción más robusta para el intercambio de información fiscal entre contribuyentes e instituciones.

Conclusión

Un archivo XML no es un bloque de código indescifrable. Es un documento con una lógica muy clara: prólogo, elemento raíz, elementos hijos, atributos y comentarios, todos organizados en una jerarquía de árbol que permite representar cualquier tipo de información de forma estructurada y sin ambigüedad. Entender esa lógica es lo que te permite leer, construir o revisar un XML con criterio propio.

En el contexto de la contabilidad electrónica, esta estructura deja de ser un detalle técnico para convertirse en una exigencia fiscal. Saber qué partes conforman cada archivo, qué reglas debe cumplir para estar bien formado y cómo el SAT lo valida mediante esquemas XSD te da una ventaja real al momento de preparar o revisar tus obligaciones de envío. Cualquier error que puedas identificar antes de enviar es un rechazo que evitas.

Si quieres seguir profundizando en la contabilidad electrónica y en todo lo que implica cumplir correctamente con el SAT, en este sitio web encontrarás más contenidos que te ayudarán a avanzar con seguridad, paso a paso.

También te puede interesar: