Saltar al contenido principal

Alícuotas de IVA

Campo items[].taxType · en ARCA: Iva[].Id

CódigoAlícuotaTratamientoVa a
1No gravadoImpTotConc
2ExentoImpOpEx
30%ExentoImpOpEx
410,5%GravadoImpNeto + IVA
521%GravadoImpNeto + IVA
627%GravadoImpNeto + IVA
85%GravadoImpNeto + IVA
92,5%GravadoImpNeto + IVA

El 21% (5) es la alícuota general y la que corresponde en la mayoría de los casos.

Cualquier código no listado se trata como no gravado e incrementa ImpTotConc.

No confundir con la condición de IVA del cliente

items[].taxType es la alícuota de la línea. customer.taxType es la condición del receptor frente al IVA, y usa otra tabla con códigos que se solapan.

taxType: 5 en un ítem es 21%. taxType: 5 en el cliente es Consumidor Final. Son campos distintos: es el error más común al integrar, y el que las constantes del repositorio hacen imposible.

Qué mandar si sos monotributista

Nada: en los comprobantes C (11, 12, 13) los ítems no llevan taxType. Todas las líneas van al neto y no se informa IVA, así que no hay alícuota que declarar.

Si tu sistema lo manda igual —porque comparte el armado del ítem con las facturas A y B—, se acepta y se ignora.

Cómo se calcula

Por cada ítem, con el neto ya calculado (cantidad × precio − descuento):

  • Gravado (4, 5, 6, 8, 9) → el neto va a ImpNeto y se calcula IVA = neto × alícuota.
  • Exento (2, 3) → el neto va a ImpOpEx. No genera IVA.
  • No gravado (1 u otro) → el neto va a ImpTotConc. No genera IVA.

Detalle completo: cálculo de totales.

En JavaScript, PHP y Python

ALICUOTA_IVA.VEINTIUNO // 5 → 21%
ALICUOTA_IVA.DIEZ_CINCO // 4 → 10,5%
ALICUOTA_IVA.CERO // 3 → 0%
ALICUOTA_IVA.EXENTO // 2 → exento
ALICUOTA_IVA.NO_GRAVADO // 1

Constantes para los tres lenguajes en el repositorio de ejemplos.