EMEBI

l10n_fr_intrastat_product
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/18.0/l10n_fr_intrastat_product
VERSION
VERSION 2.1.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:19
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - base
    - base_vat
    - account
    - base_setup
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES unidecode
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for the *Enquête mensuelle statistique sur les
échanges de biens intra-UE* (EMEBI), for France. Before 2022, this
declaration was called Déclaration d'Échange de Biens (DEB).

More information about the EMEBI is available on this [official web
page](https://www.douane.gouv.fr/fiche/reglementation-sur-la-reponse-lenquete-mensuelle-statistique-sur-les-echanges-de-biens-intra).

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
intrastat_fr_regime_form intrastat.fr.regime form New
intrastat_fr_regime_search intrastat.fr.regime search New
intrastat_fr_regime_tree intrastat.fr.regime list New
intrastat_product_computation_line_view_form intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
intrastat_product_computation_line_view_tree intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
intrastat_product_declaration_line_view_form intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings xpath Inherits intrastat_product.view_res_config_settings
Models touched (9)

New fields (7)
  • active Boolean
    default=True
  • code Char
    readonly=True required=True size=2
  • declaration_type Selection
    readonly=True args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • description Text
  • fiscal_value_multiplier Integer
    help='Used to compute the total fiscal value of the declaration.' readonly=True
  • is_fiscal_only Boolean
    readonly=True string='Is fiscal only ?'
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (2)
  • fr_regime_code Char
    related='fr_regime_id.code' store=True string='Regime Code'
  • fr_regime_id Many2one → intrastat.fr.regime
    domain="[('declaration_type', '=', declaration_type)]" string='Regime' args: 'intrastat.fr.regime'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • fr_regime_code Char
    related='fr_regime_id.code' store=True string='Regime Code'
  • fr_regime_id Many2one → intrastat.fr.regime
    string='Regime' args: 'intrastat.fr.regime'
Public methods (0)

No public methods.

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size: 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/17.0/l10n_fr_intrastat_product
VERSION
VERSION 1.2.1
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:10
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - base_iban
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module adds support for the *Enquête mensuelle statistique sur les
échanges de biens intra-UE* (EMEBI), for France. Before 2022, this
declaration was called Déclaration d'Échange de Biens (DEB).

More information about the EMEBI is available on this [official web
page](https://www.douane.gouv.fr/fiche/reglementation-sur-la-reponse-lenquete-mensuelle-statistique-sur-les-echanges-de-biens-intra).

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
intrastat_fr_regime_form intrastat.fr.regime form New
intrastat_fr_regime_search intrastat.fr.regime search New
intrastat_fr_regime_tree intrastat.fr.regime tree New
intrastat_product_computation_line_view_form intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
intrastat_product_computation_line_view_tree intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
intrastat_product_declaration_line_view_form intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings xpath Inherits intrastat_product.view_res_config_settings
Models touched (9)

New fields (7)
  • active Boolean
    default=True
  • code Char
    readonly=True required=True size=2
  • declaration_type Selection
    readonly=True args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • description Text
  • fiscal_value_multiplier Integer
    help='Used to compute the total fiscal value of the declaration.' readonly=True
  • is_fiscal_only Boolean
    readonly=True string='Is fiscal only ?'
  • name Char
    required=True
Public methods (0)

No public methods.

New fields (2)
  • fr_regime_code Char
    related='fr_regime_id.code' store=True string='Regime Code'
  • fr_regime_id Many2one → intrastat.fr.regime
    domain="[('declaration_type', '=', declaration_type)]" string='Regime' args: 'intrastat.fr.regime'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • fr_regime_code Char
    related='fr_regime_id.code' store=True string='Regime Code'
  • fr_regime_id Many2one → intrastat.fr.regime
    string='Regime' args: 'intrastat.fr.regime'
Public methods (0)

No public methods.

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size: 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/16.0/l10n_fr_intrastat_product
VERSION
VERSION 2.2.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Florian da Costa, Weblate, OCA-git-bot, oca-ci, juancarlosonate-tecnativa
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - account_payment
    - payment
    - utm
    - stock_account
    - stock
    - barcodes_gs1_nomenclature
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-stdnum>=1.16
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (10)
XML IDNameModelTypeStatus
intrastat_fr_regime_form intrastat.fr.regime form New
intrastat_fr_regime_search intrastat.fr.regime search New
intrastat_fr_regime_tree intrastat.fr.regime tree New
intrastat_product_computation_line_view_form intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
intrastat_product_computation_line_view_tree intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
intrastat_product_declaration_line_view_form intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings div Inherits intrastat_product.view_res_config_settings
Models touched (9)

New fields (7)
  • active Boolean
    default=True
  • code Char
    readonly=True required=True size=2
  • declaration_type Selection
    readonly=True args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • description Text
  • fiscal_value_multiplier Integer
    help='Used to compute the total fiscal value of the declaration.' readonly=True
  • is_fiscal_only Boolean
    readonly=True string='Is fiscal only ?'
  • name Char
    required=True
Public methods (1)
  • name_get(self)
    @api.depends('code', 'name')

New fields (2)
  • fr_regime_code Char
    related='fr_regime_id.code' store=True string='Regime Code'
  • fr_regime_id Many2one → intrastat.fr.regime
    domain="[('declaration_type', '=', declaration_type)]" string='Regime' args: 'intrastat.fr.regime'
Public methods (0)

No public methods.

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Integer
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (2)
  • fr_regime_code Char
    related='fr_regime_id.code' store=True string='Regime Code'
  • fr_regime_id Many2one → intrastat.fr.regime
    string='Regime' args: 'intrastat.fr.regime'
Public methods (0)

No public methods.

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size: 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/15.0/l10n_fr_intrastat_product
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-stdnum>=1.16
xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration form Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings div Inherits intrastat_product.view_res_config_settings
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Integer
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (5)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_object_type Selection
    index=True required=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (2)
  • name_get(self)
    @api.depends('code', 'description', 'fr_transaction_code')
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (5)
  • amount_accessory_cost_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' store=True
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Department' args: 'res.country.department'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (0)

No public methods.

New fields (4)
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_fiscal_representative_id Many2one → res.partner
    domain=[('parent_id', '=', False)] help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/14.0/l10n_fr_intrastat_product
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Sylvain LE GAL, OCA Transbot, oca-travis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-stdnum>=1.16
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration form Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings div Inherits intrastat_product.view_res_config_settings
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Integer
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (5)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_object_type Selection
    index=True required=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (2)
  • name_get(self)
    @api.depends('code', 'description', 'fr_transaction_code')
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (5)
  • amount_accessory_cost_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' store=True
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Department' args: 'res.country.department'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (0)

No public methods.

New fields (4)
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_fiscal_representative_id Many2one → res.partner
    domain=[('parent_id', '=', False)] help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/13.0/l10n_fr_intrastat_product
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA Transbot, Weblate, OCA-git-bot, Jérémy Didderen
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - base_iban
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration form Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings div Inherits intrastat_product.view_res_config_settings
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Integer
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (5)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_object_type Selection
    index=True required=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (2)
  • name_get(self)
    @api.depends('code', 'description', 'fr_transaction_code')
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (6)
  • amount_accessory_cost_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Department' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches.' ondelete='restrict' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (0)

No public methods.

New fields (5)
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_fiscal_representative_id Many2one → res.partner
    domain=[('parent_id', '=', False)] help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/12.0/l10n_fr_intrastat_product
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, OCA Transbot, David Beal, oca-travis, Weblate, OCA-git-bot, Iván Todorovich, Ivan Todorovich
WEBSITE
WEBSITEhttps://github.com/OCA/l10n-france
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - l10n_fr
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - base_iban
    - base_vat
    - sale_stock
    - sale
    - sales_team
    - payment
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration form Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings div Inherits intrastat_product.view_res_config_settings
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Integer
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (5)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_object_type Selection
    index=True required=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (2)
  • name_get(self)
    @api.depends('code', 'description', 'fr_transaction_code')
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (6)
  • amount_accessory_cost_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Department' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches.' ondelete='restrict' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (1)
  • goto_prodouane_site(self)

New fields (5)
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    readonly=False related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_fiscal_representative_id Many2one → res.partner
    domain=[('parent_id', '=', False)] help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/11.0/l10n_fr_intrastat_product
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Raphaël Valyi, OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - analytic
    - web_planner
    - portal
    - http_routing
    - sale_stock
    - sale_management
    - sale
    - sales_team
    - account_invoicing
    - stock_account
    - stock
    - barcodes
    - purchase
    - l10n_fr
    - base_iban
    - contacts
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration form Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form res.config.settings field Inherits intrastat_product.view_res_config_settings
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Float
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (6)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_is_vat_required Boolean
    help='True for all procedure codes except 11, 19 and 29. When False, the VAT number should not be filled in the Intrastat product line.' string='Is partner VAT required?'
  • fr_object_type Selection
    index=True required=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (1)
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this supplementary unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (6)
  • amount_accessory_cost_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Department' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches.' ondelete='restrict' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (1)
  • goto_prodouane_site(self)

New fields (5)
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • fr_intrastat_accreditation Char
    related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_fiscal_representative_id Many2one → res.partner
    domain=[('parent_id', '=', False)] help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    @api.multi
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/10.0/l10n_fr_intrastat_product
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, David Beal, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_department
    - l10n_fr_state
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - report
    - analytic
    - web_planner
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
    - purchase
    - l10n_fr
    - base_iban
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration header Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_account_config_settings l10n_fr_intrastat_product.account.config.settings.form account.config.settings field Inherits intrastat_product.view_account_config_settings
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (1)
  • fr_intrastat_accreditation Char
    related='company_id.fr_intrastat_accreditation'
Public methods (0)

No public methods.

New fields (2)
  • num_decl_lines Integer
    compute='_compute_fr_numbers'
  • total_amount Float
    compute='_compute_fr_numbers'
Public methods (0)

No public methods.

New fields (5)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_object_type Selection
    index=True required=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (1)
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (6)
  • amount_accessory_cost_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' ondelete='restrict' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (1)
  • goto_prodouane_site(self)

New fields (5)
  • amount_company_currency_sign Float
    compute='_compute_amount_company_currency_sign' readonly=True store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • intrastat_fiscal_representative_id Many2one → res.partner
    domain=[('parent_id', '=', False)] help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    @api.multi
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/l10n-france
GIT
GIThttps://github.com/OCA/l10n-france.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-france/tree/8.0/l10n_fr_intrastat_product
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYLocalisation/Report Intrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSAkretion
MAINTAINERS
MAINTAINERSAkretion
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, OCA-git-bot
WEBSITE
WEBSITEhttp://www.akretion.com
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:27
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_product
    - intrastat_base
    - product_harmonized_system
OCA/l10n-france:
    - l10n_fr_siret
    - l10n_fr_department
    - l10n_fr_state
OCA/stock-logistics-workflow:
    - stock_picking_invoice_link
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - report
    - analytic
    - board
    - edi
    - email_template
    - stock_account
    - stock
    - procurement
    - web_kanban_gauge
    - web_kanban_sparkline
    - sale_stock
    - sale
    - sales_team
    - account_voucher
    - purchase
    - l10n_fr
    - base_iban
    - account_chart
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
intrastat_transaction_form fr.intrastat.transaction.form intrastat.transaction field Inherits intrastat_product.intrastat_transaction_form
intrastat_transaction_tree fr.intrastat.transaction.tree intrastat.transaction field Inherits intrastat_product.intrastat_transaction_tree
intrastat_unit_form fr.intrastat.unit.form intrastat.unit field Inherits intrastat_product.intrastat_unit_form
l10n_fr_intrastat_product_computation_line_form l10n.fr.intrastat.product.computation.line.form l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_form
l10n_fr_intrastat_product_computation_line_tree l10n.fr.intrastat.product.computation.line.tree l10n.fr.intrastat.product.computation.line field Inherits intrastat_product.intrastat_product_computation_line_view_tree
l10n_fr_intrastat_product_declaration_form l10n.fr.intrastat.product.declaration.form l10n.fr.intrastat.product.declaration form Inherits intrastat_product.intrastat_product_declaration_view_form
l10n_fr_intrastat_product_declaration_line_form l10n.fr.intrastat.product.declaration.line.form l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_form
l10n_fr_intrastat_product_declaration_line_tree l10n.fr.intrastat.product.declaration.line.tree l10n.fr.intrastat.product.declaration.line field Inherits intrastat_product.intrastat_product_declaration_line_view_tree
l10n_fr_intrastat_product_declaration_search l10n.fr.intrastat.product.declaration.search l10n.fr.intrastat.product.declaration search Inherits intrastat_product.intrastat_product_declaration_view_search
l10n_fr_intrastat_product_declaration_tree l10n.fr.intrastat.product.declaration.tree l10n.fr.intrastat.product.declaration tree Inherits intrastat_product.intrastat_product_declaration_view_tree
product_template_form_view fr.intrastat.base.product.template.form product.template field Inherits intrastat_base.product_template_form_view
view_company_form fr.intrastat.product.company.form res.company group Inherits intrastat_product.view_company_form
view_partner_property_form fr.intrastat.product.res.partner res.partner field Inherits account.view_partner_property_form
Models touched (11)

New fields (2)
  • num_decl_lines Integer
    compute='_fr_compute_numbers'
  • total_amount Float
    compute='_fr_compute_numbers'
Public methods (0)

No public methods.

New fields (6)
  • fr_fiscal_value_multiplier Integer
    help="'0' for procedure codes 19 and 29, '-1' for procedure code 25, '1' for all the others. This multiplier is used to compute the total fiscal value of the declaration." string='Fiscal value multiplier'
  • fr_intrastat_product_type Selection
    help="Decides on which kind of Intrastat product report ('Import' or 'Export') this Intrastat type can be selected." string='Intrastat product type' args: [('arrivals', 'Arrivals'), ('dispatches', 'Dispatches')]
  • fr_is_fiscal_only Boolean
    help='Only fiscal data should be provided for this procedure code.' string='Is fiscal only ?'
  • fr_is_vat_required Boolean
    help='True for all procedure codes except 11, 19 and 29. When False, the VAT number should not be filled in the Intrastat product line.' string='Is partner VAT required?'
  • fr_object_type Selection
    required=True select=True string='Possible on' args: [('out_invoice', 'Customer Invoice'), ('out_refund', 'Customer Refund'), ('in_invoice', 'Supplier Invoice'), ('none', 'None')]
  • fr_transaction_code Selection
    help="For the 'DEB' declaration to France's customs administration, you should enter the number 'nature de la transaction' here." string='Transaction code' args: [('', '-'), ('11', '11'), ('12', '12'), ('13', '13'), ('14', '14'), ('19', '19'), ('21', '21'), ('22', '22'), ('23', '23'), ('29', '29'), ('30', '30'), ('41', '41'), ('42', '42'), ('51', '51'), ('52', '52'), ('70', '70'), ('80', '80'), ('91', '91'), ('99', '99')]
Public methods (1)
  • procedure_code_on_change(self)
    @api.onchange('code')

New fields (1)
  • fr_xml_label Char
    help='Label used in the XML file export of the French Intrastat Product Declaration for this unit of measure.' size=12 string='Label for DEB'
Public methods (0)

No public methods.

New fields (6)
  • amount_accessory_cost_company_currency_sign Float
    compute='compute_amount_company_currency_sign' readonly=True store=True
  • amount_company_currency_sign Float
    compute='compute_amount_company_currency_sign' readonly=True store=True
  • declaration_line_id Many2one → l10n.fr.intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'l10n.fr.intrastat.product.declaration.line'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' ondelete='restrict' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (1)
  • compute_amount_company_currency_sign(self)
    @api.multi@api.depends('amount_company_currency', 'amount_accessory_cost_company_currency', 'transaction_id.fr_fiscal_value_multiplier')

New fields (2)
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'parent_id'
  • declaration_line_ids One2many → l10n.fr.intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'l10n.fr.intrastat.product.declaration.line', 'parent_id'
Public methods (0)

No public methods.

New fields (5)
  • amount_company_currency_sign Float
    compute='compute_amount_company_currency_sign' readonly=True store=True
  • computation_line_ids One2many → l10n.fr.intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'l10n.fr.intrastat.product.computation.line', 'declaration_line_id'
  • fr_department_id Many2one → res.country.department
    ondelete='restrict' string='Departement' args: 'res.country.department'
  • fr_partner_id Many2one → res.partner
    help='Origin partner for arrivals. Destination partner (or his fiscal representative) for dispatches' string='Partner' args: 'res.partner'
  • parent_id Many2one → l10n.fr.intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'l10n.fr.intrastat.product.declaration'
Public methods (1)
  • compute_amount_company_currency_sign(self)
    @api.multi@api.depends('amount_company_currency', 'transaction_id.fr_fiscal_value_multiplier')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (1)
  • fr_intrastat_accreditation Char
    help='Company identifier for Intrastat file export. Size : 4 characters.' size=4 string='Customs accreditation identifier'
Public methods (1)
  • check_fr_intrastat(self)
    @api.constrains('intrastat_arrivals', 'country_id')

New fields (1)
  • intrastat_fiscal_representative Many2one → res.partner
    help='If this partner is located outside the EU but you deliver the goods inside the UE, the partner needs to have a fiscal representative with a VAT number inside the EU. In this scenario, the VAT number of the fiscal representative will be used for the Intrastat Product report (DEB).' string='EU fiscal representative' args: 'res.partner'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    @api.multi
    I don't think it's a good idea to use the get_intrastat_region() of intrastat_product because it doesn't return the same object. That's why there is a small code duplication in this method

New fields (0)

No new fields.

Public methods (1)
  • get_fr_department(self)
    @api.multi