Escribe un importe y la calculadora le suma el IVA o, si ya lo incluye, lo desglosa en subtotal e impuesto. Funciona con la tasa general del 16 %, con la del 8 % de la región fronteriza y con el 0 %, y calcula las retenciones que hace una empresa al pagar honorarios, rentas, servicios de personas en el RESICO o fletes. Todo se calcula en tu navegador.
Es una ayuda para hacer cuentas, no asesoría fiscal. Si una operación lleva retenciones, o la tasa que le toca, depende del régimen de quien factura y de quien paga. Ante la duda, consúltalo con tu contador o revisa la constancia de situación fiscal del proveedor.
Cómo se calcula
- Sumar el IVA: se multiplica el importe por la tasa. 10,000 × 16 % = 1,600, y el total es 11,600.
- Desglosar el IVA: se divide el total entre 1.16 (o entre 1.08 con la tasa fronteriza). 11,600 ÷ 1.16 = 10,000 de subtotal. El IVA es la diferencia, y así la suma cuadra al centavo. Un error frecuente es restar el 16 % del total: 11,600 − 16 % da 9,744, no 10,000.
- Redondeo: cada importe se redondea al centavo, con las mitades hacia arriba, en el orden en que aparece en la factura.
Las tasas y las retenciones
- 16 %: la tasa general del IVA en México (Ley del IVA, artículo 1o.).
- 8 %: la que aplican los contribuyentes inscritos en el estímulo de la región fronteriza norte o sur, solo en las operaciones dentro de esas zonas. El decreto se prorrogó hasta el 31 de diciembre de 2026.
- 0 %: por ejemplo, la mayoría de los alimentos sin preparar, los medicamentos de patente o las exportaciones. No es lo mismo que una operación exenta, que no lleva IVA.
- Honorarios y arrendamiento: cuando una persona moral paga a una persona física por servicios profesionales o por una renta, retiene dos terceras partes del IVA (el 10.6667 % del subtotal con la tasa del 16 %) y el 10 % de ISR sobre el subtotal.
- RESICO: si la persona física tributa en el Régimen Simplificado de Confianza, la retención de ISR es del 1.25 %. La de IVA, de dos terceras partes, se mantiene.
- Fletes: al contratar autotransporte terrestre de bienes, la persona moral retiene el 4 % del subtotal como IVA. No hay retención de ISR.
Algunos programas de facturación calculan la retención de IVA como subtotal × 10.6667 % en lugar de dos terceras partes del IVA. El resultado puede variar en un centavo.
Calcular el IVA en Python
Con Decimal, para que los centavos salgan exactos:
from decimal import Decimal, ROUND_HALF_UP
CENTAVO = Decimal("0.01")
def al_centavo(x):
return x.quantize(CENTAVO, ROUND_HALF_UP)
def calcular_iva(importe, tasa=16, incluye_iva=False, ret_iva=None, ret_isr=0):
"""ret_iva: None, "2/3" (honorarios, arrendamiento, RESICO) o "4%" (fletes).
ret_isr: porcentaje sobre el subtotal (10 en honorarios y arrendamiento, 1.25 en RESICO)."""
importe, tasa = Decimal(str(importe)), Decimal(str(tasa))
if incluye_iva:
subtotal = al_centavo(importe / (1 + tasa / 100))
iva = importe - subtotal # la diferencia, para que la suma cuadre
else:
subtotal = importe
iva = al_centavo(subtotal * tasa / 100)
retencion_iva = Decimal(0)
if ret_iva == "2/3":
retencion_iva = al_centavo(iva * 2 / 3)
elif ret_iva == "4%":
retencion_iva = al_centavo(subtotal * 4 / 100)
retencion_isr = al_centavo(subtotal * Decimal(str(ret_isr)) / 100)
return {"subtotal": subtotal, "iva": iva, "total": subtotal + iva,
"ret_iva": retencion_iva, "ret_isr": retencion_isr,
"a_pagar": subtotal + iva - retencion_iva - retencion_isr}
for clave, valor in calcular_iva("10000", ret_iva="2/3", ret_isr=10).items():
print(f"{clave:9} {valor:>10,.2f}")
print(calcular_iva("1160", incluye_iva=True)["subtotal"])
print(calcular_iva("1080", tasa=8, incluye_iva=True)["iva"])$ python3 iva.pysubtotal 10,000.00 iva 1,600.00 total 11,600.00 ret_iva 1,066.67 ret_isr 1,000.00 a_pagar 9,533.33 1000.00 80.00
Para escribir el total en la factura, usa la cantidad con letra. Otras herramientas para México: validadores de RFC, CURP, CLABE y NSS, y el validador de CFDI 4.0. Todas, en decodigo.com/herramientas.
Tasas y retenciones: Ley del IVA, artículos 1o. y 1o.-A; Reglamento de la Ley del IVA, artículo 3 (dos terceras partes y 4 %); Ley del ISR, artículos 106 y 116 (10 %) y 113-J (1.25 %). Prórroga del estímulo fronterizo hasta el 31 de diciembre de 2026: decreto publicado en el DOF el 31 de diciembre de 2025, según DFK México. La herramienta y la función de Python se compararon en 20,000 cálculos al azar: coinciden al centavo en todos.