# Intrastat Product

This module contains common objects and fields for the Intrastat Product reporting.

It should be used in combination with country-specific Intrastat Product reporting modules such as:

- l10n_fr_intrastat_product: the module for the Déclaration d’Echange de Biens (DEB) for France
- l10n_be_intrastat_product: the module for the Intrastat Product Declaration for Belgium

These country-specific modules can be found in the OCA localization for those countries.

Table of contents

- Installation
- Configuration
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

# Installation

This module is NOT compatible with the account_intrastat module from Odoo Enterprise.

We recommended to install the module product_net_weight from `OCA/product-attribute <https://github.com/OCA/product-attribute>`_. If this module is installed, Odoo will use the Net Weight field of the product to compute the intrastat declaration instead of the native Weight field.

# Configuration

By default the intrastat declaration is generated based upon the product record master data. Hence unexpected results may occur in case this master data is not accurate, e.g. wrong or missing weight, country of origin, …

This can be corrected by changing the appropriate fields when analysing the intrastat declaration but this can be challenging in case of large transaction volumes and especially in the specific use case where the product weight cannot be encoded correctly on the product records (e.g. products with variable weight).

It is possible to allow encoding the intrastat transaction details on the purchase/sale invoice via the “intrastat_product.group_invoice_intrastat_transaction_detail” usability group.

# Usage

This module is used in combination with the country-specific localization module(s).

Coding guidelines for localization module:

We recommend to start by copying an existing module, e.g. l10n_be_intrastat_product and adapt the code for the specific needs of your country.

- Declaration Object

  Create a new class as follows:

      class L10nCcIntrastatProductDeclaration(models.Model):
          _name = 'l10n.cc.intrastat.product.declaration'
          _description = "Intrastat Product Declaration for YourCountry"
          _inherit = ['intrastat.product.declaration', 'mail.thread']

  whereby cc = your country code

- Computation & Declaration Lines

  Create also new objects inheriting from the Computation and Declaration Line Objects so that you can add methods or customise the methods from the base modules (make a PR when the customization or new method is required for multiple countries).

  Adapt also the parent_id fields of the newly created objects (cf. l10n_be_intrastat_product as example).

- XML Files: Menu, Action, Views

  Cf. l10n_be_istrastat_product as example, replace “be” by your Country Code.

Other functionality added by this module:

- Compute the Intrastat Lines in an invoice. For this, your user needs to be in the “Technical / Invoice Intrastat Transaction Details” group. Go to the “Intrastat transaction details” tab and press Compute

# Known issues / Roadmap

The declaration is based upon the invoices of the corresponding tax declaration period.

An option to generate the intrastat declaration based upon the dates of the physical movements of goods is currently not available.

# Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- ACSONE SA/NV
- brain-tec AG
- Akretion
- Noviat

## Contributors

- Alexis de Lattre, Akretion <alexis.delattre@akretion.com>

- Luc De Meyer, Noviat <info@noviat.com>

- Denis Roussel <denis.roussel@acsone.eu>

- Tecnativa <www.tecnativa.com\>:

  > - João Marques
  > - Víctor Martínez

## Maintainers

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

This module is part of the OCA/intrastat-extrastat project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.