diff --git a/.claude/settings.local.json b/.claude/settings.local.json
new file mode 100644
index 0000000..045de21
--- /dev/null
+++ b/.claude/settings.local.json
@@ -0,0 +1,17 @@
+{
+ "permissions": {
+ "allow": [
+ "Bash(cd /c/Users/SylvainDUVERNAY/Documents/Visual Studio Code/Tradon DEV/tradon/modules)",
+ "Bash(ls -d */)",
+ "Bash(cd /c/Users/SylvainDUVERNAY/Documents/Visual Studio Code/Tradon DEV/tradon/modules/purchase_trade)",
+ "Bash(ls -1d */)",
+ "Bash(for f:*)",
+ "Bash(do echo:*)",
+ "Read(//c/Users/SylvainDUVERNAY/Documents/Visual Studio Code/Tradon DEV/tradon/**)",
+ "Bash(done)",
+ "Bash(cd /c/Users/SylvainDUVERNAY/Documents/Visual Studio Code/Tradon DEV/tradon/modules/purchase_trade/view)",
+ "Bash(ls -1 *.xml)",
+ "Bash(py --version)"
+ ]
+ }
+}
diff --git a/modules/trade_finance/__init__.py b/modules/trade_finance/__init__.py
new file mode 100644
index 0000000..8dae6b1
--- /dev/null
+++ b/modules/trade_finance/__init__.py
@@ -0,0 +1,41 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.pool import Pool
+
+from . import (
+ financing,
+ market,
+ valuation,
+ document,
+ template_execution,
+ counterparty,
+ fx,
+ operational,
+)
+
+
+def register():
+ Pool.register(
+ financing.FinancingType,
+ financing.OperationalStatus,
+ market.MarketIndex,
+ market.MarketIndexRate,
+ market.IndexTerm,
+ market.InterestFormula,
+ valuation.ValuationMethod,
+ valuation.HaircutFormula,
+ valuation.CollateralType,
+ document.EvidenceType,
+ template_execution.TemplateSegment,
+ template_execution.ExecutionTemplate,
+ template_execution.ExecutionTemplateLine,
+ counterparty.ReceivableCategory,
+ counterparty.PaymentConditionType,
+ fx.FxFeeder,
+ operational.BlockingReason,
+ operational.ChargeType,
+ module='trade_finance', type_='model')
+ Pool.register(
+ fx.PriceCalendar,
+ module='price', type_='model')
diff --git a/modules/trade_finance/counterparty.py b/modules/trade_finance/counterparty.py
new file mode 100644
index 0000000..4bc9cf4
--- /dev/null
+++ b/modules/trade_finance/counterparty.py
@@ -0,0 +1,39 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+
+__all__ = ['ReceivableCategory', 'PaymentConditionType']
+
+
+class ReceivableCategory(ModelSQL, ModelView):
+ 'Receivable Category'
+ __name__ = 'trade_finance.receivable_category'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ description = fields.Text('Description')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class PaymentConditionType(ModelSQL, ModelView):
+ 'Payment Condition Type'
+ __name__ = 'trade_finance.payment_condition_type'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ remaining_risk_pct = fields.Numeric(
+ 'Remaining Risk (%)', digits=(16, 2),
+ help='Percentage of residual credit risk retained by the company '
+ 'under this payment condition')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
diff --git a/modules/trade_finance/document.py b/modules/trade_finance/document.py
new file mode 100644
index 0000000..c692234
--- /dev/null
+++ b/modules/trade_finance/document.py
@@ -0,0 +1,21 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+
+__all__ = ['EvidenceType']
+
+
+class EvidenceType(ModelSQL, ModelView):
+ 'Evidence Type'
+ __name__ = 'trade_finance.evidence_type'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ description = fields.Text('Description')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
diff --git a/modules/trade_finance/financing.py b/modules/trade_finance/financing.py
new file mode 100644
index 0000000..6e3a72b
--- /dev/null
+++ b/modules/trade_finance/financing.py
@@ -0,0 +1,47 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+
+__all__ = ['FinancingType', 'OperationalStatus']
+
+
+class FinancingType(ModelSQL, ModelView):
+ 'Financing Type'
+ __name__ = 'trade_finance.financing_type'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ sequence = fields.Integer('Sequence')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+ @staticmethod
+ def default_sequence():
+ return 10
+
+
+class OperationalStatus(ModelSQL, ModelView):
+ 'Operational Status'
+ __name__ = 'trade_finance.operational_status'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ financing_type = fields.Many2One(
+ 'trade_finance.financing_type', 'Default Financing Type',
+ ondelete='RESTRICT')
+ sequence = fields.Integer('Sequence')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+ @staticmethod
+ def default_sequence():
+ return 10
diff --git a/modules/trade_finance/fx.py b/modules/trade_finance/fx.py
new file mode 100644
index 0000000..4c24574
--- /dev/null
+++ b/modules/trade_finance/fx.py
@@ -0,0 +1,37 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+from trytond.pool import PoolMeta
+
+__all__ = ['FxFeeder', 'PriceCalendar']
+
+
+class FxFeeder(ModelSQL, ModelView):
+ 'FX Rate Feeder'
+ __name__ = 'trade_finance.fx_feeder'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ source_description = fields.Text(
+ 'Source Description',
+ help='Description of the FX rate source / provider')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class PriceCalendar(metaclass=PoolMeta):
+ __name__ = 'price.calendar'
+
+ purpose = fields.Selection([
+ (None, ''),
+ ('banking', 'Banking'),
+ ('market', 'Market'),
+ ('factoring', 'Factoring'),
+ ], 'Purpose',
+ help='Use of this calendar: Banking days, Market trading days, '
+ 'or Factoring program calendar')
diff --git a/modules/trade_finance/market.py b/modules/trade_finance/market.py
new file mode 100644
index 0000000..578a3d2
--- /dev/null
+++ b/modules/trade_finance/market.py
@@ -0,0 +1,65 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+
+__all__ = ['MarketIndex', 'MarketIndexRate', 'IndexTerm', 'InterestFormula']
+
+
+class MarketIndex(ModelSQL, ModelView):
+ 'Market Index'
+ __name__ = 'trade_finance.market_index'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ rates = fields.One2Many(
+ 'trade_finance.market_index_rate', 'index', 'Rates')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class MarketIndexRate(ModelSQL, ModelView):
+ 'Market Index Rate'
+ __name__ = 'trade_finance.market_index_rate'
+ _rec_name = 'rate_date'
+
+ index = fields.Many2One(
+ 'trade_finance.market_index', 'Index',
+ required=True, ondelete='CASCADE')
+ rate_date = fields.Date('Date', required=True)
+ rate = fields.Numeric('Rate (%)', digits=(16, 6), required=True)
+
+
+class IndexTerm(ModelSQL, ModelView):
+ 'Index Term'
+ __name__ = 'trade_finance.index_term'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ days = fields.Integer('Days', required=True,
+ help='Approximate number of days for this term (O/N=1, 1W=7, 1M=30, '
+ '3M=90, 6M=180, 1Y=365)')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class InterestFormula(ModelSQL, ModelView):
+ 'Interest Calculation Formula'
+ __name__ = 'trade_finance.interest_formula'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
diff --git a/modules/trade_finance/operational.py b/modules/trade_finance/operational.py
new file mode 100644
index 0000000..478bdbb
--- /dev/null
+++ b/modules/trade_finance/operational.py
@@ -0,0 +1,35 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+
+__all__ = ['BlockingReason', 'ChargeType']
+
+
+class BlockingReason(ModelSQL, ModelView):
+ 'Blocking Reason'
+ __name__ = 'trade_finance.blocking_reason'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class ChargeType(ModelSQL, ModelView):
+ 'Charge Type'
+ __name__ = 'trade_finance.charge_type'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ description = fields.Text('Description')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
diff --git a/modules/trade_finance/reference.xml b/modules/trade_finance/reference.xml
new file mode 100644
index 0000000..70fe0bc
--- /dev/null
+++ b/modules/trade_finance/reference.xml
@@ -0,0 +1,947 @@
+
+
+
+
+
+
+
+
+
+ Trade Finance Administration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.financing_type
+ tree
+
+ financing_type_tree
+
+
+ trade_finance.financing_type
+ form
+ financing_type_form
+
+
+ Financing Types
+ trade_finance.financing_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.financing_type
+
+
+
+
+
+
+ trade_finance.financing_type
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.operational_status
+ tree
+
+ operational_status_tree
+
+
+ trade_finance.operational_status
+ form
+ operational_status_form
+
+
+ Operational Statuses
+ trade_finance.operational_status
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.operational_status
+
+
+
+
+
+
+ trade_finance.operational_status
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.market_index
+ tree
+
+ market_index_tree
+
+
+ trade_finance.market_index
+ form
+ market_index_form
+
+
+ Market Indexes
+ trade_finance.market_index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.market_index
+
+
+
+
+
+
+ trade_finance.market_index
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.market_index_rate
+ tree
+
+ market_index_rate_tree
+
+
+ trade_finance.market_index_rate
+ form
+ market_index_rate_form
+
+
+ Market Index Rates
+ trade_finance.market_index_rate
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.market_index_rate
+
+
+
+
+
+
+ trade_finance.market_index_rate
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.index_term
+ tree
+
+ index_term_tree
+
+
+ trade_finance.index_term
+ form
+ index_term_form
+
+
+ Index Terms
+ trade_finance.index_term
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.index_term
+
+
+
+
+
+
+ trade_finance.index_term
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.interest_formula
+ tree
+
+ interest_formula_tree
+
+
+ trade_finance.interest_formula
+ form
+ interest_formula_form
+
+
+ Interest Formulas
+ trade_finance.interest_formula
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.interest_formula
+
+
+
+
+
+
+ trade_finance.interest_formula
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.haircut_formula
+ tree
+
+ haircut_formula_tree
+
+
+ trade_finance.haircut_formula
+ form
+ haircut_formula_form
+
+
+ Haircut Formulas
+ trade_finance.haircut_formula
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.haircut_formula
+
+
+
+
+
+
+ trade_finance.haircut_formula
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.valuation_method
+ tree
+
+ valuation_method_tree
+
+
+ trade_finance.valuation_method
+ form
+ valuation_method_form
+
+
+ Valuation Methods
+ trade_finance.valuation_method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.valuation_method
+
+
+
+
+
+
+ trade_finance.valuation_method
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.collateral_type
+ tree
+
+ collateral_type_tree
+
+
+ trade_finance.collateral_type
+ form
+ collateral_type_form
+
+
+ Collateral Types
+ trade_finance.collateral_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.collateral_type
+
+
+
+
+
+
+ trade_finance.collateral_type
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.evidence_type
+ tree
+
+ evidence_type_tree
+
+
+ trade_finance.evidence_type
+ form
+ evidence_type_form
+
+
+ Evidence Types
+ trade_finance.evidence_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.evidence_type
+
+
+
+
+
+
+ trade_finance.evidence_type
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.template_segment
+ tree
+
+ template_segment_tree
+
+
+ trade_finance.template_segment
+ form
+ template_segment_form
+
+
+ Template Segments
+ trade_finance.template_segment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.template_segment
+
+
+
+
+
+
+ trade_finance.template_segment
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.execution_template
+ tree
+
+ execution_template_tree
+
+
+ trade_finance.execution_template
+ form
+ execution_template_form
+
+
+ Execution Templates
+ trade_finance.execution_template
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.execution_template
+
+
+
+
+
+
+ trade_finance.execution_template
+
+
+
+
+
+
+
+
+
+ trade_finance.execution_template_line
+ tree
+
+ execution_template_line_tree
+
+
+ trade_finance.execution_template_line
+
+
+
+
+
+
+ trade_finance.execution_template_line
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.receivable_category
+ tree
+
+ receivable_category_tree
+
+
+ trade_finance.receivable_category
+ form
+ receivable_category_form
+
+
+ Receivable Categories
+ trade_finance.receivable_category
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.receivable_category
+
+
+
+
+
+
+ trade_finance.receivable_category
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.payment_condition_type
+ tree
+
+ payment_condition_type_tree
+
+
+ trade_finance.payment_condition_type
+ form
+ payment_condition_type_form
+
+
+ Payment Condition Types
+ trade_finance.payment_condition_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.payment_condition_type
+
+
+
+
+
+
+ trade_finance.payment_condition_type
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.fx_feeder
+ tree
+
+ fx_feeder_tree
+
+
+ trade_finance.fx_feeder
+ form
+ fx_feeder_form
+
+
+ FX Rate Feeders
+ trade_finance.fx_feeder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.fx_feeder
+
+
+
+
+
+
+ trade_finance.fx_feeder
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.blocking_reason
+ tree
+
+ blocking_reason_tree
+
+
+ trade_finance.blocking_reason
+ form
+ blocking_reason_form
+
+
+ Blocking Reasons
+ trade_finance.blocking_reason
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.blocking_reason
+
+
+
+
+
+
+ trade_finance.blocking_reason
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.charge_type
+ tree
+
+ charge_type_tree
+
+
+ trade_finance.charge_type
+ form
+ charge_type_form
+
+
+ Charge Types
+ trade_finance.charge_type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ trade_finance.charge_type
+
+
+
+
+
+
+ trade_finance.charge_type
+
+
+
+
+
+
+
+
+
diff --git a/modules/trade_finance/template_execution.py b/modules/trade_finance/template_execution.py
new file mode 100644
index 0000000..e706ccd
--- /dev/null
+++ b/modules/trade_finance/template_execution.py
@@ -0,0 +1,62 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields, sequence_ordered
+
+__all__ = ['TemplateSegment', 'ExecutionTemplate', 'ExecutionTemplateLine']
+
+
+class TemplateSegment(ModelSQL, ModelView):
+ 'Template Segment'
+ __name__ = 'trade_finance.template_segment'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ from_place = fields.Many2One(
+ 'stock.location', 'From Place',
+ help='Origin location / port of loading')
+ to_place = fields.Many2One(
+ 'stock.location', 'To Place',
+ help='Destination location / port of discharge')
+ default_duration_days = fields.Integer(
+ 'Default Duration (days)',
+ help='Default number of days for this segment')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class ExecutionTemplate(ModelSQL, ModelView):
+ 'Execution Template'
+ __name__ = 'trade_finance.execution_template'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ description = fields.Text('Description')
+ lines = fields.One2Many(
+ 'trade_finance.execution_template_line', 'template', 'Segments')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class ExecutionTemplateLine(sequence_ordered(), ModelSQL, ModelView):
+ 'Execution Template Line'
+ __name__ = 'trade_finance.execution_template_line'
+ _rec_name = 'segment'
+
+ template = fields.Many2One(
+ 'trade_finance.execution_template', 'Template',
+ required=True, ondelete='CASCADE')
+ segment = fields.Many2One(
+ 'trade_finance.template_segment', 'Segment',
+ required=True, ondelete='RESTRICT')
+ duration_days = fields.Integer(
+ 'Duration (days)',
+ help='Overrides the segment default duration for this template')
diff --git a/modules/trade_finance/tryton.cfg b/modules/trade_finance/tryton.cfg
new file mode 100644
index 0000000..2183e93
--- /dev/null
+++ b/modules/trade_finance/tryton.cfg
@@ -0,0 +1,9 @@
+[tryton]
+version=7.2.7
+depends:
+ ir
+ res
+ stock
+ price
+xml:
+ reference.xml
diff --git a/modules/trade_finance/valuation.py b/modules/trade_finance/valuation.py
new file mode 100644
index 0000000..7137672
--- /dev/null
+++ b/modules/trade_finance/valuation.py
@@ -0,0 +1,50 @@
+# This file is part of Tradon. The COPYRIGHT file at the top level of
+# this repository contains the full copyright notices and license terms.
+
+from trytond.model import ModelSQL, ModelView, fields
+
+__all__ = ['ValuationMethod', 'HaircutFormula', 'CollateralType']
+
+
+class ValuationMethod(ModelSQL, ModelView):
+ 'Valuation Method'
+ __name__ = 'trade_finance.valuation_method'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ description = fields.Text('Description')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class HaircutFormula(ModelSQL, ModelView):
+ 'Haircut Formula'
+ __name__ = 'trade_finance.haircut_formula'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ description = fields.Text('Description')
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
+
+
+class CollateralType(ModelSQL, ModelView):
+ 'Collateral Type'
+ __name__ = 'trade_finance.collateral_type'
+ _rec_name = 'name'
+
+ code = fields.Char('Code', required=True)
+ name = fields.Char('Name', required=True)
+ active = fields.Boolean('Active')
+
+ @staticmethod
+ def default_active():
+ return True
diff --git a/modules/trade_finance/view/blocking_reason_form.xml b/modules/trade_finance/view/blocking_reason_form.xml
new file mode 100644
index 0000000..a8df246
--- /dev/null
+++ b/modules/trade_finance/view/blocking_reason_form.xml
@@ -0,0 +1,8 @@
+
diff --git a/modules/trade_finance/view/blocking_reason_tree.xml b/modules/trade_finance/view/blocking_reason_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/blocking_reason_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/charge_type_form.xml b/modules/trade_finance/view/charge_type_form.xml
new file mode 100644
index 0000000..222d89d
--- /dev/null
+++ b/modules/trade_finance/view/charge_type_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/charge_type_tree.xml b/modules/trade_finance/view/charge_type_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/charge_type_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/collateral_type_form.xml b/modules/trade_finance/view/collateral_type_form.xml
new file mode 100644
index 0000000..a8df246
--- /dev/null
+++ b/modules/trade_finance/view/collateral_type_form.xml
@@ -0,0 +1,8 @@
+
diff --git a/modules/trade_finance/view/collateral_type_tree.xml b/modules/trade_finance/view/collateral_type_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/collateral_type_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/evidence_type_form.xml b/modules/trade_finance/view/evidence_type_form.xml
new file mode 100644
index 0000000..222d89d
--- /dev/null
+++ b/modules/trade_finance/view/evidence_type_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/evidence_type_tree.xml b/modules/trade_finance/view/evidence_type_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/evidence_type_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/execution_template_form.xml b/modules/trade_finance/view/execution_template_form.xml
new file mode 100644
index 0000000..5b25106
--- /dev/null
+++ b/modules/trade_finance/view/execution_template_form.xml
@@ -0,0 +1,12 @@
+
diff --git a/modules/trade_finance/view/execution_template_line_tree.xml b/modules/trade_finance/view/execution_template_line_tree.xml
new file mode 100644
index 0000000..41082de
--- /dev/null
+++ b/modules/trade_finance/view/execution_template_line_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/execution_template_tree.xml b/modules/trade_finance/view/execution_template_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/execution_template_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/financing_type_form.xml b/modules/trade_finance/view/financing_type_form.xml
new file mode 100644
index 0000000..bcb70a0
--- /dev/null
+++ b/modules/trade_finance/view/financing_type_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/financing_type_tree.xml b/modules/trade_finance/view/financing_type_tree.xml
new file mode 100644
index 0000000..9e180b3
--- /dev/null
+++ b/modules/trade_finance/view/financing_type_tree.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/modules/trade_finance/view/fx_feeder_form.xml b/modules/trade_finance/view/fx_feeder_form.xml
new file mode 100644
index 0000000..52191c5
--- /dev/null
+++ b/modules/trade_finance/view/fx_feeder_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/fx_feeder_tree.xml b/modules/trade_finance/view/fx_feeder_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/fx_feeder_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/haircut_formula_form.xml b/modules/trade_finance/view/haircut_formula_form.xml
new file mode 100644
index 0000000..222d89d
--- /dev/null
+++ b/modules/trade_finance/view/haircut_formula_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/haircut_formula_tree.xml b/modules/trade_finance/view/haircut_formula_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/haircut_formula_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/index_term_form.xml b/modules/trade_finance/view/index_term_form.xml
new file mode 100644
index 0000000..ec98b7d
--- /dev/null
+++ b/modules/trade_finance/view/index_term_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/index_term_tree.xml b/modules/trade_finance/view/index_term_tree.xml
new file mode 100644
index 0000000..8a6bd8f
--- /dev/null
+++ b/modules/trade_finance/view/index_term_tree.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/modules/trade_finance/view/interest_formula_form.xml b/modules/trade_finance/view/interest_formula_form.xml
new file mode 100644
index 0000000..a8df246
--- /dev/null
+++ b/modules/trade_finance/view/interest_formula_form.xml
@@ -0,0 +1,8 @@
+
diff --git a/modules/trade_finance/view/interest_formula_tree.xml b/modules/trade_finance/view/interest_formula_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/interest_formula_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/market_index_form.xml b/modules/trade_finance/view/market_index_form.xml
new file mode 100644
index 0000000..cb1a043
--- /dev/null
+++ b/modules/trade_finance/view/market_index_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/market_index_rate_form.xml b/modules/trade_finance/view/market_index_rate_form.xml
new file mode 100644
index 0000000..c824ac7
--- /dev/null
+++ b/modules/trade_finance/view/market_index_rate_form.xml
@@ -0,0 +1,8 @@
+
diff --git a/modules/trade_finance/view/market_index_rate_tree.xml b/modules/trade_finance/view/market_index_rate_tree.xml
new file mode 100644
index 0000000..61e7e1c
--- /dev/null
+++ b/modules/trade_finance/view/market_index_rate_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/market_index_tree.xml b/modules/trade_finance/view/market_index_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/market_index_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/operational_status_form.xml b/modules/trade_finance/view/operational_status_form.xml
new file mode 100644
index 0000000..8bd9619
--- /dev/null
+++ b/modules/trade_finance/view/operational_status_form.xml
@@ -0,0 +1,12 @@
+
diff --git a/modules/trade_finance/view/operational_status_tree.xml b/modules/trade_finance/view/operational_status_tree.xml
new file mode 100644
index 0000000..c97fa38
--- /dev/null
+++ b/modules/trade_finance/view/operational_status_tree.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/modules/trade_finance/view/payment_condition_type_form.xml b/modules/trade_finance/view/payment_condition_type_form.xml
new file mode 100644
index 0000000..e6b2c7d
--- /dev/null
+++ b/modules/trade_finance/view/payment_condition_type_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/payment_condition_type_tree.xml b/modules/trade_finance/view/payment_condition_type_tree.xml
new file mode 100644
index 0000000..3fb8949
--- /dev/null
+++ b/modules/trade_finance/view/payment_condition_type_tree.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/modules/trade_finance/view/receivable_category_form.xml b/modules/trade_finance/view/receivable_category_form.xml
new file mode 100644
index 0000000..222d89d
--- /dev/null
+++ b/modules/trade_finance/view/receivable_category_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/receivable_category_tree.xml b/modules/trade_finance/view/receivable_category_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/receivable_category_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/modules/trade_finance/view/template_segment_form.xml b/modules/trade_finance/view/template_segment_form.xml
new file mode 100644
index 0000000..f7666b4
--- /dev/null
+++ b/modules/trade_finance/view/template_segment_form.xml
@@ -0,0 +1,14 @@
+
diff --git a/modules/trade_finance/view/template_segment_tree.xml b/modules/trade_finance/view/template_segment_tree.xml
new file mode 100644
index 0000000..bad1122
--- /dev/null
+++ b/modules/trade_finance/view/template_segment_tree.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/modules/trade_finance/view/valuation_method_form.xml b/modules/trade_finance/view/valuation_method_form.xml
new file mode 100644
index 0000000..222d89d
--- /dev/null
+++ b/modules/trade_finance/view/valuation_method_form.xml
@@ -0,0 +1,10 @@
+
diff --git a/modules/trade_finance/view/valuation_method_tree.xml b/modules/trade_finance/view/valuation_method_tree.xml
new file mode 100644
index 0000000..2b4c872
--- /dev/null
+++ b/modules/trade_finance/view/valuation_method_tree.xml
@@ -0,0 +1,5 @@
+
+
+
+
+