API DE IMPUESTOS LOCALES
Los impuestos que el SAT no cobra, pero tu estado sí
Cedular sobre arrendamiento, impuesto al hospedaje, retenciones estatales. Se declaran en el mismo CFDI, en su propio nodo, y con la tasa que fije tu entidad.
¿Qué son los impuestos locales en un CFDI?
Son contribuciones que cobra un estado, no la Federación. El IVA y el ISR son federales y los conoce todo el mundo; el impuesto cedular sobre arrendamiento o el ISH —impuesto sobre hospedaje— los fija cada entidad, con su propia tasa y sus propias reglas.
La consecuencia práctica para quien programa: no puedes quemar la tasa en el código. Un hotel en Quintana Roo y otro en Jalisco no aplican el mismo porcentaje, y esas tasas cambian por decisión de cada congreso estatal, no del SAT.
Cómo se declaran
Van dentro del mismo comprobante, en el arreglo Taxes del concepto, junto a los
federales. Lo que los distingue es que no son IVA ni ISR:
"Taxes": [
{
"Name": "IVA",
"Rate": 0.16,
"Total": 888,
"Base": 5550,
"IsRetention": false,
"IsFederalTax": true
},
{
"Name": "CEDULAR",
"Rate": "0.01",
"Total": "55.5",
"Base": "5550",
"IsRetention": "true"
}
]
Sobre una base de $5,550 se trasladan $888 de IVA federal y se retiene el 1 % de cedular, $55.50. Los dos impuestos conviven en el mismo concepto sin pisarse porque cada uno declara su propia base y su propia tasa.
IsRetention. Un impuesto local puede ir como
traslado (se lo cobras al cliente) o como retención (se lo descuentas al proveedor).
Confundirlos no rompe el timbrado —el XML sale— pero deja mal el cálculo del total y lo
descubres cuando alguien reclama que le pagaste de menos.
Quién los necesita de verdad
No todos los negocios lidian con esto. Los casos típicos:
- Arrendadores. Varios estados cobran cedular sobre los ingresos por renta de inmuebles. Si administras propiedades, cada recibo lo lleva.
- Hoteles y hospedaje. El ISH se aplica sobre el alojamiento y se factura al huésped. Con tarifas distintas por estado, y a veces por municipio.
- Quien contrata servicios profesionales en ciertas entidades, donde existe retención cedular sobre honorarios.
Si operas en un solo estado, esto es una constante y se resuelve rápido. Si operas en varios —una cadena hotelera, una administradora de inmuebles con cartera nacional— necesitas una tabla de tasas por entidad y mantenerla. Es el tipo de dato que conviene tener en base de datos y no en el código, porque va a cambiar.
Impuestos locales y retenciones no son lo mismo
Es una confusión frecuente, y vale la pena separarlo antes de programar:
-
Un impuesto local se declara dentro de la factura normal, en el nodo
Taxes. La factura sigue siendo de ingreso. - Una retención federal con constancia propia va en un comprobante aparte, el CFDI de retenciones e información de pagos, que tiene su propio endpoint y su propio esquema.
Si lo que necesitas es entregarle a alguien una constancia de lo que le retuviste, no es esta página: es aquella.
SDKs y ciclo de vida
Al ir dentro de una factura normal, aplican las mismas operaciones de siempre: consultar por
Id, descargar XML y PDF, enviar por correo y cancelar. Y las mismas librerías
oficiales en PHP, Python, JavaScript, Java, Ruby y .NET (4.5+).
No hay integración adicional que hacer: si ya emites facturas, esto es un elemento más en el
arreglo Taxes.
Preguntas frecuentes
¿El impuesto cedular es federal?
No. Lo establece cada entidad federativa, con su propia tasa. Por eso se declara como
impuesto local y no lleva IsFederalTax en verdadero.
¿Puedo llevar impuestos federales y locales en el mismo CFDI?
Sí, y es lo normal. Conviven en el arreglo Taxes, cada uno con su base, su tasa
y su bandera de retención.
¿Qué pasa si aplico la tasa equivocada?
El comprobante se timbra igual —el SAT no valida tasas estatales— pero queda mal el total y el problema aparece en la declaración local. Es un error silencioso, de los peores: no se manifiesta hasta que alguien concilia.
¿Los impuestos locales necesitan un complemento aparte?
No en la API de Facturama: se declaran en el nodo Taxes del propio concepto,
sin comprobante adicional.
Pruébalo con tu tasa estatal
Emite un CFDI de prueba con cedular o ISH en el sandbox y verifica el XML antes de tocar producción.
Crear cuenta y probar Hablar con un ingeniero