
La balanza de comprobación XML es el archivo mensual con el que los contribuyentes reportan al SAT los saldos y movimientos de cada cuenta contable en formato electrónico. Si acabas de escuchar este término y quieres entender exactamente qué es, cómo se arma y cuándo se envía, aquí encuentras todo lo que necesitas saber.

¿Qué es la balanza de comprobación XML?
La balanza de comprobación es un reporte contable que reúne, para cada cuenta del catálogo, su saldo inicial, los movimientos del periodo —cargos y abonos— y el saldo final. En la contabilidad electrónica, este reporte debe generarse en formato XML con una estructura técnica definida por el SAT, no como un documento PDF ni una hoja de cálculo.
El archivo XML de la balanza de comprobación es uno de los componentes principales que ciertos contribuyentes deben enviar mensualmente al Servicio de Administración Tributaria a través del Buzón Tributario. Esto le permite a la autoridad verificar la evolución financiera de cada empresa o persona física con actividad empresarial mes a mes, sin necesidad de solicitar documentos en papel.
Para que este archivo sea válido, debe seguir el estándar XSD publicado por el SAT y estar referenciado al namespace oficial. Si el archivo no cumple esa estructura, el SAT simplemente no puede leerlo ni aceptarlo. La estructura técnica no es opcional: es la condición mínima para que el envío sea exitoso.
Diferencia entre la balanza tradicional y la balanza en XML
La balanza de comprobación que genera cualquier sistema contable para uso interno puede presentarse en Excel, PDF o incluso en papel. Esa versión sirve para revisar la contabilidad internamente, pero no es válida ante el SAT para efectos de contabilidad electrónica. El archivo que sí acepta la autoridad es el XML con estructura XSD.
La diferencia no está en los datos —ambas muestran los mismos saldos y movimientos— sino en el formato. El XML organiza esa información en nodos y atributos con nombres y tipos de dato específicos que el SAT puede leer y validar de forma automatizada. Un PDF o un Excel no pueden validarse automáticamente, por eso no cumplen con la obligación.
| Característica | Balanza tradicional (Excel/PDF) | Balanza de comprobación XML |
|---|---|---|
| Formato | Hoja de cálculo o documento imprimible | Archivo de texto estructurado (.xml) |
| Validación automática | No es posible | Sí, mediante esquema XSD del SAT |
| Envío al SAT | No se acepta | Obligatorio vía Buzón Tributario |
| Estructura | Libre, sin estándar técnico | Definida por el Anexo 24 |
| Uso | Revisión interna | Reporte fiscal obligatorio |
¿Por qué el SAT exige el formato XML?
El XML permite que dos sistemas informáticos intercambien datos sin ambigüedades. El SAT definió un esquema de comunicación basado en documentos XML precisamente para lograr interoperabilidad entre los sistemas contables de los contribuyentes y sus propias plataformas de validación. Sin ese estándar común, cada empresa enviaría su información en un formato diferente y sería imposible procesarla de forma masiva.
Además, el XML permite que el SAT valide automáticamente si el archivo cumple las reglas antes de aceptarlo. Si un atributo obligatorio falta, si el RFC tiene un formato incorrecto o si un saldo tiene un tipo de dato equivocado, el sistema lo detecta de inmediato y rechaza el archivo. Eso obliga a quien genera la balanza a hacerlo con precisión desde el principio.
Estructura del archivo XML de la balanza de comprobación
El archivo XML de la balanza de comprobación tiene una arquitectura jerárquica: un elemento raíz que contiene los datos generales del envío y, dentro de él, una serie de nodos que representan cada cuenta contable. Entender esa jerarquía te ayuda a saber exactamente qué información va en qué parte del archivo y por qué cada campo es obligatorio.
Elemento raíz «Balanza» y sus atributos obligatorios
El elemento raíz del archivo se llama «Balanza» y contiene los atributos que identifican de quién viene la información y a qué periodo corresponde. Estos atributos son los primeros que el SAT valida al recibir el archivo, y si alguno falta o tiene un valor incorrecto, el sistema rechaza el envío antes de revisar cualquier dato de las cuentas.
Puedes pensar en el elemento «Balanza» como la portada del archivo: dice quién lo envía, de qué mes habla y qué tipo de envío es. Sin esa portada correctamente completada, el contenido interior no tiene valor para el SAT, aunque los saldos de las cuentas estén perfectos.
Nodo «Ctas»: el detalle de cada cuenta
Dentro del elemento «Balanza» vive una secuencia de nodos llamados «Ctas». Cada nodo «Ctas» representa una cuenta o subcuenta del catálogo contable y debe incluir, al menos, el número de cuenta, el saldo inicial, los movimientos deudores (Debe), los movimientos acreedores (Haber) y el saldo final. Si una cuenta no tuvo movimientos durante el mes, pero sí tiene saldo, igual debe aparecer en el archivo.
El atributo NumCta es la clave que vincula cada nodo del XML con el catálogo de cuentas que también entregas al SAT. Si el número de cuenta en la balanza no coincide con el del catálogo, la autoridad detecta la inconsistencia. Por eso es importante que ambos archivos estén sincronizados antes de enviarlos.
Ejemplo simplificado de un nodo Ctas en XML:
<BCE:Ctas
NumCta="101"
SaldoIni="50000.00"
Debe="20000.00"
Haber="5000.00"
SaldoFin="65000.00"/>
En este ejemplo, la cuenta 101 abrió el mes con $50,000, tuvo cargos por $20,000 y abonos por $5,000, por lo que cerró con $65,000.
Tipos de envío: Normal y Complementaria
El atributo TipoEnvio solo acepta dos valores: «N» (Normal) y «C» (Complementaria). El envío Normal es el que haces cada mes dentro del plazo establecido, con la información definitiva del periodo. El envío Complementario se usa cuando necesitas corregir o actualizar una balanza que ya enviaste anteriormente.
Cuando el tipo de envío es Complementario, el atributo FechaModBal —que en el envío Normal es opcional— se vuelve un dato indispensable, porque le indica al SAT cuándo se hizo la modificación que motivó la corrección. Enviar una balanza complementaria sin esa fecha puede generar un rechazo técnico, aunque el contenido contable sea correcto.
¿Cómo funciona la balanza de comprobación XML paso a paso?
El proceso que convierte tu contabilidad del mes en un archivo XML listo para el SAT sigue una secuencia lógica y ordenada. Conocer cada paso te ayuda a identificar en qué punto puede surgir un error y cómo corregirlo antes de que el SAT rechace el archivo. A continuación se explica cómo funciona ese proceso de principio a fin.
Un punto que genera confusión frecuente es el formato del archivo que subes al Buzón Tributario. El SAT no acepta el XML de forma directa: el archivo debe comprimirse en un .ZIP antes de cargarlo. Si intentas subir el XML sin comprimir, la plataforma no lo procesará correctamente. Este detalle técnico, aunque pequeño, puede hacerte perder tiempo si no lo sabes de antemano.
El catálogo de cuentas que ya hayas entregado al SAT anteriormente es la referencia que usa la autoridad para interpretar tu balanza XML. Por eso, si durante el mes agregaste cuentas nuevas o modificaste el catálogo, debes actualizar y reenviar el catálogo antes o junto con la balanza, para que no haya inconsistencias entre ambos archivos. Puedes conocer más sobre qué implica trabajar con el XML en contabilidad y cómo afecta la estructura de tus archivos fiscales.
Nomenclatura y nombre del archivo XML
El SAT exige que el nombre del archivo XML de la balanza de comprobación siga una estructura exacta. No puedes nombrarlo libremente: el nombre del archivo forma parte de la información que identifica el envío y cualquier variación en ese nombre puede causar problemas en la recepción.
La fórmula del nombre combina el RFC del contribuyente, el año y el mes del periodo reportado, y una clave que indica el tipo de archivo. Para un envío Normal de la balanza de agosto de 2025 de la persona moral con RFC ficticio XAXX010101000, el nombre correcto del archivo sería: XAXX0101010002025 08 BN.XML. Si el envío fuera Complementario, la clave «BN» cambia a «BC».
Estructura del nombre del archivo XML:
Ejemplo: XAXX010101000202508BN.XML
Además del nombre del archivo, también debes tener claro que el catálogo de cuentas sigue la misma lógica de nomenclatura, pero con la clave «CT» al final en lugar de «BN» o «BC». Mantener ambos nombres correctamente sincronizados facilita la organización del expediente digital y reduce errores al momento de subir los archivos al Buzón Tributario.
Plazos para enviar la balanza de comprobación XML al SAT
El plazo para enviar la balanza de comprobación XML no es el mismo para todos los contribuyentes. Depende del tipo de persona —moral o física— y del mes reportado. Conocer la fecha límite exacta te permite planificar la generación del archivo con suficiente tiempo y evitar acumulaciones de último minuto que aumentan el riesgo de errores.
| Tipo de contribuyente | Frecuencia | Plazo de envío |
|---|---|---|
| Personas morales (PM) | Mensual | Primeros 3 días del segundo mes posterior al periodo reportado |
| Personas físicas (PF) | Mensual | Primeros 5 días del segundo mes posterior al periodo reportado |
| Balanza ajustada (cierre) | Anual | 20 de abril (PM) / 22 de mayo (PF) |
Para entenderlo con un ejemplo concreto: si eres persona moral y reportas la balanza de agosto, tienes hasta los primeros tres días hábiles de octubre para enviarla. Si el día límite cae en día inhábil, el plazo se corre al siguiente día hábil. La balanza de cierre del ejercicio — también llamada «mes 13» — tiene sus propias fechas, porque incluye los ajustes fiscales del año y requiere más tiempo para prepararse. Puedes profundizar en las características específicas de la balanza 13 o balanza del cierre del ejercicio para entender qué la diferencia de una balanza mensual ordinaria.
Errores comunes al generar el XML de la balanza de comprobación
La mayoría de los rechazos que genera el SAT al recibir una balanza XML provienen de errores técnicos o de consistencia que podrían haberse detectado antes de enviar el archivo. Identificar los errores más frecuentes te permite hacer una revisión preventiva cada mes y llegar al envío con mayor seguridad.
- RFC con formato incorrecto: El RFC tiene un patrón de caracteres específico que el esquema XSD valida automáticamente. Un espacio en blanco de más, una letra en minúscula o un dígito mal colocado bastan para que el archivo sea rechazado al instante.
- Cuentas en la balanza que no aparecen en el catálogo: Si el número de cuenta en el XML no coincide con el que enviaste en el catálogo, el SAT detecta la inconsistencia. Ambos archivos deben estar perfectamente alineados antes del envío.
- El debe y el haber no cuadran: Si la suma de los movimientos deudores y acreedores no resulta en el saldo final correcto para alguna cuenta, la balanza tiene un error aritmético que debe corregirse antes de generar el XML.
- Ausencia de cuentas con saldo cero pero con movimientos: Una cuenta que abrió el mes con saldo cero, tuvo movimientos y cerró en cero, también debe aparecer en el archivo. Omitirla es un error estructural.
- Nombre del archivo incorrecto: Subir el archivo con un nombre libre en lugar de seguir la nomenclatura oficial (RFC + año + mes + clave) puede generar problemas en la recepción del Buzón Tributario.
- Enviar el XML sin comprimir: El SAT exige que el archivo esté en formato .ZIP. Un XML enviado directamente, sin comprimir, no se procesa correctamente en la plataforma.
Uno de los errores más silenciosos es no verificar que el código agrupador de cada cuenta en el catálogo corresponda correctamente a las cuentas que aparecen en la balanza. El agrupador es el puente entre tu catálogo y la clasificación que usa el SAT; si ese puente está roto en alguna cuenta, la información no se interpreta correctamente del lado de la autoridad, aunque el XML técnicamente sea válido. Todo esto forma parte de las obligaciones que abarca la contabilidad electrónica en su conjunto.
Preguntas frecuentes
¿Qué datos lleva el archivo XML de la balanza de comprobación?
El archivo XML de la balanza de comprobación incluye, a nivel general, el RFC del contribuyente, el mes y año del periodo, la versión del estándar y el tipo de envío. A nivel de detalle, por cada cuenta contable registra su número de cuenta, el saldo inicial, los movimientos deudores (Debe), los movimientos acreedores (Haber) y el saldo final. Todos los atributos del nodo raíz «Balanza» son obligatorios, excepto FechaModBal, que solo aplica en envíos complementarios. Las cuentas de activo, pasivo, capital, ingresos, costos, gastos y cuentas de orden deben incluirse, aun cuando su saldo sea cero.
¿Cuándo se envía la balanza de comprobación XML al SAT?
Las personas morales deben enviar la balanza de comprobación XML dentro de los primeros tres días hábiles del segundo mes posterior al periodo que se reporta. Las personas físicas tienen hasta los primeros cinco días hábiles del mismo plazo. Si ese día cae en día inhábil, el plazo se recorre al siguiente día hábil. La balanza del cierre del ejercicio —mes 13— tiene fechas especiales: el 20 de abril para personas morales y el 22 de mayo para personas físicas. Estas fechas están establecidas en la Resolución Miscelánea Fiscal vigente y pueden ajustarse cada año, por lo que conviene verificarlas en la RMF en curso.
¿Qué diferencia hay entre envío Normal y envío Complementario en la balanza XML?
El envío Normal —identificado con la letra «N» en el atributo TipoEnvio— es el que se hace dentro del plazo oficial y contiene la información definitiva del mes. El envío Complementario —letra «C»— se usa cuando necesitas corregir o actualizar una balanza que ya fue enviada anteriormente, ya sea porque se detectó un error en los saldos o porque hubo un ajuste posterior a la fecha de envío. El envío Complementario siempre reemplaza al Normal del mismo periodo y debe acompañarse del atributo FechaModBal con la fecha en que se realizó la última modificación contable. El nombre del archivo también cambia: la clave «BN» del nombre se sustituye por «BC».
¿Qué es el código agrupador SAT y para qué sirve en la balanza XML?
El código agrupador SAT es una clave definida en el Anexo 24 de la Resolución Miscelánea Fiscal que el SAT asigna a cada tipo de cuenta contable. Su función es vincular las cuentas de tu catálogo particular con la clasificación estándar que usa la autoridad para analizar la información de todos los contribuyentes bajo un mismo criterio. Aunque el código agrupador no aparece directamente en la balanza XML, sí está en el catálogo de cuentas, que es el archivo complementario que el SAT cruza con tu balanza para interpretar cada cuenta correctamente. Si una cuenta no tiene su agrupador bien asignado en el catálogo, la balanza puede generar inconsistencias durante la revisión de la autoridad.
¿Qué pasa si la balanza XML no cuadra entre el debe y el haber?
Si los movimientos deudores y acreedores de una cuenta no producen el saldo final correcto, el archivo tiene un error aritmético que la autoridad puede detectar durante la validación. En ese caso, el SAT puede rechazar el archivo o marcar inconsistencias que requieren una balanza complementaria. Lo recomendable es que, antes de exportar el XML, verifiques directamente en tu sistema contable que los saldos de todas las cuentas cuadran y que el total de cargos del periodo iguala el total de abonos. Ese equilibrio es la base de la partida doble y también es la condición mínima para que la balanza sea contablemente válida.
¿Qué software genera el XML de la balanza de comprobación?
Cualquier sistema contable certificado y actualizado para cumplir con el Anexo 24 puede generar el XML de la balanza de comprobación. Plataformas como Aspel COI, Contpaq, Microsip Contabilidad y otros programas contables del mercado mexicano incluyen un módulo específico para exportar la balanza en el formato XML que exige el SAT. Lo importante es que el sistema esté actualizado a la versión 1.3 del estándar XSD, que es la vigente. También existe la opción de generar el XML manualmente desde Excel con herramientas de apoyo, aunque esa alternativa es más propensa a errores de estructura y requiere un conocimiento técnico más detallado del estándar.
¿Cuántos niveles de cuenta debe incluir la balanza de comprobación XML?
El SAT establece que tanto el catálogo de cuentas como la balanza de comprobación deben enviarse con al menos dos niveles de cuenta: la cuenta mayor y la subcuenta de primer nivel. Esto significa que no basta con reportar únicamente las cuentas principales: también debes desglosar las subcuentas que las integran hasta el segundo nivel como mínimo. Si tu catálogo tiene subcuentas de tercer nivel o más, puedes incluirlas en el XML para mayor detalle, aunque el requisito mínimo es llegar al segundo nivel. Este desglose es el que le permite al SAT analizar con mayor precisión la composición de los saldos que reportas.
Conclusión
La balanza de comprobación XML es mucho más que un reporte mensual: es el documento técnico que le dice al SAT cómo se comportaron tus cuentas contables durante el periodo. Su estructura —el elemento raíz «Balanza» con sus atributos obligatorios y los nodos «Ctas» con el detalle de cada cuenta— sigue un estándar preciso que no admite improvisaciones.
Ahora que entiendes cómo está construido el archivo, qué atributos son obligatorios, cómo se nombra, cuándo se envía y cuáles son los errores más comunes, puedes abordar este proceso con mucha más seguridad. Revisar que el debe y el haber cuadren, que el catálogo esté actualizado y que el nombre del archivo sea correcto son los tres pasos preventivos que más diferencia hacen antes de pulsar «enviar» en el Buzón Tributario.
Si quieres seguir construyendo tu conocimiento sobre contabilidad electrónica, este sitio web tiene más contenido sobre los distintos archivos XML, sus plazos y las obligaciones fiscales que los rodean. Cada concepto que domines te acerca a manejar tu contabilidad con mayor confianza y precisión.
También te puede interesar:

Balanza 13 (o balanza del cierre del ejercicio)

¿Cómo y cuándo enviar la contabilidad electrónica al SAT?

Anexo 24 de la Resolución Miscelánea Fiscal (RMF)

Mis cuentas SAT: El secreto que pocos contribuyentes conocen

¿Quién está obligado a llevar la contabilidad electrónica?

El código agrupador del SAT

XML en contabilidad: El dato que casi nadie entiende
