Saltar al contenido principal

Alícuotas de IVA

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

CódigoAlícuotaTratamientoSuma aEn el desglose de IVA
1—No gravadoImporte no gravadoNo
2—ExentoImporte exentoNo
30%Gravado al 0%Neto gravadoSí, con IVA 0
410,5%GravadoNeto gravadoSí
521%GravadoNeto gravadoSí
627%GravadoNeto gravadoSí
85%GravadoNeto gravadoSí
92,5%GravadoNeto gravadoSí

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.

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 importe de la línea ya calculado (cantidad × precio − descuento):

  • Gravado (3, 4, 5, 6, 8, 9) → la base suma al neto gravado y agrega su línea al desglose de IVA. Si el precio trae el IVA adentro (lo normal, ver priceIncludesVat), la base es el importe sin ese IVA; si no, es el importe tal cual.
  • Exento (2) → el importe suma al importe exento. No genera IVA ni entra en el desglose.
  • No gravado (1 u otro) → el importe suma al importe no gravado. No genera IVA ni entra en el desglose.
El 0% es gravado, no exento

El código 3 aporta base imponible al neto gravado y aparece en el desglose con un IVA de 0. El código 2 no: el importe exento es otro renglón del comprobante y otra línea de tu posición de IVA.

Las dos alícuotas dan cero de impuesto, pero no son intercambiables. Si tu operación está gravada a tasa cero, el código es 3.

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.