details: https://code.tryton.org/tryton/commit/7ed510032686
branch: default
user: Cédric Krier <[email protected]>
date: Mon Dec 15 17:03:34 2025 +0100
description:
Add export/import duties on incoterm
diffstat:
modules/incoterm/CHANGELOG | 1 +
modules/incoterm/incoterm.py | 8 +++
modules/incoterm/incoterm.xml | 70 +++++++++++++++++++++++++++++++++
modules/incoterm/view/incoterm_form.xml | 13 ++++-
modules/incoterm/view/incoterm_list.xml | 2 +
5 files changed, 90 insertions(+), 4 deletions(-)
diffs (390 lines):
diff -r 37e965ef7d10 -r 7ed510032686 modules/incoterm/CHANGELOG
--- a/modules/incoterm/CHANGELOG Tue Feb 10 18:21:47 2026 +0100
+++ b/modules/incoterm/CHANGELOG Mon Dec 15 17:03:34 2025 +0100
@@ -1,3 +1,4 @@
+* Add export/import duties on incoterm
Version 7.8.0 - 2025-12-15
--------------------------
diff -r 37e965ef7d10 -r 7ed510032686 modules/incoterm/incoterm.py
--- a/modules/incoterm/incoterm.py Tue Feb 10 18:21:47 2026 +0100
+++ b/modules/incoterm/incoterm.py Mon Dec 15 17:03:34 2025 +0100
@@ -24,6 +24,14 @@
('seller', "Seller"),
], "Carrier", required=True,
help="Who contracts the main carriage.")
+ export_duties = fields.Selection([
+ ('buyer', "Buyer"),
+ ('seller', "Seller"),
+ ], "Export Duties", required=True)
+ import_duties = fields.Selection([
+ ('buyer', "Buyer"),
+ ('seller', "Seller"),
+ ], "Import Duties", required=True)
risk = fields.Selection([
('before', "Before"),
('after', "After"),
diff -r 37e965ef7d10 -r 7ed510032686 modules/incoterm/incoterm.xml
--- a/modules/incoterm/incoterm.xml Tue Feb 10 18:21:47 2026 +0100
+++ b/modules/incoterm/incoterm.xml Mon Dec 15 17:03:34 2025 +0100
@@ -51,6 +51,8 @@
<field name="version">2000</field>
<field name="mode" eval="None"/>
<field name="carrier">buyer</field>
+ <field name="export_duties">buyer</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -61,6 +63,8 @@
<field name="version">2000</field>
<field name="mode" eval="None"/>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -71,6 +75,8 @@
<field name="version">2000</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -81,6 +87,8 @@
<field name="version">2000</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -91,6 +99,8 @@
<field name="version">2000</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -101,6 +111,8 @@
<field name="version">2000</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -111,6 +123,8 @@
<field name="version">2000</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -121,6 +135,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -131,6 +147,8 @@
<field name="version">2000</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">seller</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -141,6 +159,8 @@
<field name="version">2000</field>
<field name="mode">waterway</field>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -151,6 +171,8 @@
<field name="version">2000</field>
<field name="mode">waterway</field>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -161,6 +183,8 @@
<field name="version">2000</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -171,6 +195,8 @@
<field name="version">2000</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -181,6 +207,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">buyer</field>
+ <field name="export_duties">buyer</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -191,6 +219,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -201,6 +231,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -211,6 +243,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -221,6 +255,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -231,6 +267,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -241,6 +279,8 @@
<field name="version">2010</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">seller</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -251,6 +291,8 @@
<field name="version">2010</field>
<field name="mode">waterway</field>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -261,6 +303,8 @@
<field name="version">2010</field>
<field name="mode">waterway</field>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -271,6 +315,8 @@
<field name="version">2010</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -281,6 +327,8 @@
<field name="version">2010</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -291,6 +339,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">buyer</field>
+ <field name="export_duties">buyer</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -301,6 +351,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -311,6 +363,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -321,6 +375,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -331,6 +387,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -341,6 +399,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -351,6 +411,8 @@
<field name="version">2020</field>
<field name="mode" eval="None"/>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">seller</field>
<field name="risk">after</field>
<field name="location" eval="True"/>
</record>
@@ -361,6 +423,8 @@
<field name="version">2020</field>
<field name="mode">waterway</field>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -371,6 +435,8 @@
<field name="version">2020</field>
<field name="mode">waterway</field>
<field name="carrier">buyer</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -381,6 +447,8 @@
<field name="version">2020</field>
<field name="mode">waterway</field>
<field name="carrier">seller</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="risk">before</field>
<field name="location" eval="True"/>
</record>
@@ -392,6 +460,8 @@
<field name="mode">waterway</field>
<field name="carrier">seller</field>
<field name="risk">before</field>
+ <field name="export_duties">seller</field>
+ <field name="import_duties">buyer</field>
<field name="location" eval="True"/>
</record>
</data>
diff -r 37e965ef7d10 -r 7ed510032686 modules/incoterm/view/incoterm_form.xml
--- a/modules/incoterm/view/incoterm_form.xml Tue Feb 10 18:21:47 2026 +0100
+++ b/modules/incoterm/view/incoterm_form.xml Mon Dec 15 17:03:34 2025 +0100
@@ -1,9 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
-<form col="6">
+<form>
<label name="name"/>
- <field name="name" colspan="3"/>
+ <field name="name"/>
<group colspan="2" col="-1" id="code">
<label name="code"/>
<field name="code"/>
@@ -15,11 +15,16 @@
<field name="mode"/>
<label name="carrier"/>
<field name="carrier"/>
+
+ <label name="export_duties"/>
+ <field name="export_duties"/>
+ <label name="import_duties"/>
+ <field name="import_duties"/>
+
<label name="risk"/>
<field name="risk"/>
-
<label name="location"/>
<field name="location"/>
- <field name="companies" colspan="6"/>
+ <field name="companies" colspan="4"/>
</form>
diff -r 37e965ef7d10 -r 7ed510032686 modules/incoterm/view/incoterm_list.xml
--- a/modules/incoterm/view/incoterm_list.xml Tue Feb 10 18:21:47 2026 +0100
+++ b/modules/incoterm/view/incoterm_list.xml Mon Dec 15 17:03:34 2025 +0100
@@ -7,6 +7,8 @@
<field name="version" optional="0"/>
<field name="mode" optional="1"/>
<field name="carrier" optional="1"/>
+ <field name="export_duties" optional="1"/>
+ <field name="import_duties" optional="1"/>
<field name="risk" optional="1"/>
<field name="location" optional="1"/>
</tree>