From 0e8e4dd5669f7695f67fac317dd0f44746f236f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Mon, 8 Nov 2010 16:53:45 +0000
Subject: [PATCH] support reports by funding

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@40062 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...ntModule_getAccountListForTrialBalance.xml | 167 ++++++++++-
 ...e_getAccountStatementReportSectionList.xml |  77 ++++-
 .../AccountModule_getAnalyticColumnList.xml   |  81 ++++-
 ...dule_getGeneralLedgerReportSectionList.xml | 112 ++++++-
 .../AccountModule_getGeneralLedgerSummary.xml |  75 ++++-
 ...odule_getTrialBalanceReportSectionList.xml |  84 +++++-
 ...tModule_statAccountListForTrialBalance.xml |  45 +++
 ...countModule_viewAccountStatementReport.xml |   3 +-
 .../your_funding.xml                          |  90 ++++++
 ...odule_viewAccountStatementReportDialog.xml |   1 +
 .../your_funding.xml                          |  90 ++++++
 .../your_funding.xml                          | 173 +++++++++++
 .../AccountModule_viewGeneralLedgerReport.xml |   3 +-
 .../your_funding.xml                          |  90 ++++++
 ...ntModule_viewGeneralLedgerReportDialog.xml |   1 +
 .../your_funding.xml                          |  90 ++++++
 .../AccountModule_viewReportFieldLibrary.xml  |   1 +
 .../your_funding.xml                          | 197 +++++++++++++
 .../AccountModule_viewTrialBalanceReport.xml  |   5 +-
 .../your_funding.xml                          |  90 ++++++
 ...untModule_viewTrialBalanceReportDialog.xml |   1 +
 .../your_funding.xml                          |  90 ++++++
 .../listbox_funding.xml                       | 275 +++++++++++++++++
 ...ingTransactionLine_getFunctionItemList.xml |  43 ++-
 ...actionLine_getFundingBaseCategoryTitle.xml | 128 ++++++++
 ...tingTransactionLine_getFundingItemList.xml | 139 +++++++++
 ...actionModule_getJournalSectionLineList.xml |  95 ++++++
 .../Movement_getFundingTitle.xml              | 135 +++++++++
 .../Node_getAccountingTransactionList.xml     | 108 +++++++
 .../Node_statAccountingBalance.xml            |  83 ++++++
 .../SystemPreference_viewAccounting.xml       |   1 +
 ...ction_line_analytic_base_category_list.xml |   2 +-
 ...ransaction_line_function_base_category.xml |   2 +-
 ...transaction_line_funding_base_category.xml | 277 ++++++++++++++++++
 bt5/erp5_accounting/bt/revision               |   2 +-
 35 files changed, 2827 insertions(+), 29 deletions(-)
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewDialogFieldLibrary/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_viewAccountingTransactionList/listbox_funding.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingBaseCategoryTitle.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingItemList.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Movement_getFundingTitle.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_funding_base_category.xml

diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
index 85629ef9b1..6afb620649 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml
@@ -91,7 +91,12 @@ if function:\n
   if function == \'None\':\n
     inventory_params[\'function_uid\'] = Query(function_uid=None)\n
   else:\n
-    inventory_params[\'function\'] = function\n
+    inventory_params[\'function_category\'] = function\n
+if funding:\n
+  if funding == \'None\':\n
+    inventory_params[\'funding_uid\'] = Query(funding_uid=None)\n
+  else:\n
+    inventory_params[\'funding_category\'] = funding\n
 if project:\n
   if project == \'None\':\n
     inventory_params[\'project_uid\'] = Query(project_uid=None)\n
@@ -779,7 +784,7 @@ return new_line_list\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, node_uid, gap_root=None, per_account_class_summary=0, portal_type=None, function=None, project=None, group_analytic=[], mirror_section_category=None, **kw</string> </value>
+            <value> <string>show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, node_uid, gap_root=None, per_account_class_summary=0, portal_type=None, function=None, funding=None, project=None, group_analytic=[], mirror_section_category=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -787,6 +792,164 @@ return new_line_list\n
               <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>17</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>show_empty_accounts</string>
+                            <string>expand_accounts</string>
+                            <string>at_date</string>
+                            <string>from_date</string>
+                            <string>period_start_date</string>
+                            <string>section_uid</string>
+                            <string>simulation_state</string>
+                            <string>precision</string>
+                            <string>node_uid</string>
+                            <string>gap_root</string>
+                            <string>per_account_class_summary</string>
+                            <string>portal_type</string>
+                            <string>function</string>
+                            <string>funding</string>
+                            <string>project</string>
+                            <string>group_analytic</string>
+                            <string>mirror_section_category</string>
+                            <string>kw</string>
+                            <string>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>Object</string>
+                            <string>ZTUtils</string>
+                            <string>LazyFilter</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>getInventoryList</string>
+                            <string>getInventory</string>
+                            <string>traverse</string>
+                            <string>getObject</string>
+                            <string>Base_translateString</string>
+                            <string>selected_gap</string>
+                            <string>inventory_movement_type_list</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>_getiter_</string>
+                            <string>t</string>
+                            <string>balance_movement_type_list</string>
+                            <string>accounting_movement_type_list</string>
+                            <string>dict</string>
+                            <string>inventory_params</string>
+                            <string>_write_</string>
+                            <string>tuple</string>
+                            <string>None</string>
+                            <string>MARKER</string>
+                            <string>line_per_account</string>
+                            <string>account_used</string>
+                            <string>account_type_to_group_by_node</string>
+                            <string>profit_and_loss_account_type</string>
+                            <string>account_type_to_group_by_payment</string>
+                            <string>account_type_to_group_by_mirror_section</string>
+                            <string>total_debit</string>
+                            <string>total_credit</string>
+                            <string>total_initial_debit_balance</string>
+                            <string>total_initial_credit_balance</string>
+                            <string>total_final_balance_if_debit</string>
+                            <string>total_final_balance_if_credit</string>
+                            <string>False</string>
+                            <string>getKey</string>
+                            <string>analytic_title_dict</string>
+                            <string>getAnalyticTitleFromUid</string>
+                            <string>_apply_</string>
+                            <string>node</string>
+                            <string>_getitem_</string>
+                            <string>account_props</string>
+                            <string>total_price</string>
+                            <string>_inplacevar_</string>
+                            <string>round</string>
+                            <string>max</string>
+                            <string>node_title_and_id_cache</string>
+                            <string>getNodeTitleAndId</string>
+                            <string>True</string>
+                            <string>initial_balance_date</string>
+                            <string>found_balance</string>
+                            <string>period_movement_type_list</string>
+                            <string>min</string>
+                            <string>mirror_section_key</string>
+                            <string>line_list</string>
+                            <string>key</string>
+                            <string>data</string>
+                            <string>node_relative_url</string>
+                            <string>mirror_section_uid</string>
+                            <string>payment_uid</string>
+                            <string>analytic_key_list</string>
+                            <string>mirror_section_title</string>
+                            <string>node_title</string>
+                            <string>node_id</string>
+                            <string>node_string_index</string>
+                            <string>payment</string>
+                            <string>initial_debit_balance</string>
+                            <string>initial_credit_balance</string>
+                            <string>final_debit_balance</string>
+                            <string>final_credit_balance</string>
+                            <string>closing_balance</string>
+                            <string>line</string>
+                            <string>sort_key</string>
+                            <string>analytic_dict</string>
+                            <string>zip</string>
+                            <string>analytic</string>
+                            <string>uid</string>
+                            <string>title</string>
+                            <string>current_gap</string>
+                            <string>getAccountClass</string>
+                            <string>new_line_list</string>
+                            <string>account_per_class</string>
+                            <string>brain</string>
+                            <string>account_class_list</string>
+                            <string>add_line</string>
+                            <string>account_class</string>
+                            <string>debit</string>
+                            <string>credit</string>
+                            <string>final_balance_if_debit</string>
+                            <string>final_balance_if_credit</string>
+                            <string>account</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <int>0</int>
+                <none/>
+                <none/>
+                <none/>
+                <none/>
+                <list/>
+                <none/>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>AccountModule_getAccountListForTrialBalance</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountStatementReportSectionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountStatementReportSectionList.xml
index 4b66079db8..58bca79a9c 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountStatementReportSectionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountStatementReportSectionList.xml
@@ -77,6 +77,7 @@ node = request[\'node\']\n
 mirror_section = request.get(\'mirror_section\', None)\n
 payment = request.get(\'payment\', None)\n
 function = request.get(\'function\', None)\n
+funding = request.get(\'funding\', None)\n
 project = request.get(\'project\', None)\n
 simulation_state = request[\'simulation_state\']\n
 hide_analytic = request[\'hide_analytic\']\n
@@ -119,11 +120,9 @@ if project:\n
   else:\n
     params[\'project_uid\'] = traverse(project).getUid()\n
 if function:\n
-  if function == \'None\':\n
-    params[\'function_uid\'] = function\n
-  else:\n
-    params[\'function_uid\'] = traverse(function).getUid()\n
-    params[\'function\'] = function\n
+  params[\'function_category\'] = function\n
+if funding:\n
+  params[\'funding_category\'] = funding\n
 if mirror_section:\n
   params[\'mirror_section_uid\'] = traverse(mirror_section).getUid()\n
 if parent_portal_type:\n
@@ -208,6 +207,74 @@ return report_section_list\n
               <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>Products.ERP5Form.Report</string>
+                            <string>ReportSection</string>
+                            <string>Products.ERP5Type.Message</string>
+                            <string>translateString</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>request</string>
+                            <string>traverse</string>
+                            <string>True</string>
+                            <string>_getitem_</string>
+                            <string>at_date</string>
+                            <string>section_uid</string>
+                            <string>node</string>
+                            <string>None</string>
+                            <string>mirror_section</string>
+                            <string>payment</string>
+                            <string>function</string>
+                            <string>funding</string>
+                            <string>project</string>
+                            <string>simulation_state</string>
+                            <string>hide_analytic</string>
+                            <string>from_date</string>
+                            <string>detailed_from_date_summary</string>
+                            <string>omit_grouping_reference</string>
+                            <string>parent_portal_type</string>
+                            <string>period_start_date</string>
+                            <string>currency</string>
+                            <string>precision</string>
+                            <string>dict</string>
+                            <string>params</string>
+                            <string>_write_</string>
+                            <string>analytic_column_list</string>
+                            <string>selection_columns</string>
+                            <string>len</string>
+                            <string>_inplacevar_</string>
+                            <string>report_section_list</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>AccountModule_getAccountStatementReportSectionList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAnalyticColumnList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAnalyticColumnList.xml
index f87ce328c8..88cffa6d53 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAnalyticColumnList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAnalyticColumnList.xml
@@ -62,17 +62,20 @@ request.other[\'Movement_getProjectTitle.project_title_dict\'\n
     ] = project_title_dict = dict()\n
 request.other[\'Movement_getFunctionTitle.function_title_dict\'\n
     ] = function_title_dict = dict()\n
+request.other[\'Movement_getFundingTitle.funding_title_dict\'\n
+    ] = funding_title_dict = dict()\n
 \n
 analytic_column_list = ()\n
-project_item_list = context.AccountingTransactionLine_getProjectItemList()\n
-if project_item_list:\n
-  analytic_column_list += ((\'project\', \'Project\'),)\n
-for v, k in project_item_list:\n
+funding_item_list = context.AccountingTransactionLine_getFundingItemList()\n
+if funding_item_list:\n
+  analytic_column_list += ((\'funding\', context.AccountingTransactionLine_getFundingBaseCategoryTitle()),)\n
+for v, k in funding_item_list:\n
   if k:\n
     if k == \'None\' or isinstance(k, Query):\n
-      project_title_dict[None] = \'\'\n
+      funding_title_dict[None] = \'\'\n
     else:\n
-      project_title_dict[portal.portal_categories.restrictedTraverse(k).getUid()] = v\n
+      funding_title_dict[portal.portal_categories.restrictedTraverse(k).getUid()] = v\n
+\n
 function_item_list = context.AccountingTransactionLine_getFunctionItemList()\n
 if function_item_list:\n
   analytic_column_list += ((\'function\', context.AccountingTransactionLine_getFunctionBaseCategoryTitle()),)\n
@@ -82,6 +85,17 @@ for v, k in function_item_list:\n
       function_title_dict[None] = \'\'\n
     else:\n
       function_title_dict[portal.portal_categories.restrictedTraverse(k).getUid()] = v\n
+\n
+project_item_list = context.AccountingTransactionLine_getProjectItemList()\n
+if project_item_list:\n
+  analytic_column_list += ((\'project\', \'Project\'),)\n
+for v, k in project_item_list:\n
+  if k:\n
+    if k == \'None\' or isinstance(k, Query):\n
+      project_title_dict[None] = \'\'\n
+    else:\n
+      project_title_dict[portal.portal_categories.restrictedTraverse(k).getUid()] = v\n
+\n
 for base_category in \\\n
     portal.portal_preferences.getPreferredAccountingTransactionLineAnalyticBaseCategoryList() or []:\n
   title = portal.portal_categories.restrictedTraverse(base_category).getTitle()\n
@@ -106,6 +120,61 @@ return analytic_column_list\n
               <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>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>request</string>
+                            <string>dict</string>
+                            <string>_write_</string>
+                            <string>project_title_dict</string>
+                            <string>function_title_dict</string>
+                            <string>funding_title_dict</string>
+                            <string>analytic_column_list</string>
+                            <string>funding_item_list</string>
+                            <string>_inplacevar_</string>
+                            <string>_getiter_</string>
+                            <string>v</string>
+                            <string>k</string>
+                            <string>isinstance</string>
+                            <string>None</string>
+                            <string>function_item_list</string>
+                            <string>project_item_list</string>
+                            <string>base_category</string>
+                            <string>title</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>AccountModule_getAnalyticColumnList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
index 5776d24f6a..62d10abc67 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
@@ -105,12 +105,18 @@ if project:\n
     params[\'project_uid\'] = Query(project_uid=None)\n
   else:\n
     params[\'project_uid\'] = portal.portal_categories.restrictedTraverse(project).getUid()\n
-function = request.get(\'function\')\n
-if function:\n
-  if function == \'None\':\n
+funding_category = request.get(\'funding\')\n
+if funding_category:\n
+  if funding_category == \'None\':\n
+    params[\'funding_uid\'] = Query(funding_uid=None)\n
+  else:\n
+    params[\'funding_category\'] = funding_category\n
+function_category = request.get(\'function\')\n
+if function_category:\n
+  if function_category == \'None\':\n
     params[\'function_uid\'] = Query(function_uid=None)\n
   else:\n
-    params[\'function_uid\'] = portal.portal_categories.restrictedTraverse(function).getUid()\n
+    params[\'function_category\'] = function_category\n
 if mirror_section:\n
   mirror_section_uid = portal.restrictedTraverse(mirror_section).getUid()\n
   params[\'mirror_section_uid\'] = mirror_section_uid\n
@@ -472,6 +478,104 @@ return report_section_list\n
               <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>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
+                            <string>Products.ERP5Form.Report</string>
+                            <string>ReportSection</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>request</string>
+                            <string>cat_tool</string>
+                            <string>sim_tool</string>
+                            <string>Base_translateString</string>
+                            <string>_getitem_</string>
+                            <string>at_date</string>
+                            <string>section_category</string>
+                            <string>section_uid</string>
+                            <string>simulation_state</string>
+                            <string>hide_analytic</string>
+                            <string>None</string>
+                            <string>from_date</string>
+                            <string>mirror_section_category_list</string>
+                            <string>mirror_section</string>
+                            <string>gap_list</string>
+                            <string>_getiter_</string>
+                            <string>gap</string>
+                            <string>False</string>
+                            <string>display_categories</string>
+                            <string>period_start_date</string>
+                            <string>gap_root</string>
+                            <string>currency</string>
+                            <string>precision</string>
+                            <string>True</string>
+                            <string>_write_</string>
+                            <string>dict</string>
+                            <string>params</string>
+                            <string>project</string>
+                            <string>funding_category</string>
+                            <string>function_category</string>
+                            <string>mirror_section_uid</string>
+                            <string>default_selection_params</string>
+                            <string>analytic_column_list</string>
+                            <string>account_columns</string>
+                            <string>len</string>
+                            <string>_inplacevar_</string>
+                            <string>traverse</string>
+                            <string>account_name_cache</string>
+                            <string>getAccountName</string>
+                            <string>getObject</string>
+                            <string>title_for_uid_cache</string>
+                            <string>getTitleForUid</string>
+                            <string>getFullAccountName</string>
+                            <string>account_type_to_group_by_node</string>
+                            <string>profit_and_loss_account_type</string>
+                            <string>account_type_value</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>category</string>
+                            <string>account_type_to_group_by_payment</string>
+                            <string>account_type_to_group_by_mirror_section</string>
+                            <string>report_section_list</string>
+                            <string>existing_section_dict</string>
+                            <string>_apply_</string>
+                            <string>inventory</string>
+                            <string>key</string>
+                            <string>selection_params</string>
+                            <string>max</string>
+                            <string>total_params</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>AccountModule_getGeneralLedgerReportSectionList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
index 7b8cd518c6..baa6081832 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerSummary.xml
@@ -58,8 +58,10 @@ inventory_kw = dict(section_uid=section_uid,\n
                     at_date=at_date,\n
                     portal_type=context.getPortalAccountingMovementTypeList(),\n
                     )\n
-if function_uid:\n
-  inventory_kw[\'function_uid\'] = function_uid\n
+if function_category:\n
+  inventory_kw[\'function_category\'] = function_category\n
+if funding_category:\n
+  inventory_kw[\'funding_category\'] = funding_category\n
 if project_uid:\n
   inventory_kw[\'project_uid\'] = project_uid\n
 if mirror_section_category:\n
@@ -118,7 +120,7 @@ return [Object(debit_price=debit, credit_price=credit)]\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>section_uid, simulation_state, at_date, period_start_date, precision, node_category=None, function_uid=None, project_uid=None, from_date=\'ignored\', mirror_section_category=None, mirror_section_uid=None, **kw</string> </value>
+            <value> <string>section_uid, simulation_state, at_date, period_start_date, precision, node_category=None, function_category=None, funding_category=None, project_uid=None, from_date=\'ignored\', mirror_section_category=None, mirror_section_uid=None, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -126,6 +128,73 @@ return [Object(debit_price=debit, credit_price=credit)]\n
               <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>12</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>section_uid</string>
+                            <string>simulation_state</string>
+                            <string>at_date</string>
+                            <string>period_start_date</string>
+                            <string>precision</string>
+                            <string>node_category</string>
+                            <string>function_category</string>
+                            <string>funding_category</string>
+                            <string>project_uid</string>
+                            <string>from_date</string>
+                            <string>mirror_section_category</string>
+                            <string>mirror_section_uid</string>
+                            <string>kw</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>Object</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>getInventoryAssetPrice</string>
+                            <string>dict</string>
+                            <string>inventory_kw</string>
+                            <string>_write_</string>
+                            <string>_apply_</string>
+                            <string>income_node_category</string>
+                            <string>balance_node_category</string>
+                            <string>debit</string>
+                            <string>credit</string>
+                            <string>_inplacevar_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <none/>
+                <none/>
+                <none/>
+                <string>ignored</string>
+                <none/>
+                <none/>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>AccountModule_getGeneralLedgerSummary</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTrialBalanceReportSectionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTrialBalanceReportSectionList.xml
index 46ccdb8d3d..e79c93e5df 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTrialBalanceReportSectionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getTrialBalanceReportSectionList.xml
@@ -62,6 +62,7 @@ at_date  = request[\'at_date\']\n
 from_date = request.get(\'from_date\', None)\n
 portal_type = request.get(\'portal_type\', None)\n
 function = request.get(\'function\', None)\n
+funding = request.get(\'funding\', None)\n
 project = request.get(\'project\', None)\n
 simulation_state = request[\'simulation_state\']\n
 expand_accounts = request.get(\'expand_accounts\', False)\n
@@ -114,6 +115,10 @@ for analytic in group_analytic:\n
     extra_columns += ((\'function_uid\',\n
         context.AccountingTransactionLine_getFunctionBaseCategoryTitle()),)\n
     group_analytic_uid += (\'function_uid\',)\n
+  elif analytic == \'funding\':\n
+    extra_columns += ((\'funding_uid\',\n
+        context.AccountingTransactionLine_getFundingBaseCategoryTitle()),)\n
+    group_analytic_uid += (\'funding_uid\',)\n
   else:\n
     for analytic_column in possible_analytic_column_list:\n
       if analytic_column[0] == analytic:\n
@@ -147,7 +152,8 @@ return [ ReportSection(\n
                                   period_start_date=\n
                                           period_start_date.earliestTime(),\n
                                   section_uid=section_uid,\n
-                                  function=function,\n
+                                  function_category=function,\n
+                                  funding_cateory=funding,\n
                                   project=project,\n
                                   portal_type=portal_type,\n
                                   simulation_state=simulation_state,\n
@@ -177,6 +183,82 @@ return [ ReportSection(\n
               <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>Products.ERP5Form.Report</string>
+                            <string>ReportSection</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>request</string>
+                            <string>portal</string>
+                            <string>N_</string>
+                            <string>_getitem_</string>
+                            <string>at_date</string>
+                            <string>None</string>
+                            <string>from_date</string>
+                            <string>portal_type</string>
+                            <string>function</string>
+                            <string>funding</string>
+                            <string>project</string>
+                            <string>simulation_state</string>
+                            <string>False</string>
+                            <string>expand_accounts</string>
+                            <string>show_empty_accounts</string>
+                            <string>per_account_class_summary</string>
+                            <string>gap_root</string>
+                            <string>mirror_section_category</string>
+                            <string>section_uid</string>
+                            <string>period_start_date</string>
+                            <string>currency</string>
+                            <string>precision</string>
+                            <string>node_uid</string>
+                            <string>gap_uid_list</string>
+                            <string>_getiter_</string>
+                            <string>gap</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>x</string>
+                            <string>True</string>
+                            <string>group_analytic</string>
+                            <string>group_analytic_uid</string>
+                            <string>extra_columns</string>
+                            <string>_inplacevar_</string>
+                            <string>possible_analytic_column_list</string>
+                            <string>analytic</string>
+                            <string>analytic_column</string>
+                            <string>uid_key</string>
+                            <string>selection_columns</string>
+                            <string>dict</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>AccountModule_getTrialBalanceReportSectionList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statAccountListForTrialBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statAccountListForTrialBalance.xml
index 35373837be..b9a0089258 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statAccountListForTrialBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statAccountListForTrialBalance.xml
@@ -86,6 +86,51 @@ return [ Object( initial_debit_balance=initial_debit_balance,\n
               <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>kw</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>Object</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>_getitem_</string>
+                            <string>initial_debit_balance</string>
+                            <string>initial_credit_balance</string>
+                            <string>debit</string>
+                            <string>credit</string>
+                            <string>final_balance_if_debit</string>
+                            <string>final_balance_if_credit</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>AccountModule_statAccountListForTrialBalance</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport.xml
index 4cc184146a..1c813441c5 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport.xml
@@ -90,9 +90,10 @@
                     <value>
                       <list>
                         <string>your_section_category</string>
+                        <string>your_currency</string>
+                        <string>your_funding</string>
                         <string>your_function</string>
                         <string>your_project</string>
-                        <string>your_currency</string>
                         <string>your_omit_grouping_reference</string>
                         <string>your_mirror_section</string>
                         <string>your_payment</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport/your_funding.xml
new file mode 100644
index 0000000000..7d56c692a1
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReport/your_funding.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>your_funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewReportFieldLibrary</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_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml
index 79fb1b54d8..4065e57d20 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog.xml
@@ -91,6 +91,7 @@
                       <list>
                         <string>your_section_category</string>
                         <string>your_section_category_strict</string>
+                        <string>your_funding</string>
                         <string>your_function</string>
                         <string>your_project</string>
                         <string>your_from_date</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_funding.xml
new file mode 100644
index 0000000000..60bddf253f
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewAccountStatementReportDialog/your_funding.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>your_funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</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_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewDialogFieldLibrary/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewDialogFieldLibrary/your_funding.xml
new file mode 100644
index 0000000000..8955a26401
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewDialogFieldLibrary/your_funding.xml
@@ -0,0 +1,173 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>enabled</string>
+                <string>items</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <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">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </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>Funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string encoding="cdata"><![CDATA[
+
+<br />
+
+]]></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/AccountingTransactionLine_getFundingItemList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/AccountingTransactionLine_getFundingItemList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/AccountingTransactionLine_getFundingBaseCategoryTitle</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport.xml
index 8589782a9f..982589d6c1 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport.xml
@@ -90,9 +90,10 @@
                     <value>
                       <list>
                         <string>your_section_category</string>
+                        <string>your_currency</string>
+                        <string>your_funding</string>
                         <string>your_function</string>
                         <string>your_project</string>
-                        <string>your_currency</string>
                         <string>your_from_date</string>
                         <string>your_at_date</string>
                         <string>your_mirror_section_category_list</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_funding.xml
new file mode 100644
index 0000000000..7d56c692a1
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReport/your_funding.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>your_funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewReportFieldLibrary</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_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml
index 02b7c819d3..b49d013621 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog.xml
@@ -81,6 +81,7 @@
                       <list>
                         <string>your_section_category</string>
                         <string>your_section_category_strict</string>
+                        <string>your_funding</string>
                         <string>your_function</string>
                         <string>your_project</string>
                         <string>your_from_date</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_funding.xml
new file mode 100644
index 0000000000..60bddf253f
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewGeneralLedgerReportDialog/your_funding.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>your_funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</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_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary.xml
index ea0d60bc7b..9d845af338 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary.xml
@@ -91,6 +91,7 @@
                         <string>your_function</string>
                         <string>your_project</string>
                         <string>your_mirror_section_category_list</string>
+                        <string>your_funding</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary/your_funding.xml
new file mode 100644
index 0000000000..344f9cfb81
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewReportFieldLibrary/your_funding.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>enabled</string>
+                <string>items</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <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">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_list_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </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>Funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string encoding="cdata"><![CDATA[
+
+<br />
+
+]]></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>request/funding</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>request/funding | nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/AccountingTransactionLine_getFundingItemList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>context/AccountingTransactionLine_getFundingBaseCategoryTitle</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport.xml
index b216e519bd..449547b0d3 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport.xml
@@ -90,14 +90,15 @@
                     <value>
                       <list>
                         <string>your_section_category</string>
+                        <string>your_currency</string>
+                        <string>your_funding</string>
                         <string>your_function</string>
                         <string>your_project</string>
-                        <string>your_currency</string>
+                        <string>your_period_start_date</string>
                         <string>your_from_date</string>
                         <string>your_at_date</string>
                         <string>your_mirror_section_category_list</string>
                         <string>your_gap_root</string>
-                        <string>your_period_start_date</string>
                         <string>your_portal_type</string>
                         <string>your_simulation_state</string>
                       </list>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/your_funding.xml
new file mode 100644
index 0000000000..7d56c692a1
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/your_funding.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>your_funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewReportFieldLibrary</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_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog.xml
index 8c0f572392..4d5f150f08 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog.xml
@@ -74,6 +74,7 @@
                       <list>
                         <string>your_section_category</string>
                         <string>your_section_category_strict</string>
+                        <string>your_funding</string>
                         <string>your_function</string>
                         <string>your_project</string>
                         <string>your_from_date</string>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_funding.xml
new file mode 100644
index 0000000000..60bddf253f
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_funding.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_funding</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>your_funding</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>AccountModule_viewDialogFieldLibrary</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_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_viewAccountingTransactionList/listbox_funding.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_viewAccountingTransactionList/listbox_funding.xml
new file mode 100644
index 0000000000..91a509bf7d
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Account_viewAccountingTransactionList/listbox_funding.xml
@@ -0,0 +1,275 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_funding</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>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>
+        <item>
+            <key> <string>overrides</string> </key>
+            <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>
+                    <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>
+                </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>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <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>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </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>hidden</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>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <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> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</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>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Funding</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>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: cell.Movement_getFundingTitle()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFunctionItemList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFunctionItemList.xml
index d98fcb7a4d..92c44383bb 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFunctionItemList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFunctionItemList.xml
@@ -74,7 +74,7 @@ return ()\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string></string> </value>
+            <value> <string>source=True</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -82,6 +82,47 @@ return ()\n
               <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>source</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>function_base_category</string>
+                            <string>getattr</string>
+                            <string>True</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <int>1</int>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>AccountingTransactionLine_getFunctionItemList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingBaseCategoryTitle.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingBaseCategoryTitle.xml
new file mode 100644
index 0000000000..ac1a8c4725
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingBaseCategoryTitle.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </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>portal = context.getPortalObject()\n
+\n
+funding_base_category = portal.portal_preferences.getPreferredAccountingTransactionLineFundingBaseCategory()\n
+\n
+if funding_base_category:\n
+  return portal.portal_categories.restrictedTraverse(funding_base_category).getBaseCategoryValue().getTitle()\n
+\n
+return \'Funding\'\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>portal</string>
+                            <string>funding_base_category</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>AccountingTransactionLine_getFundingBaseCategoryTitle</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingItemList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingItemList.xml
new file mode 100644
index 0000000000..1e9b288791
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionLine_getFundingItemList.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </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>"""Returns the item list of possible fundings to use on accounting lines.\n
+"""\n
+portal = context.getPortalObject()\n
+\n
+funding_base_category = portal.portal_preferences.getPreferredAccountingTransactionLineFundingBaseCategory()\n
+if funding_base_category:\n
+  return getattr(portal.portal_categories.restrictedTraverse(funding_base_category),\n
+                  portal.portal_preferences.getPreference(\'preferred_category_child_item_list_method_id\',\n
+                        \'getCategoryChildCompactLogicalPathItemList\'))(\n
+                              local_sort_id=(\'int_index\', \'translated_title\'),\n
+                              checked_permission=\'View\',\n
+                              base=True) \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>source=True</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>source</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>funding_base_category</string>
+                            <string>getattr</string>
+                            <string>True</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <int>1</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>AccountingTransactionLine_getFundingItemList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml
index b07f778bc1..4dde017f49 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountingTransactionModule_getJournalSectionLineList.xml
@@ -163,6 +163,8 @@ for brain in portal.portal_simulation.getMovementHistoryList(\n
   for analytic_column, analytic_column_title in analytic_column_list:\n
     if analytic_column == \'project\':\n
       analytic_info[\'project\'] = brain.Movement_getProjectTitle()\n
+    elif analytic_column == \'funding\':\n
+      analytic_info[\'funding\'] = brain.Movement_getFundingTitle()\n
     elif analytic_column == \'function\':\n
       analytic_info[\'function\'] = brain.Movement_getFunctionTitle()\n
     else:\n
@@ -197,6 +199,99 @@ return line_list\n
               <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>12</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>selection</string>
+                            <string>at_date</string>
+                            <string>from_date</string>
+                            <string>portal_type</string>
+                            <string>simulation_state</string>
+                            <string>section_uid</string>
+                            <string>payment_mode</string>
+                            <string>payment</string>
+                            <string>gap_root</string>
+                            <string>group_by</string>
+                            <string>analytic_column_list</string>
+                            <string>project_uid</string>
+                            <string>kw</string>
+                            <string>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
+                            <string>Products.PythonScripts.standard</string>
+                            <string>Object</string>
+                            <string>_getattr_</string>
+                            <string>container</string>
+                            <string>request</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>line_list</string>
+                            <string>dict</string>
+                            <string>extra_kw</string>
+                            <string>_write_</string>
+                            <string>True</string>
+                            <string>None</string>
+                            <string>account_title_cache</string>
+                            <string>getAccountId</string>
+                            <string>account_in_gap_root_cache</string>
+                            <string>isAccountInGapRoot</string>
+                            <string>displayed_transaction</string>
+                            <string>total_credit</string>
+                            <string>total_debit</string>
+                            <string>_getiter_</string>
+                            <string>_apply_</string>
+                            <string>brain</string>
+                            <string>max</string>
+                            <string>debit</string>
+                            <string>credit</string>
+                            <string>mvt</string>
+                            <string>_inplacevar_</string>
+                            <string>transaction</string>
+                            <string>is_source</string>
+                            <string>mirror_section_title</string>
+                            <string>specific_reference</string>
+                            <string>transaction_reference</string>
+                            <string>title</string>
+                            <string>date</string>
+                            <string>line</string>
+                            <string>analytic_info</string>
+                            <string>analytic_column</string>
+                            <string>analytic_column_title</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <none/>
+                <none/>
+                <none/>
+                <list/>
+                <none/>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>AccountingTransactionModule_getJournalSectionLineList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Movement_getFundingTitle.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Movement_getFundingTitle.xml
new file mode 100644
index 0000000000..59d65cae51
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Movement_getFundingTitle.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </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>movement = context.getObject()\n
+funding_uid = context.funding_uid\n
+\n
+title_dict = container.REQUEST.get(\n
+      \'Movement_getFundingTitle.funding_title_dict\') or dict()\n
+if funding_uid in title_dict:\n
+  return title_dict[funding_uid]\n
+\n
+if movement.getSourceFundingUid() == funding_uid:\n
+  return movement.getSourceFundingTitle()\n
+return movement.getDestinationFundingTitle()\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>movement</string>
+                            <string>funding_uid</string>
+                            <string>container</string>
+                            <string>dict</string>
+                            <string>title_dict</string>
+                            <string>_getitem_</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>Movement_getFundingTitle</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml
index 4a7443d46b..5eaed93c22 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_getAccountingTransactionList.xml
@@ -84,12 +84,31 @@ if project_uid:\n
     params[\'project_uid\'] = Query(project_uid=None)\n
   else:\n
     params[\'project_uid\'] = project_uid\n
+funding_uid = kw.get(\'funding_uid\')\n
+if funding_uid:\n
+  if funding_uid == \'None\':\n
+    params[\'funding_uid\'] = Query(funding_uid=None)\n
+  else:\n
+    params[\'funding_uid\'] = funding_uid\n
+funding_category = kw.get(\'funding_category\')\n
+if funding_category:\n
+  if funding_category == \'None\':\n
+    params[\'funding_uid\'] = Query(funding_uid=None)\n
+  else:\n
+    params[\'funding_category\'] = funding_category\n
 function_uid = kw.get(\'function_uid\')\n
 if function_uid:\n
   if function_uid == \'None\':\n
     params[\'function_uid\'] = Query(function_uid=None)\n
   else:\n
     params[\'function_uid\'] = function_uid\n
+function_category = kw.get(\'function_category\')\n
+if function_category:\n
+  if function_category == \'None\':\n
+    params[\'function_uid\'] = Query(function_uid=None)\n
+  else:\n
+    params[\'function_category\'] = function_category\n
+\n
 if node_category_strict_membership:\n
   params[\'node_category_strict_membership\'] = node_category_strict_membership\n
 if node_category:\n
@@ -192,6 +211,7 @@ if from_date or is_pl_account:\n
         Movement_getMirrorSectionTitle=\'\',\n
         Movement_getNodeGapId=\'\',\n
         Movement_getExplanationUrl=lambda **kw: \'\',\n
+        Movement_getFundingTitle=lambda: \'\',\n
         Movement_getFunctionTitle=lambda: \'\',\n
         Movement_getProjectTitle=lambda: \'\',\n
         Node_statAccountingBalance=\'\',\n
@@ -249,6 +269,94 @@ return portal.portal_simulation.getMovementHistoryList(\n
               <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>8</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>selection</string>
+                            <string>sort_on</string>
+                            <string>node_category</string>
+                            <string>node_category_strict_membership</string>
+                            <string>mirror_section_category</string>
+                            <string>from_date</string>
+                            <string>selection_name</string>
+                            <string>src__</string>
+                            <string>kw</string>
+                            <string>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
+                            <string>Products.ERP5Type.Message</string>
+                            <string>translateString</string>
+                            <string>Products.ERP5Type.Log</string>
+                            <string>log</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>request</string>
+                            <string>params</string>
+                            <string>None</string>
+                            <string>_getitem_</string>
+                            <string>_write_</string>
+                            <string>payment_uid</string>
+                            <string>project_uid</string>
+                            <string>funding_uid</string>
+                            <string>funding_category</string>
+                            <string>function_uid</string>
+                            <string>function_category</string>
+                            <string>new_result</string>
+                            <string>net_balance</string>
+                            <string>False</string>
+                            <string>is_pl_account</string>
+                            <string>node</string>
+                            <string>period_start_date</string>
+                            <string>get_inventory_kw</string>
+                            <string>max</string>
+                            <string>previous_total_debit</string>
+                            <string>previous_total_credit</string>
+                            <string>getInventoryAssetPrice</string>
+                            <string>period_openning_balance</string>
+                            <string>_apply_</string>
+                            <string>min</string>
+                            <string>True</string>
+                            <string>Products.ERP5Type.Document</string>
+                            <string>newTempBase</string>
+                            <string>previous_balance</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <list/>
+                <none/>
+                <none/>
+                <none/>
+                <none/>
+                <none/>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>Node_getAccountingTransactionList</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
index fae69b29ab..6f53ecd721 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/Node_statAccountingBalance.xml
@@ -74,12 +74,30 @@ if project_uid:\n
     params[\'project_uid\'] = Query(project_uid=None)\n
   else:\n
     params[\'project_uid\'] = project_uid\n
+funding_uid = kw.get(\'funding_uid\')\n
+if funding_uid:\n
+  if funding_uid == \'None\':\n
+    params[\'funding_uid\'] = Query(funding_uid=None)\n
+  else:\n
+    params[\'funding_uid\'] = funding_uid\n
+funding_category = kw.get(\'funding_category\')\n
+if funding_category:\n
+  if funding_category == \'None\':\n
+    params[\'funding_uid\'] = Query(funding_uid=None)\n
+  else:\n
+    params[\'funding_category\'] = funding_category\n
 function_uid = kw.get(\'function_uid\')\n
 if function_uid:\n
   if function_uid == \'None\':\n
     params[\'function_uid\'] = Query(function_uid=None)\n
   else:\n
     params[\'function_uid\'] = function_uid\n
+function_category = kw.get(\'function_category\')\n
+if function_category:\n
+  if function_category == \'None\':\n
+    params[\'function_uid\'] = Query(function_uid=None)\n
+  else:\n
+    params[\'function_category\'] = function_category\n
 \n
 if kw.get(\'node_category_strict_membership\'):\n
   params[\'node_category_strict_membership\'] = \\\n
@@ -165,6 +183,71 @@ return getInventoryAssetPrice(\n
               <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>selection</string>
+                            <string>omit_asset_increase</string>
+                            <string>omit_asset_decrease</string>
+                            <string>selection_name</string>
+                            <string>kw</string>
+                            <string>Products.ZSQLCatalog.SQLCatalog</string>
+                            <string>Query</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>params</string>
+                            <string>getInventoryAssetPrice</string>
+                            <string>getSelectionDomainDictFor</string>
+                            <string>_getitem_</string>
+                            <string>_write_</string>
+                            <string>payment_uid</string>
+                            <string>None</string>
+                            <string>project_uid</string>
+                            <string>funding_uid</string>
+                            <string>funding_category</string>
+                            <string>function_uid</string>
+                            <string>function_category</string>
+                            <string>node</string>
+                            <string>period_start_date</string>
+                            <string>at_date</string>
+                            <string>_apply_</string>
+                            <string>period_openning_balance</string>
+                            <string>max</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <int>0</int>
+                <int>0</int>
+                <none/>
+              </tuple>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>Node_statAccountingBalance</string> </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting.xml
index ee2af7a377..b98a641021 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting.xml
@@ -82,6 +82,7 @@
                     <value>
                       <list>
                         <string>my_preferred_accounting_transaction_line_function_base_category</string>
+                        <string>my_preferred_accounting_transaction_line_funding_base_category</string>
                         <string>my_preferred_accounting_transaction_line_analytic_base_category_list</string>
                       </list>
                     </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_analytic_base_category_list.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_analytic_base_category_list.xml
index b3dedef3b2..fdaed7d6c1 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_analytic_base_category_list.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_analytic_base_category_list.xml
@@ -263,7 +263,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: [(\'\', \'\')] + [(x.getTranslatedTitle(), x.getRelativeUrl()) for x in context.portal_categories.contentValues(sort_on=(\'translated_title\', ))]</string> </value>
+            <value> <string>python: [(\'\', \'\')] + [(\'%s - %s\' % (x.getId(), x.getTranslatedTitle()),  x.getRelativeUrl()) for x in context.portal_categories.contentValues(sort_on=(\'id\', ))]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_function_base_category.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_function_base_category.xml
index 7560a332e7..29cc0511c9 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_function_base_category.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_function_base_category.xml
@@ -269,7 +269,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python: [(\'\', \'\')] + [(x.getTranslatedTitle(), x.getRelativeUrl()) for x in context.portal_categories.contentValues(sort_on=(\'translated_title\', ))]</string> </value>
+            <value> <string>python: [(\'\', \'\')] + [(\'%s - %s\' % (x.getId(), x.getTranslatedTitle()),  x.getRelativeUrl()) for x in context.portal_categories.contentValues(sort_on=(\'id\', ))]</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_funding_base_category.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_funding_base_category.xml
new file mode 100644
index 0000000000..f843e6dec8
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/SystemPreference_viewAccounting/my_preferred_accounting_transaction_line_funding_base_category.xml
@@ -0,0 +1,277 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_preferred_accounting_transaction_line_funding_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>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <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>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>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</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>title</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>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <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>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>hidden</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</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>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <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>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>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <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>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Base Category for Funding on Accounting Transaction Lines</string> </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>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(\'\', \'\')] + [(\'%s - %s\' % (x.getId(), x.getTranslatedTitle()),  x.getRelativeUrl()) for x in context.portal_categories.contentValues(sort_on=(\'id\', ))]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index de8746ce5f..a7c670cdb6 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1380
\ No newline at end of file
+1382
\ No newline at end of file
-- 
2.30.9