[tryton-debian-vcs] tryton-modules-customs branch debian updated. debian/3.8.0-2-5-g9688d6a

Mathias Behrle tryton-debian-vcs at alioth.debian.org
Thu Jun 2 16:17:52 UTC 2016


The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-modules-customs.git;a=commitdiff;h=debian/3.8.0-2-5-g9688d6a

commit 9688d6a81f2dfbf3fa386f505e40d5a141bdb136
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Wed Jun 1 21:47:22 2016 +0200

    Releasing debian version 4.0.1-1.
    
    Signed-off-by: Mathias Behrle <mathiasb at m9s.biz>

diff --git a/debian/changelog b/debian/changelog
index cfd5ce6..71fed5c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+tryton-modules-customs (4.0.1-1) unstable; urgency=medium
+
+  * Updating signing-key.asc with the actual upstream maintainer keys.
+  * Merging upstream version 4.0.0.
+  * Merging upstream version 4.0.1.
+  * Updating the copyright file.
+
+ -- Mathias Behrle <mathiasb at m9s.biz>  Mon, 30 May 2016 19:28:51 +0200
+
 tryton-modules-customs (3.8.0-2) unstable; urgency=medium
 
   * Updating to standards version 3.9.7, no changes needed.
commit 34467418a6c5ec048bf8bc12dc5c6cc99cfbbeec
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 19:01:03 2016 +0200

    Updating the copyright file.

diff --git a/debian/copyright b/debian/copyright
index 30cf87b..41aa6a6 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,12 +1,12 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 
 Files: *
-Copyright: 2015 Cédric Krier
-           2015 B2CK SPRL
+Copyright: 2015-2016 Cédric Krier
+           2015-2016 B2CK SPRL
 License: GPL-3+
 
 Files: debian/*
-Copyright: 2015 Mathias Behrle <mathiasb at m9s.biz>
+Copyright: 2015-2016 Mathias Behrle <mathiasb at m9s.biz>
 License: GPL-3+
 
 License: GPL-3+
commit 2ebe66cf015dd17318ff0281a96db4d041553523
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 18:35:21 2016 +0200

    Merging upstream version 4.0.1.

diff --git a/CHANGELOG b/CHANGELOG
index b776136..326cfa3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 4.0.1 - 2016-05-11
+* Bug fixes (see mercurial logs for details)
+
 Version 4.0.0 - 2016-05-02
 * Bug fixes (see mercurial logs for details)
 * Move category into customs_category
diff --git a/PKG-INFO b/PKG-INFO
index 1a93e48..3bdddd0 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond_customs
-Version: 4.0.0
+Version: 4.0.1
 Summary: Tryton module for customs
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 4415f10..d71a53f 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -148,7 +148,7 @@ msgstr "Seqüència"
 
 msgctxt "field:product-customs.tariff.code,tariff_code:"
 msgid "Tariff Code"
-msgstr "Codi de tarifa"
+msgstr "Codi aranzelari"
 
 msgctxt "field:product-customs.tariff.code,write_date:"
 msgid "Write Date"
@@ -158,10 +158,9 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Usuari d'escriptura"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
-msgstr "Aduanes"
+msgstr "Duanes"
 
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
@@ -169,25 +168,23 @@ msgstr "Codis aranzelaris"
 
 msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
-msgstr "Utilitza els codis aranzelaris del pare"
+msgstr "Usa els codis aranzelaris del pare"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoria de duanes"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Codis aranzelaris"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr "Utilitza els codis aranzelaris de la categoria"
+msgstr "Usa els codis aranzelaris de la categoria"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoria de duanes"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
@@ -195,7 +192,7 @@ msgstr "Codis aranzelaris"
 
 msgctxt "field:product.template,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr "Utilitza els codis aranzelaris de la categoria"
+msgstr "Usa els codis aranzelaris de la categoria"
 
 msgctxt "help:customs.tariff.code,code:"
 msgid "The code from Harmonized System of Nomenclature"
@@ -205,16 +202,15 @@ msgstr ""
 
 msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
-msgstr "Utilitza els codis d'aranzel definits a la categoria pare."
+msgstr "Utilitza els codis aranzelaris definits a la categoria pare."
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
-msgstr "Utilitza els codis d'aranzel definits a la categoria."
+msgstr "Utilitza els codis aranzelaris definits a la categoria."
 
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
-msgstr "Utilitza els codis d'aranzel definits a la categoria."
+msgstr "Utilitza els codis aranzelaris definits a la categoria."
 
 msgctxt "model:customs.duty.rate,name:"
 msgid "Duty Rate"
@@ -222,7 +218,7 @@ msgstr "Taxa d'aranzel"
 
 msgctxt "model:customs.tariff.code,name:"
 msgid "Tariff Code"
-msgstr "Codi de tarifa"
+msgstr "Codi aranzelari"
 
 msgctxt "model:ir.action,name:act_duty_rate_form"
 msgid "Duty Rates"
@@ -230,7 +226,7 @@ msgstr "Taxes d'aranzel"
 
 msgctxt "model:ir.action,name:act_tariff_code_form"
 msgid "Tariff Codes"
-msgstr "Codis de tarifa"
+msgstr "Codis aranzelaris"
 
 msgctxt "model:ir.action.act_window.domain,name:act_duty_rate_domain_export"
 msgid "Export"
@@ -242,7 +238,7 @@ msgstr "Importació"
 
 msgctxt "model:ir.ui.menu,name:menu_customs"
 msgid "Customs"
-msgstr "Aduanes"
+msgstr "Duanes"
 
 msgctxt "model:ir.ui.menu,name:menu_duty_rate_form"
 msgid "Duty Rates"
@@ -250,15 +246,15 @@ msgstr "Taxes d'aranzel"
 
 msgctxt "model:ir.ui.menu,name:menu_tariff_code_form"
 msgid "Tariff Codes"
-msgstr "Codis de tarifa"
+msgstr "Codis aranzelaris"
 
 msgctxt "model:product-customs.tariff.code,name:"
 msgid "Product - Tariff Code"
-msgstr "Producte - Codi de tarifa"
+msgstr "Producte - Codi aranzelari"
 
 msgctxt "model:res.group,name:group_customs_admin"
 msgid "Customs Administration"
-msgstr "Administració d'aduanes"
+msgstr "Administració de duanes"
 
 msgctxt "selection:customs.duty.rate,computation_type:"
 msgid "Amount"
@@ -418,12 +414,12 @@ msgstr "Fins"
 
 msgctxt "view:product-customs.tariff.code:"
 msgid "Product - Tariff Code"
-msgstr "Producte - Codi de tarifa"
+msgstr "Producte - Codi aranzelari"
 
 msgctxt "view:product.category:"
 msgid "Customs"
-msgstr "Aduanes"
+msgstr "Duanes"
 
 msgctxt "view:product.template:"
 msgid "Customs"
-msgstr "Aduanes"
+msgstr "Duanes"
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 945cb75..1e2294a 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -158,7 +158,6 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Letzte Änderung durch"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
 msgstr "Zölle"
@@ -173,21 +172,19 @@ msgstr "Tarifcode der übergeordneten Kategorie anwenden"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Zollkategorie"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Tarifcodes"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
 msgstr "Tarifcodes der Kategorie anwenden"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Zollkategorie"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
@@ -207,7 +204,6 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Tarifcodes der übergeordneten Kategorie anwenden"
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Tarifcode der Kategorie anwenden"
@@ -278,7 +274,7 @@ msgstr "Import"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid ""
-msgstr ""
+msgstr " "
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "April"
@@ -330,7 +326,7 @@ msgstr "September"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid ""
-msgstr ""
+msgstr " "
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "April"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index a2f6831..9956f19 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -158,7 +158,6 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Usuario modificación"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
 msgstr "Aduanas"
@@ -173,21 +172,19 @@ msgstr "Usar los códigos de arancel del padre"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoría de aduanas"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
 msgstr "Usar los códigos de arancel de la categoría"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoría de aduanas"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
@@ -205,7 +202,6 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Usar los códigos de arancel definidos en la categoría padre"
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Usar los códigos de arancel definidos en la categoría"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 8e068b7..0f1dd71 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -4,420 +4,420 @@ msgstr "Content-Type: text/plain; charset=utf-8\n"
 
 msgctxt "field:customs.duty.rate,amount:"
 msgid "Amount"
-msgstr ""
+msgstr "Valor"
 
 msgctxt "field:customs.duty.rate,computation_type:"
 msgid "Computation Type"
-msgstr ""
+msgstr "Tipo de Cálculo"
 
 msgctxt "field:customs.duty.rate,country:"
 msgid "Country"
-msgstr ""
+msgstr "País"
 
 msgctxt "field:customs.duty.rate,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
 msgctxt "field:customs.duty.rate,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por Usuario"
 
 msgctxt "field:customs.duty.rate,currency:"
 msgid "Currency"
-msgstr ""
+msgstr "Moneda"
 
 msgctxt "field:customs.duty.rate,end_date:"
 msgid "End Date"
-msgstr ""
+msgstr "Fecha Final"
 
 msgctxt "field:customs.duty.rate,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:customs.duty.rate,rec_name:"
 msgid "Name"
-msgstr ""
+msgstr "Nombre"
 
 msgctxt "field:customs.duty.rate,start_date:"
 msgid "Start Date"
-msgstr ""
+msgstr "Fecha Inicial"
 
 msgctxt "field:customs.duty.rate,tariff_code:"
 msgid "Tariff Code"
-msgstr ""
+msgstr "Código de Tarifa"
 
 msgctxt "field:customs.duty.rate,type:"
 msgid "Type"
-msgstr ""
+msgstr "Tipo"
 
 msgctxt "field:customs.duty.rate,uom:"
 msgid "Uom"
-msgstr ""
+msgstr "Udm"
 
 msgctxt "field:customs.duty.rate,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt "field:customs.duty.rate,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
 msgctxt "field:customs.tariff.code,active:"
 msgid "Active"
-msgstr ""
+msgstr "Activo"
 
 msgctxt "field:customs.tariff.code,code:"
 msgid "Code"
-msgstr ""
+msgstr "Código"
 
 msgctxt "field:customs.tariff.code,country:"
 msgid "Country"
-msgstr ""
+msgstr "País"
 
 msgctxt "field:customs.tariff.code,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
 msgctxt "field:customs.tariff.code,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por Usuario"
 
 msgctxt "field:customs.tariff.code,description:"
 msgid "Description"
-msgstr ""
+msgstr "Descripción"
 
 msgctxt "field:customs.tariff.code,duty_rates:"
 msgid "Duty Rates"
-msgstr ""
+msgstr "Porcentaje de Impuesto"
 
 msgctxt "field:customs.tariff.code,end_day:"
 msgid "End Day"
-msgstr ""
+msgstr "Día Final"
 
 msgctxt "field:customs.tariff.code,end_month:"
 msgid "End Month"
-msgstr ""
+msgstr "Mes Final"
 
 msgctxt "field:customs.tariff.code,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:customs.tariff.code,rec_name:"
 msgid "Name"
-msgstr ""
+msgstr "Nombre"
 
 msgctxt "field:customs.tariff.code,start_day:"
 msgid "Start Day"
-msgstr ""
+msgstr "Día Final"
 
 msgctxt "field:customs.tariff.code,start_month:"
 msgid "Start Month"
-msgstr ""
+msgstr "Mes Inicial"
 
 msgctxt "field:customs.tariff.code,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt "field:customs.tariff.code,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
 msgctxt "field:product-customs.tariff.code,create_date:"
 msgid "Create Date"
-msgstr ""
+msgstr "Fecha de Creación"
 
 msgctxt "field:product-customs.tariff.code,create_uid:"
 msgid "Create User"
-msgstr ""
+msgstr "Creado por Usuario"
 
 msgctxt "field:product-customs.tariff.code,id:"
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 msgctxt "field:product-customs.tariff.code,product:"
 msgid "Product"
-msgstr ""
+msgstr "Producto"
 
 msgctxt "field:product-customs.tariff.code,rec_name:"
 msgid "Name"
-msgstr ""
+msgstr "Nombre"
 
 msgctxt "field:product-customs.tariff.code,sequence:"
 msgid "Sequence"
-msgstr ""
+msgstr "Secuencia"
 
 msgctxt "field:product-customs.tariff.code,tariff_code:"
 msgid "Tariff Code"
-msgstr ""
+msgstr "Código de Tarifa"
 
 msgctxt "field:product-customs.tariff.code,write_date:"
 msgid "Write Date"
-msgstr ""
+msgstr "Fecha de Modificación"
 
 msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
-msgstr ""
+msgstr "Modificado por Usuario"
 
 msgctxt "field:product.category,customs:"
 msgid "Customs"
-msgstr ""
+msgstr "Aduanas"
 
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
-msgstr ""
+msgstr "Códigos de Tarifas"
 
 msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
-msgstr ""
+msgstr "Usar Codigos de Tarifa del Padre"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoría de Aduanas"
 
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
-msgstr ""
+msgstr "Códigos de Tarifa"
 
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr ""
+msgstr "Usar Códigos de Tarifa de la Categoría"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoría de Aduanas"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
-msgstr ""
+msgstr "Códigos de Tarifa"
 
 msgctxt "field:product.template,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr ""
+msgstr "Usar Códigos de Tarifa de la Categoría"
 
 msgctxt "help:customs.tariff.code,code:"
 msgid "The code from Harmonized System of Nomenclature"
-msgstr ""
+msgstr "El código de Nomenclatura de Sistema Armonizado"
 
 msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
-msgstr ""
+msgstr "Use los códigos de tarifas definidos en la categría padre"
 
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
-msgstr ""
+msgstr "Use los códigos de tarifa definida en la categoría"
 
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
-msgstr ""
+msgstr "Use los códigos de tarifa definida en la categoría"
 
 msgctxt "model:customs.duty.rate,name:"
 msgid "Duty Rate"
-msgstr ""
+msgstr "Porcentaje de Impuesto"
 
 msgctxt "model:customs.tariff.code,name:"
 msgid "Tariff Code"
-msgstr ""
+msgstr "Código de Tarifa"
 
 msgctxt "model:ir.action,name:act_duty_rate_form"
 msgid "Duty Rates"
-msgstr ""
+msgstr "Porcentajes de Impuesto"
 
 msgctxt "model:ir.action,name:act_tariff_code_form"
 msgid "Tariff Codes"
-msgstr ""
+msgstr "Códigos de Tarifa"
 
 msgctxt "model:ir.action.act_window.domain,name:act_duty_rate_domain_export"
 msgid "Export"
-msgstr ""
+msgstr "Exportar"
 
 msgctxt "model:ir.action.act_window.domain,name:act_duty_rate_domain_import"
 msgid "Import"
-msgstr ""
+msgstr "Importar"
 
 msgctxt "model:ir.ui.menu,name:menu_customs"
 msgid "Customs"
-msgstr ""
+msgstr "Impuestos de Aduanas"
 
 msgctxt "model:ir.ui.menu,name:menu_duty_rate_form"
 msgid "Duty Rates"
-msgstr ""
+msgstr "Porcentaje de Impuestos"
 
 msgctxt "model:ir.ui.menu,name:menu_tariff_code_form"
 msgid "Tariff Codes"
-msgstr ""
+msgstr "Códigos de Tarifa"
 
 msgctxt "model:product-customs.tariff.code,name:"
 msgid "Product - Tariff Code"
-msgstr ""
+msgstr "Producto - Códigos de Tarifa"
 
 msgctxt "model:res.group,name:group_customs_admin"
 msgid "Customs Administration"
-msgstr ""
+msgstr "Administración de Tasas de Aduana"
 
 msgctxt "selection:customs.duty.rate,computation_type:"
 msgid "Amount"
-msgstr ""
+msgstr "Valor"
 
 msgctxt "selection:customs.duty.rate,computation_type:"
 msgid "Quantity"
-msgstr ""
+msgstr "Cantidad"
 
 msgctxt "selection:customs.duty.rate,type:"
 msgid "Export"
-msgstr ""
+msgstr "Exportar"
 
 msgctxt "selection:customs.duty.rate,type:"
 msgid "Import"
-msgstr ""
+msgstr "Importar"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid ""
-msgstr ""
+msgstr " "
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "April"
-msgstr ""
+msgstr "Abril"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "August"
-msgstr ""
+msgstr "Agosto"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "December"
-msgstr ""
+msgstr "Diciembre"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "February"
-msgstr ""
+msgstr "Febrero"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "January"
-msgstr ""
+msgstr "Enero"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "July"
-msgstr ""
+msgstr "Julio"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "June"
-msgstr ""
+msgstr "Junio"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "March"
-msgstr ""
+msgstr "Marzo"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "May"
-msgstr ""
+msgstr "Mayo"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "November"
-msgstr ""
+msgstr "Noviembre"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "October"
-msgstr ""
+msgstr "Octubre"
 
 msgctxt "selection:customs.tariff.code,end_month:"
 msgid "September"
-msgstr ""
+msgstr "Septiembre"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid ""
-msgstr ""
+msgstr " "
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "April"
-msgstr ""
+msgstr "Abril"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "August"
-msgstr ""
+msgstr "Agosto"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "December"
-msgstr ""
+msgstr "Diciembre"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "February"
-msgstr ""
+msgstr "Febrero"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "January"
-msgstr ""
+msgstr "Enero"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "July"
-msgstr ""
+msgstr "Julio"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "June"
-msgstr ""
+msgstr "Junio"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "March"
-msgstr ""
+msgstr "Marzo"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "May"
-msgstr ""
+msgstr "Mayo"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "November"
-msgstr ""
+msgstr "Noviembre"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "October"
-msgstr ""
+msgstr "Octubre"
 
 msgctxt "selection:customs.tariff.code,start_month:"
 msgid "September"
-msgstr ""
+msgstr "Septiembre"
 
 msgctxt "selection:product-customs.tariff.code,product:"
 msgid "Category"
-msgstr ""
+msgstr "Categoría"
 
 msgctxt "selection:product-customs.tariff.code,product:"
 msgid "Template"
-msgstr ""
+msgstr "Plantilla"
 
 msgctxt "view:customs.duty.rate:"
 msgid "Computation"
-msgstr ""
+msgstr "Cálculo"
 
 msgctxt "view:customs.duty.rate:"
 msgid "Duty Rate"
-msgstr ""
+msgstr "Porcentaje de Impuesto"
 
 msgctxt "view:customs.duty.rate:"
 msgid "Duty Rates"
-msgstr ""
+msgstr "Porcentajes de Impuesto"
 
 msgctxt "view:customs.tariff.code:"
 msgid "From"
-msgstr ""
+msgstr "De"
 
 msgctxt "view:customs.tariff.code:"
 msgid "Tariff Code"
-msgstr ""
+msgstr "Código de Tarifa"
 
 msgctxt "view:customs.tariff.code:"
 msgid "Tariff Codes"
-msgstr ""
+msgstr "Códigos de Tarifa"
 
 msgctxt "view:customs.tariff.code:"
 msgid "To"
-msgstr ""
+msgstr "A"
 
 msgctxt "view:product-customs.tariff.code:"
 msgid "Product - Tariff Code"
-msgstr ""
+msgstr "Producto - Código de Tarifa"
 
 msgctxt "view:product.category:"
 msgid "Customs"
-msgstr ""
+msgstr "Tasas de Aduana"
 
 msgctxt "view:product.template:"
 msgid "Customs"
-msgstr ""
+msgstr "Tasas de Aduana"
diff --git a/locale/es_EC.po b/locale/es_EC.po
index 1b43173..27442b4 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -158,7 +158,6 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Modificado por usuario"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
 msgstr "Aduanas"
@@ -173,21 +172,19 @@ msgstr "Utilizar los códigos de arancel del padre"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categorías de Aduanas"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
 msgstr "Utilizar los códigos de arancel de la categoría"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categorías de Aduanas"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
@@ -205,7 +202,6 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Utilizar los códigos de arancel definidos en la categoría padre"
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Utilizar los códigos de arancel definidos en la categoría"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index 6e09afb..f23403e 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -44,7 +44,7 @@ msgstr "Fecha inicial"
 
 msgctxt "field:customs.duty.rate,tariff_code:"
 msgid "Tariff Code"
-msgstr "Código de arancel"
+msgstr "Código arancelario"
 
 msgctxt "field:customs.duty.rate,type:"
 msgid "Type"
@@ -148,7 +148,7 @@ msgstr "Secuencia"
 
 msgctxt "field:product-customs.tariff.code,tariff_code:"
 msgid "Tariff Code"
-msgstr "Código de arancel"
+msgstr "Código arancelario"
 
 msgctxt "field:product-customs.tariff.code,write_date:"
 msgid "Write Date"
@@ -158,44 +158,41 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Usuario modificación"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
 msgstr "Aduanas"
 
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
-msgstr "Códigos de arancel"
+msgstr "Códigos arancelarios"
 
 msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
-msgstr "Usar los códigos de arancel del padre"
+msgstr "Usar los códigos arancelarios del padre"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoría de aduanas"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
-msgstr "Códigos de arancel"
+msgstr "Códigos arancelarios"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr "Usar los códigos de arancel de la categoría"
+msgstr "Usar los códigos arancelarios de la categoría"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Categoría de aduanas"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
-msgstr "Códigos de arancel"
+msgstr "Códigos arancelarios"
 
 msgctxt "field:product.template,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr "Usar los códigos de arancel de la categoría"
+msgstr "Usar los códigos arancelarios de la categoría"
 
 msgctxt "help:customs.tariff.code,code:"
 msgid "The code from Harmonized System of Nomenclature"
@@ -203,16 +200,15 @@ msgstr "El código del sistema armonizado de nomenclatura."
 
 msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
-msgstr "Usar los códigos de arancel definidos en la categoría padre."
+msgstr "Usar los códigos arancelarios definidos en la categoría padre."
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
-msgstr "Usar los códigos de arancel definidos en la categoría."
+msgstr "Usar los códigos arancelarios definidos en la categoría."
 
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
-msgstr "Usar los códigos de arancel definidos en la categoría."
+msgstr "Usar los códigos arancelarios definidos en la categoría."
 
 msgctxt "model:customs.duty.rate,name:"
 msgid "Duty Rate"
@@ -220,7 +216,7 @@ msgstr "Tasa de arancel"
 
 msgctxt "model:customs.tariff.code,name:"
 msgid "Tariff Code"
-msgstr "Código de arancel"
+msgstr "Código arancelario"
 
 msgctxt "model:ir.action,name:act_duty_rate_form"
 msgid "Duty Rates"
@@ -228,7 +224,7 @@ msgstr "Tasas de arancel"
 
 msgctxt "model:ir.action,name:act_tariff_code_form"
 msgid "Tariff Codes"
-msgstr "Códigos de arancel"
+msgstr "Códigos arancelarios"
 
 msgctxt "model:ir.action.act_window.domain,name:act_duty_rate_domain_export"
 msgid "Export"
@@ -248,11 +244,11 @@ msgstr "Tasas de arancel"
 
 msgctxt "model:ir.ui.menu,name:menu_tariff_code_form"
 msgid "Tariff Codes"
-msgstr "Códigos de arancel"
+msgstr "Códigos arancelarios"
 
 msgctxt "model:product-customs.tariff.code,name:"
 msgid "Product - Tariff Code"
-msgstr "Producto - Código de arancel"
+msgstr "Producto - Código arancelario"
 
 msgctxt "model:res.group,name:group_customs_admin"
 msgid "Customs Administration"
@@ -404,11 +400,11 @@ msgstr "Desde"
 
 msgctxt "view:customs.tariff.code:"
 msgid "Tariff Code"
-msgstr "Código de arancel"
+msgstr "Código arancelario"
 
 msgctxt "view:customs.tariff.code:"
 msgid "Tariff Codes"
-msgstr "Códigos de arancel"
+msgstr "Códigos arancelarios"
 
 msgctxt "view:customs.tariff.code:"
 msgid "To"
@@ -416,7 +412,7 @@ msgstr "Hasta"
 
 msgctxt "view:product-customs.tariff.code:"
 msgid "Product - Tariff Code"
-msgstr "Producto - Código de arancel"
+msgstr "Producto - Código arancelario"
 
 msgctxt "view:product.category:"
 msgid "Customs"
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index d4a122f..dc914fb 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -158,7 +158,6 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Mis à jour par"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
 msgstr "Douanes"
@@ -173,21 +172,19 @@ msgstr "Utiliser les codes du parent"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Catégorie de douane"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Codes de douane"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
-msgstr "Utiliser les codes de la catégorie"
+msgstr "Utiliser les codes de douane de la catégorie"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Catégorie de douane"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
@@ -205,7 +202,6 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Utiliser le code de douane défini sur la catégorie parent"
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Utiliser les codes de douane définis sur la catégorie"
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index eab3209..3646680 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -158,7 +158,6 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
-#, fuzzy
 msgctxt "field:product.category,customs:"
 msgid "Customs"
 msgstr "Carinjenje"
@@ -173,21 +172,19 @@ msgstr "Uporabi nadtarifne številke"
 
 msgctxt "field:product.product,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Kategorija carinjenja"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Tarfine številke"
 
-#, fuzzy
 msgctxt "field:product.product,tariff_codes_category:"
 msgid "Use Category's Tariff Codes"
 msgstr "Uporabi tarifne številke iz kategorije"
 
 msgctxt "field:product.template,customs_category:"
 msgid "Customs Category"
-msgstr ""
+msgstr "Kategorija carinjenja"
 
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
@@ -205,7 +202,6 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Uporabi tarfine številke, ki so definirane v nadkategoriji"
 
-#, fuzzy
 msgctxt "help:product.product,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Uporabi tarifne številke, ki so definirane v kategoriji"
diff --git a/tryton.cfg b/tryton.cfg
index f40f830..5b9ca22 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=4.0.0
+version=4.0.1
 depends:
     country
     currency
diff --git a/trytond_customs.egg-info/PKG-INFO b/trytond_customs.egg-info/PKG-INFO
index 43acc7c..bf47228 100644
--- a/trytond_customs.egg-info/PKG-INFO
+++ b/trytond_customs.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: trytond-customs
-Version: 4.0.0
+Version: 4.0.1
 Summary: Tryton module for customs
 Home-page: http://www.tryton.org/
 Author: Tryton
diff --git a/trytond_customs.egg-info/SOURCES.txt b/trytond_customs.egg-info/SOURCES.txt
index 79035e1..16d20ed 100644
--- a/trytond_customs.egg-info/SOURCES.txt
+++ b/trytond_customs.egg-info/SOURCES.txt
@@ -27,11 +27,13 @@ tryton.cfg
 ./locale/hu_HU.po
 ./locale/it_IT.po
 ./locale/ja_JP.po
+./locale/lo_LA.po
 ./locale/lt_LT.po
 ./locale/nl_NL.po
 ./locale/pt_BR.po
 ./locale/ru_RU.po
 ./locale/sl_SI.po
+./locale/zh_CN.po
 ./tests/__init__.py
 ./tests/test_customs.py
 ./view/category_form.xml
diff --git a/trytond_customs.egg-info/requires.txt b/trytond_customs.egg-info/requires.txt
index 1fe4cb9..9132b64 100644
--- a/trytond_customs.egg-info/requires.txt
+++ b/trytond_customs.egg-info/requires.txt
@@ -3,4 +3,4 @@ python-sql >= 0.4
 trytond_country >= 4.0, < 4.1
 trytond_currency >= 4.0, < 4.1
 trytond_product >= 4.0, < 4.1
-trytond >= 4.0, < 4.1
\ No newline at end of file
+trytond >= 4.0, < 4.1
commit 74e2c6da619f5ca45dac8ee3d3c716ce9229c4ab
Author: Mathias Behrle <mathiasb at m9s.biz>
Date:   Fri May 27 18:26:04 2016 +0200

    Merging upstream version 4.0.0.

diff --git a/CHANGELOG b/CHANGELOG
index 11180c5..b776136 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,2 +1,7 @@
+Version 4.0.0 - 2016-05-02
+* Bug fixes (see mercurial logs for details)
+* Move category into customs_category
+* Add Python3 support
+
 Version 3.8.0 - 2015-11-02
-* Initial release
\ No newline at end of file
+* Initial release
diff --git a/COPYRIGHT b/COPYRIGHT
index 7aea85f..be9339f 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,5 +1,5 @@
-Copyright (C) 2015 Cédric Krier.
-Copyright (C) 2015 B2CK SPRL.
+Copyright (C) 2015-2016 Cédric Krier.
+Copyright (C) 2015-2016 B2CK SPRL.
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
diff --git a/PKG-INFO b/PKG-INFO
index 8ce46a1..1a93e48 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond_customs
-Version: 3.8.0
+Version: 4.0.0
 Summary: Tryton module for customs
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.8/
+Download-URL: http://downloads.tryton.org/4.0/
 Description: trytond_customs
         ===============
         
@@ -54,6 +54,7 @@ Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Chinese (Simplified)
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
@@ -67,6 +68,9 @@ Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Office/Business
diff --git a/__init__.py b/__init__.py
index ec986a8..2bdcde4 100644
--- a/__init__.py
+++ b/__init__.py
@@ -13,4 +13,5 @@ def register():
         Category,
         Template,
         Product_TariffCode,
+        Product,
         module='customs', type_='model')
diff --git a/locale/bg_BG.po b/locale/bg_BG.po
index 90a541c..8e068b7 100644
--- a/locale/bg_BG.po
+++ b/locale/bg_BG.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/ca_ES.po b/locale/ca_ES.po
index 0a40828..4415f10 100644
--- a/locale/ca_ES.po
+++ b/locale/ca_ES.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Usuari d'escriptura"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Aduanes"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Codis aranzelaris"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Utilitza els codis aranzelaris del pare"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Codis aranzelaris"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Utilitza els codis aranzelaris de la categoria"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Codis aranzelaris"
@@ -184,6 +207,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Utilitza els codis d'aranzel definits a la categoria pare."
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Utilitza els codis d'aranzel definits a la categoria."
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Utilitza els codis d'aranzel definits a la categoria."
diff --git a/locale/cs_CZ.po b/locale/cs_CZ.po
index 90a541c..8e068b7 100644
--- a/locale/cs_CZ.po
+++ b/locale/cs_CZ.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/de_DE.po b/locale/de_DE.po
index 3f6d70f..945cb75 100644
--- a/locale/de_DE.po
+++ b/locale/de_DE.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Letzte Änderung durch"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Zölle"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Tarifcodes"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Tarifcode der übergeordneten Kategorie anwenden"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Tarifcodes"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Tarifcodes der Kategorie anwenden"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Tarifcodes"
@@ -184,6 +207,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Tarifcodes der übergeordneten Kategorie anwenden"
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Tarifcode der Kategorie anwenden"
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Tarifcode der Kategorie anwenden"
diff --git a/locale/es_AR.po b/locale/es_AR.po
index 3899009..a2f6831 100644
--- a/locale/es_AR.po
+++ b/locale/es_AR.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Usuario modificación"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Aduanas"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Usar los códigos de arancel del padre"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Códigos de arancel"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Usar los códigos de arancel de la categoría"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
@@ -182,6 +205,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Usar los códigos de arancel definidos en la categoría padre"
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Usar los códigos de arancel definidos en la categoría"
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Usar los códigos de arancel definidos en la categoría"
diff --git a/locale/es_CO.po b/locale/es_CO.po
index 90a541c..8e068b7 100644
--- a/locale/es_CO.po
+++ b/locale/es_CO.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/es_EC.po b/locale/es_EC.po
index 18b32f8..1b43173 100644
--- a/locale/es_EC.po
+++ b/locale/es_EC.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Modificado por usuario"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Aduanas"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Utilizar los códigos de arancel del padre"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Códigos de arancel"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Utilizar los códigos de arancel de la categoría"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
@@ -182,6 +205,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Utilizar los códigos de arancel definidos en la categoría padre"
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Utilizar los códigos de arancel definidos en la categoría"
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Utilizar los códigos de arancel definidos en la categoría"
diff --git a/locale/es_ES.po b/locale/es_ES.po
index ef09aa2..6e09afb 100644
--- a/locale/es_ES.po
+++ b/locale/es_ES.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Usuario modificación"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Aduanas"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Usar los códigos de arancel del padre"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Códigos de arancel"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Usar los códigos de arancel de la categoría"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de arancel"
@@ -182,6 +205,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Usar los códigos de arancel definidos en la categoría padre."
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Usar los códigos de arancel definidos en la categoría."
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Usar los códigos de arancel definidos en la categoría."
diff --git a/locale/es_MX.po b/locale/es_MX.po
index 90a541c..8e068b7 100644
--- a/locale/es_MX.po
+++ b/locale/es_MX.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/fr_FR.po b/locale/fr_FR.po
index 2733b88..d4a122f 100644
--- a/locale/fr_FR.po
+++ b/locale/fr_FR.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Mis à jour par"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Douanes"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Codes de douane"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Utiliser les codes du parent"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Codes de douane"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Utiliser les codes de la catégorie"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Codes de douane"
@@ -182,6 +205,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Utiliser le code de douane défini sur la catégorie parent"
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Utiliser les codes de douane définis sur la catégorie"
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Utiliser les codes de douane définis sur la catégorie"
diff --git a/locale/hu_HU.po b/locale/hu_HU.po
index 90a541c..8e068b7 100644
--- a/locale/hu_HU.po
+++ b/locale/hu_HU.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/it_IT.po b/locale/it_IT.po
index 90a541c..8e068b7 100644
--- a/locale/it_IT.po
+++ b/locale/it_IT.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/ja_JP.po b/locale/ja_JP.po
index 90a541c..8e068b7 100644
--- a/locale/ja_JP.po
+++ b/locale/ja_JP.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/bg_BG.po b/locale/lo_LA.po
similarity index 93%
copy from locale/bg_BG.po
copy to locale/lo_LA.po
index 90a541c..8e068b7 100644
--- a/locale/bg_BG.po
+++ b/locale/lo_LA.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/lt_LT.po b/locale/lt_LT.po
index 90a541c..8e068b7 100644
--- a/locale/lt_LT.po
+++ b/locale/lt_LT.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/nl_NL.po b/locale/nl_NL.po
index 90a541c..8e068b7 100644
--- a/locale/nl_NL.po
+++ b/locale/nl_NL.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/pt_BR.po b/locale/pt_BR.po
index 8b7b085..bf2ba68 100644
--- a/locale/pt_BR.po
+++ b/locale/pt_BR.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Editado por"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Aduana"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de Aduana"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Usar Códigos de Aduana do Pai"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Códigos de Aduana"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Utilizar os Códigos da Categoria de Tarifa"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Códigos de Tarifa"
@@ -182,6 +205,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Utilizar os códigos de aduana definidos na categoria pai"
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Usar dos códifos de tarifa definidos na categoria"
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Usar dos códifos de tarifa definidos na categoria"
diff --git a/locale/ru_RU.po b/locale/ru_RU.po
index 90a541c..8e068b7 100644
--- a/locale/ru_RU.po
+++ b/locale/ru_RU.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/locale/sl_SI.po b/locale/sl_SI.po
index 922322f..eab3209 100644
--- a/locale/sl_SI.po
+++ b/locale/sl_SI.po
@@ -158,6 +158,11 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr "Zapisal"
 
+#, fuzzy
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr "Carinjenje"
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Tarfine številke"
@@ -166,6 +171,24 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr "Uporabi nadtarifne številke"
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr "Tarfine številke"
+
+#, fuzzy
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr "Uporabi tarifne številke iz kategorije"
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr "Tarifne številke"
@@ -182,6 +205,11 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr "Uporabi tarfine številke, ki so definirane v nadkategoriji"
 
+#, fuzzy
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr "Uporabi tarifne številke, ki so definirane v kategoriji"
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr "Uporabi tarifne številke, ki so definirane v kategoriji"
diff --git a/locale/bg_BG.po b/locale/zh_CN.po
similarity index 93%
copy from locale/bg_BG.po
copy to locale/zh_CN.po
index 90a541c..8e068b7 100644
--- a/locale/bg_BG.po
+++ b/locale/zh_CN.po
@@ -158,6 +158,10 @@ msgctxt "field:product-customs.tariff.code,write_uid:"
 msgid "Write User"
 msgstr ""
 
+msgctxt "field:product.category,customs:"
+msgid "Customs"
+msgstr ""
+
 msgctxt "field:product.category,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -166,6 +170,22 @@ msgctxt "field:product.category,tariff_codes_parent:"
 msgid "Use Parent's Tariff Codes"
 msgstr ""
 
+msgctxt "field:product.product,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes:"
+msgid "Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.product,tariff_codes_category:"
+msgid "Use Category's Tariff Codes"
+msgstr ""
+
+msgctxt "field:product.template,customs_category:"
+msgid "Customs Category"
+msgstr ""
+
 msgctxt "field:product.template,tariff_codes:"
 msgid "Tariff Codes"
 msgstr ""
@@ -182,6 +202,10 @@ msgctxt "help:product.category,tariff_codes_parent:"
 msgid "Use the tariff codes defined on the parent category"
 msgstr ""
 
+msgctxt "help:product.product,tariff_codes_category:"
+msgid "Use the tariff codes defined on the category"
+msgstr ""
+
 msgctxt "help:product.template,tariff_codes_category:"
 msgid "Use the tariff codes defined on the category"
 msgstr ""
diff --git a/product.py b/product.py
index 402165a..c31244a 100644
--- a/product.py
+++ b/product.py
@@ -4,36 +4,62 @@ from sql import Null
 
 from trytond.pool import PoolMeta, Pool
 from trytond.model import ModelSQL, ModelView, fields
-from trytond.pyson import Eval, Or
+from trytond.pyson import Eval, Or, Bool
 from trytond.tools import grouped_slice
+from trytond.transaction import Transaction
+from trytond import backend
 
-__all__ = ['Category', 'Template', 'Product_TariffCode']
+__all__ = ['Category', 'Template', 'Product_TariffCode', 'Product']
 
 
 class Category:
     __metaclass__ = PoolMeta
     __name__ = 'product.category'
+    customs = fields.Boolean('Customs', select=True,
+        states={
+            'readonly': Bool(Eval('childs', [0])) | Bool(Eval('parent')),
+            },
+        depends=['parent'])
     tariff_codes_parent = fields.Boolean("Use Parent's Tariff Codes",
+        states={
+            'invisible': ~Eval('customs', False),
+            },
+        depends=['customs'],
         help='Use the tariff codes defined on the parent category')
     tariff_codes = fields.One2Many('product-customs.tariff.code',
         'product', 'Tariff Codes', order=[('sequence', 'ASC'), ('id', 'ASC')],
         states={
-            'invisible': Eval('tariff_codes_parent', False),
+            'invisible': (Eval('tariff_codes_parent', False)
+                | ~Eval('customs', False)),
             },
-        depends=['tariff_codes_parent'])
+        depends=['tariff_codes_parent', 'customs'])
 
     @classmethod
     def __setup__(cls):
         super(Category, cls).__setup__()
+        cls.parent.domain = [
+            ('customs', '=', Eval('customs', False)),
+            cls.parent.domain or []]
+        cls.parent.depends.append('customs')
         cls.parent.states['required'] = Or(
             cls.parent.states.get('required', False),
             Eval('tariff_codes_parent', False))
         cls.parent.depends.append('tariff_codes_parent')
 
     @classmethod
+    def default_customs(cls):
+        return False
+
+    @classmethod
     def default_tariff_codes_parent(cls):
         return False
 
+    @fields.depends('parent', 'customs')
+    def on_change_with_customs(self):
+        if self.parent:
+            return self.parent.customs
+        return self.customs
+
     def get_tariff_code(self, pattern):
         if not self.tariff_codes_parent:
             for link in self.tariff_codes:
@@ -43,6 +69,14 @@ class Category:
             return self.parent.get_tariff_code(pattern)
 
     @classmethod
+    def view_attributes(cls):
+        return super(Category, cls).view_attributes() + [
+            ('/form/notebook/page[@id="customs"]', 'states', {
+                    'invisible': ~Eval('customs', False),
+                    }),
+            ]
+
+    @classmethod
     def delete(cls, categories):
         pool = Pool()
         Product_TariffCode = pool.get('product-customs.tariff.code')
@@ -60,6 +94,14 @@ class Category:
 class Template:
     __metaclass__ = PoolMeta
     __name__ = 'product.template'
+    customs_category = fields.Many2One('product.category', 'Customs Category',
+        domain=[
+            ('customs', '=', True),
+            ],
+        states={
+            'required': Eval('tariff_codes_category', False),
+            },
+        depends=['tariff_codes_category'])
     tariff_codes_category = fields.Boolean("Use Category's Tariff Codes",
         help='Use the tariff codes defined on the category')
     tariff_codes = fields.One2Many('product-customs.tariff.code',
@@ -71,12 +113,26 @@ class Template:
         depends=['type', 'tariff_codes_category'])
 
     @classmethod
-    def __setup__(cls):
-        super(Template, cls).__setup__()
-        cls.category.states['required'] = Or(
-            cls.category.states.get('required', False),
-            Eval('tariff_codes_category', False))
-        cls.category.depends.append('tariff_codes_category')
+    def __register__(cls, module_name):
+        TableHandler = backend.get('TableHandler')
+        cursor = Transaction().connection.cursor()
+        pool = Pool()
+        Category = pool.get('product.category')
+        sql_table = cls.__table__()
+        category = Category.__table__()
+
+        table = TableHandler(cls, module_name)
+        category_exists = table.column_exist('category')
+
+        super(Template, cls).__register__(module_name)
+
+        # Migration from 3.8: duplicate category into account_category
+        if category_exists:
+            # Only accounting category until now
+            cursor.execute(*category.update([category.customs], [True]))
+            cursor.execute(*sql_table.update(
+                    [sql_table.customs_category],
+                    [sql_table.category]))
 
     @classmethod
     def default_tariff_codes_category(cls):
@@ -88,7 +144,7 @@ class Template:
                 if link.tariff_code.match(pattern):
                     return link.tariff_code
         else:
-            return self.category.get_tariff_code(pattern)
+            return self.customs_category.get_tariff_code(pattern)
 
     @classmethod
     def view_attributes(cls):
@@ -140,3 +196,8 @@ class Product_TariffCode(ModelSQL, ModelView):
     def order_sequence(tables):
         table, _ = tables[None]
         return [table.sequence == Null, table.sequence]
+
+
+class Product:
+    __metaclass__ = PoolMeta
+    __name__ = 'product.product'
diff --git a/setup.py b/setup.py
index ad50dea..88ee6ed 100644
--- a/setup.py
+++ b/setup.py
@@ -5,11 +5,17 @@
 from setuptools import setup
 import re
 import os
-import ConfigParser
+import io
+try:
+    from configparser import ConfigParser
+except ImportError:
+    from ConfigParser import ConfigParser
 
 
 def read(fname):
-    return open(os.path.join(os.path.dirname(__file__), fname)).read()
+    return io.open(
+        os.path.join(os.path.dirname(__file__), fname),
+        'r', encoding='utf-8').read()
 
 
 def get_require_version(name):
@@ -21,7 +27,7 @@ def get_require_version(name):
         major_version, minor_version + 1)
     return require
 
-config = ConfigParser.ConfigParser()
+config = ConfigParser()
 config.readfp(open('tryton.cfg'))
 info = dict(config.items('tryton'))
 for key in ('depends', 'extras_depend', 'xml'):
@@ -43,16 +49,10 @@ if minor_version % 2:
 
 requires = ['simpleeval', 'python-sql >= 0.4']
 for dep in info.get('depends', []):
-    if not re.match(r'(ir|res|webdav)(\W|$)', dep):
+    if not re.match(r'(ir|res)(\W|$)', dep):
         requires.append(get_require_version('trytond_%s' % dep))
 requires.append(get_require_version('trytond'))
 
-tests_require = [get_require_version('proteus')]
-dependency_links = []
-if minor_version % 2:
-    # Add development index for testing with proteus
-    dependency_links.append('https://trydevpi.tryton.org/')
-
 setup(name=name,
     version=version,
     description='Tryton module for customs',
@@ -81,6 +81,7 @@ setup(name=name,
         'License :: OSI Approved :: GNU General Public License (GPL)',
         'Natural Language :: Bulgarian',
         'Natural Language :: Catalan',
+        'Natural Language :: Chinese (Simplified)',
         'Natural Language :: Czech',
         'Natural Language :: Dutch',
         'Natural Language :: English',
@@ -94,6 +95,9 @@ setup(name=name,
         'Natural Language :: Spanish',
         'Operating System :: OS Independent',
         'Programming Language :: Python :: 2.7',
+        'Programming Language :: Python :: 3.3',
+        'Programming Language :: Python :: 3.4',
+        'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Topic :: Office/Business',
@@ -101,7 +105,6 @@ setup(name=name,
         ],
     license='GPL-3',
     install_requires=requires,
-    dependency_links=dependency_links,
     zip_safe=False,
     entry_points="""
     [trytond.modules]
@@ -109,5 +112,5 @@ setup(name=name,
     """,
     test_suite='tests',
     test_loader='trytond.test_loader:Loader',
-    tests_require=tests_require,
+    use_2to3=True,
     )
diff --git a/tests/__init__.py b/tests/__init__.py
index 29fbae4..7ce46a9 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,5 +1,8 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-from .test_customs import suite
+try:
+    from trytond.modules.customs.tests.test_customs import suite
+except ImportError:
+    from .test_customs import suite
 
 __all__ = ['suite']
diff --git a/tests/test_customs.py b/tests/test_customs.py
index 19aac67..1d91cd0 100644
--- a/tests/test_customs.py
+++ b/tests/test_customs.py
@@ -6,210 +6,208 @@ import unittest
 from decimal import Decimal
 from datetime import date
 
-from trytond.tests.test_tryton import ModuleTestCase
+from trytond.tests.test_tryton import ModuleTestCase, with_transaction
 from trytond.tests.test_tryton import suite as test_suite
-from trytond.tests.test_tryton import DB_NAME, USER, CONTEXT
 from trytond.pool import Pool
-from trytond.transaction import Transaction
 
 
 class CustomsTestCase(ModuleTestCase):
     'Test Customs module'
     module = 'customs'
 
+    @with_transaction()
     def test_tariff_code_match(self):
         'Test tariff code match'
-        with Transaction().start(DB_NAME, USER, context=CONTEXT):
-            pool = Pool()
-            Tariff = pool.get('customs.tariff.code')
-            Template = pool.get('product.template')
-            Product_TariffCode = pool.get(
-                'product-customs.tariff.code')
-
-            # Test start <= end
-            tariff1 = Tariff(code='170390')
-            tariff2 = Tariff(code='17039099',
-                    start_month='06', start_day=20,
-                    end_month='08', end_day=20)
-            Tariff.save([tariff1, tariff2])
-            template = Template(tariff_codes=[
-                    Product_TariffCode(tariff_code=tariff2),
-                    Product_TariffCode(tariff_code=tariff1),
-                    ], tariff_codes_category=False)
-
-            for pattern, result in [
-                    ({'date': date(2015, 1, 1)}, tariff1),
-                    ({'date': date(2015, 7, 1)}, tariff2),
-                    ({'date': date(2016, 9, 1)}, tariff1),
-                    ]:
-                self.assertEqual(template.get_tariff_code(pattern), result)
-
-            # Test start > end
-            tariff2.start_month = '08'
-            tariff2.end_month = '06'
-            tariff2.save()
-
-            for pattern, result in [
-                    ({'date': date(2015, 1, 1)}, tariff2),
-                    ({'date': date(2015, 7, 1)}, tariff1),
-                    ({'date': date(2016, 9, 1)}, tariff2),
-                    ]:
-                self.assertEqual(template.get_tariff_code(pattern), result)
-
+        pool = Pool()
+        Tariff = pool.get('customs.tariff.code')
+        Template = pool.get('product.template')
+        Product_TariffCode = pool.get(
+            'product-customs.tariff.code')
+
+        # Test start <= end
+        tariff1 = Tariff(code='170390')
+        tariff2 = Tariff(code='17039099',
+                start_month='06', start_day=20,
+                end_month='08', end_day=20)
+        Tariff.save([tariff1, tariff2])
+        template = Template(tariff_codes=[
+                Product_TariffCode(tariff_code=tariff2),
+                Product_TariffCode(tariff_code=tariff1),
+                ], tariff_codes_category=False)
+
+        for pattern, result in [
+                ({'date': date(2015, 1, 1)}, tariff1),
+                ({'date': date(2015, 7, 1)}, tariff2),
+                ({'date': date(2016, 9, 1)}, tariff1),
+                ]:
+            self.assertEqual(template.get_tariff_code(pattern), result)
+
+        # Test start > end
+        tariff2.start_month = '08'
+        tariff2.end_month = '06'
+        tariff2.save()
+
+        for pattern, result in [
+                ({'date': date(2015, 1, 1)}, tariff2),
+                ({'date': date(2015, 7, 1)}, tariff1),
+                ({'date': date(2016, 9, 1)}, tariff2),
+                ]:
+            self.assertEqual(template.get_tariff_code(pattern), result)
+
+    @with_transaction()
     def test_get_tariff_code(self):
         'Test get_tariff_code'
-        with Transaction().start(DB_NAME, USER, context=CONTEXT):
-            pool = Pool()
-            Tariff = pool.get('customs.tariff.code')
-            Template = pool.get('product.template')
-            Category = pool.get('product.category')
-            Product_TariffCode = pool.get(
-                'product-customs.tariff.code')
-
-            tariff1, tariff2, tariff3 = Tariff.create([
-                    {'code': '170390'},
-                    {'code': '17039099'},
-                    {'code': '1703909999'},
-                    ])
-
-            category1 = Category(tariff_codes=[
-                    Product_TariffCode(tariff_code=tariff1),
-                    ], tariff_codes_parent=False)
-            category2 = Category(tariff_codes=[
-                    Product_TariffCode(tariff_code=tariff2),
-                    ], parent=category1, tariff_codes_parent=False)
-            template = Template(tariff_codes=[
-                    Product_TariffCode(tariff_code=tariff3),
-                    ], category=category2, tariff_codes_category=False)
-
-            self.assertEqual(template.get_tariff_code({}), tariff3)
-
-            template.tariff_codes_category = True
-            self.assertEqual(template.get_tariff_code({}), tariff2)
-
-            category2.tariff_codes_parent = True
-            self.assertEqual(template.get_tariff_code({}), tariff1)
-
+        pool = Pool()
+        Tariff = pool.get('customs.tariff.code')
+        Template = pool.get('product.template')
+        Category = pool.get('product.category')
+        Product_TariffCode = pool.get(
+            'product-customs.tariff.code')
+
+        tariff1, tariff2, tariff3 = Tariff.create([
+                {'code': '170390'},
+                {'code': '17039099'},
+                {'code': '1703909999'},
+                ])
+
+        category1 = Category(tariff_codes=[
+                Product_TariffCode(tariff_code=tariff1),
+                ], tariff_codes_parent=False, customs=True)
+        category2 = Category(tariff_codes=[
+                Product_TariffCode(tariff_code=tariff2),
+                ], parent=category1, tariff_codes_parent=False, customs=True)
+        template = Template(tariff_codes=[
+                Product_TariffCode(tariff_code=tariff3),
+                ], customs_category=category2, tariff_codes_category=False)
+
+        self.assertEqual(template.get_tariff_code({}), tariff3)
+
+        template.tariff_codes_category = True
+        self.assertEqual(template.get_tariff_code({}), tariff2)
+
+        category2.tariff_codes_parent = True
+        self.assertEqual(template.get_tariff_code({}), tariff1)
+
+    @with_transaction()
     def test_duty_rate_match(self):
         'Test duty rate match'
-        with Transaction().start(DB_NAME, USER, context=CONTEXT):
-            pool = Pool()
-            Tariff = pool.get('customs.tariff.code')
-            Rate = pool.get('customs.duty.rate')
-            Currency = pool.get('currency.currency')
-            CurrencyRate = pool.get('currency.currency.rate')
-
-            currency = Currency(name='cur', symbol='cur', code='XXX',
-                rates=[CurrencyRate(rate=Decimal(1))])
-            currency.save()
-
-            tariff = Tariff(code='170390')
-            tariff.save()
-
-            rate1 = Rate(tariff_code=tariff,
-                computation_type='amount',
-                end_date=date(2015, 6, 30),
-                amount=Decimal(10), currency=currency)
-            rate2 = Rate(tariff_code=tariff,
-                start_date=date(2015, 7, 1),
-                end_date=date(2015, 12, 31),
-                computation_type='amount',
-                amount=Decimal(10), currency=currency)
-            rate3 = Rate(tariff_code=tariff,
-                start_date=date(2015, 12, 31),
-                computation_type='amount',
-                amount=Decimal(10), currency=currency)
-            Rate.save([rate1, rate2, rate3])
-
-            for pattern, result in [
-                    ({'date': date(2015, 1, 1)}, rate1),
-                    ({'date': date(2015, 8, 1)}, rate2),
-                    ({'date': date(2016, 9, 1)}, rate3),
-                    ]:
-                self.assertEqual(tariff.get_duty_rate(pattern), result)
-
+        pool = Pool()
+        Tariff = pool.get('customs.tariff.code')
+        Rate = pool.get('customs.duty.rate')
+        Currency = pool.get('currency.currency')
+        CurrencyRate = pool.get('currency.currency.rate')
+
+        currency = Currency(name='cur', symbol='cur', code='XXX',
+            rates=[CurrencyRate(rate=Decimal(1))])
+        currency.save()
+
+        tariff = Tariff(code='170390')
+        tariff.save()
+
+        rate1 = Rate(tariff_code=tariff,
+            computation_type='amount',
+            end_date=date(2015, 6, 30),
+            amount=Decimal(10), currency=currency)
+        rate2 = Rate(tariff_code=tariff,
+            start_date=date(2015, 7, 1),
+            end_date=date(2015, 12, 31),
+            computation_type='amount',
+            amount=Decimal(10), currency=currency)
+        rate3 = Rate(tariff_code=tariff,
+            start_date=date(2015, 12, 31),
+            computation_type='amount',
+            amount=Decimal(10), currency=currency)
+        Rate.save([rate1, rate2, rate3])
+
+        for pattern, result in [
+                ({'date': date(2015, 1, 1)}, rate1),
+                ({'date': date(2015, 8, 1)}, rate2),
+                ({'date': date(2016, 9, 1)}, rate3),
+                ]:
+            self.assertEqual(tariff.get_duty_rate(pattern), result)
+
+    @with_transaction()
     def test_duty_rate_compute(self):
         'Test duty rate compute'
-        with Transaction().start(DB_NAME, USER, context=CONTEXT):
-            pool = Pool()
-            Rate = pool.get('customs.duty.rate')
-            Currency = pool.get('currency.currency')
-            CurrencyRate = pool.get('currency.currency.rate')
-            Uom = pool.get('product.uom')
-
-            kg, g = Uom.search([('name', 'in', ['Kilogram', 'Gram'])],
-                order=[('name', 'DESC')])
-            currency1 = Currency(name='cur1', symbol='cur1', code='XX1',
-                rates=[CurrencyRate(rate=Decimal(1))])
-            currency2 = Currency(name='cur2', symbol='cur1', code='XX2',
-                rates=[CurrencyRate(rate=Decimal('.5'))])
-            Currency.save([currency1, currency2])
-
-            rate = Rate(computation_type='amount',
-                amount=Decimal(10), currency=currency1)
-            self.assertEqual(rate.compute(currency2, 1, kg), Decimal(5))
-
-            rate = Rate(computation_type='quantity',
-                amount=Decimal(10), currency=currency1, uom=kg)
-            self.assertEqual(rate.compute(currency2, 100, g), Decimal('0.5'))
-
+        pool = Pool()
+        Rate = pool.get('customs.duty.rate')
+        Currency = pool.get('currency.currency')
+        CurrencyRate = pool.get('currency.currency.rate')
+        Uom = pool.get('product.uom')
+
+        kg, g = Uom.search([('name', 'in', ['Kilogram', 'Gram'])],
+            order=[('name', 'DESC')])
+        currency1 = Currency(name='cur1', symbol='cur1', code='XX1',
+            rates=[CurrencyRate(rate=Decimal(1))])
+        currency2 = Currency(name='cur2', symbol='cur1', code='XX2',
+            rates=[CurrencyRate(rate=Decimal('.5'))])
+        Currency.save([currency1, currency2])
+
+        rate = Rate(computation_type='amount',
+            amount=Decimal(10), currency=currency1)
+        self.assertEqual(rate.compute(currency2, 1, kg), Decimal(5))
+
+        rate = Rate(computation_type='quantity',
+            amount=Decimal(10), currency=currency1, uom=kg)
+        self.assertEqual(rate.compute(currency2, 100, g), Decimal('0.5'))
+
+    @with_transaction()
     def test_delete_category(self):
         'Test delete category'
-        with Transaction().start(DB_NAME, USER, context=CONTEXT):
-            pool = Pool()
-            Tariff = pool.get('customs.tariff.code')
-            Category = pool.get('product.category')
-            Product_TariffCode = pool.get(
-                'product-customs.tariff.code')
-
-            tariff = Tariff(code='170390')
-            tariff.save()
-
-            category = Category(name='Test',
-                tariff_codes=[
-                    Product_TariffCode(tariff_code=tariff),
-                    ])
-            category.save()
-            product_tariff_code, = category.tariff_codes
-
-            Category.delete([category])
-
-            self.assertEqual(
-                Product_TariffCode.search([
-                        ('id', '=', product_tariff_code.id),
-                        ]), [])
-
+        pool = Pool()
+        Tariff = pool.get('customs.tariff.code')
+        Category = pool.get('product.category')
+        Product_TariffCode = pool.get(
+            'product-customs.tariff.code')
+
+        tariff = Tariff(code='170390')
+        tariff.save()
+
+        category = Category(name='Test', customs=True,
+            tariff_codes=[
+                Product_TariffCode(tariff_code=tariff),
+                ])
+        category.save()
+        product_tariff_code, = category.tariff_codes
+
+        Category.delete([category])
+
+        self.assertEqual(
+            Product_TariffCode.search([
+                    ('id', '=', product_tariff_code.id),
+                    ]), [])
+
+    @with_transaction()
     def test_delete_template(self):
         'Test delete template'
-        with Transaction().start(DB_NAME, USER, context=CONTEXT):
-            pool = Pool()
-            Tariff = pool.get('customs.tariff.code')
-            Template = pool.get('product.template')
-            Uom = pool.get('product.uom')
-            Product_TariffCode = pool.get(
-                'product-customs.tariff.code')
-
-            unit, = Uom.search([('name', '=', 'Unit')])
-
-            tariff = Tariff(code='170390')
-            tariff.save()
-
-            template = Template(name='Test',
-                default_uom=unit,
-                list_price=Decimal(0),
-                cost_price=Decimal(0),
-                tariff_codes=[
-                    Product_TariffCode(tariff_code=tariff),
-                    ])
-            template.save()
-            product_tariff_code, = template.tariff_codes
-
-            Template.delete([template])
-
-            self.assertEqual(
-                Product_TariffCode.search([
-                        ('id', '=', product_tariff_code.id),
-                        ]), [])
+        pool = Pool()
+        Tariff = pool.get('customs.tariff.code')
+        Template = pool.get('product.template')
+        Uom = pool.get('product.uom')
+        Product_TariffCode = pool.get(
+            'product-customs.tariff.code')
+
+        unit, = Uom.search([('name', '=', 'Unit')])
+
+        tariff = Tariff(code='170390')
+        tariff.save()
+
+        template = Template(name='Test',
+            default_uom=unit,
+            list_price=Decimal(0),
+            cost_price=Decimal(0),
+            tariff_codes=[
+                Product_TariffCode(tariff_code=tariff),
+                ])
+        template.save()
+        product_tariff_code, = template.tariff_codes
+
+        Template.delete([template])
+
+        self.assertEqual(
+            Product_TariffCode.search([
+                    ('id', '=', product_tariff_code.id),
+                    ]), [])
 
 
 def suite():
diff --git a/tryton.cfg b/tryton.cfg
index bc9a8ff..f40f830 100644
--- a/tryton.cfg
+++ b/tryton.cfg
@@ -1,5 +1,5 @@
 [tryton]
-version=3.8.0
+version=4.0.0
 depends:
     country
     currency
diff --git a/trytond_customs.egg-info/PKG-INFO b/trytond_customs.egg-info/PKG-INFO
index 0678234..43acc7c 100644
--- a/trytond_customs.egg-info/PKG-INFO
+++ b/trytond_customs.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: trytond-customs
-Version: 3.8.0
+Version: 4.0.0
 Summary: Tryton module for customs
 Home-page: http://www.tryton.org/
 Author: Tryton
 Author-email: issue_tracker at tryton.org
 License: GPL-3
-Download-URL: http://downloads.tryton.org/3.8/
+Download-URL: http://downloads.tryton.org/4.0/
 Description: trytond_customs
         ===============
         
@@ -54,6 +54,7 @@ Classifier: Intended Audience :: Legal Industry
 Classifier: License :: OSI Approved :: GNU General Public License (GPL)
 Classifier: Natural Language :: Bulgarian
 Classifier: Natural Language :: Catalan
+Classifier: Natural Language :: Chinese (Simplified)
 Classifier: Natural Language :: Czech
 Classifier: Natural Language :: Dutch
 Classifier: Natural Language :: English
@@ -67,6 +68,9 @@ Classifier: Natural Language :: Slovenian
 Classifier: Natural Language :: Spanish
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Office/Business
diff --git a/trytond_customs.egg-info/SOURCES.txt b/trytond_customs.egg-info/SOURCES.txt
index cc42190..79035e1 100644
--- a/trytond_customs.egg-info/SOURCES.txt
+++ b/trytond_customs.egg-info/SOURCES.txt
@@ -57,11 +57,13 @@ locale/fr_FR.po
 locale/hu_HU.po
 locale/it_IT.po
 locale/ja_JP.po
+locale/lo_LA.po
 locale/lt_LT.po
 locale/nl_NL.po
 locale/pt_BR.po
 locale/ru_RU.po
 locale/sl_SI.po
+locale/zh_CN.po
 trytond_customs.egg-info/PKG-INFO
 trytond_customs.egg-info/SOURCES.txt
 trytond_customs.egg-info/dependency_links.txt
diff --git a/trytond_customs.egg-info/requires.txt b/trytond_customs.egg-info/requires.txt
index 506232d..1fe4cb9 100644
--- a/trytond_customs.egg-info/requires.txt
+++ b/trytond_customs.egg-info/requires.txt
@@ -1,6 +1,6 @@
 simpleeval
 python-sql >= 0.4
-trytond_country >= 3.8, < 3.9
-trytond_currency >= 3.8, < 3.9
-trytond_product >= 3.8, < 3.9
-trytond >= 3.8, < 3.9
\ No newline at end of file
+trytond_country >= 4.0, < 4.1
+trytond_currency >= 4.0, < 4.1
+trytond_product >= 4.0, < 4.1
+trytond >= 4.0, < 4.1
\ No newline at end of file
diff --git a/view/category_form.xml b/view/category_form.xml
index 2c0d5c6..6dd400c 100644
--- a/view/category_form.xml
+++ b/view/category_form.xml
@@ -2,6 +2,10 @@
 <!-- This file is part of Tryton.  The COPYRIGHT file at the top level of
 this repository contains the full copyright notices and license terms. -->
 <data>
+    <xpath expr="/form/group[@id='checkboxes']" position="inside">
+        <label name="customs"/>
+        <field name="customs" xexpand="0" width="25"/>
+    </xpath>
     <xpath expr="/form/notebook" position="inside">
         <page string="Customs" id="customs">
             <label name="tariff_codes_parent"/>
diff --git a/view/template_form.xml b/view/template_form.xml
index 3373a97..018a5f8 100644
--- a/view/template_form.xml
+++ b/view/template_form.xml
@@ -4,6 +4,9 @@ this repository contains the full copyright notices and license terms. -->
 <data>
     <xpath expr="/form/notebook" position="inside">
         <page string="Customs" id="customs">
+            <label name="customs_category"/>
+            <field name="customs_category"/>
+            <newline/>
             <label name="tariff_codes_category"/>
             <field name="tariff_codes_category"/>
             <field name="tariff_codes" colspan="4"
-- 
tryton-modules-customs



More information about the tryton-debian-vcs mailing list