From b9bd3686bed3efdc1dcfc6424cb2fe03c99ee813 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 18 Feb 2009 17:42:59 +0000
Subject: [PATCH] Simplify budget model variations, only 2 simple class are
 used: - NodeBudgetVariation that explicitly lists the possible values one by
 one, either by selecting them of specifying a script to return this list of
 values - CategoryBudgetVariation that uses a base category for each one, you
 specify what will be the "axis" used for getInventory (node, mirror_node,
 node_category etc)

"SectionCategoryBudgetVariation" is therefore useless, it's a
CategoryBudgetVariation where the axis is "section_category"

Budget Cell, Budget Line and now Budget itself can be variated

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@25614 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../view.xml                                  |   2 +-
 .../portal_categories/budget_variation.xml    |   2 +-
 .../portal_categories/inventory_axis.xml      |  89 +++
 .../budget_variation/budget.xml               |  53 ++
 .../budget_variation/budget_cell.xml          |  53 ++
 .../budget_variation/budget_line.xml          |  53 ++
 .../inventory_axis/function.xml               |  47 ++
 .../inventory_axis/mirror_node.xml            |  47 ++
 .../inventory_axis/mirror_node_category.xml   |  48 ++
 .../inventory_axis/mirror_section.xml         |  53 ++
 .../mirror_section_category.xml               |  54 ++
 .../inventory_axis/movement.xml               |  53 ++
 .../portal_categories/inventory_axis/node.xml |  49 ++
 .../inventory_axis/node_category.xml          |  50 ++
 .../inventory_axis/payment.xml                |  53 ++
 .../inventory_axis/payment_category.xml       |  54 ++
 .../cell.xml => inventory_axis/project.xml}   |  14 +-
 .../line.xml => inventory_axis/section.xml}   |  14 +-
 .../inventory_axis/section_category.xml       |  48 ++
 .../allowed_content_types.xml                 |   2 +-
 .../base_category_list.xml                    |   3 +
 .../portal_types/Budget%20Model%20Module.xml  |   2 +-
 .../portal_types/Budget%20Model.xml           |  59 ++
 ....xml => Category%20Budget%20Variation.xml} |   8 +-
 .../workflow_chain_type.xml                   |   6 +-
 .../Budget_getVariationRangeCategoryList.xml  | 128 ++++
 .../Budget_hashVariationCategoryList.xml      | 198 ++++++
 .../portal_skins/erp5_budget/Budget_view.xml  |   1 +
 .../my_variation_category_list.xml}           | 134 ++--
 ...w.xml => CategoryBudgetVariation_view.xml} |   9 +-
 .../my_budget_variation.xml                   |   0
 .../my_int_index.xml                          |   0
 .../my_inventory_axis.xml                     |  93 +++
 .../my_title.xml                              |   0
 .../my_translated_portal_type.xml             |   0
 .../my_variation_base_category.xml            | 122 ++++
 .../erp5_budget/NodeBudgetVariation_view.xml  |   9 +-
 .../my_aggregate_title_list.xml               | 617 ++++++++++++++++++
 .../my_inventory_axis.xml                     |  93 +++
 .../my_variation_base_category.xml            | 225 ++-----
 .../budget_interaction_workflow.xml           |  31 +
 .../interactions.xml                          |  31 +
 .../interactions/setSpecialise.xml            |  93 +++
 .../budget_interaction_workflow/scripts.xml   |  31 +
 .../scripts/initializeBudget.xml              | 129 ++++
 .../budget_interaction_workflow/variables.xml |  25 +
 .../budget_interaction_workflow/worklists.xml |  25 +
 bt5/erp5_budget/bt/revision                   |   2 +-
 bt5/erp5_budget/bt/template_action_path_list  |   4 +-
 .../bt/template_base_category_list            |   3 +-
 bt5/erp5_budget/bt/template_path_list         |   3 +-
 ...late_portal_type_allowed_content_type_list |   2 +-
 .../template_portal_type_base_category_list   |   3 +-
 .../bt/template_portal_type_id_list           |   4 +-
 .../template_portal_type_workflow_chain_list  |   5 +-
 bt5/erp5_budget/bt/template_workflow_id_list  |   1 +
 56 files changed, 2659 insertions(+), 278 deletions(-)
 rename bt5/erp5_budget/ActionTemplateItem/portal_types/{Section%20Category%20Budget%20Variation => Category%20Budget%20Variation}/view.xml (95%)
 create mode 100644 bt5/erp5_budget/CategoryTemplateItem/portal_categories/inventory_axis.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_cell.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_line.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node_category.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section_category.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node_category.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment.xml
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment_category.xml
 rename bt5/erp5_budget/PathTemplateItem/portal_categories/{budget_variation/cell.xml => inventory_axis/project.xml} (70%)
 rename bt5/erp5_budget/PathTemplateItem/portal_categories/{budget_variation/line.xml => inventory_axis/section.xml} (70%)
 create mode 100644 bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section_category.xml
 rename bt5/erp5_budget/PortalTypeTemplateItem/portal_types/{Section%20Category%20Budget%20Variation.xml => Category%20Budget%20Variation.xml} (90%)
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getVariationRangeCategoryList.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_hashVariationCategoryList.xml
 rename bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/{SectionCategoryBudgetVariation_view/my_variation_base_category_list.xml => Budget_view/my_variation_category_list.xml} (77%)
 rename bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/{SectionCategoryBudgetVariation_view.xml => CategoryBudgetVariation_view.xml} (92%)
 rename bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/{SectionCategoryBudgetVariation_view => CategoryBudgetVariation_view}/my_budget_variation.xml (100%)
 rename bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/{SectionCategoryBudgetVariation_view => CategoryBudgetVariation_view}/my_int_index.xml (100%)
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml
 rename bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/{SectionCategoryBudgetVariation_view => CategoryBudgetVariation_view}/my_title.xml (100%)
 rename bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/{SectionCategoryBudgetVariation_view => CategoryBudgetVariation_view}/my_translated_portal_type.xml (100%)
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_variation_base_category.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_aggregate_title_list.xml
 create mode 100644 bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions/setSpecialise.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts/initializeBudget.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/variables.xml
 create mode 100644 bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/worklists.xml

diff --git a/bt5/erp5_budget/ActionTemplateItem/portal_types/Section%20Category%20Budget%20Variation/view.xml b/bt5/erp5_budget/ActionTemplateItem/portal_types/Category%20Budget%20Variation/view.xml
similarity index 95%
rename from bt5/erp5_budget/ActionTemplateItem/portal_types/Section%20Category%20Budget%20Variation/view.xml
rename to bt5/erp5_budget/ActionTemplateItem/portal_types/Category%20Budget%20Variation/view.xml
index a9edda8600..1a3da2e836 100644
--- a/bt5/erp5_budget/ActionTemplateItem/portal_types/Section%20Category%20Budget%20Variation/view.xml
+++ b/bt5/erp5_budget/ActionTemplateItem/portal_types/Category%20Budget%20Variation/view.xml
@@ -69,7 +69,7 @@
       <dictionary>
         <item>
             <key> <string>text</string> </key>
-            <value> <string>string:${object_url}/SectionCategoryBudgetVariation_view</string> </value>
+            <value> <string>string:${object_url}/CategoryBudgetVariation_view</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_budget/CategoryTemplateItem/portal_categories/budget_variation.xml b/bt5/erp5_budget/CategoryTemplateItem/portal_categories/budget_variation.xml
index 5334aaec76..4a8df731ca 100644
--- a/bt5/erp5_budget/CategoryTemplateItem/portal_categories/budget_variation.xml
+++ b/bt5/erp5_budget/CategoryTemplateItem/portal_categories/budget_variation.xml
@@ -49,7 +49,7 @@
         </item>
         <item>
             <key> <string>last_id</string> </key>
-            <value> <string>9</string> </value>
+            <value> <string>10</string> </value>
         </item>
         <item>
             <key> <string>portal_type</string> </key>
diff --git a/bt5/erp5_budget/CategoryTemplateItem/portal_categories/inventory_axis.xml b/bt5/erp5_budget/CategoryTemplateItem/portal_categories/inventory_axis.xml
new file mode 100644
index 0000000000..036afcd973
--- /dev/null
+++ b/bt5/erp5_budget/CategoryTemplateItem/portal_categories/inventory_axis.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_count</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_folder_handler</string> </key>
+            <value> <string>CMFBTreeFolderHandler</string> </value>
+        </item>
+        <item>
+            <key> <string>_mt_index</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>_tree</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>inventory_axis</string> </value>
+        </item>
+        <item>
+            <key> <string>last_id</string> </key>
+            <value> <string>16</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Base Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Inventory Axis</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Length" module="BTrees.Length"/>
+    </pickle>
+    <pickle> <int>0</int> </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="OOBTree" module="BTrees._OOBTree"/>
+    </pickle>
+    <pickle>
+      <none/>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget.xml
new file mode 100644
index 0000000000..d24e8ff400
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>budget_variation/budget</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>budget</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Budget</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_cell.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_cell.xml
new file mode 100644
index 0000000000..07e8bbd581
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_cell.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>budget_variation/cell</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>budget_cell</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Budget Cell</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_line.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_line.xml
new file mode 100644
index 0000000000..d20ddb5061
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/budget_line.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>budget_variation/line</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>budget_line</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Budget Line</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function.xml
new file mode 100644
index 0000000000..fe9acfcb41
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/function.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/function</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>function</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Function</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node.xml
new file mode 100644
index 0000000000..f7d9bce5b4
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/mirror_node</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>mirror_node</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Mirror Node</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node_category.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node_category.xml
new file mode 100644
index 0000000000..14776c586b
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_node_category.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/mirror_node</string>
+                <string>inventory_axis/mirror_node_category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>mirror_node_category</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Mirror Node Category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section.xml
new file mode 100644
index 0000000000..7ba2ee3117
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/mirror_section</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>mirror_section</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Mirror Section</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section_category.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section_category.xml
new file mode 100644
index 0000000000..f192f13ba2
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/mirror_section_category.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/mirror_section</string>
+                <string>inventory_axis/mirror_section_category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>mirror_section_category</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Mirror Section Category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement.xml
new file mode 100644
index 0000000000..3fbcfa0c8b
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/movement.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/movement</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>movement</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Category Membership on Movement</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node.xml
new file mode 100644
index 0000000000..fe944066e3
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/inventory_axis</string>
+                <string>inventory_axis/node</string>
+                <string>inventory_axis/node</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>node</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Node</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node_category.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node_category.xml
new file mode 100644
index 0000000000..a0661dff7f
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/node_category.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/inventory_axis</string>
+                <string>inventory_axis/node</string>
+                <string>inventory_axis/node</string>
+                <string>inventory_axis/node_category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>node_category</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Node Category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment.xml
new file mode 100644
index 0000000000..94f7170459
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/payment</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>payment</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Payment</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment_category.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment_category.xml
new file mode 100644
index 0000000000..78042187dd
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/payment_category.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/payment</string>
+                <string>inventory_axis/payment_category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>payment_category</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Payment Category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/cell.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/project.xml
similarity index 70%
rename from bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/cell.xml
rename to bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/project.xml
index b11f832150..3553b5a7a7 100644
--- a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/cell.xml
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/project.xml
@@ -13,19 +13,25 @@
             <key> <string>categories</string> </key>
             <value>
               <tuple>
-                <string>budget_variation/cell</string>
+                <string>inventory_axis/project</string>
               </tuple>
             </value>
         </item>
         <item>
-            <key> <string>description</string> </key>
+            <key> <string>codification</string> </key>
             <value>
               <none/>
             </value>
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>cell</string> </value>
+            <value> <string>project</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>portal_type</string> </key>
@@ -33,7 +39,7 @@
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Cell</string> </value>
+            <value> <string>Project</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/line.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section.xml
similarity index 70%
rename from bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/line.xml
rename to bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section.xml
index d00a9895eb..b539ba8b68 100644
--- a/bt5/erp5_budget/PathTemplateItem/portal_categories/budget_variation/line.xml
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section.xml
@@ -13,19 +13,25 @@
             <key> <string>categories</string> </key>
             <value>
               <tuple>
-                <string>budget_variation/line</string>
+                <string>inventory_axis/section</string>
               </tuple>
             </value>
         </item>
         <item>
-            <key> <string>description</string> </key>
+            <key> <string>codification</string> </key>
             <value>
               <none/>
             </value>
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>line</string> </value>
+            <value> <string>section</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>portal_type</string> </key>
@@ -33,7 +39,7 @@
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Line</string> </value>
+            <value> <string>Section</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section_category.xml b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section_category.xml
new file mode 100644
index 0000000000..d7fe76bc8b
--- /dev/null
+++ b/bt5/erp5_budget/PathTemplateItem/portal_categories/inventory_axis/section_category.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Category" module="Products.ERP5Type.Document.Category"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>inventory_axis/section</string>
+                <string>inventory_axis/section_category</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>codification</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>section_category</string> </value>
+        </item>
+        <item>
+            <key> <string>int_index</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Category</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Section Category</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_budget/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
index d36ca55649..7f40523344 100644
--- a/bt5/erp5_budget/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
+++ b/bt5/erp5_budget/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
@@ -8,7 +8,7 @@
  </portal_type>
  <portal_type id="Budget Model">
   <item>Node Budget Variation</item>
-  <item>Section Category Budget Variation</item>
+  <item>Category Budget Variation</item>
  </portal_type>
  <portal_type id="Budget Model Module">
   <item>Budget Model</item>
diff --git a/bt5/erp5_budget/PortalTypeBaseCategoryTemplateItem/base_category_list.xml b/bt5/erp5_budget/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
index 84ec895b68..db883b3783 100644
--- a/bt5/erp5_budget/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
+++ b/bt5/erp5_budget/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
@@ -12,4 +12,7 @@
  <portal_type id="Budget Transfer Line">
   <item>group</item>
  </portal_type>
+ <portal_type id="Node Budget Variation">
+  <item>aggregate</item>
+ </portal_type>
 </base_category_list>
\ No newline at end of file
diff --git a/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model%20Module.xml b/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model%20Module.xml
index c0ac77e4c1..5747345a5d 100644
--- a/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model%20Module.xml
+++ b/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model%20Module.xml
@@ -92,7 +92,7 @@
   An ERP5 Binder document class will eventually be defined\n
   in order to implement a binder of documents which can itself\n
   be categorized.\n
-  </string> </value>
+</string> </value>
         </item>
         <item>
             <key> <string>factory</string> </key>
diff --git a/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model.xml b/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model.xml
index c133be5d3a..cdcfad7ff8 100644
--- a/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model.xml
+++ b/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Budget%20Model.xml
@@ -21,6 +21,25 @@
               <dictionary/>
             </value>
         </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>_roles</string> </key>
             <value>
@@ -100,4 +119,44 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Section%20Category%20Budget%20Variation.xml b/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Category%20Budget%20Variation.xml
similarity index 90%
rename from bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Section%20Category%20Budget%20Variation.xml
rename to bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Category%20Budget%20Variation.xml
index bca8d043e2..322db81aa0 100644
--- a/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Section%20Category%20Budget%20Variation.xml
+++ b/bt5/erp5_budget/PortalTypeTemplateItem/portal_types/Category%20Budget%20Variation.xml
@@ -49,15 +49,15 @@
         </item>
         <item>
             <key> <string>content_meta_type</string> </key>
-            <value> <string>ERP5 Section Category Budget Variation</string> </value>
+            <value> <string>ERP5 Category Budget Variation</string> </value>
         </item>
         <item>
             <key> <string>description</string> </key>
-            <value> <string>  </string> </value>
+            <value> <string></string> </value>
         </item>
         <item>
             <key> <string>factory</string> </key>
-            <value> <string>addSectionCategoryBudgetVariation</string> </value>
+            <value> <string>addCategoryBudgetVariation</string> </value>
         </item>
         <item>
             <key> <string>filter_content_types</string> </key>
@@ -79,7 +79,7 @@
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>Section Category Budget Variation</string> </value>
+            <value> <string>Category Budget Variation</string> </value>
         </item>
         <item>
             <key> <string>init_script</string> </key>
diff --git a/bt5/erp5_budget/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_budget/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index 6f9a30ac1a..d6bfdeb608 100644
--- a/bt5/erp5_budget/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/bt5/erp5_budget/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -1,7 +1,7 @@
 <workflow_chain>
  <chain>
   <type>Budget</type>
-  <workflow>budget_workflow, edit_workflow</workflow>
+  <workflow>budget_workflow, budget_interaction_workflow, edit_workflow</workflow>
  </chain>
  <chain>
   <type>Budget Cell</type>
@@ -28,11 +28,11 @@
   <workflow>edit_workflow</workflow>
  </chain>
  <chain>
-  <type>Node Budget Variation</type>
+  <type>Category Budget Variation</type>
   <workflow>edit_workflow</workflow>
  </chain>
  <chain>
-  <type>Section Category Budget Variation</type>
+  <type>Node Budget Variation</type>
   <workflow>edit_workflow</workflow>
  </chain>
 </workflow_chain>
\ No newline at end of file
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getVariationRangeCategoryList.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getVariationRangeCategoryList.xml
new file mode 100644
index 0000000000..adf95556ca
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_getVariationRangeCategoryList.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>budget_model = context.getSpecialiseValue(portal_type=\'Budget Model\')\n
+if budget_model is not None:\n
+  return budget_model.getBudgetVariationRangeCategoryList(context)\n
+\n
+return []\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>budget_model</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Budget_getVariationRangeCategoryList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_hashVariationCategoryList.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_hashVariationCategoryList.xml
new file mode 100644
index 0000000000..329a0bcb81
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_hashVariationCategoryList.xml
@@ -0,0 +1,198 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Remove empty items\n
+item_list = filter(lambda x: x not in [(\'\',\'\'), [\'\',\'\']],\\\n
+                   item_list)\n
+\n
+sub_field_dict = {}\n
+split_depth = 1\n
+\n
+resolveCategory = context.getPortalObject().portal_categories.resolveCategory\n
+\n
+for item in item_list:\n
+  # Get value of the item\n
+  item_value = item[int(not is_right_display)]\n
+\n
+  # Hash key from item_value\n
+  item_split = string.split(item_value, \'/\')\n
+  item_key = string.join(item_split[:split_depth] , \'/\' )\n
+  base_category = item_split[0]\n
+\n
+  if not sub_field_dict.has_key(item_key):\n
+    # Create property dict\n
+    sub_field_property_dict = default_sub_field_property_dict.copy()\n
+    sub_field_property_dict[\'key\'] = item_key\n
+    sub_field_property_dict[\'required\'] = 0\n
+\n
+    # XXX for each "item_key" we must check if it can be multivaluated or not\n
+    if 0:\n
+      sub_field_property_dict[\'field_type\'] = \'MultiListField\'\n
+      sub_field_property_dict[\'size\'] = 5\n
+    sub_field_property_dict[\'field_type\'] = \'ListField\'\n
+    sub_field_property_dict[\'size\'] = 1\n
+\n
+    sub_field_property_dict[\'item_list\'] = [(\'\',\'\')]\n
+    sub_field_property_dict[\'value\'] = []\n
+    sub_field_dict[item_key] = sub_field_property_dict\n
+\n
+  sub_field_dict[item_key][\'item_list\'] =\\\n
+     sub_field_dict[item_key][\'item_list\'] + [item]\n
+  if item_value in value_list:\n
+    # XXX for each "item_key" we must check if it can be multivaluated or not\n
+    if 0:\n
+      sub_field_dict[item_key][\'value\'] =\\\n
+        sub_field_dict[item_key][\'value\'] + [item_value]\n
+\n
+    sub_field_dict[item_key][\'value\'] = item_value\n
+\n
+\n
+  base_category_value = resolveCategory(base_category)\n
+  if base_category_value is not None:\n
+    sub_field_dict[item_key][\'title\'] = base_category_value.getTranslatedTitle()\n
+  else:\n
+    sub_field_dict[item_key][\'title\'] = base_category\n
+   \n
+return sub_field_dict.values()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>item_list, value_list, default_sub_field_property_dict={}, is_right_display=0</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>4</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>item_list</string>
+                            <string>value_list</string>
+                            <string>default_sub_field_property_dict</string>
+                            <string>is_right_display</string>
+                            <string>filter</string>
+                            <string>sub_field_dict</string>
+                            <string>split_depth</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>resolveCategory</string>
+                            <string>_getiter_</string>
+                            <string>item</string>
+                            <string>_getitem_</string>
+                            <string>int</string>
+                            <string>item_value</string>
+                            <string>string</string>
+                            <string>item_split</string>
+                            <string>item_key</string>
+                            <string>base_category</string>
+                            <string>sub_field_property_dict</string>
+                            <string>_write_</string>
+                            <string>base_category_value</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <dictionary/>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Budget_hashVariationCategoryList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view.xml
index 7b07478023..da35eced1a 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view.xml
@@ -94,6 +94,7 @@
                         <string>my_resource_title</string>
                         <string>my_specialise_title</string>
                         <string>my_budget_type</string>
+                        <string>my_variation_category_list</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_variation_base_category_list.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view/my_variation_category_list.xml
similarity index 77%
rename from bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_variation_base_category_list.xml
rename to bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view/my_variation_category_list.xml
index c5840bc092..1da4f28e62 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_variation_base_category_list.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/Budget_view/my_variation_category_list.xml
@@ -3,7 +3,7 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="LinesField" module="Products.Formulator.StandardFields"/>
+        <global name="ParallelListField" module="Products.ERP5Form.ParallelListField"/>
         <tuple/>
       </tuple>
     </pickle>
@@ -11,7 +11,7 @@
       <dictionary>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>my_variation_base_category_list</string> </value>
+            <value> <string>my_variation_category_list</string> </value>
         </item>
         <item>
             <key> <string>message_values</string> </key>
@@ -21,21 +21,13 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
                 <item>
                     <key> <string>required_not_found</string> </key>
                     <value> <string>Input is required but no input given.</string> </value>
                 </item>
                 <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
                 </item>
               </dictionary>
             </value>
@@ -77,23 +69,23 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>height</string> </key>
+                    <key> <string>extra_item</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>first_item</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_length</string> </key>
+                    <key> <string>hash_script_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_linelength</string> </key>
+                    <key> <string>hidden</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_lines</string> </key>
+                    <key> <string>items</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
@@ -101,23 +93,19 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>size</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>view_separator</string> </key>
+                    <key> <string>title</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>unicode</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>width</string> </key>
+                    <key> <string>view_separator</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -137,7 +125,9 @@
                 </item>
                 <item>
                     <key> <string>default</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>description</string> </key>
@@ -160,47 +150,45 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>height</string> </key>
+                    <key> <string>extra_item</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>first_item</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_length</string> </key>
+                    <key> <string>hash_script_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_linelength</string> </key>
+                    <key> <string>hidden</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>required</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
+                    <key> <string>size</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>view_separator</string> </key>
+                    <key> <string>title</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>unicode</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>width</string> </key>
+                    <key> <string>view_separator</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -245,32 +233,38 @@
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>height</string> </key>
-                    <value> <int>5</int> </value>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>first_item</string> </key>
                     <value> <int>0</int> </value>
                 </item>
                 <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>hash_script_id</string> </key>
+                    <value> <string>Budget_hashVariationCategoryList</string> </value>
                 </item>
                 <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
                 </item>
                 <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
                 </item>
                 <item>
                     <key> <string>required</string> </key>
                     <value> <int>0</int> </value>
                 </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Base Categories</string> </value>
+                    <value> <string>Variation Category</string> </value>
                 </item>
                 <item>
                     <key> <string>unicode</string> </key>
@@ -284,18 +278,42 @@
 
 ]]></string> </value>
                 </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>here/getVariationCategoryList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>here/Budget_getVariationRangeCategoryList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view.xml
similarity index 92%
rename from bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view.xml
rename to bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view.xml
index 0073e0a49e..e671411669 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view.xml
@@ -100,7 +100,8 @@
                         <string>my_int_index</string>
                         <string>my_translated_portal_type</string>
                         <string>my_budget_variation</string>
-                        <string>my_variation_base_category_list</string>
+                        <string>my_variation_base_category</string>
+                        <string>my_inventory_axis</string>
                       </list>
                     </value>
                 </item>
@@ -115,7 +116,7 @@
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>SectionCategoryBudgetVariation_view</string> </value>
+            <value> <string>CategoryBudgetVariation_view</string> </value>
         </item>
         <item>
             <key> <string>method</string> </key>
@@ -123,7 +124,7 @@
         </item>
         <item>
             <key> <string>name</string> </key>
-            <value> <string>SectionCategoryBudgetVariation_view</string> </value>
+            <value> <string>CategoryBudgetVariation_view</string> </value>
         </item>
         <item>
             <key> <string>pt</string> </key>
@@ -139,7 +140,7 @@
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Section Category Budget Variation</string> </value>
+            <value> <string>Category Budget Variation</string> </value>
         </item>
         <item>
             <key> <string>unicode_mode</string> </key>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_budget_variation.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_budget_variation.xml
similarity index 100%
rename from bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_budget_variation.xml
rename to bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_budget_variation.xml
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_int_index.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_int_index.xml
similarity index 100%
rename from bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_int_index.xml
rename to bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_int_index.xml
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml
new file mode 100644
index 0000000000..b4640c1c31
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_inventory_axis.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_inventory_axis</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_title.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_title.xml
similarity index 100%
rename from bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_title.xml
rename to bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_title.xml
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_translated_portal_type.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_translated_portal_type.xml
similarity index 100%
rename from bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/SectionCategoryBudgetVariation_view/my_translated_portal_type.xml
rename to bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_translated_portal_type.xml
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_variation_base_category.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_variation_base_category.xml
new file mode 100644
index 0000000000..1777ef5003
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/CategoryBudgetVariation_view/my_variation_base_category.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>items</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_variation_base_category</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Base Category</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(\'\', \'\')] + [(bc.getTranslatedTitle(), bc.getId()) for bc in context.portal_categories.contentValues(sort_on=((\'translated_title\', \'asc\'),))]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view.xml
index e1f738eb34..8c46b32a02 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view.xml
@@ -103,13 +103,16 @@
                         <string>my_variation_base_category</string>
                         <string>my_node_select_method_id</string>
                         <string>my_node_title_method_id</string>
+                        <string>my_inventory_axis</string>
                       </list>
                     </value>
                 </item>
                 <item>
                     <key> <string>right</string> </key>
                     <value>
-                      <list/>
+                      <list>
+                        <string>my_aggregate_title_list</string>
+                      </list>
                     </value>
                 </item>
               </dictionary>
@@ -125,7 +128,7 @@
         </item>
         <item>
             <key> <string>name</string> </key>
-            <value> <string>SectionCategoryBudgetVariation_view</string> </value>
+            <value> <string>NodeBudgetVariation_view</string> </value>
         </item>
         <item>
             <key> <string>pt</string> </key>
@@ -141,7 +144,7 @@
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Section Category Budget Variation</string> </value>
+            <value> <string>Node Budget Variation</string> </value>
         </item>
         <item>
             <key> <string>unicode_mode</string> </key>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_aggregate_title_list.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_aggregate_title_list.xml
new file mode 100644
index 0000000000..b460c783e5
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_aggregate_title_list.xml
@@ -0,0 +1,617 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="MultiRelationStringField" module="Products.ERP5Form.MultiRelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_aggregate_title_list</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>aggregate</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>title</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>relative_url</string>
+                          <string>URL</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_portal_type</string>
+                          <string>Type</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>TALES</string>
+                          <string>TALES</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>proxy_listbox_ids</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Possible Nodes</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string encoding="cdata"><![CDATA[
+
+<br />
+
+]]></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x, x) for x in (here.getPortalNodeTypeList() + here.getPortalPaymentNodeTypeList() + here.getPortalResourceTypeList() + here.getPortalProjectTypeList())]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml
new file mode 100644
index 0000000000..b4640c1c31
--- /dev/null
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_inventory_axis.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_inventory_axis</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_variation_base_category.xml b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_variation_base_category.xml
index 1b6fb5395e..1777ef5003 100644
--- a/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_variation_base_category.xml
+++ b/bt5/erp5_budget/SkinTemplateItem/portal_skins/erp5_budget/NodeBudgetVariation_view/my_variation_base_category.xml
@@ -3,12 +3,21 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>items</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_variation_base_category</string> </value>
@@ -21,14 +30,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -37,71 +38,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -112,71 +57,21 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>enabled</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
                 </item>
                 <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -187,77 +82,41 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_category</string> </value>
                 </item>
                 <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Base Category</string> </value>
                 </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(\'\', \'\')] + [(bc.getTranslatedTitle(), bc.getId()) for bc in context.portal_categories.contentValues(sort_on=((\'translated_title\', \'asc\'),))]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow.xml
new file mode 100644
index 0000000000..a5d8357c09
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>budget_interaction_workflow</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions.xml
new file mode 100644
index 0000000000..6788072919
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Interaction" module="Products.ERP5.Interaction"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>interactions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions/setSpecialise.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions/setSpecialise.xml
new file mode 100644
index 0000000000..cf7d377355
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/interactions/setSpecialise.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <list>
+                <string>initializeBudget</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Initialize budget with budget model when a budget model is associated to the budget</string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>setSpecialise</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>_setSpecialise.*</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Initialize budget</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts.xml
new file mode 100644
index 0000000000..0622b3c34f
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts/initializeBudget.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts/initializeBudget.xml
new file mode 100644
index 0000000000..c823a19c89
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/scripts/initializeBudget.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>budget = sci[\'object\']\n
+budget_model = budget.getSpecialiseValue(portal_type=\'Budget Model\')\n
+if budget_model is not None:\n
+  budget_model.initializeBudget(budget)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>sci</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>sci</string>
+                            <string>_getitem_</string>
+                            <string>budget</string>
+                            <string>_getattr_</string>
+                            <string>budget_model</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>initializeBudget</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/variables.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/variables.xml
new file mode 100644
index 0000000000..5547232278
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/variables.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Variables" module="Products.DCWorkflow.Variables"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/worklists.xml b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/worklists.xml
new file mode 100644
index 0000000000..1f8b17b012
--- /dev/null
+++ b/bt5/erp5_budget/WorkflowTemplateItem/portal_workflow/budget_interaction_workflow/worklists.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 274ccca8ac..1e3852840b 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-209
\ No newline at end of file
+211
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_action_path_list b/bt5/erp5_budget/bt/template_action_path_list
index 70c375616a..222718f33f 100644
--- a/bt5/erp5_budget/bt/template_action_path_list
+++ b/bt5/erp5_budget/bt/template_action_path_list
@@ -15,5 +15,5 @@ Budget | generate_structure
 Budget | original_budget
 Budget | transfer_line_list_view
 Budget | view
-Node Budget Variation | view
-Section Category Budget Variation | view
\ No newline at end of file
+Category Budget Variation | view
+Node Budget Variation | view
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_base_category_list b/bt5/erp5_budget/bt/template_base_category_list
index 71bf8cdd5f..f80cc6e2dd 100644
--- a/bt5/erp5_budget/bt/template_base_category_list
+++ b/bt5/erp5_budget/bt/template_base_category_list
@@ -1,4 +1,5 @@
 budget_line_type
 budget_section
 budget_type
-budget_variation
\ No newline at end of file
+budget_variation
+inventory_axis
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_path_list b/bt5/erp5_budget/bt/template_path_list
index c702e81f42..0d03c9c1c3 100644
--- a/bt5/erp5_budget/bt/template_path_list
+++ b/bt5/erp5_budget/bt/template_path_list
@@ -1 +1,2 @@
-portal_categories/budget_variation/**
\ No newline at end of file
+portal_categories/budget_variation/**
+portal_categories/inventory_axis/**
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_budget/bt/template_portal_type_allowed_content_type_list
index f07011dbc8..4e3c19c739 100644
--- a/bt5/erp5_budget/bt/template_portal_type_allowed_content_type_list
+++ b/bt5/erp5_budget/bt/template_portal_type_allowed_content_type_list
@@ -1,7 +1,7 @@
 Budget Line | Budget Cell
 Budget Model Module | Budget Model
+Budget Model | Category Budget Variation
 Budget Model | Node Budget Variation
-Budget Model | Section Category Budget Variation
 Budget Module | Budget
 Budget Transaction Module | Budget Transaction
 Budget Transfer | Budget Transfer Line
diff --git a/bt5/erp5_budget/bt/template_portal_type_base_category_list b/bt5/erp5_budget/bt/template_portal_type_base_category_list
index dd293db2a9..8f15da7e25 100644
--- a/bt5/erp5_budget/bt/template_portal_type_base_category_list
+++ b/bt5/erp5_budget/bt/template_portal_type_base_category_list
@@ -2,4 +2,5 @@ Budget Line | budget_line_type
 Budget Transaction | group
 Budget Transfer Line | group
 Budget | budget_type
-Budget | specialise
\ No newline at end of file
+Budget | specialise
+Node Budget Variation | aggregate
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_portal_type_id_list b/bt5/erp5_budget/bt/template_portal_type_id_list
index 28197470f7..c21f62743f 100644
--- a/bt5/erp5_budget/bt/template_portal_type_id_list
+++ b/bt5/erp5_budget/bt/template_portal_type_id_list
@@ -8,5 +8,5 @@ Budget Transaction
 Budget Transaction Module
 Budget Transfer
 Budget Transfer Line
-Node Budget Variation
-Section Category Budget Variation
\ No newline at end of file
+Category Budget Variation
+Node Budget Variation
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_portal_type_workflow_chain_list b/bt5/erp5_budget/bt/template_portal_type_workflow_chain_list
index 627de689ea..b9f643a3d9 100644
--- a/bt5/erp5_budget/bt/template_portal_type_workflow_chain_list
+++ b/bt5/erp5_budget/bt/template_portal_type_workflow_chain_list
@@ -8,7 +8,8 @@ Budget Transaction | edit_workflow
 Budget Transaction | pricing_interaction_workflow
 Budget Transfer Line | edit_workflow
 Budget Transfer | edit_workflow
+Budget | budget_interaction_workflow
 Budget | budget_workflow
 Budget | edit_workflow
-Node Budget Variation | edit_workflow
-Section Category Budget Variation | edit_workflow
\ No newline at end of file
+Category Budget Variation | edit_workflow
+Node Budget Variation | edit_workflow
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_workflow_id_list b/bt5/erp5_budget/bt/template_workflow_id_list
index e5fab90559..f34924e65b 100644
--- a/bt5/erp5_budget/bt/template_workflow_id_list
+++ b/bt5/erp5_budget/bt/template_workflow_id_list
@@ -1,3 +1,4 @@
+budget_interaction_workflow
 budget_line_interaction_workflow
 budget_transaction_workflow
 budget_workflow
\ No newline at end of file
-- 
2.30.9