Un impuesto de retención no es un impuesto común
Vive en la misma pantalla que el IVA, pero no se aplica en la factura: se aplica al pagar.
Las retenciones se configuran en Contabilidad > Configuración > Impuestos, igual que cualquier otro impuesto. Lo que las separa es el campo Tipo de impuesto, que en una empresa argentina reemplaza al estándar y ofrece cinco opciones: Ventas, Compras, Otro, Retención Pago de Proveedor y Retención Pago de Cliente (ver Manual «Impuestos»).
Elegir una de las dos últimas cambia el destino del impuesto. Un impuesto de retención nunca se agrega a una línea de factura: no aparece en el selector de impuestos del comprobante ni en la ficha del producto. El único lugar donde se usa es la pestaña Retenciones del asistente de pago. Por eso la configuración se hace una vez, con el contador, y después no se vuelve a tocar hasta que ARCA o la provincia cambien los valores.
Las dos direcciones no son simétricas:
- Retención Pago de Proveedor: la que le practicamos nosotros al proveedor y después depositamos al fisco. Es la que Odoo propone sola, a partir de las retenciones cargadas en la ficha del proveedor.
- Retención Pago de Cliente: la que nos practicó el cliente al pagarnos. Se registra al cobrar y hay que agregarla a mano: no existe una lista equivalente en la ficha del cliente.
El plan de cuentas de Responsable Inscripto ya trae cargada una buena parte del trabajo: del lado del proveedor, veintinueve regímenes de Ganancias de la RG 830 —cada uno con su código de régimen ante ARCA—, la retención de IVA y las 24 jurisdicciones de Ingresos Brutos. Del lado del cliente, las de SUSS, IVA, Ganancias e Ingresos Brutos por jurisdicción. Antes de crear un impuesto de retención nuevo, buscá el que ya existe.
Los cuatro tipos de cálculo
Un solo campo decide sobre qué base se calcula la retención y con qué método.
Cuando el tipo de impuesto es una de las dos retenciones, aparece el campo Impuesto de retención con cuatro opciones. No es una etiqueta: cada una calcula distinto.
| Opción | Cómo calcula |
|---|---|
| Ganancias | Aplica el porcentaje del impuesto sobre la base, después de restarle el monto no imponible. Acumula lo del mes (sección 5). Exige cargar el Código de ARCA del régimen. |
| Escala de ganancias | No usa porcentaje: el importe sale de una tabla de tramos. El campo del porcentaje desaparece de la ficha. Exige el Código de ARCA y la Escala. También acumula lo del mes. |
| Ingresos brutos no gravado | Porcentaje sobre la base sin impuestos. Exige elegir la Provincia. |
| Ingresos Brutos monto total | Porcentaje sobre el importe completo del pago, impuestos incluidos. Exige elegir la Provincia. |
La diferencia entre las dos de Ingresos Brutos está en la base que Odoo propone al registrar el pago. Para Ingresos Brutos monto total, la base es el importe del pago tal cual. Para todas las demás —incluidas las de Ganancias— Odoo toma el importe del pago y le aplica la proporción entre el neto y el total de las facturas que se están cancelando: pagando una factura de $121.000 con $21.000 de IVA, la base propuesta es el equivalente a los $100.000 netos. Es la razón por la que la base casi nunca coincide con el importe del pago. Se puede corregir a mano en el asistente.
De las veinticuatro jurisdicciones que trae el plan, veintitrés vienen como Ingresos brutos no gravado y solo Córdoba como Ingresos Brutos monto total. Si el régimen de una provincia cambia de criterio, se corrige acá.
La escala de Ganancias
La tabla de tramos que usan los regímenes por escala, con su propio menú de configuración.
Las escalas no se cargan dentro del impuesto: son un registro aparte, en Contabilidad > Configuración > ARCA > Escala de ganancias. Odoo trae dos armadas —Escala Normal y Escala 119— y varios regímenes las comparten. Cambiar una tabla cambia el cálculo de todos los impuestos que la usan, de una vez.
Cada tramo tiene cinco columnas: Desde $ y Hasta $ delimitan el tramo —Desde se calcula solo, a partir del Hasta del tramo anterior—; $ es el importe fijo que se suma; Agregar % es el porcentaje que se aplica; y S/ Excedente de $ es el piso desde el cual se mide ese porcentaje.
Se lee así: Odoo busca el tramo donde entra la base, le resta el valor de S/ Excedente de $, le aplica el porcentaje del tramo y al resultado le suma el importe fijo. La pantalla trae la fórmula escrita y dos enlaces al sitio de ARCA, uno de ellos al calculador oficial de la RG 830. Ese calculador es la herramienta para verificar contra el sistema cuando un proveedor discute el importe retenido.
Los tres campos que definen cuándo no se retiene
Monto no imponible, retención mínima y provincia. Los dos primeros hacen que el resultado sea cero.
Monto no imponible. Se le resta a la base antes de calcular. Si la resta da cero o menos, no hay retención. Es el mínimo por debajo del cual el régimen no alcanza a la operación. En los regímenes de Ganancias viene cargado con los valores de la tabla de la RG 830 y, igual que la escala, Odoo no lo actualiza.
Retención mínima. Trabaja al final y sobre otra cosa: si el importe ya calculado de la retención queda por debajo de este valor, la retención pasa a cero. Sirve para no emitir certificados por montos irrisorios. Ningún impuesto del plan argentino lo trae cargado: viene en cero en todos, así que hasta que alguien lo complete no frena nada.
Provincia. Es obligatoria en los dos tipos de Ingresos Brutos e identifica a qué jurisdicción pertenece el régimen. No interviene en el cálculo.
Los dos primeros campos solo se ven en las retenciones de pago a proveedor. En una retención de pago de cliente no aparecen, porque ahí no calculamos nosotros: transcribimos lo que el cliente ya nos retuvo.
La base acumula dentro del mes
Por qué la segunda retención de Ganancias del mes le da distinto al proveedor que la primera.
Los dos tipos de Ganancias —Ganancias y Escala de ganancias— no miran el pago aislado. Antes de calcular, Odoo suma a la base del pago todas las bases del mismo régimen y del mismo proveedor ya registradas en el mes, desde el día 1 hasta la fecha del pago. Sobre ese total resta el monto no imponible, calcula, y al final descuenta las retenciones que ya se le practicaron en el mes.
De ahí sale el comportamiento que descoloca a todo el mundo la primera vez: el primer pago del mes puede no retener nada, porque no llega al mínimo no imponible, y el segundo pago del mismo mes retiene por los dos. El importe que aparece no es un error de Odoo ni un porcentaje mal cargado: es el régimen funcionando como corresponde. Cuando el proveedor reclama, la respuesta está acá.
Dos precisiones que importan. Primera: lo que agrupa no es el impuesto sino el Código de ARCA del régimen, así que dos impuestos distintos con el mismo código acumulan juntos. Segunda: solo cuentan los pagos registrados; un pago en borrador no suma. Las retenciones de Ingresos Brutos y de IVA no acumulan: cada pago se calcula solo.
El número del certificado
Ninguna retención del plan argentino viene numerada, y sin número no se puede confirmar el pago.
Cada retención practicada necesita un número de certificado. El impuesto tiene un campo Secuencia de Retención —visible solo en las retenciones de pago a proveedor— donde se elige una secuencia para que Odoo numere solo. Ningún impuesto de retención del plan argentino la trae cargada.
Con el campo vacío, el número hay que tipearlo a mano en cada pago. Si se deja en blanco, al confirmar aparece el mensaje «Ingrese el número de retención para el impuesto …» y el pago no se crea. No es un aviso que se pueda saltear: frena la operación.
Con una secuencia cargada, en el asistente de pago el campo del número queda vacío y bloqueado. Es la señal de que hay secuencia: Odoo consume el número recién al pulsar Crear pago, y aparece después, en el pago ya creado y en el recibo. Vale la pena definir esto con el contador antes de arrancar, porque el criterio de numeración de los certificados no se cambia a mitad de año.
La cuenta del impuesto base
Un ajuste de la compañía que se carga una vez y sostiene todos los asientos de retención.
Está en Contabilidad > Configuración > Ajustes, en el bloque Localización para Argentina, sección Retención: el campo se llama Cuenta del impuesto base. El plan argentino la deja cargada con la cuenta Base imponible, código 6.0.0.00.020.
Sirve para esto: cuando un pago lleva retenciones, Odoo agrega al asiento —además de la línea de la retención— dos apuntes espejo por cada base imponible, uno positivo y uno negativo, los dos contra esta cuenta. Se anulan entre sí, así que no mueven el saldo. Existen porque la línea de la base es la que lleva asociado el impuesto de retención, y de ahí sale la base imponible en los reportes de impuestos. Sin ella, la retención quedaría registrada sin decir sobre qué monto se calculó.
Es un campo para dejar como viene. Cambiarlo por una cuenta que no corresponde, o borrarlo, ensucia el asiento de todos los pagos con retención de ahí en adelante.
Lo que Odoo no hace
Dos cosas que el circuito de retenciones no resuelve, y conviene saber antes de la primera presentación.
No emite el certificado de retención. No hay ningún comprobante con formato de ARCA para entregarle al proveedor. El único lugar impreso donde salen las retenciones practicadas es el recibo de pago, que se saca desde el pago con Imprimir > Recibo de pago y trae una tabla con el impuesto, el número de retención, la base y el importe. En la práctica se usa ese recibo como respaldo, y el certificado formal se emite por fuera.
No genera el archivo para SICORE. Tampoco para SIRE ni para los regímenes provinciales de Ingresos Brutos. La información está en el sistema —cada retención con su régimen, su base, su importe y su número— pero la exportación al aplicativo se arma por fuera. Que el plan de cuentas traiga una cuenta llamada SICORE a pagar no cambia esto: es una cuenta contable, no un generador de archivos.
Cómo se practica una retención al registrar un pago, qué pasa cuando en el mismo pago hay cheques y qué se ve en el pago ya creado, se explica en el Manual «Pagos y cuentas pendientes».