Intrastat Product

intrastat_product
REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/19.0/intrastat_product
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Maksym Yankin
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:51
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - html_editor
    - uom
    - analytic
    - portal
    - 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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.list hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.list intrastat.product.computation.line list New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.list intrastat.product.declaration.line list New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.list intrastat.product.declaration list New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_search intrastat.region.search intrastat.region search New
intrastat_region_view_tree intrastat.region.list intrastat.region list New
intrastat_result_view_form intrastat.result_view_form intrastat.result.view form New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_list intrastat.transaction list New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.list intrastat.transport_mode list New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.list intrastat.unit list New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order group Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move xpath Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings xpath Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (19)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat Declaration Details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    check_company=True comodel_name='intrastat.transaction' domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" help='Intrastat Nature of Transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_src_dest_country_id' help='Destination country for dispatches. Origin country for arrivals.' readonly=False store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (9)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin of the Product'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (28)
  • amount_accessory_cost_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency of the accessory costs related to this invoice line. By default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] string='Partner' args: 'res.partner'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    compute='_compute_product_origin_country_code' help="2 letters ISO code of the country of origin of the product.\nSpecify 'QU' when the country of origin is unknown.\n" readonly=False size=2 store=True string='Country Code of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_code Char
    compute='_compute_region_code' readonly=False store=True
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    compute='_compute_src_dest_country_code' help="2 letters code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland." readonly=False store=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    compute='_compute_vat' readonly=False store=True string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (1)
  • group_line_hashcode(self)

New fields (19)
  • action Selection
    default='replace' required=True selection='_get_action' tracking=True
  • company_country_code Char
    related='company_id.partner_id.country_id.code' store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' string='Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' readonly=True string='Declaration Lines'
  • declaration_type Selection
    compute='_compute_declaration_type' precompute=True readonly=False required=True selection='_get_declaration_type' store=True string='Type' tracking=True
  • month Selection
    required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')]
  • note Html
    string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    compute='_compute_reporting_level' readonly=False selection='_get_reporting_level' store=True
  • revision Integer
    default=1 help='Used to keep track of changes'
  • state Selection
    copy=False default='draft' readonly=True selection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), ('done', 'Done')] tracking=True
  • total_amount Monetary
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • xml_attachment_datas Binary
    related='xml_attachment_id.datas' string='XML Export'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Attachment' args: 'ir.attachment'
  • xml_attachment_name Char
    related='xml_attachment_id.name' string='XML Filename'
  • year Char
    required=True
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' store=True string='Period' tracking=True
Public methods (10)
  • action_gather(self)
  • back2draft(self)
  • confirmed2done(self)
  • copy(self, default=None)
  • default_get(self, fields_list)
    @api.model
  • delete_xml(self)
  • draft2confirmed(self)
  • generate_declaration(self)
    generate declaration lines from computation lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • unlink(self)

New fields (21)
  • amount_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • line_number Integer
    readonly=True
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    help="2 letters ISO code of the country of origin of the product except for the UK.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain.\nSpecify 'QU' when the country is unknown.\n" size=2 string='Country of Origin of the Product'
  • region_code Char
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 letters ISO code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain." string='Country Code'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True
  • description Char
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • note Html
    default=<expr> readonly=True string='Notes'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • description Text
    translate=True
Public methods (0)

No public methods.

New fields (3)
  • code Char
    required=True
  • description Char
    translate=True
  • name Char
    required=True translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True
  • name Char
    required=True
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • intrastat Char
    compute='_compute_intrastat' store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (7)
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/18.0/intrastat_product
VERSION
VERSION 1.3.3
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
COMMITTERS
COMMITTERSAlexis de Lattre, Víctor Martínez, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, almumu, ilo, Andreu Orensanz, alvaroGC-S73
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - 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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.list hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.list intrastat.product.computation.line list New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.list intrastat.product.declaration.line list New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.list intrastat.product.declaration list New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_search intrastat.region.search intrastat.region search New
intrastat_region_view_tree intrastat.region.list intrastat.region list New
intrastat_result_view_form intrastat.result_view_form intrastat.result.view form New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_list intrastat.transaction list New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.list intrastat.transport_mode list New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.list intrastat.unit list New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order group Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move xpath Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner group Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings xpath Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (19)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat Declaration Details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    check_company=True comodel_name='intrastat.transaction' domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" help='Intrastat Nature of Transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_src_dest_country_id' help='Destination country for dispatches. Origin country for arrivals.' readonly=False store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (9)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin of the Product'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (28)
  • amount_accessory_cost_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency of the accessory costs related to this invoice line. By default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] string='Partner' args: 'res.partner'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    compute='_compute_product_origin_country_code' help="2 letters ISO code of the country of origin of the product.\nSpecify 'QU' when the country of origin is unknown.\n" readonly=False size=2 store=True string='Country Code of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_code Char
    compute='_compute_region_code' readonly=False store=True
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    compute='_compute_src_dest_country_code' help="2 letters code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland." readonly=False store=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    compute='_compute_vat' readonly=False store=True string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (1)
  • group_line_hashcode(self)

New fields (19)
  • action Selection
    default='replace' required=True selection='_get_action' tracking=True
  • company_country_code Char
    related='company_id.partner_id.country_id.code' store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' string='Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' readonly=True string='Declaration Lines'
  • declaration_type Selection
    compute='_compute_declaration_type' precompute=True readonly=False required=True selection='_get_declaration_type' store=True string='Type' tracking=True
  • month Selection
    required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')]
  • note Html
    string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    compute='_compute_reporting_level' readonly=False selection='_get_reporting_level' store=True
  • revision Integer
    default=1 help='Used to keep track of changes'
  • state Selection
    copy=False default='draft' readonly=True selection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), ('done', 'Done')] tracking=True
  • total_amount Monetary
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • xml_attachment_datas Binary
    related='xml_attachment_id.datas' string='XML Export'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Attachment' args: 'ir.attachment'
  • xml_attachment_name Char
    related='xml_attachment_id.name' string='XML Filename'
  • year Char
    required=True
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' store=True string='Period' tracking=True
Public methods (10)
  • action_gather(self)
  • back2draft(self)
  • confirmed2done(self)
  • copy(self, default=None)
  • default_get(self, fields_list)
    @api.model
  • delete_xml(self)
  • draft2confirmed(self)
  • generate_declaration(self)
    generate declaration lines from computation lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • unlink(self)

New fields (21)
  • amount_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • line_number Integer
    readonly=True
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    help="2 letters ISO code of the country of origin of the product except for the UK.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain.\nSpecify 'QU' when the country is unknown.\n" size=2 string='Country of Origin of the Product'
  • region_code Char
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 letters ISO code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain." string='Country Code'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True
  • description Char
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • note Html
    default=<expr> readonly=True string='Notes'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • description Text
    translate=True
Public methods (0)

No public methods.

New fields (3)
  • code Char
    required=True
  • description Char
    translate=True
  • name Char
    required=True translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True
  • name Char
    required=True
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • intrastat Char
    compute='_compute_intrastat' store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (7)
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/17.0/intrastat_product
VERSION
VERSION 1.5.2
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
COMMITTERS
COMMITTERSAlexis de Lattre, Daniel Reis, Luc De Meyer, Víctor Martínez, AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, GuillemCForgeFlow, almumu, ilo, Andreu Orensanz
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - onboarding
    - product
    - mail
    - bus
    - web_tour
    - 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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
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.

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_search intrastat.region.search intrastat.region search New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_result_view_form intrastat.result_view_form intrastat.result.view form New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order group Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move xpath Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings xpath Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (19)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat Declaration Details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    check_company=True comodel_name='intrastat.transaction' domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" help='Intrastat Nature of Transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_src_dest_country_id' help='Destination country for dispatches. Origin country for arrivals.' readonly=False store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (9)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin of the Product'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (28)
  • amount_accessory_cost_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency of the accessory costs related to this invoice line. By default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] string='Partner' args: 'res.partner'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    compute='_compute_product_origin_country_code' help="2 letters ISO code of the country of origin of the product.\nSpecify 'QU' when the country of origin is unknown.\n" readonly=False size=2 store=True string='Country Code of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_code Char
    compute='_compute_region_code' readonly=False store=True
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    compute='_compute_src_dest_country_code' help="2 letters code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland." readonly=False store=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    compute='_compute_vat' readonly=False store=True string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (1)
  • group_line_hashcode(self)

New fields (19)
  • action Selection
    default='replace' required=True selection='_get_action' tracking=True
  • company_country_code Char
    related='company_id.partner_id.country_id.code' store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' readonly=True string='Intrastat Product Declaration Lines'
  • declaration_type Selection
    required=True selection='_get_declaration_type' string='Type' tracking=True
  • month Selection
    required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')]
  • note Html
    string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    compute='_compute_reporting_level' readonly=False selection='_get_reporting_level' store=True
  • revision Integer
    default=1 help='Used to keep track of changes'
  • state Selection
    copy=False default='draft' readonly=True selection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), ('done', 'Done')] tracking=True
  • total_amount Monetary
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • xml_attachment_datas Binary
    related='xml_attachment_id.datas' string='XML Export'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Attachment' args: 'ir.attachment'
  • xml_attachment_name Char
    related='xml_attachment_id.name' string='XML Filename'
  • year Char
    required=True
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' store=True string='Period' tracking=True
Public methods (10)
  • action_gather(self)
  • back2draft(self)
  • confirmed2done(self)
  • copy(self, default=None)
  • default_get(self, fields_list)
    @api.model
  • delete_xml(self)
  • draft2confirmed(self)
  • generate_declaration(self)
    generate declaration lines from computation lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • unlink(self)

New fields (21)
  • amount_company_currency Monetary
    currency_field='company_currency_id' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • line_number Integer
    readonly=True
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    help="2 letters ISO code of the country of origin of the product except for the UK.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain.\nSpecify 'QU' when the country is unknown.\n" size=2 string='Country of Origin of the Product'
  • region_code Char
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 letters ISO code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain." string='Country Code'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True
  • description Char
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • note Html
    default=<expr> readonly=True string='Notes'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • description Text
    translate=True
Public methods (0)

No public methods.

New fields (3)
  • code Char
    required=True
  • description Char
    translate=True
  • name Char
    required=True translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True
  • name Char
    required=True
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • intrastat Char
    compute='_compute_intrastat' store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (7)
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/16.0/intrastat_product
VERSION
VERSION 2.3.6
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Aritz Olea, Jérémy Didderen, almumu, Guillaume MASSON, juancarlosonate-tecnativa
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:54:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - 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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-stdnum>=1.16
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (30)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_search intrastat.region.search intrastat.region search New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_result_view_form intrastat.result_view_form intrastat.result.view form New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order group Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move xpath Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings div Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (19)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat Declaration Details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    check_company=True comodel_name='intrastat.transaction' domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" help='Intrastat Nature of Transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_src_dest_country_id' help='Destination country for dispatches. Origin country for arrivals.' readonly=False store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (9)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin of the Product'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (28)
  • amount_accessory_cost_company_currency Float
    digits='Account' help='Amount in company currency of the accessory costs related to this invoice line. By default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits='Account' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • partner_id Many2one → res.partner
    domain=[('parent_id', '=', False)] string='Partner' args: 'res.partner'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    compute='_compute_product_origin_country_code' help="2 letters ISO code of the country of origin of the product.\nSpecify 'QU' when the country of origin is unknown.\n" readonly=False size=2 store=True string='Country Code of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_code Char
    compute='_compute_region_code' readonly=False store=True
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    compute='_compute_src_dest_country_code' help="2 letters code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland." readonly=False store=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    compute='_compute_vat' readonly=False store=True string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (1)
  • group_line_hashcode(self)

New fields (19)
  • action Selection
    default='replace' required=True selection='_get_action' states={'done': [('readonly', True)]} tracking=True
  • company_country_code Char
    related='company_id.partner_id.country_id.code' store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True required=True states={'draft': [('readonly', False)]} string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' readonly=True states={'draft': [('readonly', False)]} string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' readonly=True string='Intrastat Product Declaration Lines'
  • declaration_type Selection
    compute='_compute_declaration_type' precompute=True readonly=True required=True selection='_get_declaration_type' states={'draft': [('readonly', False)]} store=True string='Type' tracking=True
  • month Selection
    readonly=True required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')] states={'draft': [('readonly', False)]}
  • note Html
    string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    compute='_compute_reporting_level' readonly=True selection='_get_reporting_level' states={'draft': [('readonly', False)]} store=True
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]}
  • state Selection
    copy=False default='draft' readonly=True selection=[('draft', 'Draft'), ('confirmed', 'Confirmed'), ('done', 'Done')] tracking=True
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • xml_attachment_datas Binary
    related='xml_attachment_id.datas' string='XML Export'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Attachment' args: 'ir.attachment'
  • xml_attachment_name Char
    related='xml_attachment_id.name' string='XML Filename'
  • year Char
    readonly=True required=True states={'draft': [('readonly', False)]}
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' store=True string='Period' tracking=True
Public methods (11)
  • action_gather(self)
  • back2draft(self)
  • confirmed2done(self)
  • copy(self, default=None)
  • default_get(self, fields_list)
    @api.model
  • delete_xml(self)
  • draft2confirmed(self)
  • generate_declaration(self)
    generate declaration lines from computation lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • name_get(self)
    @api.depends('declaration_type', 'year_month')
  • unlink(self)

New fields (21)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_country_code Char
    related='parent_id.company_id.partner_id.country_id.code' string='Company Country Code'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • line_number Integer
    readonly=True
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    help="2 letters ISO code of the country of origin of the product except for the UK.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain.\nSpecify 'QU' when the country is unknown.\n" size=2 string='Country of Origin of the Product'
  • region_code Char
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 letters ISO code of the country of origin/destination.\nSpecify 'XI' for Northern Ireland and 'XU' for Great Britain." string='Country Code'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_code Char
    related='transaction_id.code' store=True string='Transaction Code'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    string='VAT Number'
  • weight Integer
    help='Net weight in Kg'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True
  • description Char
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • note Html
    default=<expr> readonly=True string='Notes'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True
  • company_id Many2one → res.company
    args: 'res.company'
  • description Text
    translate=True
Public methods (1)
  • name_get(self)
    @api.depends('code', 'description')

New fields (3)
  • code Char
    required=True
  • description Char
    translate=True
  • name Char
    required=True translate=True
Public methods (1)
  • name_get(self)
    @api.depends('name', 'code')

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True
  • name Char
    required=True
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (7)
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/15.0/intrastat_product
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
COMMITTERS
COMMITTERSPedro M. Baeza, Víctor Martínez, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-stdnum>=1.16
xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (29)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_result_view_form intrastat.result_view_form intrastat.result.view form New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order field Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move group Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings div Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (19)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat declaration details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    check_company=True comodel_name='intrastat.transaction' domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_src_dest_country_id' help='Destination country for dispatches. Origin country for arrivals.' store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (10)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (26)
  • amount_accessory_cost_company_currency Float
    digits='Account' help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits='Account' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • partner_id Many2one
    related='invoice_line_id.move_id.commercial_partner_id' string='Partner'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 digit code of country of origin/destination.\nSpecify 'XI' for UK Northern Ireland." readonly=False required=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • valid Boolean
    compute='_compute_check_validity'
  • vat Char
    string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg'
Public methods (0)

No public methods.

New fields (20)
  • action Selection
    default='replace' required=True selection='_get_action' states={'done': [('readonly', True)]} tracking=True
  • company_country_code Char
    compute='_compute_company_country_code' readonly=True store=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True states={'done': [('readonly', True)]} string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines'
  • declaration_type Selection
    required=True selection='_get_declaration_type' states={'done': [('readonly', True)]} string='Type' tracking=True
  • month Selection
    required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')] states={'done': [('readonly', True)]}
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    selection='_get_reporting_level' states={'done': [('readonly', True)]}
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]}
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] tracking=True
  • total_amount Float
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • valid Boolean
    compute='_compute_check_validity'
  • xml_attachment_datas Binary
    related='xml_attachment_id.datas' string='XML Export'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Attachment' args: 'ir.attachment'
  • xml_attachment_name Char
    related='xml_attachment_id.name' string='XML Filename'
  • year Char
    required=True states={'done': [('readonly', True)]}
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' tracking=True
Public methods (11)
  • action_gather(self)
  • back2draft(self)
  • copy(self, default=None)
  • create_xls(self)
  • default_get(self, fields_list)
    @api.model
  • delete_xml(self)
  • done(self)
  • generate_declaration(self)
    generate declaration lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)
  • unlink(self)

New fields (20)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 digit code of country of origin/destination.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK." required=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    string='VAT Number'
  • weight Integer
    help='Net weight in Kg'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True string='Country'
  • description Char
  • name Char
    translate=True
Public methods (0)

No public methods.

New fields (1)
  • note Text
    default=<expr> readonly=True string='Notes'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • description Text
Public methods (1)
  • name_get(self)
    @api.depends('code', 'description')

New fields (3)
  • code Char
    required=True
  • description Char
    translate=True
  • name Char
    required=True translate=True
Public methods (1)
  • name_get(self)
    @api.depends('name', 'code')

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True
  • name Char
    required=True
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Invoices'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Refunds'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Customer Invoice'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction for Customer Refunds'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (11)
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transaction_in_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_in_invoice'
  • intrastat_transaction_in_refund Many2one
    readonly=False related='company_id.intrastat_transaction_in_refund'
  • intrastat_transaction_out_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_out_invoice'
  • intrastat_transaction_out_refund Many2one
    readonly=False related='company_id.intrastat_transaction_out_refund'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/14.0/intrastat_product
VERSION
VERSION 2.1.5
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, ACSONE SA/NV, brain-tec AG
COMMITTERS
COMMITTERSAlexis de Lattre, Stefan Rijnhart, Denis Roussel, Luc De Meyer, OCA Transbot, Víctor Martínez, João Marques, oca-travis, Weblate, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python-stdnum>=1.16
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (29)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_result_view_form intrastat.result_view_form intrastat.result.view form New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order field Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move xpath Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings div Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (19)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat declaration details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    check_company=True comodel_name='intrastat.transaction' domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]" help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_src_dest_country_id' help='Destination country for dispatches. Origin country for arrivals.' store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (10)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (26)
  • amount_accessory_cost_company_currency Float
    digits='Account' help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits='Account' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • partner_id Many2one
    related='invoice_line_id.move_id.commercial_partner_id' string='Partner'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 digit code of country of origin/destination.\nSpecify 'XI' for UK Northern Ireland." readonly=False required=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • vat Char
    string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (20)
  • action Selection
    default='replace' required=True selection='_get_action' states={'done': [('readonly', True)]} string='Action' tracking=True
  • company_country_code Char
    compute='_compute_company_country_code' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True states={'done': [('readonly', True)]} string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines'
  • declaration_type Selection
    required=True selection='_get_declaration_type' states={'done': [('readonly', True)]} string='Type' tracking=True
  • month Selection
    required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')] states={'done': [('readonly', True)]} string='Month'
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    selection='_get_reporting_level' states={'done': [('readonly', True)]} string='Reporting Level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] string='State' tracking=True
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • xml_attachment_datas Binary
    related='xml_attachment_id.datas' string='XML Export'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Attachment' args: 'ir.attachment'
  • xml_attachment_name Char
    related='xml_attachment_id.name' string='XML Filename'
  • year Char
    required=True states={'done': [('readonly', True)]} string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' tracking=True
Public methods (11)
  • action_gather(self)
  • back2draft(self)
  • copy(self, default=None)
  • create_xls(self)
  • default_get(self, fields_list)
    @api.model
  • delete_xml(self)
  • done(self)
  • generate_declaration(self)
    generate declaration lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)
  • unlink(self)

New fields (20)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • declaration_type Selection
    related='parent_id.declaration_type'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 digit code of country of origin/destination.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK." required=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • vat Char
    string='VAT Number'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True string='Country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (1)
  • note Text
    default=<expr> readonly=True string='Notes'
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • description Text
    string='Description'
Public methods (1)
  • name_get(self)
    @api.depends('code', 'description')

New fields (3)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • name Char
    required=True string='Name' translate=True
Public methods (1)
  • name_get(self)
    @api.depends('name', 'code')

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Invoices'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Refunds'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Customer Invoice'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction for Customer Refunds'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (11)
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transaction_in_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_in_invoice'
  • intrastat_transaction_in_refund Many2one
    readonly=False related='company_id.intrastat_transaction_in_refund'
  • intrastat_transaction_out_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_out_invoice'
  • intrastat_transaction_out_refund Many2one
    readonly=False related='company_id.intrastat_transaction_out_refund'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/13.0/intrastat_product
VERSION
VERSION 3.0.4
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, brain-tec AG
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, GitHub, mreficent, Luc De Meyer, Jordi Ballester, OCA Transbot, Víctor Martínez, JordiMForgeFlow, oca-travis, OCA-git-bot, François Honoré, Benjamin Henquet, oca-ci, Jérémy Didderen, Rafael Petrella
WEBSITE
WEBSITEhttps://github.com/OCA/intrastat-extrastat
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - product
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - digest
    - resource
    - sale_stock
    - sale
    - sales_team
    - payment
    - utm
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (28)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
report_invoice_document_intrastat_product report_invoice_document_intrastat_product ir.ui.view qweb Inherits account.report_invoice_document
sale_order_form intrastat.sale.order.form sale.order field Inherits sale_stock.view_order_form_inherit_sale_stock
view_move_form intrastat.invoice.form account.move xpath Inherits account.view_move_form
view_partner_property_form res.partner.form res.partner field Inherits account.view_partner_property_form
view_res_config_settings intrastat.account.config.settings.form res.config.settings xpath Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (18)

New fields (7)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_country Boolean
    compute='_compute_intrastat_country' compute_sudo=True store=True string='Intrastat Country'
  • intrastat_line_ids One2many → account.move.intrastat.line
    comodel_name='account.move.intrastat.line' inverse_name='move_id' string='Intrastat declaration details'
  • intrastat_transaction_id Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' tracking=True
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_intrastat_country' compute_sudo=True help='Destination country for dispatches. Origin country for arrivals.' store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (1)
  • compute_intrastat_lines(self)
    Compute the Intrastat Lines so that they can be modified when encoding the Customer/Supplier Invoice.

New fields (10)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' required=True string='Intrastat Code'
  • invoice_line_id Many2one → account.move.line
    comodel_name='account.move.line' ondelete='cascade' required=True string='Invoice Line'
  • move_id Many2one → account.move
    comodel_name='account.move' ondelete='cascade' required=True string='Invoice'
  • product_id Many2one → product.product
    comodel_name='product.product' related='invoice_line_id.product_id' string='Product'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    comodel_name='res.country' help="Country of origin of the product i.e. product 'made in ____'." string='Country of Origin'
  • quantity Float
    related='invoice_line_id.quantity'
  • sequence Integer
    related='invoice_line_id.sequence' store=True
  • transaction_suppl_unit_qty Float
    help='Transaction quantity in Intrastat Supplementary Unit'
  • transaction_weight Integer
    help='Transaction weight in Kg: Quantity x Product Weight'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' compute='_compute_hs_code_id' compute_sudo=True string='Intrastat Code'
Public methods (0)

No public methods.

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (25)
  • amount_accessory_cost_company_currency Float
    digits='Account' help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits='Account' help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.move
    related='invoice_line_id.move_id' string='Invoice' args: 'account.move'
  • invoice_line_id Many2one → account.move.line
    readonly=True string='Invoice Line' args: 'account.move.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 digit code of country of origin/destination.\nSpecify 'XI' for UK Northern Ireland." readonly=False required=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits='Product Unit of Measure' help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    related='parent_id.type'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • vat Char
    string='VAT Number'
  • weight Float
    digits='Stock Weight' help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (18)
  • action Selection
    default='replace' required=True selection='_get_action' states={'done': [('readonly', True)]} string='Action' tracking=True
  • company_country_code Char
    compute='_compute_company_country_code' help='Used in views and methods of localization modules.' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines'
  • month Selection
    required=True selection=[('01', '01'), ('02', '02'), ('03', '03'), ('04', '04'), ('05', '05'), ('06', '06'), ('07', '07'), ('08', '08'), ('09', '09'), ('10', '10'), ('11', '11'), ('12', '12')] states={'done': [('readonly', True)]} string='Month'
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' tracking=True
  • reporting_level Selection
    selection='_get_reporting_level' states={'done': [('readonly', True)]} string='Reporting Level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] string='State' tracking=True
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • type Selection
    help='Select the declaration type.' required=True selection='_get_type' states={'done': [('readonly', True)]} string='Type' tracking=True
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • xml_attachment_id Many2one → ir.attachment
    string='XML Export' args: 'ir.attachment'
  • year Char
    required=True states={'done': [('readonly', True)]} string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' tracking=True
Public methods (9)
  • action_gather(self)
  • back2draft(self)
  • copy(self, default=None)
  • create_xls(self)
  • default_get(self, fields_list)
    @api.model
  • done(self)
  • generate_declaration(self)
    generate declaration lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)

New fields (20)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_code Char
    default='QU' help="2 digit code of country of origin of the product except for the UK.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK.\nSpecify 'QU' when the country is unknown.\n" required=True size=2 string='Country of Origin of the Product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_code Char
    help="2 digit code of country of origin/destination.\nSpecify 'XI' for UK Northern Ireland and 'XU' for rest of the UK." required=True string='Country Code'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    related='parent_id.type'
  • vat Char
    string='VAT Number'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True string='Country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • description Text
    string='Description'
Public methods (1)
  • name_get(self)
    @api.depends('code', 'description')

New fields (3)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • name Char
    required=True string='Name' translate=True
Public methods (1)
  • name_get(self)
    @api.depends('name', 'code')

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (10)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Invoices'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Refunds'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Customer Invoice'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction for Customer Refunds'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (12)
  • country_code Char
    related='company_id.country_id.code'
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transaction_in_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_in_invoice'
  • intrastat_transaction_in_refund Many2one
    readonly=False related='company_id.intrastat_transaction_in_refund'
  • intrastat_transaction_out_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_out_invoice'
  • intrastat_transaction_out_refund Many2one
    readonly=False related='company_id.intrastat_transaction_out_refund'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (1)
  • invoice_intrastat_detail Boolean
    string='Show intrastat details in invoice report'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/12.0/intrastat_product
VERSION
VERSION 1.0.4
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, brain-tec AG
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, mreficent, Stéphane Bidoul (ACSONE), Luc De Meyer, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Daniel Duque, Manuel Calero
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/reporting-engine:
    - report_xlsx_helper
    - report_xlsx
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - web_tour
    - uom
    - analytic
    - portal
    - http_routing
    - digest
    - sale_stock
    - sale
    - sales_team
    - payment
    - stock_account
    - stock
    - barcodes
    - purchase_stock
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (27)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_pivot intrastat.product.declaration.pivot intrastat.product.declaration pivot New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
invoice_form intrastat.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form intrastat.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
sale_order_form intrastat.sale.order.form sale.order field Inherits sale_stock.view_order_form_inherit_sale_stock
view_res_config_settings intrastat.account.config.settings.form res.config.settings xpath Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (16)

New fields (6)
  • intrastat Char
    related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_country Boolean
    compute='_compute_intrastat_country' compute_sudo=True store=True string='Intrastat Country'
  • intrastat_transaction_id Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' track_visibility='onchange'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_intrastat_country' compute_sudo=True help='Destination country for dispatches. Origin country for arrivals.' store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' string='Intrastat Code'
Public methods (1)
  • intrastat_product_id_change(self)
    @api.onchange('product_id')

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (22)
  • amount_accessory_cost_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.invoice
    related='invoice_line_id.invoice_id' string='Invoice' args: 'account.invoice'
  • invoice_line_id Many2one → account.invoice.line
    readonly=True string='Invoice Line' args: 'account.invoice.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_id Many2one → product.product
    related='invoice_line_id.product_id' args: 'product.product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits=dp.get_precision('Product Unit of Measure') help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    related='parent_id.type'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • weight Float
    digits=dp.get_precision('Stock Weight') help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (17)
  • action Selection
    default='replace' required=True selection='_get_action' states={'done': [('readonly', True)]} string='Action' track_visibility='onchange'
  • company_country_code Char
    compute='_compute_company_country_code' help='Used in views and methods of localization modules.' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines'
  • month Selection
    required=True states={'done': [('readonly', True)]} string='Month' args: [(1, '01'), (2, '02'), (3, '03'), (4, '04'), (5, '05'), (6, '06'), (7, '07'), (8, '08'), (9, '09'), (10, '10'), (11, '11'), (12, '12')]
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' track_visibility='onchange'
  • reporting_level Selection
    selection='_get_reporting_level' states={'done': [('readonly', True)]} string='Reporting Level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] string='State' track_visibility='onchange'
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • type Selection
    help='Select the declaration type.' required=True selection='_get_type' states={'done': [('readonly', True)]} string='Type' track_visibility='onchange'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • year Char
    required=True states={'done': [('readonly', True)]} string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' track_visibility='onchange'
Public methods (9)
  • action_gather(self)
  • back2draft(self)
  • copy(self, default=None)
  • create_xls(self)
  • default_get(self, fields_list)
    @api.model
  • done(self)
  • generate_declaration(self)
    generate declaration lines
  • generate_xml(self)
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)

New fields (17)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one
    related='company_id.currency_id' string='Company currency'
  • company_id Many2one
    related='parent_id.company_id'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → account.incoterms
    string='Incoterm' args: 'account.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    related='parent_id.reporting_level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    related='parent_id.type'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True string='Country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (3)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • description Text
    string='Description'
Public methods (1)
  • name_get(self)
    @api.depends('code', 'description')

New fields (3)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • name Char
    required=True string='Name' translate=True
Public methods (1)
  • name_get(self)
    @api.depends('name', 'code')

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → uom.uom
    comodel_name='uom.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (11)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_incoterm_id Many2one → account.incoterms
    comodel_name='account.incoterms' help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Default Incoterm for Intrastat'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Invoices'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Refunds'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Customer Invoice'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction for Customer Refunds'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (13)
  • country_code Char
    related='company_id.country_id.code'
  • country_id Many2one
    related='company_id.country_id'
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    readonly=False related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    readonly=False related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    readonly=False related='company_id.intrastat_dispatches'
  • intrastat_incoterm_id Many2one
    readonly=False related='company_id.intrastat_incoterm_id'
  • intrastat_region_id Many2one
    readonly=False related='company_id.intrastat_region_id'
  • intrastat_transaction_in_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_in_invoice'
  • intrastat_transaction_in_refund Many2one
    readonly=False related='company_id.intrastat_transaction_in_refund'
  • intrastat_transaction_out_invoice Many2one
    readonly=False related='company_id.intrastat_transaction_out_invoice'
  • intrastat_transaction_out_refund Many2one
    readonly=False related='company_id.intrastat_transaction_out_refund'
  • intrastat_transport_id Many2one
    readonly=False related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • get_intrastat_region(self)

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/11.0/intrastat_product
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion, brain-tec AG
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion, brain-tec AG
COMMITTERS
COMMITTERSPedro M. Baeza, mreficent, oca-travis, Daniel Duque
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:02
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlrd
xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
invoice_form intrastat.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form intrastat.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
sale_order_form intrastat.sale.order.form sale.order field Inherits sale_stock.view_order_form_inherit_sale_stock
view_res_config_settings intrastat.account.config.settings.form res.config.settings xpath Inherits intrastat_base.view_intrastat_res_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (16)

New fields (6)
  • intrastat Char
    compute_sudo=True readonly=True related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_country Boolean
    compute='_compute_intrastat_country' compute_sudo=True readonly=True store=True string='Intrastat Country'
  • intrastat_transaction_id Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' track_visibility='onchange'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Intrastat Transport Mode'
  • src_dest_country_id Many2one → res.country
    comodel_name='res.country' compute='_compute_intrastat_country' compute_sudo=True help='Destination country for dispatches. Origin country for arrivals.' store=True string='Origin/Destination Country'
  • src_dest_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    comodel_name='hs.code' ondelete='restrict' string='Intrastat Code'
Public methods (1)
  • intrastat_product_id_change(self)
    @api.onchange('product_id')

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    comodel_name='intrastat.unit' string='Intrastat Supplementary Unit'
Public methods (0)

No public methods.

New fields (22)
  • amount_accessory_cost_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.invoice
    readonly=True related='invoice_line_id.invoice_id' string='Invoice' args: 'account.invoice'
  • invoice_line_id Many2one → account.invoice.line
    readonly=True string='Invoice Line' args: 'account.invoice.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_id Many2one → product.product
    readonly=True related='invoice_line_id.product_id' string='Product' args: 'product.product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits=dp.get_precision('Product Unit of Measure') help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • weight Float
    digits=dp.get_precision('Stock Weight') help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (17)
  • action Selection
    default=<expr> required=True selection='_get_action' states={'done': [('readonly', True)]} string='Action' track_visibility='onchange'
  • company_country_code Char
    compute='_compute_company_country_code' help='Used in views and methods of localization modules.' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> readonly=True string='Company'
  • computation_line_ids One2many → intrastat.product.computation.line
    comodel_name='intrastat.product.computation.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines'
  • currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    comodel_name='intrastat.product.declaration.line' inverse_name='parent_id' states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines'
  • month Selection
    default=<expr> required=True states={'done': [('readonly', True)]} string='Month' args: [(1, '01'), (2, '02'), (3, '03'), (4, '04'), (5, '05'), (6, '06'), (7, '07'), (8, '08'), (9, '09'), (10, '10'), (11, '11'), (12, '12')]
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' track_visibility='onchange'
  • reporting_level Selection
    selection='_get_reporting_level' states={'done': [('readonly', True)]} string='Reporting Level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True selection=[('draft', 'Draft'), ('done', 'Done')] string='State' track_visibility='onchange'
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • type Selection
    help='Select the declaration type.' required=True selection='_get_type' states={'done': [('readonly', True)]} string='Type' track_visibility='onchange'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • year Char
    default=<expr> required=True states={'done': [('readonly', True)]} string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' track_visibility='onchange'
Public methods (8)
  • action_gather(self)
    @api.multi
  • back2draft(self)
    @api.multi
  • copy(self, default=None)
    @api.multi
  • create_xls(self)
    @api.multi
  • done(self)
    @api.multi
  • generate_declaration(self)
    @api.multi
    generate declaration lines
  • generate_xml(self)
    @api.multi
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)

New fields (17)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • country_id Many2one → res.country
    comodel_name='res.country' required=True string='Country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> string='Company'
  • description Text
    string='Description'
  • display_name Char
    compute='_compute_display_name_field' readonly=True store=True string='Display Name'
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • display_name Char
    compute='_compute_display_name' readonly=True store=True string='Display Name'
  • name Char
    required=True string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → product.uom
    comodel_name='product.uom' help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (11)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True selection='_intrastat_arrivals' string='Arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True selection='_intrastat_dispatches' string='Dispatches'
  • intrastat_incoterm_id Many2one → stock.incoterms
    comodel_name='stock.incoterms' help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Default Incoterm for Intrastat'
  • intrastat_region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Default Intrastat Region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Invoices'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Supplier Refunds'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction For Customer Invoice'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    comodel_name='intrastat.transaction' string='Default Intrastat Transaction for Customer Refunds'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' ondelete='restrict' string='Default Transport Mode'
Public methods (0)

No public methods.

New fields (13)
  • country_code Char
    readonly=True related='company_id.country_id.code'
  • country_id Many2one
    readonly=True related='company_id.country_id'
  • intrastat Char
    readonly=True related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    related='company_id.intrastat_dispatches'
  • intrastat_incoterm_id Many2one
    related='company_id.intrastat_incoterm_id'
  • intrastat_region_id Many2one
    related='company_id.intrastat_region_id'
  • intrastat_transaction_in_invoice Many2one
    related='company_id.intrastat_transaction_in_invoice'
  • intrastat_transaction_in_refund Many2one
    related='company_id.intrastat_transaction_in_refund'
  • intrastat_transaction_out_invoice Many2one
    related='company_id.intrastat_transaction_out_invoice'
  • intrastat_transaction_out_refund Many2one
    related='company_id.intrastat_transaction_out_refund'
  • intrastat_transport_id Many2one
    related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    readonly=True related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    comodel_name='intrastat.transport_mode' help='This information is used in Intrastat reports' string='Transport Mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

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

New fields (1)
  • region_id Many2one → intrastat.region
    comodel_name='intrastat.region' string='Intrastat Region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/10.0/intrastat_product
VERSION
VERSION 1.3.1
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, Stéphane Bidoul (ACSONE), Luc De Meyer, cubells, oca-travis, OCA-git-bot, luc.demeyer@noviat.com, Przemek Kaminski
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES xlsxwriter
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
invoice_form intrastat.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form intrastat.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
sale_order_form intrastat.sale.order.form sale.order field Inherits sale_stock.view_order_form_inherit_sale_stock
view_account_config_settings intrastat.account.config.settings.form account.config.settings group Inherits intrastat_base.view_account_config_settings
view_warehouse intrastat.stock.warehouse.form stock.warehouse field Inherits stock.view_warehouse
Models touched (15)

New fields (12)
  • country_id Many2one
    readonly=True related='company_id.country_id'
  • intrastat Char
    readonly=True related='company_id.intrastat'
  • intrastat_accessory_costs Boolean
    related='company_id.intrastat_accessory_costs'
  • intrastat_arrivals Selection
    related='company_id.intrastat_arrivals'
  • intrastat_dispatches Selection
    related='company_id.intrastat_dispatches'
  • intrastat_incoterm_id Many2one
    related='company_id.intrastat_incoterm_id'
  • intrastat_region_id Many2one
    related='company_id.intrastat_region_id'
  • intrastat_transaction_in_invoice Many2one
    related='company_id.intrastat_transaction_in_invoice'
  • intrastat_transaction_in_refund Many2one
    related='company_id.intrastat_transaction_in_refund'
  • intrastat_transaction_out_invoice Many2one
    related='company_id.intrastat_transaction_out_invoice'
  • intrastat_transaction_out_refund Many2one
    related='company_id.intrastat_transaction_out_refund'
  • intrastat_transport_id Many2one
    related='company_id.intrastat_transport_id'
Public methods (0)

No public methods.

New fields (6)
  • intrastat Char
    compute_sudo=True readonly=True related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_country Boolean
    compute='_compute_intrastat_country' compute_sudo=True readonly=True store=True string='Intrastat Country'
  • intrastat_transaction_id Many2one → intrastat.transaction
    help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' track_visibility='onchange' args: 'intrastat.transaction'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    ondelete='restrict' string='Intrastat Transport Mode' args: 'intrastat.transport_mode'
  • src_dest_country_id Many2one → res.country
    compute='_compute_intrastat_country' compute_sudo=True help='Destination country for dispatches. Origin country for arrivals.' store=True string='Origin/Destination Country' args: 'res.country'
  • src_dest_region_id Many2one → intrastat.region
    default=<expr> help='Origin region for dispatches, destination region for arrivals. This field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region' args: 'intrastat.region'
Public methods (0)

No public methods.

New fields (1)
  • hs_code_id Many2one → hs.code
    ondelete='restrict' string='Intrastat Code' args: 'hs.code'
Public methods (1)
  • intrastat_product_id_change(self)
    @api.onchange('product_id')

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    string='Intrastat Supplementary Unit' args: 'intrastat.unit'
Public methods (0)

No public methods.

New fields (22)
  • amount_accessory_cost_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.invoice
    readonly=True related='invoice_line_id.invoice_id' string='Invoice' args: 'account.invoice'
  • invoice_line_id Many2one → account.invoice.line
    readonly=True string='Invoice Line' args: 'account.invoice.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_id Many2one → product.product
    readonly=True related='invoice_line_id.product_id' string='Product' args: 'product.product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits=dp.get_precision('Product Unit of Measure') help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • weight Float
    digits=dp.get_precision('Stock Weight') help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (17)
  • action Selection
    default=_get_default_action required=True states={'done': [('readonly', True)]} string='Action' track_visibility='onchange' args: '_get_action'
  • company_country_code Char
    compute='_compute_company_country_code' help='Used in views and methods of localization modules.' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    default=<expr> readonly=True string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'intrastat.product.computation.line', 'parent_id'
  • currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'intrastat.product.declaration.line', 'parent_id'
  • month Selection
    default=_get_month required=True string='Month' args: [(1, '01'), (2, '02'), (3, '03'), (4, '04'), (5, '05'), (6, '06'), (7, '07'), (8, '08'), (9, '09'), (10, '10'), (11, '11'), (12, '12')]
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' track_visibility='onchange'
  • reporting_level Selection
    string='Reporting Level' args: '_get_reporting_level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True string='State' track_visibility='onchange' args: [('draft', 'Draft'), ('done', 'Done')]
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • type Selection
    help='Select the declaration type.' required=True states={'done': [('readonly', True)]} string='Type' track_visibility='onchange' args: '_get_type'
  • valid Boolean
    compute='_compute_check_validity' string='Valid'
  • year Integer
    default=_get_year required=True string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' track_visibility='onchange'
Public methods (8)
  • action_gather(self)
    @api.multi
  • back2draft(self)
    @api.multi
  • copy(self, default=None)
    @api.multi
  • create_xls(self)
    @api.multi
  • done(self)
    @api.multi
  • generate_declaration(self)
    @api.multi
    generate declaration lines
  • generate_xml(self)
    @api.multi
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)

New fields (17)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • country_id Many2one → res.country
    required=True string='Country' args: 'res.country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • description Text
    string='Description'
  • display_name Char
    compute='_compute_display_name_field' readonly=True store=True string='Display Name'
Public methods (0)

No public methods.

New fields (3)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • name Char
    required=True string='Name' translate=True
Public methods (1)
  • name_get(self)
    @api.depends('name', 'code')

New fields (4)
  • active Boolean
    default=True string='Active'
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → product.uom
    help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM' args: 'product.uom'
Public methods (0)

No public methods.

New fields (11)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True string='Arrivals' args: '_intrastat_arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True string='Dispatches' args: '_intrastat_dispatches'
  • intrastat_incoterm_id Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Default Incoterm for Intrastat' args: 'stock.incoterms'
  • intrastat_region_id Many2one → intrastat.region
    string='Default Intrastat Region' args: 'intrastat.region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Supplier Invoices' args: 'intrastat.transaction'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Supplier Refunds' args: 'intrastat.transaction'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Customer Invoice' args: 'intrastat.transaction'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    string='Default Intrastat Transaction for Customer Refunds' args: 'intrastat.transaction'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    ondelete='restrict' string='Default Transport Mode' args: 'intrastat.transport_mode'
Public methods (0)

No public methods.

New fields (2)
  • intrastat Selection
    readonly=True related='company_id.intrastat_dispatches' string='Intrastat Declaration'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    help='This information is used in Intrastat reports' string='Transport Mode' args: 'intrastat.transport_mode'
Public methods (0)

No public methods.

New fields (0)

No new fields.

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

New fields (1)
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/9.0/intrastat_product
VERSION
VERSION 1.4.1
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Stéphane Bidoul (ACSONE)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
OCA/stock-logistics-workflow:
    - stock_picking_invoice_link
odoo/odoo:
    - base_vat
    - account
    - base_setup
    - base
    - web_kanban
    - web
    - product
    - decimal_precision
    - mail
    - bus
    - report
    - analytic
    - web_tip
    - web_planner
    - sale_stock
    - sale
    - sales_team
    - procurement
    - stock_account
    - stock
    - barcodes
    - purchase
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
invoice_form intrastat.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form intrastat.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
view_company_form intrastat.company.form res.company group Inherits intrastat_base.view_company_form
view_picking_form intrastat.product.picking.form stock.picking field Inherits stock.view_picking_form
view_warehouse intrastat.stock.warehouse.form stock.warehouse xpath Inherits stock.view_warehouse
Models touched (15)

New fields (7)
  • incoterm_id Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Incoterm' args: 'stock.incoterms'
  • intrastat Char
    readonly=True related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_country Boolean
    compute='_compute_intrastat_country' readonly=True store=True string='Intrastat Country'
  • intrastat_transaction_id Many2one → intrastat.transaction
    default=<expr> help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' args: 'intrastat.transaction'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    ondelete='restrict' string='Intrastat Transport Mode' args: 'intrastat.transport_mode'
  • src_dest_country_id Many2one → res.country
    ondelete='restrict' string='Origin/Destination Country' args: 'res.country'
  • src_dest_region_id Many2one → intrastat.region
    default=<expr> help='Origin/Destination Region.\nThis field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region' args: 'intrastat.region'
Public methods (1)
  • onchange_partner_id(self, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False)
    @api.multi

New fields (1)
  • hs_code_id Many2one → hs.code
    ondelete='restrict' string='Intrastat Code' args: 'hs.code'
Public methods (1)
  • product_id_change(self, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, company_id=None)
    @api.multi

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    string='Intrastat Supplementary Unit' args: 'intrastat.unit'
Public methods (0)

No public methods.

New fields (22)
  • amount_accessory_cost_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.invoice
    readonly=True related='invoice_line_id.invoice_id' string='Invoice' args: 'account.invoice'
  • invoice_line_id Many2one → account.invoice.line
    readonly=True string='Invoice Line' args: 'account.invoice.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_id Many2one → product.product
    readonly=True related='invoice_line_id.product_id' string='Product' args: 'product.product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits=dp.get_precision('Product Unit of Measure') help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • valid Boolean
    compute='_check_validity' string='Valid'
  • weight Float
    digits=dp.get_precision('Stock Weight') help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (17)
  • action Selection
    default=_get_default_action required=True states={'done': [('readonly', True)]} string='Action' track_visibility='onchange' args: '_get_action'
  • company_country_code Char
    compute='_compute_company_country_code' help='Used in views and methods of localization modules.' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    default=<expr> readonly=True string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'intrastat.product.computation.line', 'parent_id'
  • currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'intrastat.product.declaration.line', 'parent_id'
  • month Selection
    default=_get_month required=True string='Month' args: [(1, '01'), (2, '02'), (3, '03'), (4, '04'), (5, '05'), (6, '06'), (7, '07'), (8, '08'), (9, '09'), (10, '10'), (11, '11'), (12, '12')]
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' track_visibility='onchange'
  • reporting_level Selection
    string='Reporting Level' args: '_get_reporting_level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True string='State' track_visibility='onchange' args: [('draft', 'Draft'), ('done', 'Done')]
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • type Selection
    help='Select the declaration type.' required=True states={'done': [('readonly', True)]} string='Type' track_visibility='onchange' args: '_get_type'
  • valid Boolean
    compute='_check_validity' string='Valid'
  • year Integer
    default=_get_year required=True string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' track_visibility='onchange'
Public methods (7)
  • action_gather(self)
    @api.multi
  • back2draft(self)
    @api.multi
  • copy(self, default=None)
    @api.multi
  • done(self)
    @api.multi
  • generate_declaration(self)
    @api.multi
    generate declaration lines
  • generate_xml(self)
    @api.multi
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)

New fields (17)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • country_id Many2one → res.country
    required=True string='Country' args: 'res.country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • description Text
    string='Description'
  • display_name Char
    compute='_compute_display_name' readonly=True store=True string='Display Name'
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • display_name Char
    compute='_display_name' readonly=True store=True string='Display Name'
  • name Char
    required=True string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True string='Active'
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → product.uom
    help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM' args: 'product.uom'
Public methods (0)

No public methods.

New fields (11)
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True string='Arrivals' args: '_intrastat_arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True string='Dispatches' args: '_intrastat_arrivals'
  • intrastat_incoterm_id Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Default Incoterm for Intrastat' args: 'stock.incoterms'
  • intrastat_region_id Many2one → intrastat.region
    string='Default Intrastat Region' args: 'intrastat.region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Supplier Invoices' args: 'intrastat.transaction'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Supplier Refunds' args: 'intrastat.transaction'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Customer Invoice' args: 'intrastat.transaction'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    string='Default Intrastat Transaction for Customer Refunds' args: 'intrastat.transaction'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    ondelete='restrict' string='Default Transport Mode' args: 'intrastat.transport_mode'
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 (1)
  • get_intrastat_region(self)
    @api.multi

New fields (2)
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    help='This information is used in Intrastat reports' string='Transport Mode' args: 'intrastat.transport_mode'
Public methods (0)

No public methods.

New fields (1)
  • region_id Many2one → intrastat.region
    string='Intrastat region' args: 'intrastat.region'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/intrastat-extrastat
GIT
GIThttps://github.com/OCA/intrastat-extrastat.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/intrastat-extrastat/tree/8.0/intrastat_product
VERSION
VERSION 1.5.0
CATEGORY
CATEGORYIntrastat
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Noviat, Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Noviat, Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, GitHub, Stéphane Bidoul (ACSONE), Luc De Meyer, luc-demeyer, Sébastien BEAU, oca-travis, OCA-git-bot, luc.demeyer@noviat.com
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:27
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/intrastat-extrastat:
    - intrastat_base
    - product_harmonized_system
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
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (26)
XML IDNameModelTypeStatus
hs_code_form intrastat.hs.code.form hs.code field Inherits product_harmonized_system.hs_code_view_form
hs_code_tree intrastat.hs.code.tree hs.code field Inherits product_harmonized_system.hs_code_view_tree
intrastat_product_computation_line_view_form intrastat.product.computation.line.form intrastat.product.computation.line form New
intrastat_product_computation_line_view_tree intrastat.product.computation.line.tree intrastat.product.computation.line tree New
intrastat_product_declaration_line_view_form intrastat.product.declaration.line.form intrastat.product.declaration.line form New
intrastat_product_declaration_line_view_tree intrastat.product.declaration.line.tree intrastat.product.declaration.line tree New
intrastat_product_declaration_view_form intrastat.product.declaration.form intrastat.product.declaration form New
intrastat_product_declaration_view_graph intrastat.product.declaration.graph intrastat.product.declaration graph New
intrastat_product_declaration_view_search intrastat.product.declaration.search intrastat.product.declaration search New
intrastat_product_declaration_view_tree intrastat.product.declaration.tree intrastat.product.declaration tree New
intrastat_region_view_form intrastat.region.form intrastat.region form New
intrastat_region_view_tree intrastat.region.tree intrastat.region tree New
intrastat_transaction_form intrastat.transaction_form intrastat.transaction form New
intrastat_transaction_mode_search intrastat.transaction.mode.search intrastat.transaction search New
intrastat_transaction_tree intrastat.transaction_tree intrastat.transaction tree New
intrastat_transport_mode_form intrastat.transport.mode.form intrastat.transport_mode form New
intrastat_transport_mode_search intrastat.transport.mode.search intrastat.transport_mode search New
intrastat_transport_mode_tree intrastat.transport.mode.tree intrastat.transport_mode tree New
intrastat_unit_form intrastat.unit.form intrastat.unit form New
intrastat_unit_search intrastat.unit.search intrastat.unit search New
intrastat_unit_tree intrastat.unit.tree intrastat.unit tree New
invoice_form intrastat.invoice.form account.invoice xpath Inherits account.invoice_form
invoice_supplier_form intrastat.invoice.supplier.form account.invoice xpath Inherits account.invoice_supplier_form
view_company_form intrastat.company.form res.company group Inherits intrastat_base.view_company_form
view_picking_form intrastat.product.picking.form stock.picking field Inherits stock.view_picking_form
view_warehouse intrastat.stock.warehouse.form stock.warehouse xpath Inherits stock.view_warehouse
Models touched (15)

New fields (8)
  • company_country_code Char
    readonly=True related='company_id.country_id.code'
  • incoterm_id Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Incoterm' args: 'stock.incoterms'
  • intrastat Char
    readonly=True related='company_id.intrastat' string='Intrastat Declaration'
  • intrastat_country Boolean
    compute='_compute_intrastat_country' readonly=True store=True string='Intrastat Country'
  • intrastat_transaction_id Many2one → intrastat.transaction
    help='Intrastat nature of transaction' ondelete='restrict' string='Intrastat Transaction Type' args: 'intrastat.transaction'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    ondelete='restrict' string='Intrastat Transport Mode' args: 'intrastat.transport_mode'
  • src_dest_country_id Many2one → res.country
    ondelete='restrict' string='Origin/Destination Country' args: 'res.country'
  • src_dest_region_id Many2one → intrastat.region
    default=<expr> help='Origin/Destination Region.\nThis field is used for the Intrastat Declaration.' ondelete='restrict' string='Origin/Destination Region' args: 'intrastat.region'
Public methods (1)
  • onchange_partner_id(self, type, partner_id, date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False)
    @api.multi

New fields (1)
  • hs_code_id Many2one → hs.code
    ondelete='restrict' string='Intrastat Code' args: 'hs.code'
Public methods (1)
  • product_id_change(self, product, uom_id, qty=0, name='', type='out_invoice', partner_id=False, fposition_id=False, price_unit=False, currency_id=False, company_id=None)
    @api.multi

New fields (1)
  • intrastat_unit_id Many2one → intrastat.unit
    string='Intrastat Supplementary Unit' args: 'intrastat.unit'
Public methods (0)

No public methods.

New fields (22)
  • amount_accessory_cost_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency of the accessory costs related to this invoice line (by default, these accessory costs are computed at the pro-rata of the amount of each invoice line.' string='Accessory Costs'
  • amount_company_currency Float
    digits=dp.get_precision('Account') help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' required=True string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • declaration_line_id Many2one → intrastat.product.declaration.line
    readonly=True string='Declaration Line' args: 'intrastat.product.declaration.line'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • invoice_id Many2one → account.invoice
    readonly=True related='invoice_line_id.invoice_id' string='Invoice' args: 'account.invoice'
  • invoice_line_id Many2one → account.invoice.line
    readonly=True string='Invoice Line' args: 'account.invoice.line'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_id Many2one → product.product
    readonly=True related='invoice_line_id.product_id' string='Product' args: 'product.product'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Float
    digits=dp.get_precision('Product Unit of Measure') help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • valid Boolean
    compute='_check_validity' string='Valid'
  • weight Float
    digits=dp.get_precision('Stock Weight') help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (17)
  • action Selection
    default=_get_default_action required=True states={'done': [('readonly', True)]} string='Action' track_visibility='onchange' args: '_get_action'
  • company_country_code Char
    compute='_compute_company_country_code' help='Used in views and methods of localization modules.' readonly=True store=True string='Company Country Code'
  • company_id Many2one → res.company
    default=<expr> readonly=True string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    states={'done': [('readonly', True)]} string='Intrastat Product Computation Lines' args: 'intrastat.product.computation.line', 'parent_id'
  • currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Currency' args: 'res.currency'
  • declaration_line_ids One2many → intrastat.product.declaration.line
    states={'done': [('readonly', True)]} string='Intrastat Product Declaration Lines' args: 'intrastat.product.declaration.line', 'parent_id'
  • month Selection
    default=_get_month required=True string='Month' args: [(1, '01'), (2, '02'), (3, '03'), (4, '04'), (5, '05'), (6, '06'), (7, '07'), (8, '08'), (9, '09'), (10, '10'), (11, '11'), (12, '12')]
  • note Text
    help='You can add some comments here if you want.' string='Notes'
  • num_decl_lines Integer
    compute='_compute_numbers' store=True string='Number of Declaration Lines' track_visibility='onchange'
  • reporting_level Selection
    string='Reporting Level' args: '_get_reporting_level'
  • revision Integer
    default=1 help='Used to keep track of changes' states={'done': [('readonly', True)]} string='Revision'
  • state Selection
    copy=False default='draft' help="State of the declaration. When the state is set to 'Done', the parameters become read-only." readonly=True string='State' track_visibility='onchange' args: [('draft', 'Draft'), ('done', 'Done')]
  • total_amount Integer
    compute='_compute_numbers' help='Total fiscal amount in company currency of the declaration.' store=True string='Total Fiscal Amount'
  • type Selection
    help='Select the declaration type.' required=True states={'done': [('readonly', True)]} string='Type' track_visibility='onchange' args: '_get_type'
  • valid Boolean
    compute='_check_validity' string='Valid'
  • year Integer
    default=_get_year required=True string='Year'
  • year_month Char
    compute='_compute_year_month' help='Year and month of the declaration.' readonly=True store=True string='Period' track_visibility='onchange'
Public methods (7)
  • action_gather(self)
    @api.multi
  • back2draft(self)
    @api.multi
  • copy(self, default=None)
    @api.multi
  • done(self)
    @api.multi
  • generate_declaration(self)
    @api.multi
    generate declaration lines
  • generate_xml(self)
    @api.multi
    generate the INTRASTAT Declaration XML file
  • group_line_hashcode(self, computation_line)

New fields (17)
  • amount_company_currency Integer
    help='Amount in company currency to write in the declaration. Amount in company currency = amount in invoice currency converted to company currency with the rate of the invoice date.' string='Fiscal Value'
  • company_currency_id Many2one → res.currency
    readonly=True related='company_id.currency_id' string='Company currency' args: 'res.currency'
  • company_id Many2one → res.company
    readonly=True related='parent_id.company_id' string='Company' args: 'res.company'
  • computation_line_ids One2many → intrastat.product.computation.line
    readonly=True string='Computation Lines' args: 'intrastat.product.computation.line', 'declaration_line_id'
  • hs_code_id Many2one → hs.code
    string='Intrastat Code' args: 'hs.code'
  • incoterm_id Many2one → stock.incoterms
    string='Incoterm' args: 'stock.incoterms'
  • intrastat_unit_id Many2one → intrastat.unit
    help='Intrastat Supplementary Unit' readonly=True related='hs_code_id.intrastat_unit_id' string='Suppl. Unit' args: 'intrastat.unit'
  • parent_id Many2one → intrastat.product.declaration
    ondelete='cascade' readonly=True string='Intrastat Product Declaration' args: 'intrastat.product.declaration'
  • product_origin_country_id Many2one → res.country
    help="Country of origin of the product i.e. product 'made in ____'" string='Country of Origin of the Product' args: 'res.country'
  • region_id Many2one → intrastat.region
    string='Intrastat Region' args: 'intrastat.region'
  • reporting_level Selection
    readonly=True related='parent_id.reporting_level' string='Reporting Level'
  • src_dest_country_id Many2one → res.country
    domain=[('intrastat', '=', True)] help='Country of Origin/Destination' string='Country' args: 'res.country'
  • suppl_unit_qty Integer
    help='Supplementary Units Quantity' string='Suppl. Unit Qty'
  • transaction_id Many2one → intrastat.transaction
    string='Intrastat Transaction' args: 'intrastat.transaction'
  • transport_id Many2one → intrastat.transport_mode
    string='Transport Mode' args: 'intrastat.transport_mode'
  • type Selection
    readonly=True related='parent_id.type' string='Type'
  • weight Integer
    help='Net weight in Kg' string='Weight'
Public methods (0)

No public methods.

New fields (5)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • country_id Many2one → res.country
    required=True string='Country' args: 'res.country'
  • description Char
    string='Description'
  • name Char
    string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • company_id Many2one → res.company
    default=<expr> string='Company' args: 'res.company'
  • description Text
    string='Description'
  • display_name Char
    compute='_compute_display_name' readonly=True store=True string='Display Name'
Public methods (0)

No public methods.

New fields (4)
  • code Char
    required=True string='Code'
  • description Char
    string='Description' translate=True
  • display_name Char
    compute='_display_name' readonly=True store=True string='Display Name'
  • name Char
    required=True string='Name' translate=True
Public methods (0)

No public methods.

New fields (4)
  • active Boolean
    default=True string='Active'
  • description Char
    required=True string='Description'
  • name Char
    required=True string='Name'
  • uom_id Many2one → product.uom
    help='Select the regular Unit of Measure of Odoo that corresponds to this Intrastat Supplementary Unit.' string='Regular UoM' args: 'product.uom'
Public methods (0)

No public methods.

New fields (12)
  • country_code Char
    readonly=True related='country_id.code'
  • intrastat Char
    compute='_compute_intrastat' readonly=True store=True string='Intrastat Declaration'
  • intrastat_accessory_costs Boolean
    string='Include Accessory Costs in Fiscal Value of Product'
  • intrastat_arrivals Selection
    default='extended' required=True string='Arrivals' args: '_intrastat_arrivals'
  • intrastat_dispatches Selection
    default='extended' required=True string='Dispatches' args: '_intrastat_arrivals'
  • intrastat_incoterm_id Many2one → stock.incoterms
    help='International Commercial Terms are a series of predefined commercial terms used in international transactions.' string='Default Incoterm for Intrastat' args: 'stock.incoterms'
  • intrastat_region_id Many2one → intrastat.region
    string='Default Intrastat Region' args: 'intrastat.region'
  • intrastat_transaction_in_invoice Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Supplier Invoices' args: 'intrastat.transaction'
  • intrastat_transaction_in_refund Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Supplier Refunds' args: 'intrastat.transaction'
  • intrastat_transaction_out_invoice Many2one → intrastat.transaction
    string='Default Intrastat Transaction For Customer Invoice' args: 'intrastat.transaction'
  • intrastat_transaction_out_refund Many2one → intrastat.transaction
    string='Default Intrastat Transaction for Customer Refunds' args: 'intrastat.transaction'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    ondelete='restrict' string='Default Transport Mode' args: 'intrastat.transport_mode'
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 (1)
  • get_intrastat_region(self)
    @api.multi

New fields (2)
  • intrastat Char
    related='company_id.intrastat'
  • intrastat_transport_id Many2one → intrastat.transport_mode
    help='This information is used in Intrastat reports' string='Transport Mode' args: 'intrastat.transport_mode'
Public methods (0)

No public methods.

New fields (2)
  • country_code Char
    readonly=True related='company_id.country_id.code'
  • region_id Many2one → intrastat.region
    string='Intrastat region' args: 'intrastat.region'
Public methods (0)

No public methods.