Ventanilla única (OSS) en Odoo

Como adaptar nuestra base de datos a la One Stop Shop (OSS) con Odoo y aplicar correctamente el IVA en nuestras ventas en la Unión Europea


Todas las empresas se dedican al comercio, ya sea de bienes o servicios. A día de hoy las fronteras han desaparecido y las ventas se han vuelto prácticamente internacionales. Debido a esto, la Unión Europea ha decidido realizar algunas modificaciones que afectan de diferentes maneras. Vamos a explicarlas a continuación y ver cómo afectará a nuestra base de datos en Odoo.

1. En qué consiste la Ventanilla Única (One Stop Shop o OSS)

Debido a un cambio en la legislación a partir del 1 de julio de 2021, todas las ventas intracomunitarias a distancia de bienes y servicios para clientes finales (B2C) que conformen la Unión Europea deberán ser declaradas y gestionadas con los impuestos del país destino. Por ejemplo, siendo una empresa española y vendiendo productos mediante e-commerce, dichas ventas deberán tener aplicado el impuesto del país al que se realiza la venta, siempre y cuando este país pertenezca a la Unión Europea.


¿Quién está sujeto?

Para que una empresa esté sujeta ha de tener una facturación anual superior a 10.000€ mediante ventas a distancia a clientes finales (B2C) a nivel intracomunitario.  La Ventanilla Única no es algo obligatorio, podríamos dar de alta nuestra empresa en cada país y declarar los impuestos en cada uno de ellos, por lo que la Ventanilla Única tiene en parte el objetivo de agilizar este proceso. 

Por la implantación de esta nueva normativa, surge la necesidad de modificar varios modelos y la creación de nuevos. Los modelos 303 y 390 sufren modificaciones. El suministro inmediato de información (SII) también sufre alguna modificación debido a esta normativa. Por otro lado surgen nuevos modelos conocidos como 035 y 369. Otro cambio a destacar se ve reflejado en el libro de IVA, como también  en el registro de estas facturas el cual será un registro específico.


2. Adaptación de Odoo a la Ventanilla Única

Antes de esta nueva legislación no era necesario declarar los impuestos de cada país ya que se aplicaban los impuestos del país desde donde se realizaba la venta. Ahora que es necesario realizar la declaración de los impuestos en cada uno de los países donde hemos realizado las ventas ha surgido la necesidad de cambiar la manera de trabajar con Odoo.
Para poder adaptar Odoo a esta nueva legislación ha sido necesario la creación de nuevos módulos, estos módulos han sido desarrollados por la Odoo Community Association (OCA). Se trata de 3 módulos que explicaremos a continuación:


3. Módulos para la adaptación de Odoo a la Ventanilla Única

A continuación explicaremos de forma breve en qué consisten los 3 módulos citados anteriormente, cómo configurarlos y en qué afectan a nuestra base de datos referente a la Ventanilla Única. 

3.1 Posición fiscal para sus contactos (account_fiscal_position_partner_type)

Este módulo ha sido creado para ayudar en el mapeo de impuestos. Para ello se han añadido nuevos campos que nos permiten la correcta configuración de nuestra empresa y contactos.

El primer cambio se produce dentro de la configuración de nuestra compañía, donde se ha añadido el campo Default Partner Fiscal Position Type, en este campo nos permite establecer un valor referente a la posición fiscal de forma predeterminada a la hora de crear clientes, ofreciendo 3 posibilidades:

  • En blanco: Deberemos establecer nosotros el valor cada vez que creemos un cliente.

  • B2B:   Venta realizada a otra empresa o autónomo.

  • B2C:  Son ventas a clientes finales.

Para poder establecer este valor hemos de seguir la siguiente ruta: Ajustes-> Usuarios y compañías-> Compañía y seleccionar la compañía de interés. A continuación estableceremos el valor deseado en el campo Default Partner Fiscal Position Type.


Otro campo añadido hace referencia a los contactos. A la hora de crear un contacto, si no hemos establecido ningún valor en el campo mencionado anteriormente, podemos establecerlo dentro de la plantilla del contacto. Este campo también hace referencia a la posición fiscal del cliente, indicando si se trata de un cliente B2B o B2C.

Este campo comparte las opciones a seleccionar que ofrece el campo anterior:

  • Blanco

  • B2B

  • B2C


3.2 Asistente para la creación de impuestos (l10n_eu_oss)

Se trata de un módulo que nos ofrece un asistente para la creación masiva de las posiciones fiscales de la Unión Europea. Este módulo tiene dependencia del módulo anterior, lo que significa que será necesario instalar el anterior para poder hacer uso de este. Para poder utilizar el asistente se ha de acceder al módulo de Facturación. Una vez dentro del módulo debemos seguir la siguiente ruta: Configuración->Ajustes. Ya en la pantalla de ajustes, podremos observar diferentes bloques, en este caso debemos centrarnos en el bloque de Impuestos. En este apartado podremos encontrar una opción llamada Añadir nuevos impuestos tal y como podremos ver en la siguiente imagen.


Al seleccionar la opción mencionada anteriormente aparecerá una ventana emergente, dicha ventana es un asistente para la creación de las posiciones fiscales de la Unión Europea. Este asistente tiene diferentes campos que vamos a comentar a continuación:

  • Compañía: Hace referencia a la compañía.

  • Already Supported EU Customers Form: Como se puede apreciar en la imagen aparece el nombre de los países que conforman la Unión Europea. Esto es debido a que en este campo podemos añadir los países que deseemos para la creación de sus impuestos. Por defecto vienen todos y es recomendable no eliminar ninguno a no ser que sepamos que es un país con el que nunca trataremos (comercialmente hablando).

  • Price Include Tax: Se trata de una opción seleccionable donde podemos indicar que se incluya el impuesto en el precio.

  • General Tax: IVA general, aquí deberemos seleccionar el IVA general correspondiente a nuestro país. Las opciones seleccionables van acorde al plan contable instalado en la base de datos.

  • Reduced Tax: Aquí se deberá seleccionar el IVA reducido de nuestro país.

  • Super Reduced Tax: Igual que en campo anterior se deberá seleccionar el IVA super reducido referente a nuestro país.

  • Second Super Reduced Tax: Hay países que disponen de un segundo IVA super reducido, si es nuestra situación deberíamos seleccionar el IVA en cuestión.

Una vez hayamos seleccionado y configurado la información según nuestro caso, deberemos seleccionar la opción Crear Posiciones Fiscales e Impuesto.


Ya seleccionada la opción Crear Posiciones Fiscales e Impuestos el asistente desaparecerá de nuestra pantalla. Para ver qué impuestos ha creado deberemos dirigirnos a Configuración->Impuestos. Aquí podremos observar una lista de todos los impuestos creados mediante el asistente y a qué país pertenece.


3.3 Adaptación para la web 

(website_account_fiscal_position_partner_type)

Este módulo nos permite darle la opción al cliente que accede mediante la website a seleccionar qué tipo de cliente es, dando a elegir entre Compañía (B2B) o cliente final (B2C). Ha sido diseñado para complementar el uso del módulo l10n_eu_oss y de esta manera poder aplicar la posición fiscal correcta.


4. Caso de uso

En este caso de uso hemos de tener en cuenta que ya tenemos instalados los 3 módulos indicados. Además de esto también hemos utilizado el asistente para el mapeo y creación de impuestos de los diferentes países de la Unión Europea.

Teniendo esto en cuenta podemos iniciar el caso de uso:

Vamos a realizar una venta desde España a un cliente francés. Para poder ver el proceso vamos a realizar la creación del cliente para establecer que se trata de un cliente final (B2C).

  • Creación del contacto.

  • Creación de un producto llamado Impuesto general, dicho producto tendrá un IVA del 21% que es el impuesto general en España.

  • Realizamos la venta y vemos como el sistema, gracias a los 3 módulos instalados y el uso del asistente, modificará el impuesto aplicado a la venta.


4.1 Creación del contacto

Para el caso de uso que planteamos, necesitamos indicar al sistema que se trata de un cliente francés, por lo que en el campo País deberemos introducir el país indicado. Debemos tener en cuenta que Odoo tiene en cuenta otro campo para identificar la nacionalidad del cliente, se trata de la dirección de envío. Otro campo a recordar es Fiscal Position Partner Type, donde deberemos indicar si se trata de un cliente B2C o B2B, en este caso se seleccionará B2C

Recordemos que si deseamos que el valor del campo Fiscal Position Partner Type se establezca de forma predeterminada, deberemos dirigirnos al módulo de Ajustes->Usuarios y compañías->Compañías y seleccionar la compañía de interés, a continuación establecer el valor deseado en el campo Default Partner Fiscal Position Type (mencionado en el apartado 2.1).

Una vez establecidos los valores indicados podemos guardar los cambios y continuar.

4.2 Creación del producto con IVA del 21%

Para poder hacer el caso de uso simple, el producto se llamará Impuesto general. Por lo demás la configuración es bastante sencilla, tan sólo hemos de recordar que debemos seleccionar el impuesto en cuestión. Ya que vendemos desde España y hemos dicho que será el impuesto general se deberá establecer el IVA del 21%.



4.3 Venta con el IVA correspondiente

Ahora que ya tenemos el producto y cliente configurado, podemos proceder a realizar la venta.

Como hemos indicado en la información del caso de uso, se trata de un cliente francés. En Francia el impuesto general es el 20%, por lo que si hemos configurado todo correctamente, el sistema debería cambiarnos el impuesto aplicado al correspondiente en Francia.

Para ello, primero seleccionaremos el cliente en cuestión. Una vez seleccionado agregamos el producto Impuesto general en una línea de venta.

Como se puede observar en la imagen, el impuesto aplicado es OSS for EU to Francia: 20, que es el correcto ya que realizamos la venta en Francia. Recordemos que este impuesto ha sido creado gracias al asistente facilitado por el módulo l10n_eu_oss explicado en el apartado 2.2.

Este artículo ha sido redactado por nuestro asociado Sygel Technology.


Ventanilla única (OSS) en Odoo
Sygel Technology S.L. October 8, 2021
Sign in to leave a comment
Primer Meet-up AEOdoo
Evento local