mirror of
https://github.com/OCA/intrastat-extrastat.git
synced 2025-02-16 17:13:41 +02:00
refactor code to allow adding transaction details while encoding invoices
This commit is contained in:
committed by
João Marques
parent
00ed38be3f
commit
5a4296a386
@@ -47,6 +47,24 @@ Installation
|
|||||||
|
|
||||||
This module is NOT compatible with the *account_intrastat* module from Odoo Enterprise.
|
This module is NOT compatible with the *account_intrastat* module from Odoo Enterprise.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
=============
|
||||||
|
|
||||||
|
By default the intrastat declaration is generated based upon the product record master data.
|
||||||
|
Hence unexpected results may occur in case this master data is not accurate,
|
||||||
|
e.g. wrong or missing weight, country of origin, ...
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
This can be corrected by changing the appropriate fields when analysing the intrastat declaration
|
||||||
|
but this can be challenging in case of large transaction volumes and especially in the specific use
|
||||||
|
case where the product weight cannot be encoded correctly on the product records (e.g. products with variable weight).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
It is possible to allow encoding the intrastat transaction details on the purchase/sale invoice
|
||||||
|
via the "intrastat_product.group_invoice_intrastat_transaction_detail" usability group.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
=====
|
=====
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
],
|
],
|
||||||
"excludes": ["account_intrastat"],
|
"excludes": ["account_intrastat"],
|
||||||
"data": [
|
"data": [
|
||||||
|
"security/intrastat_security.xml",
|
||||||
|
"security/ir.model.access.csv",
|
||||||
"views/hs_code.xml",
|
"views/hs_code.xml",
|
||||||
"views/intrastat_region.xml",
|
"views/intrastat_region.xml",
|
||||||
"views/intrastat_unit.xml",
|
"views/intrastat_unit.xml",
|
||||||
@@ -31,8 +33,6 @@
|
|||||||
"views/account_move.xml",
|
"views/account_move.xml",
|
||||||
"views/sale_order.xml",
|
"views/sale_order.xml",
|
||||||
"views/stock_warehouse.xml",
|
"views/stock_warehouse.xml",
|
||||||
"security/intrastat_security.xml",
|
|
||||||
"security/ir.model.access.csv",
|
|
||||||
"data/intrastat_transport_mode.xml",
|
"data/intrastat_transport_mode.xml",
|
||||||
"data/intrastat_unit.xml",
|
"data/intrastat_unit.xml",
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -16,6 +16,12 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: \n"
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.view_move_form
|
||||||
|
msgid ""
|
||||||
|
"(Re)compute the intrastat transaction details from the product master data."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields.selection,name:intrastat_product.selection__intrastat_product_declaration__month__01
|
#: model:ir.model.fields.selection,name:intrastat_product.selection__intrastat_product_declaration__month__01
|
||||||
msgid "01"
|
msgid "01"
|
||||||
@@ -142,6 +148,11 @@ msgstr "Air"
|
|||||||
msgid "Air Transport"
|
msgid "Air Transport"
|
||||||
msgstr "Transport par air"
|
msgstr "Transport par air"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:res.groups,comment:intrastat_product.group_invoice_intrastat_transaction_details
|
||||||
|
msgid "Allow to encode Intrastat Transaction Details on Invoices"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,help:intrastat_product.field_intrastat_product_computation_line__amount_accessory_cost_company_currency
|
#: model:ir.model.fields,help:intrastat_product.field_intrastat_product_computation_line__amount_accessory_cost_company_currency
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -260,6 +271,11 @@ msgstr "Monnaie de la société"
|
|||||||
msgid "Computation Lines"
|
msgid "Computation Lines"
|
||||||
msgstr "Lignes de transaction"
|
msgstr "Lignes de transaction"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.view_move_form
|
||||||
|
msgid "Compute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model,name:intrastat_product.model_res_config_settings
|
#: model:ir.model,name:intrastat_product.model_res_config_settings
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
@@ -301,6 +317,11 @@ msgstr ""
|
|||||||
msgid "Country"
|
msgid "Country"
|
||||||
msgstr "Pays"
|
msgstr "Pays"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__product_origin_country_id
|
||||||
|
msgid "Country of Origin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_origin_country_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_origin_country_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__product_origin_country_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__product_origin_country_id
|
||||||
@@ -322,6 +343,12 @@ msgid "Country of origin of the product i.e. product 'made in ____'"
|
|||||||
msgstr "Pays d'origine de l'article i.e. article 'made in ____'"
|
msgstr "Pays d'origine de l'article i.e. article 'made in ____'"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__product_origin_country_id
|
||||||
|
msgid "Country of origin of the product i.e. product 'made in ____'."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__create_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_uid
|
||||||
@@ -333,6 +360,7 @@ msgid "Created by"
|
|||||||
msgstr "Créé par"
|
msgstr "Créé par"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__create_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_date
|
||||||
@@ -446,6 +474,7 @@ msgid "Dispatches"
|
|||||||
msgstr "Expéditions"
|
msgstr "Expéditions"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__display_name
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__display_name
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__display_name
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__display_name
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__display_name
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__display_name
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__display_name
|
||||||
@@ -565,6 +594,7 @@ msgid "H.S. Codes"
|
|||||||
msgstr "Codes S.H."
|
msgstr "Codes S.H."
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__id
|
||||||
@@ -624,6 +654,7 @@ msgstr "Transport par navigation intérieure"
|
|||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__hs_code_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_line__hs_code_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_line__hs_code_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__hs_code_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__hs_code_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__hs_code_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__hs_code_id
|
||||||
@@ -631,6 +662,12 @@ msgstr "Transport par navigation intérieure"
|
|||||||
msgid "Intrastat Code"
|
msgid "Intrastat Code"
|
||||||
msgstr "Code pour la DEB"
|
msgstr "Code pour la DEB"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Intrastat Code %s:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/hs_code.py:0
|
#: code:addons/intrastat_product/models/hs_code.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
@@ -785,11 +822,22 @@ msgstr "Modes de transport pour la DEB"
|
|||||||
msgid "Intrastat declaration"
|
msgid "Intrastat declaration"
|
||||||
msgstr "DEB"
|
msgstr "DEB"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model,name:intrastat_product.model_account_move_intrastat_line
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move__intrastat_line_ids
|
||||||
|
msgid "Intrastat declaration details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,help:intrastat_product.field_account_move__intrastat_transaction_id
|
#: model:ir.model.fields,help:intrastat_product.field_account_move__intrastat_transaction_id
|
||||||
msgid "Intrastat nature of transaction"
|
msgid "Intrastat nature of transaction"
|
||||||
msgstr "Nature de la transaction pour la DEB"
|
msgstr "Nature de la transaction pour la DEB"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.view_move_form
|
||||||
|
msgid "Intrastat transaction details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
@@ -803,12 +851,25 @@ msgstr "Emplacements de stock"
|
|||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__move_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_id
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invoice"
|
msgid "Invoice"
|
||||||
msgstr "Facture"
|
msgstr "Facture"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Invoice %s, line %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:res.groups,name:intrastat_product.group_invoice_intrastat_transaction_details
|
||||||
|
msgid "Invoice Intrastat Transaction Details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__invoice_line_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_line_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_line_id
|
||||||
msgid "Invoice Line"
|
msgid "Invoice Line"
|
||||||
msgstr "Ligne de facture"
|
msgstr "Ligne de facture"
|
||||||
@@ -835,6 +896,7 @@ msgid "Kg"
|
|||||||
msgstr "Kg"
|
msgstr "Kg"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line____last_update
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line____last_update
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line____last_update
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration____last_update
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration____last_update
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line____last_update
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line____last_update
|
||||||
@@ -847,6 +909,7 @@ msgid "Last Modified on"
|
|||||||
msgstr "Dernière Modification le"
|
msgstr "Dernière Modification le"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__write_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_uid
|
||||||
@@ -858,6 +921,7 @@ msgid "Last Updated by"
|
|||||||
msgstr "Dernière modification par"
|
msgstr "Dernière modification par"
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__write_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_date
|
||||||
@@ -886,19 +950,14 @@ msgstr ""
|
|||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Missing H.S. code on product %s. This product is present in invoice %s."
|
msgid "Missing Intrastat Code on product %s. "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Code S.H. manquant sur l'article %s. Cet article est présent sur la facture "
|
|
||||||
"%s."
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Missing unit of measure."
|
||||||
"Missing unit of measure on the line with %d product(s) '%s' on invoice '%s'."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Unité de mesure manquante sur la ligne où figurent %d article(s) '%s' sur la "
|
|
||||||
"facture '%s'."
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
@@ -1050,43 +1109,6 @@ msgstr ""
|
|||||||
msgid "Period"
|
msgid "Period"
|
||||||
msgstr "Période"
|
msgstr "Période"
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid "Please adjust this line manually."
|
|
||||||
msgstr "Ligne à finaliser manuellement."
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"Please correct the Intrastat Supplementary Unit settings and regenerate the "
|
|
||||||
"lines or adjust the lines with Intrastat Code '%s' manually"
|
|
||||||
msgstr ""
|
|
||||||
"Corrigez le paramétrage de l'unité de mesure supplémentaire pour la DEB et "
|
|
||||||
"regénérez les lignes ou ajustez manuellement les lignes avec le code pour la "
|
|
||||||
"DEB '%s'"
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"Please correct the product record and regenerate the lines or adjust the "
|
|
||||||
"impacted lines manually"
|
|
||||||
msgstr ""
|
|
||||||
"Corrigez le paramétrage de l'article et regénérez les lignes ou ajustez "
|
|
||||||
"manuellement les lignes concernées."
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"Please correct the unit of measure settings and regenerate the lines or "
|
|
||||||
"adjust the impacted lines manually"
|
|
||||||
msgstr ""
|
|
||||||
"Corrigez le paramétrage de l'unité de mesure et regénérez les lignes ou "
|
|
||||||
"ajustez manuellement les lignes concernées"
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_5
|
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_5
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
@@ -1099,6 +1121,7 @@ msgstr "Envois postaux"
|
|||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__product_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_id
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Product"
|
msgid "Product"
|
||||||
@@ -1112,6 +1135,11 @@ msgstr "Article"
|
|||||||
msgid "Product C/O"
|
msgid "Product C/O"
|
||||||
msgstr "Pays ori. article"
|
msgstr "Pays ori. article"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__quantity
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_2
|
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_2
|
||||||
msgid "Rail"
|
msgid "Rail"
|
||||||
@@ -1224,6 +1252,11 @@ msgstr ""
|
|||||||
"Sélectionnez l'unité de mesure normale d'Odoo qui correspond à cette unité "
|
"Sélectionnez l'unité de mesure normale d'Odoo qui correspond à cette unité "
|
||||||
"de mesure supplémentaire pour la DEB"
|
"de mesure supplémentaire pour la DEB"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__sequence
|
||||||
|
msgid "Sequence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
@@ -1318,6 +1351,13 @@ msgstr ""
|
|||||||
msgid "The move of this entry line."
|
msgid "The move of this entry line."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__quantity
|
||||||
|
msgid ""
|
||||||
|
"The optional quantity expressed by this line, eg: number of product sold. "
|
||||||
|
"The quantity is not a legal requirement but is very useful for some reports."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,help:intrastat_product.field_sale_order__intrastat_transport_id
|
#: model:ir.model.fields,help:intrastat_product.field_sale_order__intrastat_transport_id
|
||||||
msgid "This information is used in Intrastat reports"
|
msgid "This information is used in Intrastat reports"
|
||||||
@@ -1345,12 +1385,32 @@ msgstr "Année et mois de la DEB."
|
|||||||
msgid "Transaction"
|
msgid "Transaction"
|
||||||
msgstr "Transaction"
|
msgstr "Transaction"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__transaction_suppl_unit_qty
|
||||||
|
msgid "Transaction Suppl Unit Qty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.actions.act_window,name:intrastat_product.intrastat_transaction_action
|
#: model:ir.actions.act_window,name:intrastat_product.intrastat_transaction_action
|
||||||
#: model:ir.ui.menu,name:intrastat_product.intrastat_transaction_menu
|
#: model:ir.ui.menu,name:intrastat_product.intrastat_transaction_menu
|
||||||
msgid "Transaction Types"
|
msgid "Transaction Types"
|
||||||
msgstr "Types de transaction"
|
msgstr "Types de transaction"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__transaction_weight
|
||||||
|
msgid "Transaction Weight"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__transaction_suppl_unit_qty
|
||||||
|
msgid "Transaction quantity in Intrastat Supplementary Unit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__transaction_weight
|
||||||
|
msgid "Transaction weight in Kg: Quantity x Product Weight"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_computation_line_view_tree
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_computation_line_view_tree
|
||||||
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_declaration_view_form
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_declaration_view_form
|
||||||
@@ -1467,6 +1527,44 @@ msgstr "Vous devez configurer le pays de la société !"
|
|||||||
msgid "for period %s"
|
msgid "for period %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Missing H.S. code on product %s. This product is present in invoice %s."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Code S.H. manquant sur l'article %s. Cet article est présent sur la "
|
||||||
|
#~ "facture %s."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Missing unit of measure on the line with %d product(s) '%s' on invoice "
|
||||||
|
#~ "'%s'."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Unité de mesure manquante sur la ligne où figurent %d article(s) '%s' sur "
|
||||||
|
#~ "la facture '%s'."
|
||||||
|
|
||||||
|
#~ msgid "Please adjust this line manually."
|
||||||
|
#~ msgstr "Ligne à finaliser manuellement."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Please correct the Intrastat Supplementary Unit settings and regenerate "
|
||||||
|
#~ "the lines or adjust the lines with Intrastat Code '%s' manually"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Corrigez le paramétrage de l'unité de mesure supplémentaire pour la DEB "
|
||||||
|
#~ "et regénérez les lignes ou ajustez manuellement les lignes avec le code "
|
||||||
|
#~ "pour la DEB '%s'"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Please correct the product record and regenerate the lines or adjust the "
|
||||||
|
#~ "impacted lines manually"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Corrigez le paramétrage de l'article et regénérez les lignes ou ajustez "
|
||||||
|
#~ "manuellement les lignes concernées."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Please correct the unit of measure settings and regenerate the lines or "
|
||||||
|
#~ "adjust the impacted lines manually"
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Corrigez le paramétrage de l'unité de mesure et regénérez les lignes ou "
|
||||||
|
#~ "ajustez manuellement les lignes concernées"
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
#~| msgid "Company Country Code"
|
#~| msgid "Company Country Code"
|
||||||
#~ msgid "Country Code"
|
#~ msgid "Country Code"
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: \n"
|
"Content-Transfer-Encoding: \n"
|
||||||
"Plural-Forms: \n"
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.view_move_form
|
||||||
|
msgid ""
|
||||||
|
"(Re)compute the intrastat transaction details from the product master data."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields.selection,name:intrastat_product.selection__intrastat_product_declaration__month__01
|
#: model:ir.model.fields.selection,name:intrastat_product.selection__intrastat_product_declaration__month__01
|
||||||
msgid "01"
|
msgid "01"
|
||||||
@@ -132,6 +138,11 @@ msgstr ""
|
|||||||
msgid "Air Transport"
|
msgid "Air Transport"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:res.groups,comment:intrastat_product.group_invoice_intrastat_transaction_details
|
||||||
|
msgid "Allow to encode Intrastat Transaction Details on Invoices"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,help:intrastat_product.field_intrastat_product_computation_line__amount_accessory_cost_company_currency
|
#: model:ir.model.fields,help:intrastat_product.field_intrastat_product_computation_line__amount_accessory_cost_company_currency
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -243,6 +254,11 @@ msgstr ""
|
|||||||
msgid "Computation Lines"
|
msgid "Computation Lines"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.view_move_form
|
||||||
|
msgid "Compute"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model,name:intrastat_product.model_res_config_settings
|
#: model:ir.model,name:intrastat_product.model_res_config_settings
|
||||||
msgid "Config Settings"
|
msgid "Config Settings"
|
||||||
@@ -278,6 +294,11 @@ msgstr ""
|
|||||||
msgid "Country"
|
msgid "Country"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__product_origin_country_id
|
||||||
|
msgid "Country of Origin"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_origin_country_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_origin_country_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__product_origin_country_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__product_origin_country_id
|
||||||
@@ -299,6 +320,12 @@ msgid "Country of origin of the product i.e. product 'made in ____'"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__product_origin_country_id
|
||||||
|
msgid "Country of origin of the product i.e. product 'made in ____'."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__create_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_uid
|
||||||
@@ -310,6 +337,7 @@ msgid "Created by"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__create_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__create_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__create_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__create_date
|
||||||
@@ -422,6 +450,7 @@ msgid "Dispatches"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__display_name
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__display_name
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__display_name
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__display_name
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__display_name
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__display_name
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__display_name
|
||||||
@@ -541,6 +570,7 @@ msgid "H.S. Codes"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__id
|
||||||
@@ -600,6 +630,7 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__hs_code_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_line__hs_code_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_line__hs_code_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__hs_code_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__hs_code_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__hs_code_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__hs_code_id
|
||||||
@@ -607,6 +638,12 @@ msgstr ""
|
|||||||
msgid "Intrastat Code"
|
msgid "Intrastat Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Intrastat Code %s:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/hs_code.py:0
|
#: code:addons/intrastat_product/models/hs_code.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
@@ -755,11 +792,22 @@ msgstr ""
|
|||||||
msgid "Intrastat declaration"
|
msgid "Intrastat declaration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model,name:intrastat_product.model_account_move_intrastat_line
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move__intrastat_line_ids
|
||||||
|
msgid "Intrastat declaration details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,help:intrastat_product.field_account_move__intrastat_transaction_id
|
#: model:ir.model.fields,help:intrastat_product.field_account_move__intrastat_transaction_id
|
||||||
msgid "Intrastat nature of transaction"
|
msgid "Intrastat nature of transaction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.view_move_form
|
||||||
|
msgid "Intrastat transaction details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
@@ -773,12 +821,25 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__move_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_id
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Invoice"
|
msgid "Invoice"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
|
#, python-format
|
||||||
|
msgid "Invoice %s, line %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:res.groups,name:intrastat_product.group_invoice_intrastat_transaction_details
|
||||||
|
msgid "Invoice Intrastat Transaction Details"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__invoice_line_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_line_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__invoice_line_id
|
||||||
msgid "Invoice Line"
|
msgid "Invoice Line"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -805,6 +866,7 @@ msgid "Kg"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line____last_update
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line____last_update
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line____last_update
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration____last_update
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration____last_update
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line____last_update
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line____last_update
|
||||||
@@ -817,6 +879,7 @@ msgid "Last Modified on"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__write_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_uid
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_uid
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_uid
|
||||||
@@ -828,6 +891,7 @@ msgid "Last Updated by"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__write_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__write_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration__write_date
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_date
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_declaration_line__write_date
|
||||||
@@ -856,15 +920,13 @@ msgstr ""
|
|||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Missing Intrastat Code on product %s. "
|
||||||
"Missing H.S. code on product %s. This product is present in invoice %s."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid ""
|
msgid "Missing unit of measure."
|
||||||
"Missing unit of measure on the line with %d product(s) '%s' on invoice '%s'."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
@@ -1010,37 +1072,6 @@ msgstr ""
|
|||||||
msgid "Period"
|
msgid "Period"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid "Please adjust this line manually."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"Please correct the Intrastat Supplementary Unit settings and regenerate the "
|
|
||||||
"lines or adjust the lines with Intrastat Code '%s' manually"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"Please correct the product record and regenerate the lines or adjust the "
|
|
||||||
"impacted lines manually"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
|
||||||
#, python-format
|
|
||||||
msgid ""
|
|
||||||
"Please correct the unit of measure settings and regenerate the lines or "
|
|
||||||
"adjust the impacted lines manually"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_5
|
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_5
|
||||||
msgid "Post"
|
msgid "Post"
|
||||||
@@ -1053,6 +1084,7 @@ msgstr ""
|
|||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
#: code:addons/intrastat_product/report/intrastat_product_report_xls.py:0
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__product_id
|
||||||
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_id
|
#: model:ir.model.fields,field_description:intrastat_product.field_intrastat_product_computation_line__product_id
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Product"
|
msgid "Product"
|
||||||
@@ -1066,6 +1098,11 @@ msgstr ""
|
|||||||
msgid "Product C/O"
|
msgid "Product C/O"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__quantity
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_2
|
#: model:intrastat.transport_mode,name:intrastat_product.intrastat_transport_2
|
||||||
msgid "Rail"
|
msgid "Rail"
|
||||||
@@ -1176,6 +1213,11 @@ msgid ""
|
|||||||
"Intrastat Supplementary Unit."
|
"Intrastat Supplementary Unit."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__sequence
|
||||||
|
msgid "Sequence"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
#: code:addons/intrastat_product/models/intrastat_product_declaration.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
@@ -1264,6 +1306,13 @@ msgstr ""
|
|||||||
msgid "The move of this entry line."
|
msgid "The move of this entry line."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__quantity
|
||||||
|
msgid ""
|
||||||
|
"The optional quantity expressed by this line, eg: number of product sold. "
|
||||||
|
"The quantity is not a legal requirement but is very useful for some reports."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.model.fields,help:intrastat_product.field_sale_order__intrastat_transport_id
|
#: model:ir.model.fields,help:intrastat_product.field_sale_order__intrastat_transport_id
|
||||||
msgid "This information is used in Intrastat reports"
|
msgid "This information is used in Intrastat reports"
|
||||||
@@ -1289,12 +1338,32 @@ msgstr ""
|
|||||||
msgid "Transaction"
|
msgid "Transaction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__transaction_suppl_unit_qty
|
||||||
|
msgid "Transaction Suppl Unit Qty"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model:ir.actions.act_window,name:intrastat_product.intrastat_transaction_action
|
#: model:ir.actions.act_window,name:intrastat_product.intrastat_transaction_action
|
||||||
#: model:ir.ui.menu,name:intrastat_product.intrastat_transaction_menu
|
#: model:ir.ui.menu,name:intrastat_product.intrastat_transaction_menu
|
||||||
msgid "Transaction Types"
|
msgid "Transaction Types"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,field_description:intrastat_product.field_account_move_intrastat_line__transaction_weight
|
||||||
|
msgid "Transaction Weight"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__transaction_suppl_unit_qty
|
||||||
|
msgid "Transaction quantity in Intrastat Supplementary Unit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: intrastat_product
|
||||||
|
#: model:ir.model.fields,help:intrastat_product.field_account_move_intrastat_line__transaction_weight
|
||||||
|
msgid "Transaction weight in Kg: Quantity x Product Weight"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#. module: intrastat_product
|
#. module: intrastat_product
|
||||||
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_computation_line_view_tree
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_computation_line_view_tree
|
||||||
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_declaration_view_form
|
#: model_terms:ir.ui.view,arch_db:intrastat_product.intrastat_product_declaration_view_form
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ class AccountMove(models.Model):
|
|||||||
intrastat = fields.Char(
|
intrastat = fields.Char(
|
||||||
string="Intrastat Declaration", related="company_id.intrastat"
|
string="Intrastat Declaration", related="company_id.intrastat"
|
||||||
)
|
)
|
||||||
|
intrastat_line_ids = fields.One2many(
|
||||||
|
comodel_name="account.move.intrastat.line",
|
||||||
|
inverse_name="move_id",
|
||||||
|
string="Intrastat declaration details",
|
||||||
|
)
|
||||||
|
|
||||||
@api.depends("partner_shipping_id.country_id", "partner_id.country_id")
|
@api.depends("partner_shipping_id.country_id", "partner_id.country_id")
|
||||||
def _compute_intrastat_country(self):
|
def _compute_intrastat_country(self):
|
||||||
@@ -60,23 +65,107 @@ class AccountMove(models.Model):
|
|||||||
def _default_src_dest_region_id(self):
|
def _default_src_dest_region_id(self):
|
||||||
return self.env.company.intrastat_region_id
|
return self.env.company.intrastat_region_id
|
||||||
|
|
||||||
|
def compute_intrastat_lines(self):
|
||||||
|
"""
|
||||||
|
Compute the Intrastat Lines so that they can be modified
|
||||||
|
when encoding the Customer/Supplier Invoice.
|
||||||
|
"""
|
||||||
|
self.mapped("intrastat_line_ids").unlink()
|
||||||
|
for inv in self:
|
||||||
|
if inv.type not in ("out_invoice", "out_refund", "in_invoice", "in_refund"):
|
||||||
|
continue
|
||||||
|
line_vals = []
|
||||||
|
for line in inv.invoice_line_ids:
|
||||||
|
vals = self._get_intrastat_line_vals(line)
|
||||||
|
if vals:
|
||||||
|
line_vals.append(vals)
|
||||||
|
if line_vals:
|
||||||
|
inv.intrastat_line_ids = [(0, 0, x) for x in line_vals]
|
||||||
|
|
||||||
|
def _get_intrastat_line_vals(self, line):
|
||||||
|
vals = {}
|
||||||
|
decl_model = self.env["intrastat.product.declaration"]
|
||||||
|
if decl_model._is_product(line):
|
||||||
|
hs_code = line.product_id.get_hs_code_recursively()
|
||||||
|
if not hs_code:
|
||||||
|
return vals
|
||||||
|
weight, qty = decl_model._get_weight_and_supplunits(line, hs_code)
|
||||||
|
vals.update(
|
||||||
|
{
|
||||||
|
"invoice_line_id": line.id,
|
||||||
|
"hs_code_id": hs_code.id,
|
||||||
|
"transaction_weight": int(weight),
|
||||||
|
"transaction_suppl_unit_qty": qty,
|
||||||
|
"product_origin_country_id": line.product_id.origin_country_id.id,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return vals
|
||||||
|
|
||||||
|
|
||||||
class AccountMoveLine(models.Model):
|
class AccountMoveLine(models.Model):
|
||||||
_inherit = "account.move.line"
|
_inherit = "account.move.line"
|
||||||
|
|
||||||
hs_code_id = fields.Many2one(
|
hs_code_id = fields.Many2one(
|
||||||
comodel_name="hs.code", string="Intrastat Code", ondelete="restrict"
|
comodel_name="hs.code", compute="_compute_hs_code_id", string="Intrastat Code",
|
||||||
|
)
|
||||||
|
|
||||||
|
def _compute_hs_code_id(self):
|
||||||
|
for rec in self:
|
||||||
|
intrastat_line = self.move_id.intrastat_line_ids.filtered(
|
||||||
|
lambda r: r.invoice_line_id == rec
|
||||||
|
)
|
||||||
|
rec.hs_code_id = intrastat_line.hs_code_id or rec.get_hs_code_recursively()
|
||||||
|
|
||||||
|
|
||||||
|
class AccountMoveIntrastatLine(models.Model):
|
||||||
|
_name = "account.move.intrastat.line"
|
||||||
|
_description = "Intrastat declaration details"
|
||||||
|
_order = "sequence"
|
||||||
|
|
||||||
|
move_id = fields.Many2one(
|
||||||
|
comodel_name="account.move",
|
||||||
|
string="Invoice",
|
||||||
|
ondelete="cascade",
|
||||||
|
required=True,
|
||||||
|
)
|
||||||
|
invoice_line_id = fields.Many2one(
|
||||||
|
comodel_name="account.move.line",
|
||||||
|
string="Invoice Line",
|
||||||
|
ondelete="cascade",
|
||||||
|
required=True,
|
||||||
|
)
|
||||||
|
sequence = fields.Integer(related="invoice_line_id.sequence", store=True)
|
||||||
|
product_id = fields.Many2one(
|
||||||
|
comodel_name="product.product",
|
||||||
|
string="Product",
|
||||||
|
related="invoice_line_id.product_id",
|
||||||
|
)
|
||||||
|
quantity = fields.Float(related="invoice_line_id.quantity")
|
||||||
|
transaction_suppl_unit_qty = fields.Float(
|
||||||
|
help="Transaction quantity in Intrastat Supplementary Unit"
|
||||||
|
)
|
||||||
|
hs_code_id = fields.Many2one(
|
||||||
|
comodel_name="hs.code",
|
||||||
|
string="Intrastat Code",
|
||||||
|
ondelete="restrict",
|
||||||
|
required=True,
|
||||||
|
)
|
||||||
|
transaction_weight = fields.Integer(
|
||||||
|
help="Transaction weight in Kg: Quantity x Product Weight"
|
||||||
)
|
)
|
||||||
weight = fields.Integer(string="Weight", help="Net weight in Kg")
|
|
||||||
product_origin_country_id = fields.Many2one(
|
product_origin_country_id = fields.Many2one(
|
||||||
comodel_name="res.country",
|
comodel_name="res.country",
|
||||||
string="Country of Origin",
|
string="Country of Origin",
|
||||||
help="Country of origin of the product i.e. product " "'made in ____'.",
|
help="Country of origin of the product i.e. product " "'made in ____'.",
|
||||||
)
|
)
|
||||||
|
|
||||||
@api.onchange("product_id")
|
@api.onchange("invoice_line_id")
|
||||||
def intrastat_product_id_change(self):
|
def _onchange_move_id(self):
|
||||||
if self.product_id:
|
moves = self.mapped("move_id")
|
||||||
self.hs_code_id = self.product_id.get_hs_code_recursively()
|
dom = [
|
||||||
self.product_origin_country_id = self.product_id.origin_country_id
|
("exclude_from_invoice_tab", "=", False),
|
||||||
self.weight = self.product_id.weight
|
("display_type", "=", False),
|
||||||
|
("id", "in", moves.mapped("invoice_line_ids").ids),
|
||||||
|
("id", "not in", moves.mapped("intrastat_line_ids.invoice_line_id").ids),
|
||||||
|
]
|
||||||
|
return {"domain": {"invoice_line_id": dom}}
|
||||||
|
|||||||
@@ -29,6 +29,11 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
"or change the revision number of this one.",
|
"or change the revision number of this one.",
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
# TODO:
|
||||||
|
# drop the use of self._note & self._line_nbr when migrating to Odoo 14
|
||||||
|
# refactoring this now may break the localisation modules
|
||||||
|
_note = ""
|
||||||
|
_line_nbr = ""
|
||||||
|
|
||||||
@api.model
|
@api.model
|
||||||
def default_get(self, fields_list):
|
def default_get(self, fields_list):
|
||||||
@@ -261,9 +266,9 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
return company.intrastat_transaction_in_refund
|
return company.intrastat_transaction_in_refund
|
||||||
|
|
||||||
def _get_weight_and_supplunits(self, inv_line, hs_code):
|
def _get_weight_and_supplunits(self, inv_line, hs_code):
|
||||||
|
line_nbr = self._line_nbr
|
||||||
line_qty = inv_line.quantity
|
line_qty = inv_line.quantity
|
||||||
product = inv_line.product_id
|
product = inv_line.product_id
|
||||||
invoice = inv_line.move_id
|
|
||||||
intrastat_unit_id = hs_code.intrastat_unit_id
|
intrastat_unit_id = hs_code.intrastat_unit_id
|
||||||
source_uom = inv_line.product_uom_id
|
source_uom = inv_line.product_uom_id
|
||||||
weight_uom_categ = self._get_uom_refs("weight_uom_categ")
|
weight_uom_categ = self._get_uom_refs("weight_uom_categ")
|
||||||
@@ -272,64 +277,38 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
pce_uom = self._get_uom_refs("pce_uom")
|
pce_uom = self._get_uom_refs("pce_uom")
|
||||||
weight = suppl_unit_qty = 0.0
|
weight = suppl_unit_qty = 0.0
|
||||||
|
|
||||||
if not product:
|
|
||||||
weight = inv_line.weight
|
|
||||||
if not weight:
|
|
||||||
note = "\n" + _(
|
|
||||||
"Missing weight on invoice %s, line with intrastat code %s."
|
|
||||||
) % (inv_line.move_id.name, inv_line.hs_code_id.local_code)
|
|
||||||
note += "\n" + _(
|
|
||||||
"Please correct the product record and regenerate "
|
|
||||||
"the lines or adjust the impacted lines manually"
|
|
||||||
)
|
|
||||||
self._note += note
|
|
||||||
return weight, suppl_unit_qty
|
|
||||||
return weight, suppl_unit_qty
|
|
||||||
|
|
||||||
if not source_uom:
|
if not source_uom:
|
||||||
note = "\n" + _(
|
line_notes = [_("Missing unit of measure.")]
|
||||||
"Missing unit of measure on the line with %d "
|
self._note += self._format_line_note(inv_line, line_nbr, line_notes)
|
||||||
"product(s) '%s' on invoice '%s'."
|
|
||||||
) % (line_qty, product.name_get()[0][1], invoice.name)
|
|
||||||
note += "\n" + _("Please adjust this line manually.")
|
|
||||||
self._note += note
|
|
||||||
return weight, suppl_unit_qty
|
return weight, suppl_unit_qty
|
||||||
|
|
||||||
if intrastat_unit_id:
|
if intrastat_unit_id:
|
||||||
target_uom = intrastat_unit_id.uom_id
|
target_uom = intrastat_unit_id.uom_id
|
||||||
if not target_uom:
|
if not target_uom:
|
||||||
note = (
|
line_notes = [
|
||||||
"\n"
|
_("Intrastat Code %s:") % hs_code.display_name,
|
||||||
+ _(
|
_(
|
||||||
"Conversion from Intrastat Supplementary Unit '%s' to "
|
"Conversion from Intrastat Supplementary Unit '%s' to "
|
||||||
"Unit of Measure is not implemented yet."
|
"Unit of Measure is not implemented yet."
|
||||||
)
|
)
|
||||||
% intrastat_unit_id.name
|
% intrastat_unit_id.name,
|
||||||
)
|
]
|
||||||
note += (
|
self._note += self._format_line_note(inv_line, line_nbr, line_notes)
|
||||||
"\n"
|
|
||||||
+ _(
|
|
||||||
"Please correct the Intrastat Supplementary Unit "
|
|
||||||
"settings and regenerate the lines or adjust the lines "
|
|
||||||
"with Intrastat Code '%s' manually"
|
|
||||||
)
|
|
||||||
% hs_code.display_name
|
|
||||||
)
|
|
||||||
self._note += note
|
|
||||||
return weight, suppl_unit_qty
|
return weight, suppl_unit_qty
|
||||||
if target_uom.category_id == source_uom.category_id:
|
if target_uom.category_id == source_uom.category_id:
|
||||||
suppl_unit_qty = source_uom._compute_quantity(line_qty, target_uom)
|
suppl_unit_qty = source_uom._compute_quantity(line_qty, target_uom)
|
||||||
else:
|
else:
|
||||||
note = "\n" + _(
|
line_notes = [
|
||||||
|
_(
|
||||||
"Conversion from unit of measure '%s' to '%s' "
|
"Conversion from unit of measure '%s' to '%s' "
|
||||||
"is not implemented yet."
|
"is not implemented yet."
|
||||||
) % (source_uom.name, target_uom.name)
|
|
||||||
note += "\n" + _(
|
|
||||||
"Please correct the unit of measure settings and "
|
|
||||||
"regenerate the lines or adjust the impacted "
|
|
||||||
"lines manually"
|
|
||||||
)
|
)
|
||||||
self._note += note
|
% (source_uom.name, target_uom.name)
|
||||||
|
]
|
||||||
|
self._note += self._format_line_note(inv_line, line_nbr, line_notes)
|
||||||
|
return weight, suppl_unit_qty
|
||||||
|
|
||||||
|
if weight:
|
||||||
return weight, suppl_unit_qty
|
return weight, suppl_unit_qty
|
||||||
|
|
||||||
if source_uom == kg_uom:
|
if source_uom == kg_uom:
|
||||||
@@ -338,14 +317,10 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
weight = source_uom._compute_quantity(line_qty, kg_uom)
|
weight = source_uom._compute_quantity(line_qty, kg_uom)
|
||||||
elif source_uom.category_id == pce_uom_categ:
|
elif source_uom.category_id == pce_uom_categ:
|
||||||
if not product.weight: # re-create weight_net ?
|
if not product.weight: # re-create weight_net ?
|
||||||
note = (
|
line_notes = [
|
||||||
"\n" + _("Missing weight on product %s.") % product.name_get()[0][1]
|
_("Missing weight on product %s.") % product.name_get()[0][1]
|
||||||
)
|
]
|
||||||
note += "\n" + _(
|
self._note += self._format_line_note(inv_line, line_nbr, line_notes)
|
||||||
"Please correct the product record and regenerate "
|
|
||||||
"the lines or adjust the impacted lines manually"
|
|
||||||
)
|
|
||||||
self._note += note
|
|
||||||
return weight, suppl_unit_qty
|
return weight, suppl_unit_qty
|
||||||
if source_uom == pce_uom:
|
if source_uom == pce_uom:
|
||||||
weight = product.weight * line_qty # product.weight_net
|
weight = product.weight * line_qty # product.weight_net
|
||||||
@@ -357,16 +332,14 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
line_qty, pce_uom
|
line_qty, pce_uom
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
note = "\n" + _(
|
line_notes = [
|
||||||
|
_(
|
||||||
"Conversion from unit of measure '%s' to 'Kg' "
|
"Conversion from unit of measure '%s' to 'Kg' "
|
||||||
"is not implemented yet. It is needed for product '%s'."
|
"is not implemented yet. It is needed for product '%s'."
|
||||||
) % (source_uom.name, product.name_get()[0][1])
|
|
||||||
note += "\n" + _(
|
|
||||||
"Please correct the unit of measure settings and "
|
|
||||||
"regenerate the lines or adjust the impacted lines "
|
|
||||||
"manually"
|
|
||||||
)
|
)
|
||||||
self._note += note
|
% (source_uom.name, product.name_get()[0][1])
|
||||||
|
]
|
||||||
|
self._note += self._format_line_note(inv_line, line_nbr, line_notes)
|
||||||
return weight, suppl_unit_qty
|
return weight, suppl_unit_qty
|
||||||
|
|
||||||
return weight, suppl_unit_qty
|
return weight, suppl_unit_qty
|
||||||
@@ -449,9 +422,7 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
return incoterm
|
return incoterm
|
||||||
|
|
||||||
def _get_product_origin_country(self, inv_line):
|
def _get_product_origin_country(self, inv_line):
|
||||||
return (
|
return inv_line.product_id.origin_country_id
|
||||||
inv_line.product_origin_country_id or inv_line.product_id.origin_country_id
|
|
||||||
)
|
|
||||||
|
|
||||||
def _update_computation_line_vals(self, inv_line, line_vals):
|
def _update_computation_line_vals(self, inv_line, line_vals):
|
||||||
""" placeholder for localization modules """
|
""" placeholder for localization modules """
|
||||||
@@ -527,6 +498,15 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
""" placeholder for localization modules """
|
""" placeholder for localization modules """
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def _format_line_note(self, line, line_nbr, line_notes):
|
||||||
|
indent = 8 * " "
|
||||||
|
note = _("Invoice %s, line %s") % (line.move_id.name, line_nbr)
|
||||||
|
note += ":\n"
|
||||||
|
for line_note in line_notes:
|
||||||
|
note += indent + line_note
|
||||||
|
note += "\n"
|
||||||
|
return note
|
||||||
|
|
||||||
def _gather_invoices(self):
|
def _gather_invoices(self):
|
||||||
|
|
||||||
lines = []
|
lines = []
|
||||||
@@ -534,7 +514,8 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
|
|
||||||
self._gather_invoices_init()
|
self._gather_invoices_init()
|
||||||
domain = self._prepare_invoice_domain()
|
domain = self._prepare_invoice_domain()
|
||||||
invoices = self.env["account.move"].search(domain)
|
order = "journal_id, name"
|
||||||
|
invoices = self.env["account.move"].search(domain, order=order)
|
||||||
|
|
||||||
for invoice in invoices:
|
for invoice in invoices:
|
||||||
|
|
||||||
@@ -542,7 +523,11 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
total_inv_accessory_costs_cc = 0.0 # in company currency
|
total_inv_accessory_costs_cc = 0.0 # in company currency
|
||||||
total_inv_product_cc = 0.0 # in company currency
|
total_inv_product_cc = 0.0 # in company currency
|
||||||
total_inv_weight = 0.0
|
total_inv_weight = 0.0
|
||||||
for inv_line in invoice.invoice_line_ids:
|
for line_nbr, inv_line in enumerate(invoice.invoice_line_ids, start=1):
|
||||||
|
self._line_nbr = line_nbr
|
||||||
|
inv_intrastat_line = invoice.intrastat_line_ids.filtered(
|
||||||
|
lambda r: r.invoice_line_id == inv_line
|
||||||
|
)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
accessory_costs
|
accessory_costs
|
||||||
@@ -587,30 +572,33 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if inv_line.hs_code_id:
|
if inv_intrastat_line:
|
||||||
hs_code = inv_line.hs_code_id
|
hs_code = inv_intrastat_line.hs_code_id
|
||||||
elif inv_line.product_id and self._is_product(inv_line):
|
elif inv_line.product_id and self._is_product(inv_line):
|
||||||
hs_code = inv_line.product_id.get_hs_code_recursively()
|
hs_code = inv_line.product_id.get_hs_code_recursively()
|
||||||
if not hs_code:
|
if not hs_code:
|
||||||
note = "\n" + _(
|
line_notes = [
|
||||||
"Missing H.S. code on product %s. "
|
_("Missing Intrastat Code on product %s. ")
|
||||||
"This product is present in invoice %s."
|
% (inv_line.product_id.name_get()[0][1])
|
||||||
) % (
|
]
|
||||||
inv_line.product_id.name_get()[0][1],
|
self._note += self._format_line_note(
|
||||||
inv_line.move_id.name,
|
inv_line, line_nbr, line_notes
|
||||||
)
|
)
|
||||||
self._note += note
|
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
_logger.info(
|
_logger.info(
|
||||||
"Skipping invoice line %s qty %s "
|
"Skipping invoice line %s qty %s "
|
||||||
"of invoice %s. Reason: no product nor hs_code"
|
"of invoice %s. Reason: no product nor Intrastat Code"
|
||||||
% (inv_line.name, inv_line.quantity, invoice.name)
|
% (inv_line.name, inv_line.quantity, invoice.name)
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
intrastat_transaction = self._get_intrastat_transaction(inv_line)
|
intrastat_transaction = self._get_intrastat_transaction(inv_line)
|
||||||
|
|
||||||
|
if inv_intrastat_line:
|
||||||
|
weight = inv_intrastat_line.transaction_weight
|
||||||
|
suppl_unit_qty = inv_intrastat_line.transaction_suppl_unit_qty
|
||||||
|
else:
|
||||||
weight, suppl_unit_qty = self._get_weight_and_supplunits(
|
weight, suppl_unit_qty = self._get_weight_and_supplunits(
|
||||||
inv_line, hs_code
|
inv_line, hs_code
|
||||||
)
|
)
|
||||||
@@ -619,6 +607,11 @@ class IntrastatProductDeclaration(models.Model):
|
|||||||
amount_company_currency = self._get_amount(inv_line)
|
amount_company_currency = self._get_amount(inv_line)
|
||||||
total_inv_product_cc += amount_company_currency
|
total_inv_product_cc += amount_company_currency
|
||||||
|
|
||||||
|
if inv_intrastat_line:
|
||||||
|
product_origin_country = (
|
||||||
|
inv_intrastat_line.product_origin_country_id
|
||||||
|
)
|
||||||
|
else:
|
||||||
product_origin_country = self._get_product_origin_country(inv_line)
|
product_origin_country = self._get_product_origin_country(inv_line)
|
||||||
|
|
||||||
region = self._get_region(inv_line)
|
region = self._get_region(inv_line)
|
||||||
|
|||||||
14
intrastat_product/readme/CONFIGURE.rst
Normal file
14
intrastat_product/readme/CONFIGURE.rst
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
By default the intrastat declaration is generated based upon the product record master data.
|
||||||
|
Hence unexpected results may occur in case this master data is not accurate,
|
||||||
|
e.g. wrong or missing weight, country of origin, ...
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
This can be corrected by changing the appropriate fields when analysing the intrastat declaration
|
||||||
|
but this can be challenging in case of large transaction volumes and especially in the specific use
|
||||||
|
case where the product weight cannot be encoded correctly on the product records (e.g. products with variable weight).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
||||||
|
It is possible to allow encoding the intrastat transaction details on the purchase/sale invoice
|
||||||
|
via the "intrastat_product.group_invoice_intrastat_transaction_detail" usability group.
|
||||||
@@ -1,5 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<odoo noupdate="1">
|
<odoo>
|
||||||
|
<data noupdate="0">
|
||||||
|
<record id="group_invoice_intrastat_transaction_details" model="res.groups">
|
||||||
|
<field name="name">Invoice Intrastat Transaction Details</field>
|
||||||
|
<field
|
||||||
|
name="comment"
|
||||||
|
>Allow to encode Intrastat Transaction Details on Invoices</field>
|
||||||
|
<field name="category_id" ref="base.module_category_hidden" />
|
||||||
|
</record>
|
||||||
|
</data>
|
||||||
|
<data noupdate="1">
|
||||||
<record id="intrastat_transaction_company_rule" model="ir.rule">
|
<record id="intrastat_transaction_company_rule" model="ir.rule">
|
||||||
<field name="name">Intrastat Transaction Company rule</field>
|
<field name="name">Intrastat Transaction Company rule</field>
|
||||||
<field name="model_id" ref="model_intrastat_transaction" />
|
<field name="model_id" ref="model_intrastat_transaction" />
|
||||||
@@ -21,4 +31,5 @@
|
|||||||
name="domain_force"
|
name="domain_force"
|
||||||
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
|
||||||
</record>
|
</record>
|
||||||
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ access_intrastat_transport_mode_full,Full access on Intrastat Transport Modes to
|
|||||||
access_intrastat_region_read,Read access on Intrastat Regions,model_intrastat_region,,1,0,0,0
|
access_intrastat_region_read,Read access on Intrastat Regions,model_intrastat_region,,1,0,0,0
|
||||||
access_intrastat_region_full,Full access on Intrastat Regions,model_intrastat_region,account.group_account_manager,1,1,1,1
|
access_intrastat_region_full,Full access on Intrastat Regions,model_intrastat_region,account.group_account_manager,1,1,1,1
|
||||||
access_hs_code_financial_mgr_full,Full access on H.S. Code to financial mgr,product_harmonized_system.model_hs_code,account.group_account_manager,1,1,1,1
|
access_hs_code_financial_mgr_full,Full access on H.S. Code to financial mgr,product_harmonized_system.model_hs_code,account.group_account_manager,1,1,1,1
|
||||||
|
access_account_move_intrastat_line,Full access on Invoice Intrastat Lines,model_account_move_intrastat_line,account.group_account_invoice,1,1,1,1
|
||||||
access_intrastat_product_declaration,Full access on Intrastat Product Declarations to Accountant,model_intrastat_product_declaration,account.group_account_user,1,1,1,1
|
access_intrastat_product_declaration,Full access on Intrastat Product Declarations to Accountant,model_intrastat_product_declaration,account.group_account_user,1,1,1,1
|
||||||
access_intrastat_product_computation_line,Full access on Intrastat Product Computation Lines to Accountant,model_intrastat_product_computation_line,account.group_account_user,1,1,1,1
|
access_intrastat_product_computation_line,Full access on Intrastat Product Computation Lines to Accountant,model_intrastat_product_computation_line,account.group_account_user,1,1,1,1
|
||||||
access_intrastat_product_declaration_line,Full access on Intrastat Product Declaration Lines to Accountant,model_intrastat_product_declaration_line,account.group_account_user,1,1,1,1
|
access_intrastat_product_declaration_line,Full access on Intrastat Product Declaration Lines to Accountant,model_intrastat_product_declaration_line,account.group_account_user,1,1,1,1
|
||||||
|
|||||||
|
@@ -382,12 +382,13 @@ the module for the Intrastat Product Declaration for Belgium</li>
|
|||||||
<div class="contents local topic" id="contents">
|
<div class="contents local topic" id="contents">
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li><a class="reference internal" href="#installation" id="id1">Installation</a></li>
|
<li><a class="reference internal" href="#installation" id="id1">Installation</a></li>
|
||||||
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
|
<li><a class="reference internal" href="#configuration" id="id2">Configuration</a></li>
|
||||||
<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
|
<li><a class="reference internal" href="#usage" id="id3">Usage</a></li>
|
||||||
<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
|
<li><a class="reference internal" href="#bug-tracker" id="id4">Bug Tracker</a></li>
|
||||||
<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
|
<li><a class="reference internal" href="#credits" id="id5">Credits</a><ul>
|
||||||
<li><a class="reference internal" href="#contributors" id="id6">Contributors</a></li>
|
<li><a class="reference internal" href="#authors" id="id6">Authors</a></li>
|
||||||
<li><a class="reference internal" href="#maintainers" id="id7">Maintainers</a></li>
|
<li><a class="reference internal" href="#contributors" id="id7">Contributors</a></li>
|
||||||
|
<li><a class="reference internal" href="#maintainers" id="id8">Maintainers</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -396,8 +397,25 @@ the module for the Intrastat Product Declaration for Belgium</li>
|
|||||||
<h1><a class="toc-backref" href="#id1">Installation</a></h1>
|
<h1><a class="toc-backref" href="#id1">Installation</a></h1>
|
||||||
<p>This module is NOT compatible with the <em>account_intrastat</em> module from Odoo Enterprise.</p>
|
<p>This module is NOT compatible with the <em>account_intrastat</em> module from Odoo Enterprise.</p>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="section" id="configuration">
|
||||||
|
<h1><a class="toc-backref" href="#id2">Configuration</a></h1>
|
||||||
|
<p>By default the intrastat declaration is generated based upon the product record master data.
|
||||||
|
Hence unexpected results may occur in case this master data is not accurate,
|
||||||
|
e.g. wrong or missing weight, country of origin, …</p>
|
||||||
|
<div class="line-block">
|
||||||
|
<div class="line"><br /></div>
|
||||||
|
</div>
|
||||||
|
<p>This can be corrected by changing the appropriate fields when analysing the intrastat declaration
|
||||||
|
but this can be challenging in case of large transaction volumes and especially in the specific use
|
||||||
|
case where the product weight cannot be encoded correctly on the product records (e.g. products with variable weight).</p>
|
||||||
|
<div class="line-block">
|
||||||
|
<div class="line"><br /></div>
|
||||||
|
</div>
|
||||||
|
<p>It is possible to allow encoding the intrastat transaction details on the purchase/sale invoice
|
||||||
|
via the “intrastat_product.group_invoice_intrastat_transaction_detail” usability group.</p>
|
||||||
|
</div>
|
||||||
<div class="section" id="usage">
|
<div class="section" id="usage">
|
||||||
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
|
<h1><a class="toc-backref" href="#id3">Usage</a></h1>
|
||||||
<p>This module is used in combination with the country-specific
|
<p>This module is used in combination with the country-specific
|
||||||
localization module(s).</p>
|
localization module(s).</p>
|
||||||
<p><strong>Coding guidelines for localization module:</strong></p>
|
<p><strong>Coding guidelines for localization module:</strong></p>
|
||||||
@@ -427,7 +445,7 @@ the customization or new method is required for multiple countries).</p>
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="bug-tracker">
|
<div class="section" id="bug-tracker">
|
||||||
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
|
<h1><a class="toc-backref" href="#id4">Bug Tracker</a></h1>
|
||||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/intrastat-extrastat/issues">GitHub Issues</a>.
|
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/intrastat-extrastat/issues">GitHub Issues</a>.
|
||||||
In case of trouble, please check there if your issue has already been reported.
|
In case of trouble, please check there if your issue has already been reported.
|
||||||
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||||
@@ -435,9 +453,9 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="credits">
|
<div class="section" id="credits">
|
||||||
<h1><a class="toc-backref" href="#id4">Credits</a></h1>
|
<h1><a class="toc-backref" href="#id5">Credits</a></h1>
|
||||||
<div class="section" id="authors">
|
<div class="section" id="authors">
|
||||||
<h2><a class="toc-backref" href="#id5">Authors</a></h2>
|
<h2><a class="toc-backref" href="#id6">Authors</a></h2>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>brain-tec AG</li>
|
<li>brain-tec AG</li>
|
||||||
<li>Akretion</li>
|
<li>Akretion</li>
|
||||||
@@ -445,14 +463,14 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="contributors">
|
<div class="section" id="contributors">
|
||||||
<h2><a class="toc-backref" href="#id6">Contributors</a></h2>
|
<h2><a class="toc-backref" href="#id7">Contributors</a></h2>
|
||||||
<ul class="simple">
|
<ul class="simple">
|
||||||
<li>Alexis de Lattre, Akretion <<a class="reference external" href="mailto:alexis.delattre@akretion.com">alexis.delattre@akretion.com</a>></li>
|
<li>Alexis de Lattre, Akretion <<a class="reference external" href="mailto:alexis.delattre@akretion.com">alexis.delattre@akretion.com</a>></li>
|
||||||
<li>Luc De Meyer, Noviat <<a class="reference external" href="mailto:info@noviat.com">info@noviat.com</a>></li>
|
<li>Luc De Meyer, Noviat <<a class="reference external" href="mailto:info@noviat.com">info@noviat.com</a>></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="maintainers">
|
<div class="section" id="maintainers">
|
||||||
<h2><a class="toc-backref" href="#id7">Maintainers</a></h2>
|
<h2><a class="toc-backref" href="#id8">Maintainers</a></h2>
|
||||||
<p>This module is maintained by the OCA.</p>
|
<p>This module is maintained by the OCA.</p>
|
||||||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
|
||||||
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||||
|
|||||||
@@ -19,22 +19,42 @@
|
|||||||
<field name="src_dest_country_id" string="Destination Country" />
|
<field name="src_dest_country_id" string="Destination Country" />
|
||||||
<field name="src_dest_region_id" string="Origin Region" invisible="1" />
|
<field name="src_dest_region_id" string="Origin Region" invisible="1" />
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath
|
<page id="invoice_tab" position="after">
|
||||||
expr="//field[@name='invoice_line_ids']//field[@name='account_id']"
|
<page
|
||||||
position="after"
|
id="intrastat_lines"
|
||||||
|
string="Intrastat transaction details"
|
||||||
|
groups="intrastat_product.group_invoice_intrastat_transaction_details"
|
||||||
|
attrs="{'invisible': [('type', 'not in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund'))]}"
|
||||||
>
|
>
|
||||||
<field name="hs_code_id" optional="hide" />
|
<div>
|
||||||
<field name="weight" optional="hide" />
|
<button
|
||||||
<field name="product_origin_country_id" optional="hide" />
|
type="object"
|
||||||
</xpath>
|
name="compute_intrastat_lines"
|
||||||
<xpath
|
string="Compute"
|
||||||
expr="//field[@name='line_ids']//field[@name='account_id']"
|
help="(Re)compute the intrastat transaction details from the product master data."
|
||||||
position="after"
|
icon="fa-gears"
|
||||||
>
|
/>
|
||||||
<field name="hs_code_id" optional="hide" />
|
</div>
|
||||||
<field name="weight" optional="hide" />
|
<field name="intrastat_line_ids">
|
||||||
<field name="product_origin_country_id" optional="hide" />
|
<tree editable="bottom">
|
||||||
</xpath>
|
<field
|
||||||
|
name="invoice_line_id"
|
||||||
|
domain="[('exclude_from_invoice_tab', '=', False), ('move_id', '=', parent.id), ('display_type', '=', False)]"
|
||||||
|
options="{'no_create': True, 'no_open': True}"
|
||||||
|
/>
|
||||||
|
<field name="product_id" />
|
||||||
|
<field name="quantity" />
|
||||||
|
<field name="transaction_suppl_unit_qty" />
|
||||||
|
<field name="hs_code_id" />
|
||||||
|
<field name="transaction_weight" />
|
||||||
|
<field
|
||||||
|
name="product_origin_country_id"
|
||||||
|
options="{'no_create': True, 'no_open': True}"
|
||||||
|
/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</page>
|
||||||
|
</page>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user