diff --git a/product/ERP5/Document/Budget.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.Budget.py
similarity index 100%
rename from product/ERP5/Document/Budget.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.Budget.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.Budget.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.Budget.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f711fde7540cc38c828b0a97269e9bf011d44ea5
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.Budget.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>Budget</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.Budget</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.Budget</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 37,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 42,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 59,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 60,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 61,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 64,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 65,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetCell.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetCell.py
similarity index 100%
rename from product/ERP5/Document/BudgetCell.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetCell.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetCell.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetCell.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ae6109550574b81feabe834e1b9bd3ca67f0ad55
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetCell.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetCell</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetCell</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetCell</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 38,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 44,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 61,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 62,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 63,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 66,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 67,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 69,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 70,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 71,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 74,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 75,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 76,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 77,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 81,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 82,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 83,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 88,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 89,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 90,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 91,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 92,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 93,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 94,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 95,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 97,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 98,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 99,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:102,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:103,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:105,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:106,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:107,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:110,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:111,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:112,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W:113,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:117,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:118,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:119,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:122,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:124,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:125,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:126,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:129,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:130,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:131,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W:132,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:136,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:138,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:139,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:140,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:142,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:144,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:145,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:148,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:149,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W:150,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:151,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W:152,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:154,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:155,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:158,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:159,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W:160,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:161,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W:162,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W:164,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:166,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:167,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W:138,  4: Arguments number differs from overridden \'getExplanationValue\' method (arguments-differ)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetLine.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetLine.py
similarity index 100%
rename from product/ERP5/Document/BudgetLine.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetLine.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetLine.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetLine.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b4ce859d044d47bbd6dbee2f96b75b2875732f8b
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetLine.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetLine</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetLine</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetLine</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetModel.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetModel.py
similarity index 100%
rename from product/ERP5/Document/BudgetModel.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetModel.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetModel.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetModel.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e987224f2756b98a726d68c683c6b2c171a8cfcc
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetModel.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetModel</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetModel</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetModel</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetTransaction.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransaction.py
similarity index 100%
rename from product/ERP5/Document/BudgetTransaction.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransaction.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransaction.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransaction.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7847299de3e3516e5dc41c8cbb3c8acdd6728d54
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransaction.xml
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetTransaction</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetTransaction</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetTransaction</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 35,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 40,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 52,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 53,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 54,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 57,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 58,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 61,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 63,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 64,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 67,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetTransfer.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransfer.py
similarity index 100%
rename from product/ERP5/Document/BudgetTransfer.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransfer.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransfer.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransfer.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e5f41c1f600ada86c17b17929f6cafb293f44ffa
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransfer.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetTransfer</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetTransfer</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetTransfer</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 36,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 41,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 51,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 52,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 53,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 56,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 57,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetTransferLine.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransferLine.py
similarity index 100%
rename from product/ERP5/Document/BudgetTransferLine.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransferLine.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransferLine.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransferLine.xml
new file mode 100644
index 0000000000000000000000000000000000000000..688d107e1c33a9c1a079d21e34640173fc00dbae
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetTransferLine.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetTransferLine</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetTransferLine</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetTransferLine</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 38,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 43,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 52,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 53,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 54,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 57,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 58,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/BudgetVariation.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetVariation.py
similarity index 100%
rename from product/ERP5/Document/BudgetVariation.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetVariation.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetVariation.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetVariation.xml
new file mode 100644
index 0000000000000000000000000000000000000000..857e502f73e5970b784c60f18cfacaf01a82fa9e
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.BudgetVariation.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>BudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.BudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.BudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/CategoryBudgetVariation.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.CategoryBudgetVariation.py
similarity index 99%
rename from product/ERP5/Document/CategoryBudgetVariation.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.CategoryBudgetVariation.py
index 2721e9c43b03798ac2940060e7a6168d2e441404..c593ebdd08ac58f51a003fa6ddf9eec67d02e07e 100644
--- a/product/ERP5/Document/CategoryBudgetVariation.py
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.CategoryBudgetVariation.py
@@ -28,7 +28,7 @@
 from AccessControl import ClassSecurityInfo
 
 from Products.ERP5Type import Permissions, PropertySheet
-from Products.ERP5.Document.BudgetVariation import BudgetVariation
+from erp5.component.document.BudgetVariation import BudgetVariation
 
 
 class CategoryBudgetVariation(BudgetVariation):
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.CategoryBudgetVariation.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.CategoryBudgetVariation.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a981f521bcf73550ec6d18478b1e98e2c51828be
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.CategoryBudgetVariation.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>CategoryBudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.CategoryBudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.CategoryBudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W:144, 31: Unused variable \'category_url\' (unused-variable)</string>
+                <string>W:187, 10: Unused variable \'title\' (unused-variable)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/NodeBudgetVariation.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.NodeBudgetVariation.py
similarity index 99%
rename from product/ERP5/Document/NodeBudgetVariation.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.NodeBudgetVariation.py
index 7ca470290b92dd8aa0438f3b3f26a408302bbded..b20d4feab44a1b2bb4da16881a9df295603ae48e 100644
--- a/product/ERP5/Document/NodeBudgetVariation.py
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.NodeBudgetVariation.py
@@ -29,7 +29,8 @@ from AccessControl import ClassSecurityInfo
 
 from AccessControl.ZopeGuards import guarded_getattr
 from Products.ERP5Type import Permissions, PropertySheet
-from Products.ERP5.Document.BudgetVariation import BudgetVariation
+from erp5.component.document.BudgetVariation import BudgetVariation
+
 from Products.ZSQLCatalog.SQLCatalog import Query, NegatedQuery, ComplexQuery
 
 
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.NodeBudgetVariation.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.NodeBudgetVariation.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d9b9be1b3839e2b4e1836918bf8743be7e5f9d14
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.NodeBudgetVariation.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>NodeBudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.NodeBudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.NodeBudgetVariation</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W:133,  6: Unused variable \'consumption_dict\' (unused-variable)</string>
+                <string>W:284,  8: Unused variable \'__traceback_info__\' (unused-variable)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/TransactionQuantityValueFeasabilityConstraint.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueFeasabilityConstraint.py
similarity index 100%
rename from product/ERP5/Document/TransactionQuantityValueFeasabilityConstraint.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueFeasabilityConstraint.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueFeasabilityConstraint.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueFeasabilityConstraint.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a55981edec55466427f29919653365b1c9a16c1c
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueFeasabilityConstraint.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>TransactionQuantityValueFeasabilityConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.TransactionQuantityValueFeasabilityConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.TransactionQuantityValueFeasabilityConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 33,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 41,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 42,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 44,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 45,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 49,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 50,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 51,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 53,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 57,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 58,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 59,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 60,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 61,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 63,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 64,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 65,  0: Bad indentation. Found 14 spaces, expected 12 (bad-indentation)</string>
+                <string>W: 66,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 67,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 68,  0: Bad indentation. Found 14 spaces, expected 12 (bad-indentation)</string>
+                <string>W: 70,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 71,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 72,  0: Bad indentation. Found 14 spaces, expected 12 (bad-indentation)</string>
+                <string>W: 73,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 74,  0: Bad indentation. Found 14 spaces, expected 12 (bad-indentation)</string>
+                <string>W: 79,  0: Bad indentation. Found 14 spaces, expected 12 (bad-indentation)</string>
+                <string>W: 80,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 44, 32: Redefining built-in \'object\' (redefined-builtin)</string>
+                <string>W: 44,  4: Arguments number differs from overridden \'_checkConsistency\' method (arguments-differ)</string>
+                <string>W: 30,  0: Unused PropertySheet imported from Products.ERP5Type (unused-import)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/Document/TransactionQuantityValueValidityConstraint.py b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueValidityConstraint.py
similarity index 100%
rename from product/ERP5/Document/TransactionQuantityValueValidityConstraint.py
rename to bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueValidityConstraint.py
diff --git a/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueValidityConstraint.xml b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueValidityConstraint.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e6570b720f1f666f62f593a95d014a7352e549fd
--- /dev/null
+++ b/bt5/erp5_budget/DocumentTemplateItem/portal_components/document.erp5.TransactionQuantityValueValidityConstraint.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Document Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>TransactionQuantityValueValidityConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.Document.TransactionQuantityValueValidityConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>document.erp5.TransactionQuantityValueValidityConstraint</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Document Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple>
+                <string>W: 33,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 38,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 39,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 41,  0: Bad indentation. Found 4 spaces, expected 2 (bad-indentation)</string>
+                <string>W: 42,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 46,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 48,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 49,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 51,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 54,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 55,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 56,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 57,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 58,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 59,  0: Bad indentation. Found 13 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 62,  0: Bad indentation. Found 15 spaces, expected 12 (bad-indentation)</string>
+                <string>W: 63,  0: Bad indentation. Found 8 spaces, expected 6 (bad-indentation)</string>
+                <string>W: 64,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 65,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 66,  0: Bad indentation. Found 10 spaces, expected 8 (bad-indentation)</string>
+                <string>W: 67,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 71,  0: Bad indentation. Found 12 spaces, expected 10 (bad-indentation)</string>
+                <string>W: 72,  0: Bad indentation. Found 6 spaces, expected 4 (bad-indentation)</string>
+                <string>W: 41, 32: Redefining built-in \'object\' (redefined-builtin)</string>
+                <string>W: 41,  4: Arguments number differs from overridden \'_checkConsistency\' method (arguments-differ)</string>
+                <string>W: 30,  0: Unused PropertySheet imported from Products.ERP5Type (unused-import)</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/product/ERP5/tests/testBudget.py b/bt5/erp5_budget/TestTemplateItem/portal_components/test.erp5.testBudget.py
similarity index 100%
rename from product/ERP5/tests/testBudget.py
rename to bt5/erp5_budget/TestTemplateItem/portal_components/test.erp5.testBudget.py
diff --git a/bt5/erp5_budget/TestTemplateItem/portal_components/test.erp5.testBudget.xml b/bt5/erp5_budget/TestTemplateItem/portal_components/test.erp5.testBudget.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c9b732d55db2f977bc78afd02440badec8e317dc
--- /dev/null
+++ b/bt5/erp5_budget/TestTemplateItem/portal_components/test.erp5.testBudget.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Test Component" module="erp5.portal_type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>default_reference</string> </key>
+            <value> <string>testBudget</string> </value>
+        </item>
+        <item>
+            <key> <string>default_source_reference</string> </key>
+            <value> <string>Products.ERP5.tests.testBudget</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test.erp5.testBudget</string> </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Test Component</string> </value>
+        </item>
+        <item>
+            <key> <string>sid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_error_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>text_content_warning_message</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>version</string> </key>
+            <value> <string>erp5</string> </value>
+        </item>
+        <item>
+            <key> <string>workflow_history</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>component_validation_workflow</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/>
+    </pickle>
+    <pickle>
+      <tuple>
+        <none/>
+        <list>
+          <dictionary>
+            <item>
+                <key> <string>action</string> </key>
+                <value> <string>validate</string> </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>validated</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_budget/bt/template_document_id_list b/bt5/erp5_budget/bt/template_document_id_list
new file mode 100644
index 0000000000000000000000000000000000000000..e4750044f386fead9bb56525954cad7b03c0643d
--- /dev/null
+++ b/bt5/erp5_budget/bt/template_document_id_list
@@ -0,0 +1,12 @@
+document.erp5.Budget
+document.erp5.BudgetCell
+document.erp5.BudgetLine
+document.erp5.BudgetModel
+document.erp5.BudgetTransaction
+document.erp5.BudgetTransfer
+document.erp5.BudgetTransferLine
+document.erp5.BudgetVariation
+document.erp5.CategoryBudgetVariation
+document.erp5.NodeBudgetVariation
+document.erp5.TransactionQuantityValueFeasabilityConstraint
+document.erp5.TransactionQuantityValueValidityConstraint
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_test_id_list b/bt5/erp5_budget/bt/template_test_id_list
new file mode 100644
index 0000000000000000000000000000000000000000..e87e769bc074b50e264ca313c70b90e51ae89f2a
--- /dev/null
+++ b/bt5/erp5_budget/bt/template_test_id_list
@@ -0,0 +1 @@
+test.erp5.testBudget
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/test_dependency_list b/bt5/erp5_budget/bt/test_dependency_list
new file mode 100644
index 0000000000000000000000000000000000000000..1eed7bf99834d920e97f269b280cca9799c07565
--- /dev/null
+++ b/bt5/erp5_budget/bt/test_dependency_list
@@ -0,0 +1,15 @@
+erp5_full_text_myisam_catalog
+erp5_core_proxy_field_legacy
+erp5_pdm
+erp5_simulation
+erp5_trade
+erp5_accounting
+erp5_invoicing
+erp5_simplified_invoicing
+erp5_accounting_ui_test
+erp5_budget
+erp5_configurator_standard_solver
+erp5_configurator_standard_trade_template
+erp5_configurator_standard_accounting_template
+erp5_configurator_standard_invoicing_template
+erp5_simulation_test
\ No newline at end of file