=================
Intrastat Product
=================

.. 
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! This file is generated by oca-gen-addon-readme !!
   !! changes will be overwritten.                   !!
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   !! source digest: sha256:34157fa50fe1e620cf1c559cfce49d301a5ec4fb6422d6c8274512840b588e78
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
    :target: https://odoo-community.org/page/development-status
    :alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
    :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fintrastat--extrastat-lightgray.png?logo=github
    :target: https://github.com/OCA/intrastat-extrastat/tree/15.0/intrastat_product
    :alt: OCA/intrastat-extrastat
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
    :target: https://translation.odoo-community.org/projects/intrastat-extrastat-15-0/intrastat-extrastat-15-0-intrastat_product
    :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
    :target: https://runboat.odoo-community.org/builds?repo=OCA/intrastat-extrastat&target_branch=15.0
    :alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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**

.. contents::
   :local:

Installation
============

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

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:

  .. code-block:: python

     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 <https://github.com/OCA/intrastat-extrastat/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 <https://github.com/OCA/intrastat-extrastat/issues/new?body=module:%20intrastat_product%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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.

.. image:: https://odoo-community.org/logo.png
   :alt: Odoo Community Association
   :target: https://odoo-community.org

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 <https://github.com/OCA/intrastat-extrastat/tree/15.0/intrastat_product>`_ project on GitHub.

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