EU One Stop Shop (OSS)

l10n_eu_service
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/14.0/l10n_eu_service
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYAccounting/Localizations
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Ravi Gohil, Yannick Tivisse, Xavier-Do, oco-odoo, fw-bot, Brice bib Bartoletti, Habib (ayh), Antoine Dupuis (andu), Dylan Kiss (dyki), HuylenbroeckFlorent
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:14:31
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU One Stop Shop (OSS) VAT
==========================

From July 1st 2021, EU businesses that are selling goods within the EU above EUR 10 000 to buyers located in another EU Member State need to register and pay VAT in the buyers’ Member State.
Below this new EU-wide threshold you can continue to apply the domestic rules for VAT on your cross-border sales. In order to simplify the application of this EU directive, the One Stop Shop (OSS) registration scheme allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation of the required EU fiscal positions and taxes in order to automatically apply and record the required taxes.

All you have to do is check that the proposed mapping is suitable for the products and services you sell.

References
++++++++++
Council Directive (EU) 2017/2455 Council Directive (EU) 2019/1995
Council Implementing Regulation (EU) 2019/2026

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n.eu.service res.config.settings div Inherits account.res_config_settings_view_form
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (6)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • company_id Many2one → res.company
    default=_get_default_company_id required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (2)
  • generate_eu_service(self)
  • load_views(self, views, options=None)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • l10n_eu_services_eu_country Boolean
    compute='_compute_l10n_eu_services_european_country' args: 'Is European country?'
Public methods (1)
  • refresh_eu_tax_mapping(self)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/13.0/l10n_eu_service
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSYannick Tivisse, Adrian Torres, Xavier-Do, oco-odoo, fw-bot, Brice bib Bartoletti
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:06:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU One Stop Shop (OSS) VAT
==========================

From July 1st 2021, EU businesses that are selling goods within the EU above EUR 10 000 to buyers located in another EU Member State need to register and pay VAT in the buyers’ Member State.
Below this new EU-wide threshold you can continue to apply the domestic rules for VAT on your cross-border sales. In order to simplify the application of this EU directive, the One Stop Shop (OSS) registration scheme allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation of the required EU fiscal positions and taxes in order to automatically apply and record the required taxes.

All you have to do is check that the proposed mapping is suitable for the products and services you sell.

References
++++++++++
Council Directive (EU) 2017/2455 Council Directive (EU) 2019/1995
Council Implementing Regulation (EU) 2019/2026

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n.eu.service res.config.settings div Inherits account.res_config_settings_view_form
Models touched (5)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (6)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • company_id Many2one → res.company
    default=_get_default_company_id required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (2)
  • generate_eu_service(self)
  • load_views(self, views, options=None)
    @api.model

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • refresh_eu_tax_mapping(self)
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/12.0/l10n_eu_service
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, qdp-odoo, Olivier Colson, qsm-odoo, Christophe Monniez, Xavier-Do, oco-odoo
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:57:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU Mini One Stop Shop (MOSS) VAT for telecommunications, broadcasting and electronic services
=============================================================================================

As of January 1rst, 2015, telecommunications, broadcasting
and electronic services sold within the European Union
have to be always taxed in the country where the customer
belongs. In order to simplify the application of this EU
directive, the Mini One Stop Shop (MOSS) registration scheme
allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation
of the required EU fiscal positions and taxes in order to
automatically apply and record the required taxes.

This module installs a wizard to help setup fiscal positions
and taxes for selling electronic services inside EU.

The wizard lets you select:
 - the EU countries to which you are selling these
   services
 - your national VAT tax for services, to be mapped
   to the target country's tax
 - optionally: a template fiscal position, in order
   to copy the account mapping. Should be your
   existing B2C Intra-EU fiscal position. (defaults
   to no account mapping)
 - optionally: an account to use for collecting the
   tax amounts (defaults to the account used by your
   national VAT tax for services)

It creates the corresponding fiscal positions and taxes,
automatically applicable for EU sales with a customer
in the selected countries.
The wizard can be run again for adding more countries.

References
++++++++++
- Directive 2008/8/EC
- Council Implementing Regulation (EU) No 1042/2013

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n.eu.service res.config.settings div Inherits account.res_config_settings_view_form
Models touched (2)

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (6)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • company_id Many2one → res.company
    default=_get_default_company_id required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (1)
  • generate_eu_service(self)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/11.0/l10n_eu_service
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, GitHub, Yannick Tivisse
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:53:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU Mini One Stop Shop (MOSS) VAT for telecommunications, broadcasting and electronic services
=============================================================================================

As of January 1rst, 2015, telecommunications, broadcasting
and electronic services sold within the European Union
have to be always taxed in the country where the customer
belongs. In order to simplify the application of this EU
directive, the Mini One Stop Shop (MOSS) registration scheme
allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation
of the required EU fiscal positions and taxes in order to
automatically apply and record the required taxes.

This module installs a wizard to help setup fiscal positions
and taxes for selling electronic services inside EU.

The wizard lets you select:
 - the EU countries to which you are selling these
   services
 - your national VAT tax for services, to be mapped
   to the target country's tax
 - optionally: a template fiscal position, in order
   to copy the account mapping. Should be your
   existing B2C Intra-EU fiscal position. (defaults
   to no account mapping)
 - optionally: an account to use for collecting the
   tax amounts (defaults to the account used by your
   national VAT tax for services)

It creates the corresponding fiscal positions and taxes,
automatically applicable for EU sales with a customer
in the selected countries.
The wizard can be run again for adding more countries.

The wizard creates a separate Chart of Taxes for collecting the
VAT amounts of the MOSS declaration, so extracting the MOSS
data should be easy.
Look for a Chart of Taxes named "EU MOSS VAT Chart" in the
Taxes Report menu (Generic Accounting Report).

References
++++++++++
- Directive 2008/8/EC
- Council Implementing Regulation (EU) No 1042/2013

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.l10n.eu.service res.config.settings div Inherits account.res_config_settings_view_form
Models touched (2)

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (6)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • company_id Many2one → res.company
    default=_get_default_company_id required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (1)
  • generate_eu_service(self)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/10.0/l10n_eu_service
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSMartin Trigaux, Olivier Dony, Denis Ledoux, Christophe Simonis, Julien Legros, qdp-odoo, Yannick Tivisse
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:50:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU Mini One Stop Shop (MOSS) VAT for telecommunications, broadcasting and electronic services
=============================================================================================

As of January 1rst, 2015, telecommunications, broadcasting
and electronic services sold within the European Union
have to be always taxed in the country where the customer
belongs. In order to simplify the application of this EU
directive, the Mini One Stop Shop (MOSS) registration scheme
allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation
of the required EU fiscal positions and taxes in order to
automatically apply and record the required taxes.

This module installs a wizard to help setup fiscal positions
and taxes for selling electronic services inside EU.

The wizard lets you select:
 - the EU countries to which you are selling these
   services
 - your national VAT tax for services, to be mapped
   to the target country's tax
 - optionally: a template fiscal position, in order
   to copy the account mapping. Should be your
   existing B2C Intra-EU fiscal position. (defaults
   to no account mapping)
 - optionally: an account to use for collecting the
   tax amounts (defaults to the account used by your
   national VAT tax for services)

It creates the corresponding fiscal positions and taxes,
automatically applicable for EU sales with a customer
in the selected countries.
The wizard can be run again for adding more countries.

The wizard creates a separate Chart of Taxes for collecting the
VAT amounts of the MOSS declaration, so extracting the MOSS
data should be easy.
Look for a Chart of Taxes named "EU MOSS VAT Chart" in the
Taxes Report menu (Generic Accounting Report).

References
++++++++++
- Directive 2008/8/EC
- Council Implementing Regulation (EU) No 1042/2013

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
view_account_config_settings_inherit account settings account.config.settings field Inherits account.view_account_config_settings
Models touched (2)

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (6)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • company_id Many2one → res.company
    default=_get_default_company_id required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (1)
  • generate_eu_service(self)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/9.0/l10n_eu_service
VERSION
VERSION 1.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Josse Colpaert, Denis Ledoux, Christophe Simonis, qdp-odoo, Aaron Bohy, Yannick Tivisse
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-05 23:48:31
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU Mini One Stop Shop (MOSS) VAT for telecommunications, broadcasting and electronic services
=============================================================================================

As of January 1rst, 2015, telecommunications, broadcasting
and electronic services sold within the European Union
have to be always taxed in the country where the customer
belongs. In order to simplify the application of this EU
directive, the Mini One Stop Shop (MOSS) registration scheme
allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation
of the required EU fiscal positions and taxes in order to
automatically apply and record the required taxes.

This module installs a wizard to help setup fiscal positions
and taxes for selling electronic services inside EU.

The wizard lets you select:
 - the EU countries to which you are selling these
   services
 - your national VAT tax for services, to be mapped
   to the target country's tax
 - optionally: a template fiscal position, in order
   to copy the account mapping. Should be your
   existing B2C Intra-EU fiscal position. (defaults
   to no account mapping)
 - optionally: an account to use for collecting the
   tax amounts (defaults to the account used by your
   national VAT tax for services)

It creates the corresponding fiscal positions and taxes,
automatically applicable for EU sales with a customer
in the selected countries.
The wizard can be run again for adding more countries.

The wizard creates a separate Chart of Taxes for collecting the
VAT amounts of the MOSS declaration, so extracting the MOSS
data should be easy.
Look for a Chart of Taxes named "EU MOSS VAT Chart" in the
Taxes Report menu (Generic Accounting Report).

References
++++++++++
- Directive 2008/8/EC
- Council Implementing Regulation (EU) No 1042/2013

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
view_account_config_settings_inherit account settings account.config.settings field Inherits account.view_account_config_settings
Models touched (2)

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (6)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • company_id Many2one → res.company
    default=_get_default_company_id required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (1)
  • generate_eu_service(self)
    @api.multi
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/8.0/l10n_eu_service
VERSION
VERSION 1.0
CATEGORY
CATEGORY
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo SA
MAINTAINERS
MAINTAINERSOdoo SA
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Olivier Dony, Goffin Simon
WEBSITE
WEBSITEhttp://www.odoo.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 18:09:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - account_accountant
    - account_voucher
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
EU Mini One Stop Shop (MOSS) VAT for telecommunications, broadcasting and electronic services
=============================================================================================

As of January 1rst, 2015, telecommunications, broadcasting
and electronic services sold within the European Union
have to be always taxed in the country where the customer
belongs. In order to simplify the application of this EU
directive, the Mini One Stop Shop (MOSS) registration scheme
allows businesses to make a unique tax declaration.

This module makes it possible by helping with the creation
of the required EU fiscal positions and taxes in order to
automatically apply and record the required taxes.

This module installs a wizard to help setup fiscal positions
and taxes for selling electronic services inside EU.

The wizard lets you select:
 - the EU countries to which you are selling these
   services
 - your national VAT tax for services, to be mapped
   to the target country's tax
 - optionally: a template fiscal position, in order
   to copy the account mapping. Should be your
   existing B2C Intra-EU fiscal position. (defaults
   to no account mapping)
 - optionally: an account to use for collecting the
   tax amounts (defaults to the account used by your
   national VAT tax for services)

It creates the corresponding fiscal positions and taxes,
automatically applicable for EU sales with a customer
in the selected countries.
The wizard can be run again for adding more countries.

The wizard creates a separate Chart of Taxes for collecting the
VAT amounts of the MOSS declaration, so extracting the MOSS
data should be easy.
Look for a Chart of Taxes named "EU MOSS VAT Chart" in the
Taxes Report menu (Generic Accounting Report).

References
++++++++++
- Directive 2008/8/EC
- Council Implementing Regulation (EU) No 1042/2013

    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
eu_service_view l10n_eu_service.wizard.form l10n_eu_service.wizard form New
view_account_config_settings_inherit account settings account.config.settings field Inherits account.view_account_config_settings
Models touched (2)

New fields (2)
  • country_id Many2one → res.country
    string='Country' args: 'res.country'
  • rate Float
    string='VAT Rate'
Public methods (0)

No public methods.

New fields (7)
  • account_collected_id Many2one → account.account
    help='Optional account to use for collecting tax amounts when selling services in each EU country selected below. If not set, the current collecting account of your Service VAT will be used.' string='Tax Collection Account' args: 'account.account'
  • chart_id Many2one → account.account
    default=_default_chart_id required=True string='Chart of Accounts' args: 'account.account'
  • company_id Many2one → res.company
    readonly=True related='chart_id.company_id' required=True string='Company' args: 'res.company'
  • done_country_ids Many2many → res.country
    default=_default_done_country_ids string='Already Supported' args: 'res.country', 'l10n_eu_service_country_rel_done'
  • fiscal_position_id Many2one → account.fiscal.position
    default=_default_fiscal_position_id help='Optional fiscal position to use as template for general account mapping. Should usually be your current Intra-EU B2B fiscal position. If not set, no general account mapping will be configured for EU fiscal positions.' string='Fiscal Position' args: 'account.fiscal.position'
  • tax_id Many2one → account.tax
    default=_default_tax_id help='Select your current VAT tax for services. This is the tax that will be mapped to the corresponding VAT tax in each EU country selected below.' required=True string='Service VAT' args: 'account.tax'
  • todo_country_ids Many2many → res.country
    default=_default_todo_country_ids required=True string='EU Customers From' args: 'res.country', 'l10n_eu_service_country_rel_todo'
Public methods (1)
  • generate_eu_service(self)
    @api.multi