Calculadora de IVA: suma o desglosa el 16 % y calcula las retenciones de una factura

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.