Odoo 19 · AS Aluminio · Impuestos, retenciones y pagos

Operar en moneda extranjera

Odoo no trae la cotización del dólar solo: en Argentina no hay ningún proveedor automático y la tabla de cotizaciones la mantiene una persona. Este manual muestra dónde viven las cotizaciones, cómo consultar la oficial de ARCA, qué ajuste puede frenar una factura en dólares y cómo Odoo genera las diferencias de cambio. Es para quien factura, cobra o paga en moneda que no es el peso.

1

Dónde viven las cotizaciones

Odoo guarda una tabla de cotizaciones por moneda y por fecha. En Argentina esa tabla la carga una persona, todos los días.

Las monedas están en Configuración > Contabilidad > Monedas. El dólar ya viene en la lista, pero desactivado: hay que prenderle el interruptor Activo. Con eso alcanza para encender el modo multimoneda —Odoo lo activa solo apenas hay más de una moneda activa— y a partir de ahí aparecen los campos de moneda en las facturas, en los pagos y en los diarios. No hay ninguna casilla escondida que haya que buscar.

Abriendo la moneda se ve la pestaña Tasas: una fila por fecha, con dos columnas que dicen lo mismo al revés.

ColumnaQué se escribe
ARS por unidadCuántos pesos vale un dólar. Es la que se lee natural y la que conviene usar.
Unidad por ARSCuántos dólares vale un peso. El número chiquito, con muchos decimales.

Se carga cualquiera de las dos y Odoo completa la otra. La pestaña Tasas no aparece en la ficha del peso argentino, y no es una falla: el peso es la moneda de la compañía, su cotización es 1 por definición.

La regla con la que Odoo elige una cotización es simple y hay que tenerla clara: toma la última cotización cargada con fecha igual o anterior a la del comprobante. Si hoy no cargaste ninguna, usa la de ayer, o la de la semana pasada, sin avisar nada. Y si esa moneda nunca tuvo ninguna cotización cargada, Odoo toma 1: un dólar vale un peso y la factura sale con ese número.

🖼️
Captura pendiente
El listado de Configuración > Contabilidad > Monedas con la fila del dólar (USD) a la vista y su interruptor Activo ya prendido. Que se vea el camino del menú arriba, cuidando que en esa misma barra no queden a la vista el nombre de la empresa ni la dirección del servidor.
🖼️
Captura pendiente
La ficha del dólar abierta en la pestaña Tasas, con dos o tres filas ya cargadas. Tienen que verse la fecha de cada fila y las dos columnas con sus números: ARS por unidad y Unidad por ARS.
La actualización automática de cotizaciones no sirve en ArgentinaEn Contabilidad > Configuración > Ajustes, bloque Monedas, existe la opción Actualizar las tasas de cambio automáticamente, y al activarla aparecen los campos Servicio, Intervalo y Siguiente ejecución. El problema está en la lista de servicios: hay bancos centrales de Brasil, Chile, México, Colombia, Perú y Uruguay, pero no hay ninguno argentino —ni ARCA ni BCRA—. Una compañía argentina cae por defecto en el Banco Central Europeo, que publica sus tasas contra el euro. Dicho de otro modo: activarlo no resuelve nada acá. La carga manual de la sección 1 no es un paso previo a automatizar algo; es el procedimiento definitivo.
2

El botón que consulta la cotización oficial de ARCA

Está en la ficha de la moneda, se conecta al organismo y te muestra el número. No lo guarda.

En la ficha de la moneda, al lado del campo Código ARCA, hay un botón que dice ⇒ Mostrar la última tasa de ARCA. Al apretarlo, Odoo se conecta al servicio web del organismo, busca la cotización oficial y devuelve un cartel con dos líneas: Último día hábil —la fecha, escrita en letras— y Tasa —el valor—.

Conviene entender exactamente qué hace y qué no hace ese botón. Muestra un cartel; no escribe nada en la tabla de cotizaciones. El número hay que copiarlo y cargarlo a mano en la pestaña Tasas, en la columna ARS por unidad, con la fecha que corresponda. Es una consulta rápida para no tener que abrir el sitio de ARCA en otra pestaña, nada más.

Dos condiciones para que funcione. La primera: la moneda tiene que tener cargado su Código ARCA. Viene precargado para las monedas habituales —el dólar es DOL, el euro es 060, el peso es PES—, pero si se crea una moneda nueva hay que completarlo, y sin ese código el botón ni siquiera aparece. La segunda: el certificado de conexión con ARCA tiene que estar configurado, porque el botón usa la misma conexión que la facturación electrónica (se explica en el Manual «Validaciones de ARCA»).

Si le pedís la cotización del peso, Odoo responde que no hay: para ARCA el peso es la moneda base y no tiene cotización contra sí mismo. Y si en los últimos quince días no encuentra ninguna cotización, avisa con un mensaje en vez de devolver un número inventado.

🖼️
Captura pendiente
La ficha del dólar con el cartel que devuelve ARCA recién abierto, después de apretar ⇒ Mostrar la última tasa de ARCA. Tienen que leerse el campo Código ARCA con su valor cargado (DOL), el botón al lado, y las dos líneas del cartel: Último día hábil y Tasa.
3

«El pago será en moneda extranjera»: el ajuste que puede frenar la factura

Un cartel amarillo arriba de la factura decide si ARCA va a controlar tu cotización contra la suya.

Cuando se abre una factura de cliente en borrador, con un diario electrónico y en una moneda que no es el peso, aparece arriba de todo un recuadro amarillo que dice El pago será en moneda extranjera: y al lado un Sí o un No. Es un dato que la RG 5616/2024 obliga a informarle a ARCA, y se puede cambiar factura por factura mientras esté en borrador.

El valor que aparece por defecto sale de una política de la compañía, en Contabilidad > Configuración > Ajustes, campo Política por defecto para el Pago en Moneda Extranjera. Tiene tres opciones:

OpciónQué hace
NoValor de fábrica. Ninguna factura informa pago en moneda extranjera.
SíTodas lo informan.
Depende de la moneda de la cuentaOdoo mira la cuenta por cobrar que usa la factura: si esa cuenta tiene forzada una moneda distinta del peso, informa Sí; si no, No.

Acá viene lo importante. Con Sí, antes de pedir el CAE Odoo consulta la cotización oficial de ARCA del último día hábil y la compara con la de la factura. Si no coinciden, corta la validación con un mensaje que dice que la cotización a informar difiere de la de ARCA y te muestra cuál es la correcta y de qué día. Hay un segundo control, más amplio, que rechaza cualquier cotización que quede fuera del rango permitido por el organismo. La factura queda en borrador y sin CAE.

Odoo no corrige la cotización solo: te dice cuál es la buena y hay que ir a cargarla. El camino es el de siempre —anotar el número del mensaje, abrir la moneda, cargar la cotización con la fecha del último día hábil— y recién después volver a confirmar la factura.

🖼️
Captura pendiente
Una factura de cliente en borrador, con diario electrónico y en dólares, mirada desde arriba. Tienen que verse el recuadro amarillo El pago será en moneda extranjera: con su Sí o No, el campo de moneda y, abajo, la línea de conversión 1 ARS = 0,001000 USD con el ícono de calendario al lado. Para que salga también el ícono de refrescar, antes de sacar la foto cambiá a mano ese número: ese ícono aparece solo cuando la cotización de la factura difiere de la que corresponde a su fecha. Usá un cliente de prueba y cuidá que no se vea el nombre de la empresa en la barra superior.
🖼️
Captura pendiente
Contabilidad > Configuración > Ajustes con el campo Política por defecto para el Pago en Moneda Extranjera desplegado, de manera que se lean las tres opciones: No, Sí y Depende de la moneda de la cuenta.
🖼️
Captura pendiente
El cartel de error que aparece al apretar Confirmar en una factura en dólares que informa Sí en El pago será en moneda extranjera y tiene cargada una cotización distinta de la oficial. Tiene que leerse el aviso completo, con la cotización correcta y el día que informa, y verse detrás la factura todavía en borrador.
La cotización se puede corregir en la propia facturaEn una factura en borrador, abajo del campo de moneda, Odoo muestra la conversión escrita como 1 ARS = 0,001000 USD, y ese número es editable. Ojo con la dirección: está al revés de como se habla —dólares por peso, no pesos por dólar—. Al lado hay dos accesos que ahorran cuentas: un ícono de calendario, para traer la cotización cargada en otra fecha, y un ícono de refrescar, que aparece solo cuando la cotización de la factura difiere de la que corresponde a su fecha y la devuelve a esa. Cambiar acá el número afecta a esa factura sola: la tabla de cotizaciones no se toca.
4

El diario en dólares

Un diario por moneda. La caja de dólares y la de pesos nunca comparten diario.

El diario tiene un campo Moneda. Cuando está completo, ese diario deja de ser neutro: todo comprobante que se cree en él nace en esa moneda, y Odoo no deja elegir otra. Si está vacío, el diario opera en pesos y la moneda se decide comprobante por comprobante.

De ahí sale la regla práctica: una cuenta bancaria en dólares lleva su propio diario, separado del de pesos, con la moneda cargada. Lo mismo vale para la caja de dólares. Mezclarlas en un solo diario hace imposible conciliar, porque el saldo que muestra Odoo y el que informa el banco pasan a ser números de dos monedas distintas sumados en la misma columna. El alta de la cuenta y del diario se explica en el Manual «Cuentas bancarias y diarios».

Cada movimiento de ese diario queda registrado dos veces: el importe en dólares —el que se concilia contra el extracto— y su equivalente en pesos según la cotización de la fecha —el que va al balance—. Esa doble anotación es la que después permite calcular las diferencias de cambio, y también la razón por la que cargar mal una cotización ensucia el balance sin que el saldo en dólares se vea afectado.

🖼️
Captura pendiente
La ficha de un diario de banco en dólares, con el campo Moneda completo en USD. Que se vean también el nombre del diario y su código, cuidando que no quede a la vista el campo Empresa.
5

Las diferencias de cambio se generan solas

Cuando se cobra una factura en dólares a una cotización distinta de la del día que se emitió, Odoo arma el asiento por su cuenta.

Una factura en dólares se emitió a una cotización y se cobra a otra. En dólares no falta nada —se cobró exactamente lo facturado—, pero en pesos los dos asientos no dan igual. Esa diferencia es un resultado, y hay que contabilizarla.

Odoo lo hace solo, en el momento de conciliar el cobro con la factura. Genera un asiento aparte, con las líneas rotuladas Diferencia en tasa de cambio de moneda, que ajusta la cuenta por cobrar contra una cuenta de resultado. No hay que pedirlo ni configurarlo por operación: es consecuencia automática de la conciliación.

Dónde impacta se define una vez, en Contabilidad > Configuración > Ajustes, bloque Cuentas por defecto, grupo Asientos de diferencia de cambio de monedas. Son tres campos:

  • Diario: el diario donde caen esos asientos. El plan argentino trae uno creado a tal efecto, llamado Diferencia de cambio, con código EXCH. No aparece en el tablero, y está bien que así sea.
  • Ganancia y Pérdida: las cuentas de resultado. El plan argentino asigna la misma cuenta a las dos: Diferencias de cambio. Si la empresa necesita verlas separadas, hay que crear la segunda cuenta y cambiarla acá.

Esos campos solo se ven con el modo multimoneda encendido, y conviene revisarlos antes de la primera operación en dólares: son los que definen contra qué renglón del balance se va a acumular todo el año.

🖼️
Captura pendiente
Contabilidad > Configuración > Ajustes, bloque Cuentas por defecto, mostrando el grupo Asientos de diferencia de cambio de monedas con sus tres campos completos: Diario, Ganancia y Pérdida.
🖼️
Captura pendiente
El asiento que Odoo genera solo al conciliar un cobro en dólares con su factura, abierto en su propia ficha (se llega desde la factura ya cobrada). Tienen que verse las líneas rotuladas Diferencia en tasa de cambio de moneda con su cuenta y su importe en pesos, y arriba el diario Diferencia de cambio. Que no aparezca el nombre del cliente ni en la referencia ni en las líneas.
6

El cierre: valuar lo que todavía está abierto

Las diferencias de la sección anterior son las realizadas. Lo que quedó sin cobrar al cierre se valúa con otro informe.

Una factura en dólares emitida en octubre y todavía impaga en diciembre nunca pasó por una conciliación, así que no generó ninguna diferencia de cambio. Sigue registrada en pesos a la cotización de octubre, que ya no es la real. Para eso está el informe Revisión > Asientos de regularización > Monedas no realizadas, que se llama Ganancias/pérdidas de moneda no realizadas.

El informe lista los saldos abiertos en moneda extranjera con cuatro columnas: Balance en moneda extranjera —cuántos dólares—, Balance sobre la tasa de la operación —cuántos pesos quedaron registrados—, Balance sobre la tasa actual —cuántos serían hoy— y Ajuste —la diferencia entre las dos anteriores—. Se agrupa en Cuentas por ajustar y Cuentas excluidas; cada cuenta se puede pasar de un grupo al otro desde su menú de tres puntos. No es un informe por período: se lee a una fecha.

La cotización de cierre no tiene por qué ser la que está cargada. El botón Tasas de cambio, arriba del informe, abre un panel donde se escribe la cotización a mano y el informe se recalcula entero. Mientras haya una cotización tipeada, Odoo muestra un aviso que dice que estás usando tasas de cambio personalizadas, con un acceso ⇒ Restablecer a la tasa de Odoo para volver atrás. Ese panel también expresa la cotización como «1 ARS = tantos dólares».

El botón Asiento de ajuste convierte el informe en contabilidad. Abre un asistente con el diario, la cuenta de gastos, la cuenta de ingresos, la fecha del ajuste y una fecha de reversión que Odoo propone al día siguiente, más una vista previa del asiento completo. Al confirmar con Crear asiento genera dos asientos registrados: el ajuste a la fecha de cierre y su reversión al día siguiente. Eso es lo correcto —la valuación es una provisión, no un resultado definitivo— y explica por qué al día siguiente el ajuste desaparece solo.

🖼️
Captura pendiente
El informe Ganancias/pérdidas de moneda no realizadas, en Revisión > Asientos de regularización > Monedas no realizadas, leído a una fecha y con saldos abiertos. Tienen que verse las cuatro columnas —Balance en moneda extranjera, Balance sobre la tasa de la operación, Balance sobre la tasa actual y Ajuste—, los grupos Cuentas por ajustar y Cuentas excluidas, y arriba los botones Tasas de cambio y Asiento de ajuste.
🖼️
Captura pendiente
El asistente que abre el botón Asiento de ajuste, todavía sin confirmar. Tienen que verse el diario, la cuenta de gastos, la cuenta de ingresos, la fecha del ajuste, la fecha de reversión que propone Odoo y la vista previa del asiento, con el botón Crear asiento abajo.
No corras el asiento de ajuste dos veces por el mismo períodoEl asistente avisa cuando detecta un asiento previo en las mismas cuentas y sin reversión, pero el aviso es amarillo: deja seguir. Si se confirma igual, la provisión queda duplicada y el resultado del ejercicio sale mal. Antes de generar el ajuste de un cierre, conviene verificar que el del período anterior tenga su reversión registrada. Y si Odoo responde que no se requiere ningún ajuste, no es un error: significa que no hay saldos abiertos en moneda extranjera a esa fecha.