From 945a72b9a46189f1c30ee319669644fb7a8e5f63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 14 Mar 2007 18:45:31 +0000
Subject: [PATCH] Big cleanup for trial balance (still some testing to be done)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@13422 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...ntModule_getAccountListForTrialBalance.xml |  860 +++----
 ...odule_getTrialBalanceReportSectionList.xml |  150 +-
 ...tModule_statAccountListForTrialBalance.xml |  171 ++
 .../AccountModule_viewTrialBalanceReport.xml  |    5 +-
 .../at_date.xml                               |   10 +-
 .../from_date.xml                             |   10 +-
 .../period_start_date.xml                     | 2053 +++++++++++++++++
 ...tion_category.xml => section_category.xml} |    4 +-
 ...ulation_state.xml => simulation_state.xml} |    4 +-
 ...untModule_viewTrialBalanceReportDialog.xml |   12 +-
 .../your_gap_list.xml                         |  283 ---
 .../your_gap_root.xml                         |  310 ---
 ...category.xml => your_section_category.xml} |    2 +-
 ...ounts.xml => your_show_empty_accounts.xml} |    4 +-
 .../your_show_parent_accounts.xml             |  174 --
 ...on_state.xml => your_simulation_state.xml} |   25 +-
 bt5/erp5_accounting/bt/revision               |    2 +-
 17 files changed, 2725 insertions(+), 1354 deletions(-)
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statAccountListForTrialBalance.xml
 create mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/period_start_date.xml
 rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/{transaction_section_category.xml => section_category.xml} (98%)
 rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/{transaction_simulation_state.xml => simulation_state.xml} (98%)
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_list.xml
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_root.xml
 rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/{your_transaction_section_category.xml => your_section_category.xml} (99%)
 rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/{your_show_balanced_accounts.xml => your_show_empty_accounts.xml} (97%)
 delete mode 100644 bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_parent_accounts.xml
 rename bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/{your_transaction_simulation_state.xml => your_simulation_state.xml} (93%)

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 4bac888f19..7c8af093a5 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
@@ -70,429 +70,321 @@
             <key> <string>_body</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-from DateTime import DateTime\n
-import math\n
-\n
-\n
-##########\n
-# This method returns a list of accounts virtually expanded, ie. payable and\n
-# receivable accounts are split by \'destination_section\' categories and bank\n
-# accounts are split by \'source_payment\'.\n
-##########\n
-\n
-LOG = lambda msg: context.getPortalObject().log(\n
-                      "AccountModule_getAccountListForTrialBalance", msg)\n
-\n
-from_date        = kw.get(\'from_date\', None)\n
-at_date          = kw[\'at_date\']\n
-simulation_state = kw[\'simulation_state\']\n
-\n
-# Get Precision\n
-precision = context.Base_getPreferredPrecision()\n
-r_ = lambda x: context.Base_getRoundValue(x, precision)\n
-\n
-# Extra arguments for getInventory\n
-extra_kw = {}\n
-\n
-# Get a list of section uids\n
-section_category  = kw[\'section_category\']\n
-section_object    = context.portal_categories.restrictedTraverse(section_category)\n
-organisation_list = section_object.getGroupRelatedValueList(portal_type=\'Organisation\')\n
-section_uid_list  = [section_object.getUid()] + [x.getUid() for x in organisation_list]\n
-extra_kw[\'stock.section_uid\'] = section_uid_list\n
-\n
-# Wether we should or not expand accounts into virtual accounts\n
-#   (payable & receivable with other parties / bank with bank account)\n
-expand_accounts = kw["expand_accounts"]\n
-\n
-# Show the upper parents account of the real accounts objects\n
-show_parent_accounts = kw["show_parent_accounts"]\n
-\n
-# The gap tree to use\n
-# TODO: Be sure that gap_list and gap_root are consistent (nothing prevent this in the dialog UI)\n
-gap_root = kw["gap_root"]\n
-gap_list = kw["gap_list"]\n
-\n
-# Inventory methods\n
-getInventory     = context.getPortalObject().portal_simulation.getInventoryAssetPrice\n
-getInventoryList = context.getPortalObject().portal_simulation.getInventoryList\n
-\n
-# Shall we display a summary line for expanded accounts ?\n
-display_summary_account_line = True\n
-\n
-\n
-def formatValues(dict):\n
-  # TODO: use Base_getPreferredPrecision() to centralize code\n
-  for k, v in dict.items():\n
-    if not(same_type(v, "") or same_type(v, u"")):\n
-      if r_(v) == 0.00:\n
-        dict[k] = ""\n
-      else:\n
-        negative = v < 0\n
-        if k in (\'opening_balance\', \'closing_balance\') and negative :\n
-          v = - v\n
-        # FIXME: this part is a copy of Floatfield format_value\n
-        value = str(float(v))\n
-        value_list = value.split(\'.\')\n
-        integer = value_list[0]\n
-        i = len(integer)%3\n
-        value = integer[:i]\n
-        while i != len(integer):\n
-          value += \' \' + integer[i:i+3]\n
-          i += 3\n
-        value = \'%s.%s\'%(value, str(value_list[1])[:2])\n
-        dict[k] = value\n
-        if k in (\'opening_balance\', \'closing_balance\'):\n
-          if negative:\n
-            dict[k] = \'%s CR\' % (value)\n
-          else:\n
-            dict[k] = \'%s   \' % (value)\n
-        dict[k]\n
-  return dict\n
-\n
-\n
-def getDefaultColumnValues(node_uid=0, **kw):\n
-  """\n
-    Returns then opening balance, debit movements sum, credit movements\n
-    sum and closing balance using defaults categories.\n
-  """\n
-  values = {}\n
-  get_inventory_kw = extra_kw.copy()\n
-  get_inventory_kw.update(kw)\n
-  get_inventory_kw[\'where_expression\'] = " section.portal_type = \'Organisation\' "\n
-  get_inventory_kw[\'simulation_state\'] = simulation_state\n
-  get_inventory_kw[\'omit_simulation\']  = True\n
-\n
-  if node_uid != 0:\n
-    get_inventory_kw[\'node_uid\'] = node_uid\n
-\n
-  opening_balance = 0.0\n
-  debit_movement  = 0.0\n
-  credit_movement = 0.0\n
-\n
-  # Use custom SQL query to get Bank Account Balance (because standard getInventory doesn\'t work)\n
-  # TODO: use getInventory\n
-  if kw.has_key(\'bank_account_alt\') and kw[\'bank_account_alt\']:\n
-    # Adapt parameters for the custom zSQLMethod\n
-    new_kw = { \'getParentUid\': organisation_list[0].getUid()\n
-             , \'getUid\'      : get_inventory_kw[\'payment_uid\']\n
-             , \'stat\'        : True\n
-             }\n
-    del get_inventory_kw[\'node_uid\']\n
-    get_inventory_kw.update(new_kw)\n
-\n
-    # Helpfull method to get the balance\n
-    def getBalance(**kw):\n
-      result = context.BankAccount_zGetAccountingTransactionList(**kw)\n
-      row = result[0]\n
-      if getattr(row, \'quantity\', None):\n
-        amount = row.quantity\n
-      else:\n
-        amount = 0.0\n
-      # Round the result to avoid float bad precision\n
-      return r_(amount)\n
-\n
-    if from_date not in (None, \'\'):\n
-      opening_balance = getBalance( to_date = from_date\n
-                                  , **get_inventory_kw\n
-                                  )\n
-    debit_movement  = getBalance( from_date  = from_date\n
-                                , at_date    = at_date\n
-                                , omit_input = True\n
-                                , **get_inventory_kw\n
-                                )\n
-    credit_movement = - getBalance( from_date   = from_date\n
-                                  , at_date     = at_date\n
-                                  , omit_output = True\n
-                                  , **get_inventory_kw\n
-                                  )\n
-  else:\n
-    # Use standard methods\n
-    if from_date not in (None, \'\'):\n
-      opening_balance = getInventory( to_date = from_date\n
-                                    , **get_inventory_kw\n
-                                    )\n
-    debit_movement  = getInventory( from_date   = from_date\n
-                                  , at_date     = at_date\n
-                                  , omit_output = True\n
-                                  , **get_inventory_kw\n
-                                  )\n
-    credit_movement = - getInventory( from_date  = from_date\n
-                                    , at_date    = at_date\n
-                                    , omit_input = True\n
-                                    , **get_inventory_kw\n
-                                    )\n
-\n
-  values[\'opening_balance\'] = opening_balance\n
-  values[\'debit_movement\']  = debit_movement\n
-  values[\'credit_movement\'] = credit_movement\n
-\n
-  # Calculate the closing balance\n
-  values[\'closing_balance\'] = opening_balance + debit_movement - credit_movement\n
-  return values\n
-\n
-\n
-def expandBankAccountsForAccount(account, **kw):\n
-  tmp_accounts   = []\n
-  orga_and_banks = []\n
-  for orga in organisation_list:\n
-    orga_and_banks += [(orga, o.getObject()) for o in orga.contentValues(\n
-                          portal_type=context.getPortalPaymentNodeTypeList())]\n
-\n
-  for orga, bank in orga_and_banks:\n
-    this_tmp_account = {\n
-         \'uid\'  : account.getUid()\n
-       , \'id\'   : \'%s-%s-%s\' % ( account.getGapId()\n
-                               , orga.getTitle().decode(\'utf8\')[:8].upper()\n
-                               , bank.getTitle().decode(\'utf8\')[:8].upper()\n
-                               )\n
-       , \'title\': \'%s (%s / %s)\' % ( account.getTitle()\n
-                                   , orga.getTitle()\n
-                                   , bank.getTitle()\n
-                                   )\n
-       }\n
-    this_tmp_account.update(\n
-              getDefaultColumnValues( node_uid         = account.getUid()\n
-                                    , payment_uid      = bank.getUid()\n
-                                    , bank_account_alt = 1\n
-                                    ))\n
-    if (this_tmp_account[\'opening_balance\'] != 0 or\n
-        this_tmp_account[\'credit_movement\'] != 0 or\n
-        this_tmp_account[\'debit_movement\']  != 0 or\n
-        this_tmp_account[\'closing_balance\'] != 0 ):\n
-      if show_balanced_accounts or (this_tmp_account[\'closing_balance\'] != 0):\n
-        tmp_accounts.append(account.asContext(\n
-                            **formatValues(this_tmp_account)))\n
-      \n
-  return tmp_accounts\n
-\n
-\n
-def expandThirdPartiesForAccount(account, **kw):\n
-  tmp_accounts = []\n
-  # get all entities that are destination section related to this account.\n
-  entities = [o.getObject() for o in \\\n
-        context.Account_zDistinctSectionList( node_uid         = account.getUid()\n
-                                            , at_date          = at_date\n
-                                            , simulation_state = simulation_state\n
-                                            )]\n
-  for entity in entities :\n
-    this_tmp_account = { \'uid\'  : account.getUid()\n
-                       , \'id\'   : \'%s-%s\' % ( account.getGapId()\n
-                                            , entity.getTitle().decode(\'utf8\')[:12].upper()\n
-                                            )\n
-                       , \'title\': \'%s (%s)\' % ( account.getTitle()\n
-                                              , entity.getTitle()\n
-                                              )\n
-                       }\n
-    this_tmp_account.update(\n
-              getDefaultColumnValues( node_uid = account.getUid(),\n
-                                      mirror_section_uid = entity.getUid() ) )\n
-    if (this_tmp_account[\'opening_balance\'] != 0 or\n
-        this_tmp_account[\'credit_movement\'] != 0 or\n
-        this_tmp_account[\'debit_movement\']  != 0 ):\n
-      if show_balanced_accounts or (this_tmp_account[\'closing_balance\'] != 0):\n
-        tmp_accounts.append(\n
-                account.asContext(**formatValues(this_tmp_account) ) )\n
-  return tmp_accounts\n
-\n
-\n
-### Get the account list composed of real Account object only\n
-# If a list of GAP category was selected, get the account list from that selection and above\n
-accounts = []\n
-if len(gap_list) > 0:\n
-  for gap_cat in gap_list:\n
-    gap_object   = context.portal_categories.restrictedTraverse("gap/" + gap_cat)\n
-    # We don\'t need strict membership to let us "dive" into the gap tree\n
-    account_list = gap_object.getGapRelatedValueList( portal_type       = \'Account\'\n
-                                                    , strict_membership = False\n
-                                                    )\n
-    for account in account_list:\n
-      if account not in accounts:\n
-        accounts.append(account)\n
-# Get all existing accounts from the account module\n
+from Products.PythonScripts.standard import Object\n
+from ZTUtils import LazyFilter\n
+\n
+request = container.REQUEST\n
+getInventoryList = context.portal_simulation.getInventoryList\n
+getInventory = context.portal_simulation.getInventoryAssetPrice\n
+\n
+inventory_params = dict(section_uid=section_uid,\n
+                        simulation_state=simulation_state,\n
+                        precision=precision)\n
+MARKER = Object()\n
+\n
+# a dictionary (node_relative_url, mirror_section_uid, payment_uid)\n
+#                        -> dict(debit=, credit=)\n
+line_per_account = {}\n
+\n
+account_type_to_group_by_node = [\n
+                  \'account_type/asset\',\n
+                  \'account_type/asset/cash\',\n
+                  \'account_type/asset/receivable/refundable_vat\',\n
+                  \'account_type/liability/payable/collected_vat\',\n
+                  \'account_type/equity\',\n
+                  \'account_type/liability\',]\n
+\n
+profit_and_loss_account_type = [\n
+                  \'account_type/expense\',\n
+                  \'account_type/income\',]\n
+\n
+if expand_accounts:\n
+  account_type_to_group_by_mirror_section = [\n
+                  \'account_type/asset/receivable\',\n
+                  \'account_type/liability/payable\', ]\n
 else:\n
-  accounts = [ o.getObject() for o in\n
-              context.account_module.objectValues(portal_type=\'Account\') ]\n
-# Delete from the list accounts without a GAP category\n
-accounts = filter(lambda account: account.getGapId() is not None, accounts)\n
-\n
-### Find accounts that can be expanded\n
-asset_cat = context.portal_categories.account_type.asset\n
-accounts_to_expand_by_third_parties = asset_cat.receivable.getAccountTypeRelatedValueList(\n
-         portal_type=\'Account\', strict_membership=True) + \\\n
-    context.portal_categories.account_type.liability.payable\\\n
-        .getAccountTypeRelatedValueList(\n
-        # we use strict_membership because we do not want VAT\n
-         portal_type=\'Account\', strict_membership=True)\n
-# Use a dict for faster lookup\n
-accounts_to_expand_by_third_parties_dict = {}\n
-for account in accounts_to_expand_by_third_parties:\n
-  accounts_to_expand_by_third_parties_dict[account.getId()] = 1\n
-accounts_to_expand_by_bank_accounts = asset_cat.cash.getAccountTypeRelatedValueList(\n
-       portal_type=\'Account\')\n
-accounts_to_expand_by_bank_accounts_dict = {}\n
-for account in accounts_to_expand_by_bank_accounts:\n
-  accounts_to_expand_by_bank_accounts_dict[account.getId()] = 1\n
-\n
-\n
-### Get virtual intermediate accounts and merged them with real accounts\n
-account_dict = {}\n
-for account in accounts:\n
-  gap_path = account.getGap()\n
-  # Add the current account\n
-  account_list = account_dict.has_key(gap_path) and account_dict[gap_path] or []\n
-  account_dict[gap_path] = account_list + [account]\n
-  # Add all parent accounts\n
-  if show_parent_accounts:\n
-      # MUST BE FIXED:\n
-#     # Add a virtual account of the same level if there is more than one real account at this level\n
-#     add_current_level = False\n
-#     if len(account_dict[gap_path]) > 1:\n
-#       add_current_level = True\n
-    gap_path_item = gap_path.split(\'/\')\n
-    for i in range(len(gap_path_item)):\n
-      parent_path_item = gap_path_item[:-i]\n
-      # MUST BE FIXED:\n
-#       # Keep the current level if necessary\n
-#       if add_current_level:\n
-#         parent_path_item = gap_path_item[:-i]\n
-#       else:\n
-#         parent_path_item = gap_path_item\n
-      # Don\'t care of "/fr/pcg" path\n
-      if len(parent_path_item) > 2:\n
-        parent_gap_path = "gap/" + \'/\'.join(parent_path_item)\n
-        parent_gap = context.portal_categories.resolveCategory(parent_gap_path)\n
-        account_list = account_dict.has_key(parent_gap_path) and account_dict[parent_gap_path] or []\n
-        if parent_gap not in account_list:\n
-          account_dict[parent_gap_path] = account_list + [parent_gap]\n
-\n
-## Sort accounts\n
-def gap_sort_func(a, b):\n
-  """\n
-    Simple function to sort accounts.\n
-  """\n
-  a_gap_id = a[\'gap\'].split(\'/\')[-1]\n
-  b_gap_id = b[\'gap\'].split(\'/\')[-1]\n
-  a_gap = a_gap_id\n
-  b_gap = b_gap_id\n
-  while len(a_gap) < 7: a_gap += \'0\'\n
-  while len(b_gap) < 7: b_gap += \'0\'\n
-  compare = cmp(a_gap,b_gap)\n
-  if compare != 0 :\n
-    return compare\n
-  # gap string are the same, sort by gap integer\n
-  else: # a_gap == b_gap\n
-    try:\n
-      compare = cmp(int(a_gap_id),int(b_gap_id))\n
-    except ValueError:\n
-      compare = cmp(a_gap_id,b_gap_id)\n
-    if compare != 0:\n
-      return compare\n
+  account_type_to_group_by_node.extend([\n
+                  \'account_type/asset/receivable\',\n
+                  \'account_type/liability/payable\', ])\n
+  account_type_to_group_by_mirror_section = []\n
+\n
+account_type_to_group_by_payment = [ \'account_type/asset/cash/bank\' ]\n
+\n
+total_debit = 0\n
+total_credit = 0\n
+total_initial_debit_balance = 0\n
+total_initial_credit_balance = 0\n
+\n
+# standards accounts {{{\n
+for node in getInventoryList(\n
+                node_category_strict_membership=account_type_to_group_by_node,\n
+                group_by_node=1,\n
+                omit_output=1,\n
+                from_date=from_date,\n
+                at_date=at_date,\n
+                **inventory_params):\n
+  account_props = line_per_account.setdefault(\n
+                          (node[\'node_relative_url\'], MARKER, MARKER),\n
+                          dict(debit=0, credit=0))\n
+  account_props[\'debit\'] = node[\'total_price\']\n
+  total_debit += round(node[\'total_price\'], precision)\n
+\n
+for node in getInventoryList(\n
+                node_category_strict_membership=account_type_to_group_by_node,\n
+                group_by_node=1,\n
+                omit_input=1,\n
+                from_date=from_date,\n
+                at_date=at_date,\n
+                **inventory_params):\n
+  account_props = line_per_account.setdefault(\n
+                          (node[\'node_relative_url\'], MARKER, MARKER),\n
+                          dict(debit=0, credit=0))\n
+  account_props[\'credit\'] = - node[\'total_price\']\n
+  total_credit -= round(node[\'total_price\'], precision)\n
+# }}}\n
+\n
+### profit & loss accounts {{{\n
+for node in getInventoryList(\n
+                node_category_strict_membership=profit_and_loss_account_type,\n
+                from_date=max(period_start_date, from_date),\n
+                group_by_node=1,\n
+                omit_output=1,\n
+                at_date=at_date,\n
+                **inventory_params):\n
+  account_props = line_per_account.setdefault(\n
+                          (node[\'node_relative_url\'], MARKER, MARKER),\n
+                          dict(debit=0, credit=0))\n
+  account_props[\'debit\'] = node[\'total_price\']\n
+  total_debit += round(node[\'total_price\'], precision)\n
+\n
+for node in getInventoryList(\n
+                node_category_strict_membership=profit_and_loss_account_type,\n
+                from_date=max(period_start_date, from_date),\n
+                group_by_node=1,\n
+                omit_input=1,\n
+                at_date=at_date,\n
+                **inventory_params):\n
+  account_props = line_per_account.setdefault(\n
+                          (node[\'node_relative_url\'], MARKER, MARKER),\n
+                          dict(debit=0, credit=0))\n
+  account_props[\'credit\'] = - node[\'total_price\'] or 0\n
+  total_credit -= round(node[\'total_price\'], precision)\n
+# }}}\n
+\n
+# payable / receivable accounts {{{\n
+if account_type_to_group_by_mirror_section:\n
+  for node in getInventoryList(\n
+                  node_category_strict_membership=\n
+                          account_type_to_group_by_mirror_section,\n
+                  group_by_mirror_section=1,\n
+                  group_by_node=1,\n
+                  omit_output=1,\n
+                  from_date=from_date,\n
+                  at_date=at_date,\n
+                  **inventory_params):\n
+    account_props = line_per_account.setdefault(\n
+            (node[\'node_relative_url\'], node[\'mirror_section_uid\'], MARKER),\n
+            dict(debit=0, credit=0))\n
+    account_props[\'debit\'] = node[\'total_price\']\n
+    total_debit += round(node[\'total_price\'], precision)\n
+\n
+  for node in getInventoryList(\n
+                  node_category_strict_membership=\n
+                          account_type_to_group_by_mirror_section,\n
+                  group_by_mirror_section=1,\n
+                  group_by_node=1,\n
+                  omit_input=1,\n
+                  from_date=from_date,\n
+                  at_date=at_date,\n
+                  **inventory_params):\n
+    account_props = line_per_account.setdefault(\n
+            (node[\'node_relative_url\'], node[\'mirror_section_uid\'], MARKER),\n
+            dict(debit=0, credit=0))\n
+    account_props[\'credit\'] = - node[\'total_price\']\n
+    total_credit -= round(node[\'total_price\'], precision)\n
+# }}}\n
+\n
+# bank accounts {{{\n
+for node in getInventoryList(\n
+                node_category_strict_membership=\n
+                        account_type_to_group_by_payment,\n
+                group_by_payment=1,\n
+                group_by_node=1,\n
+                omit_output=1,\n
+                from_date=from_date,\n
+                at_date=at_date,\n
+                **inventory_params):\n
+  account_props = line_per_account.setdefault(\n
+                (node[\'node_relative_url\'], MARKER, node[\'payment_uid\']),\n
+                dict(debit=0, credit=0))\n
+  account_props[\'debit\'] = node[\'total_price\']\n
+  total_debit += round(node[\'total_price\'], precision)\n
+\n
+for node in getInventoryList(\n
+                node_category_strict_membership=\n
+                        account_type_to_group_by_payment,\n
+                group_by_payment=1,\n
+                group_by_node=1,\n
+                omit_input=1,\n
+                from_date=from_date,\n
+                at_date=at_date,\n
+                **inventory_params):\n
+  account_props = line_per_account.setdefault(\n
+                (node[\'node_relative_url\'], MARKER, node[\'payment_uid\']),\n
+                dict(debit=0, credit=0))\n
+  account_props[\'credit\'] = - node[\'total_price\']\n
+  total_credit -= round(node[\'total_price\'], precision)\n
+# }}}\n
+\n
+\n
+traverse = context.getPortalObject().restrictedTraverse\n
+getObject = context.getPortalObject().portal_catalog.getObject\n
+\n
+node_title_and_id_cache = {}\n
+def getNodeTitleAndId(node_relative_url):\n
+  try:\n
+    return node_title_and_id_cache[node_relative_url]\n
+  except KeyError:\n
+    node = traverse(node_relative_url)\n
+    return node_title_and_id_cache.setdefault(node_relative_url,\n
+                  ( node.getUid(),\n
+                    node.getTitle(),\n
+                    node.Account_getGapId()))\n
+\n
+# include all accounts, even those not selected before (no movements in the\n
+# period)\n
+for node in LazyFilter(context.account_module.contentValues(), skip=\'\'):\n
+  line_per_account.setdefault((node.getRelativeUrl(), MARKER, MARKER),\n
+                              dict(debit=0, credit=0))\n
+\n
+line_list = []\n
+for (node_relative_url, mirror_section_uid, payment_uid), data in \\\n
+                                    line_per_account.items():\n
+  node_uid, node_title, node_id = getNodeTitleAndId(node_relative_url)\n
+  if mirror_section_uid is not MARKER:\n
+    if mirror_section_uid is None:\n
+      # no mirror_setion_uid means transactions that are made on a payable /\n
+      # receivable account without specifying the third party. This should not\n
+      # happen, but as you can still change account type after creation, we\n
+      # handle this case explicitly.\n
+      initial_debit_balance = getInventory(\n
+                       node_uid=node_uid,\n
+                       where_expression=\'stock.mirror_section_uid is NULL\',\n
+                       omit_output=1,\n
+                       at_date=from_date,\n
+                       **inventory_params)\n
+      initial_credit_balance = - getInventory(\n
+                       node_uid=node_uid,\n
+                       where_expression=\'stock.mirror_section_uid is NULL\',\n
+                       omit_input=1,\n
+                       at_date=from_date,\n
+                       **inventory_params)\n
     else:\n
-      # gap are the same, sort by portal type\n
-      a_type = a[\'account\'].getPortalType()\n
-      b_type = b[\'account\'].getPortalType()\n
-      if a_type == b_type:\n
-        return 0\n
-      elif a_type == "Account":\n
-        return 1\n
-      elif b_type == "Account":\n
-        return -1\n
-\n
-# Sort the account list by gap\n
-account_list = []\n
-for (gap_path, accounts) in account_dict.items():\n
-  for account in accounts:\n
-    account_list.append({ \'gap\'    : gap_path\n
-                        , \'account\': account\n
-                        })\n
-account_list.sort(gap_sort_func)\n
-\n
-## Generate all report items\n
-report_items = []\n
-item_list    = []\n
-results      = []\n
-\n
-for account_dict in account_list:\n
-\n
-  account_gap  = account_dict[\'gap\']\n
-  account      = account_dict[\'account\']\n
-  account_type = account.getPortalType()\n
-\n
-  item = { \'title\'          : account.getTitle()\n
-         , \'opening_balance\': 0\n
-         , \'credit_movement\': 0\n
-         , \'debit_movement\' : 0\n
-         }\n
-\n
-  # Handle intermediate non-existent account\n
-  if account_type == "Category":\n
-    # provide a clearly different display when it is a summary account\n
-    # (TODO: it should be in itallic ?).\n
-    item[\'id\'] = "%s **" % account.getId()\n
-    item.update(getDefaultColumnValues(node_category = account_gap))\n
-\n
-  # Handle real Account Objects\n
+      third_party = getObject(mirror_section_uid)\n
+      node_title = "%s (%s)" % ( node_title, third_party.getTitle() )\n
+      initial_debit_balance = getInventory(\n
+                                     node_uid=node_uid,\n
+                                     mirror_section_uid=mirror_section_uid,\n
+                                     omit_output=1,\n
+                                     at_date=from_date,\n
+                                     **inventory_params)\n
+      initial_credit_balance = - getInventory(\n
+                                     node_uid=node_uid,\n
+                                     mirror_section_uid=mirror_section_uid,\n
+                                     omit_input=1,\n
+                                     at_date=from_date,\n
+                                     **inventory_params)\n
+  elif payment_uid is not MARKER:\n
+    if payment_uid is None:\n
+      # as above\n
+      initial_debit_balance = getInventory(\n
+                       node_uid=node_uid,\n
+                       where_expression=\'stock.payment_uid is NULL\',\n
+                       omit_output=1,\n
+                       at_date=from_date,\n
+                       **inventory_params)\n
+      initial_credit_balance = - getInventory(\n
+                       node_uid=node_uid,\n
+                       where_expression=\'stock.payment_uid is NULL\',\n
+                       omit_input=1,\n
+                       at_date=from_date,\n
+                       **inventory_params)\n
+    else:\n
+      payment = getObject(payment_uid)\n
+      node_title = "%s (%s)" % ( node_title, payment.getTitle() )\n
+      initial_debit_balance = getInventory(node_uid=node_uid,\n
+                                 payment_uid=payment_uid,\n
+                                 omit_output=1,\n
+                                 at_date=from_date,\n
+                                 **inventory_params)\n
+      initial_credit_balance = - getInventory(node_uid=node_uid,\n
+                                 payment_uid=payment_uid,\n
+                                 omit_input=1,\n
+                                 at_date=from_date,\n
+                                 **inventory_params)\n
   else:\n
-    if expand_accounts and account.getId() in accounts_to_expand_by_third_parties_dict:\n
-      # get all organisations with this account\n
-      # and create a "virtual-Account" for each organisation\n
-      virtual_accounts = expandThirdPartiesForAccount(account, **kw)\n
-      report_items += virtual_accounts\n
-      if display_summary_account_line or not len(virtual_accounts) :\n
-        # then display the aggregate account\n
-        item.update( getDefaultColumnValues( node_uid = account.getUid() ) )\n
-        # provide a clearly different display when it is a summary account\n
-        # (TODO: it should be in itallic ?).\n
-        if len(virtual_accounts):\n
-          item[\'id\'] = "%s ** (total)" % account.getGapId()\n
-        else:\n
-          item[\'id\'] = account.getGapId()\n
-        item[\'closing_balance\'] = item[\'opening_balance\'] + \\\n
-                                  item[\'debit_movement\']  - \\\n
-                                  item[\'credit_movement\']\n
-\n
-    elif expand_accounts and account.getId() in accounts_to_expand_by_bank_accounts_dict:\n
-      virtual_accounts = expandBankAccountsForAccount(account, **kw)\n
-      report_items += virtual_accounts\n
-      if display_summary_account_line or not len(virtual_accounts):\n
-        # then display the aggregate account\n
-        item.update(getDefaultColumnValues(node_uid = account.getUid()))\n
-        # provide a clearly different display when it is a summary account\n
-        # (TODO: it should be in itallic ?).\n
-        if len(virtual_accounts):\n
-          item[\'id\'] = "%s ** (total)" % account.getGapId()\n
-        else:\n
-          item[\'id\'] = account.getGapId()\n
-        item[\'closing_balance\'] = item[\'opening_balance\'] + \\\n
-                                  item[\'debit_movement\']  - \\\n
-                                  item[\'credit_movement\']\n
-\n
+    account = traverse(node_relative_url)\n
+    if \'account_type/%s\' % account.getAccountType() in (\n
+                                  profit_and_loss_account_type):\n
+      initial_debit_balance = getInventory(node_uid=node_uid,\n
+                                 omit_output=1,\n
+                                 from_date=min(period_start_date, from_date),\n
+                                 at_date=max(period_start_date, from_date),\n
+                                 **inventory_params)\n
+      initial_credit_balance = - getInventory(node_uid=node_uid,\n
+                                 omit_input=1,\n
+                                 from_date=min(period_start_date, from_date),\n
+                                 at_date=max(period_start_date, from_date),\n
+                                 **inventory_params)\n
     else:\n
-      item[\'id\'] = account.getGapId()\n
-      item.update(getDefaultColumnValues(node_uid = account.getUid()))\n
-\n
-  if (item[\'opening_balance\'] != 0 or\n
-      item[\'credit_movement\'] != 0 or\n
-      item[\'debit_movement\']  != 0 ):\n
-    if show_balanced_accounts or (item[\'closing_balance\'] != 0):\n
-      report_items.append(account.asContext(**formatValues(item)))\n
-\n
-# MUST BE FIXED:\n
-#     virtual_account_list = []\n
-#     real_account_list    = []\n
-#     if account_type == "Category":\n
-#       item_dict[account_gap] = item_dict[account_gap] + [item]\n
-#\n
-# # Some virtual account are now useless because their childrens where not\n
-# #   included in the last report because of null balance.\n
-# for gap_path in item_dict.keys():\n
-#   if len(item_dict[gap_path]) > 1:\n
-#     report_items.append(account.asContext(**formatValues(item)))\n
-#\n
-# context.log("kev test >", repr( report_items))\n
-\n
-return report_items\n
+      initial_debit_balance = getInventory(node_uid=node_uid,\n
+                                 omit_output=1,\n
+                                 at_date=from_date,\n
+                                 **inventory_params)\n
+      initial_credit_balance = - getInventory(node_uid=node_uid,\n
+                                 omit_input=1,\n
+                                 at_date=from_date,\n
+                                 **inventory_params)\n
+  \n
+  total_initial_debit_balance += round(initial_debit_balance, precision)\n
+  total_initial_credit_balance += round(initial_credit_balance, precision)\n
+\n
+  final_debit_balance = initial_debit_balance + data[\'debit\']\n
+  final_credit_balance = initial_credit_balance + data[\'credit\']\n
+  closing_balance = final_debit_balance - final_credit_balance\n
+  line_list.append(Object(uid=\'new_\',\n
+                          node_id=node_id,\n
+                          node_title=node_title,\n
+                          initial_debit_balance=initial_debit_balance,\n
+                          initial_credit_balance=initial_credit_balance,\n
+                          debit=data[\'debit\'],\n
+                          credit=data[\'credit\'],\n
+                          final_debit_balance=final_debit_balance,\n
+                          final_credit_balance=final_credit_balance,\n
+                          closing_balance=closing_balance))\n
+\n
+if not show_empty_accounts:\n
+  line_list = [ line for line in line_list\n
+                if line[\'debit\'] or\n
+                   line[\'credit\'] or\n
+                   line[\'initial_credit_balance\'] or\n
+                   line[\'initial_debit_balance\'] ]\n
+\n
+# sort\n
+def getStringIndex(obj):\n
+  return \'%-10s %s\' % (obj.node_id, obj.node_title)\n
+line_list.sort(key=getStringIndex)\n
+\n
+# cache values for stat\n
+request.set(\'TrialBalance.total_initial_debit_balance\',\n
+            total_initial_debit_balance)\n
+request.set(\'TrialBalance.total_initial_credit_balance\',\n
+            total_initial_credit_balance)\n
+request.set(\'TrialBalance.debit\', total_initial_debit_balance)\n
+request.set(\'TrialBalance.credit\', total_initial_credit_balance)\n
+\n
+return line_list\n
+# vim: foldmethod=marker\n
 
 
 ]]></string> </value>
@@ -511,7 +403,7 @@ return report_items\n
         </item>
         <item>
             <key> <string>_params</string> </key>
-            <value> <string>src__=0, show_balanced_accounts=0, **kw</string> </value>
+            <value> <string>show_empty_accounts, expand_accounts, at_date, from_date, period_start_date, section_uid, simulation_state, precision, **kw</string> </value>
         </item>
         <item>
             <key> <string>errors</string> </key>
@@ -531,80 +423,77 @@ return report_items\n
                   <dictionary>
                     <item>
                         <key> <string>co_argcount</string> </key>
-                        <value> <int>2</int> </value>
+                        <value> <int>8</int> </value>
                     </item>
                     <item>
                         <key> <string>co_varnames</string> </key>
                         <value>
                           <tuple>
-                            <string>src__</string>
-                            <string>show_balanced_accounts</string>
-                            <string>kw</string>
-                            <string>DateTime</string>
-                            <string>math</string>
-                            <string>LOG</string>
-                            <string>_getattr_</string>
-                            <string>None</string>
-                            <string>from_date</string>
-                            <string>_getitem_</string>
+                            <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>context</string>
                             <string>precision</string>
-                            <string>r_</string>
-                            <string>extra_kw</string>
-                            <string>section_category</string>
-                            <string>section_object</string>
-                            <string>organisation_list</string>
-                            <string>append</string>
-                            <string>$append0</string>
+                            <string>kw</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>getInventoryList</string>
+                            <string>getInventory</string>
+                            <string>dict</string>
+                            <string>inventory_params</string>
+                            <string>MARKER</string>
+                            <string>line_per_account</string>
+                            <string>account_type_to_group_by_node</string>
+                            <string>profit_and_loss_account_type</string>
+                            <string>account_type_to_group_by_mirror_section</string>
+                            <string>account_type_to_group_by_payment</string>
+                            <string>total_debit</string>
+                            <string>total_credit</string>
+                            <string>total_initial_debit_balance</string>
+                            <string>total_initial_credit_balance</string>
                             <string>_getiter_</string>
-                            <string>x</string>
-                            <string>section_uid_list</string>
+                            <string>_apply_</string>
+                            <string>node</string>
+                            <string>_getitem_</string>
+                            <string>account_props</string>
                             <string>_write_</string>
-                            <string>expand_accounts</string>
-                            <string>show_parent_accounts</string>
-                            <string>gap_root</string>
-                            <string>gap_list</string>
-                            <string>getInventory</string>
-                            <string>getInventoryList</string>
-                            <string>True</string>
-                            <string>display_summary_account_line</string>
-                            <string>formatValues</string>
-                            <string>getDefaultColumnValues</string>
-                            <string>expandBankAccountsForAccount</string>
-                            <string>expandThirdPartiesForAccount</string>
-                            <string>accounts</string>
-                            <string>len</string>
-                            <string>gap_cat</string>
-                            <string>gap_object</string>
-                            <string>False</string>
-                            <string>account_list</string>
+                            <string>round</string>
+                            <string>max</string>
+                            <string>traverse</string>
+                            <string>getObject</string>
+                            <string>node_title_and_id_cache</string>
+                            <string>getNodeTitleAndId</string>
+                            <string>line_list</string>
+                            <string>node_relative_url</string>
+                            <string>mirror_section_uid</string>
+                            <string>payment_uid</string>
+                            <string>data</string>
+                            <string>node_uid</string>
+                            <string>node_title</string>
+                            <string>node_id</string>
+                            <string>None</string>
+                            <string>initial_debit_balance</string>
+                            <string>initial_credit_balance</string>
+                            <string>third_party</string>
+                            <string>payment</string>
                             <string>account</string>
-                            <string>o</string>
-                            <string>filter</string>
-                            <string>asset_cat</string>
-                            <string>accounts_to_expand_by_third_parties</string>
-                            <string>accounts_to_expand_by_third_parties_dict</string>
-                            <string>accounts_to_expand_by_bank_accounts</string>
-                            <string>accounts_to_expand_by_bank_accounts_dict</string>
-                            <string>account_dict</string>
-                            <string>gap_path</string>
-                            <string>gap_path_item</string>
-                            <string>range</string>
-                            <string>i</string>
-                            <string>parent_path_item</string>
-                            <string>parent_gap_path</string>
-                            <string>parent_gap</string>
-                            <string>gap_sort_func</string>
-                            <string>report_items</string>
-                            <string>item_list</string>
-                            <string>results</string>
-                            <string>account_gap</string>
-                            <string>account_type</string>
-                            <string>item</string>
-                            <string>_apply_</string>
-                            <string>virtual_accounts</string>
+                            <string>min</string>
+                            <string>final_debit_balance</string>
+                            <string>final_credit_balance</string>
+                            <string>closing_balance</string>
+                            <string>append</string>
+                            <string>$append0</string>
+                            <string>line</string>
+                            <string>getStringIndex</string>
                           </tuple>
                         </value>
                     </item>
@@ -616,10 +505,7 @@ return report_items\n
         <item>
             <key> <string>func_defaults</string> </key>
             <value>
-              <tuple>
-                <int>0</int>
-                <int>0</int>
-              </tuple>
+              <none/>
             </value>
         </item>
         <item>
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 2ff112c642..c97b9e1ffa 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
@@ -68,86 +68,75 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>""" Trial balance.\n
+            <value> <string encoding="cdata"><![CDATA[
+
+""" Trial balance.\n
 """\n
 from Products.ERP5Form.Report import ReportSection\n
 \n
 request = context.REQUEST\n
 portal  = context.portal_url.getPortalObject()\n
+N_ = portal.Base_translateString\n
 \n
-at_date              = request[\'at_date\']\n
-section_category     = request[\'transaction_section_category\']\n
-simulation_state     = request[\'transaction_simulation_state\']\n
-gap_root             = request[\'gap_root\']\n
-gap_list             = request.get(\'gap_list\'            , [])\n
-from_date            = request.get(\'from_date\'           , None)\n
-expand_accounts      = request.get(\'expand_accounts\'     , False)\n
-show_parent_accounts = request.get(\'show_parent_accounts\', False)\n
-show_balanced_accounts = request[\'show_balanced_accounts\']\n
+at_date  = request[\'at_date\']\n
+from_date = request.get(\'from_date\', None)\n
+simulation_state = request[\'simulation_state\']\n
+expand_accounts = request.get(\'expand_accounts\', False)\n
+show_empty_accounts = request[\'show_empty_accounts\']\n
 \n
-request.other[\'is_accounting_report\'] = True\n
+section_uid = portal.Base_getSectionUidListForSectionCategory(\n
+                                   request[\'section_category\'])\n
+# XXX for now we guess period start date from the first organisation having\n
+# accounting periods\n
+period_start_date = None\n
+valid_accounting_period = dict(portal_type=\'Accounting Period\',\n
+                               simulation_state=(\'planned\', \'confirmed\',\n
+                                      \'stopped\', \'closing\', \'delivered\'))\n
+date = from_date or at_date\n
+for uid in section_uid:\n
+  section = portal.portal_catalog.getObject(uid)\n
+  for ap in section.contentValues(filter=valid_accounting_period):\n
+    if ap.getStartDate() <= date <= ap.getStopDate():\n
+      period_start_date = ap.getStartDate().earliestTime()\n
+  if period_start_date:\n
+    break\n
+else:\n
+  period_start_date = DateTime(date.year(), 1, 1)\n
+request.set(\'period_start_date\', period_start_date)\n
 \n
-# flat_mode is a boolean that indicate wether we should use a report tree\n
-#   or a flat list of all accounts.\n
-if request.get(\'tree_mode\', False):\n
-  raise \'Tree mode no longer supported\'\n
-\n
-result = []\n
-params = {\n
-    \'at_date\'                             : at_date\n
-  , \'from_date\'                           : from_date\n
-  , \'section_category\'                    : section_category\n
-  , \'section_category\'                    : section_category\n
-  , \'simulation_state\'                    : simulation_state\n
-  , \'accounting_transaction_line_currency\': None\n
-  , \'is_report_opened\'                    : True\n
-  , \'report_depth\'                        : 5\n
-  , \'gap_root\'                            : gap_root\n
-  , \'gap_list\'                            : gap_list\n
-  , \'show_parent_accounts\'                : show_parent_accounts\n
-  , \'expand_accounts\'                     : expand_accounts\n
-  , \'show_balanced_accounts\'              : show_balanced_accounts\n
-}\n
-\n
-balance_columns = (\n
-    (\'id\'             , \'GAP\')\n
-  , (\'title\'          , \'Account\')\n
-  , (\'opening_balance\', \'Opening Balance\')\n
-  , (\'debit_movement\' , \'Debit Movements\')\n
-  , (\'credit_movement\', \'Credit Movements\')\n
-  , (\'closing_balance\', \'Closing Balance\')\n
-)\n
+if not from_date:\n
+  from_date = period_start_date\n
+from_date = (from_date - 1).latestTime()\n
 \n
-result.append( ReportSection(\n
-                  path                 = portal.account_module.getPhysicalPath()\n
-                  # FIXME: translate later (?)\n
-                , title                = portal.Localizer.erp5_ui.gettext(\'Trial Balance\').encode(\'utf8\')\n
-                , level                = 1\n
-                , form_id              = \'AccountModule_viewAccountListForTrialBalance\'\n
-                , selection_name       = \'accounting_selection\'\n
-                , selection_params     = params\n
-                , listbox_display_mode = \'FlatListMode\'\n
-                , selection_columns    = balance_columns\n
-                ))\n
+# currency precision\n
+currency = portal.Base_getCurrencyForSection(request[\'section_category\'])\n
+precision = portal.account_module.getQuantityPrecisionFromResource(currency)\n
+request.set(\'precision\', precision)\n
 \n
-# Add a spacer\n
-result.append( ReportSection( path    = portal.account_module.getPhysicalPath()\n
-                            , title   = \'\\n\'\n
-                            , form_id = None\n
-                            ))\n
+request.set(\'is_accounting_report\', True)\n
 \n
-# Add summary lines\n
-result.append( ReportSection(\n
-                  path                 = portal.account_module.getPhysicalPath()\n
-                , title                = \'\'\n
-                , form_id              = \'AccountModule_viewTrialBalanceSummary\'\n
-                , selection_name       = \'account_selection\'\n
-                , listbox_display_mode = \'FlatListMode\'\n
-                , selection_params     = params\n
-                ))\n
+# flat_mode is a boolean that indicate wether we should use a report tree or a\n
+# flat list of all accounts.\n
+if request.get(\'tree_mode\', False): # TODO\n
+  raise \'Tree mode no longer supported\'\n
 \n
-return result\n
-</string> </value>
+return [ ReportSection(\n
+            path=portal.account_module.getPhysicalPath(),\n
+            title=N_(\'Trial Balance\'),\n
+            level=1,\n
+            form_id=\'AccountModule_viewAccountListForTrialBalance\',\n
+            selection_name=\'trial_balance_selection\',\n
+            selection_params=dict(show_empty_accounts=show_empty_accounts,\n
+                                  expand_accounts=expand_accounts,\n
+                                  at_date=at_date,\n
+                                  from_date=from_date,\n
+                                  period_start_date=period_start_date,\n
+                                  section_uid=section_uid,\n
+                                  simulation_state=simulation_state,\n
+                                  precision=precision ),) ]\n
+
+
+]]></string> </value>
         </item>
         <item>
             <key> <string>_code</string> </key>
@@ -195,23 +184,28 @@ return result\n
                             <string>context</string>
                             <string>request</string>
                             <string>portal</string>
+                            <string>N_</string>
                             <string>_getitem_</string>
                             <string>at_date</string>
-                            <string>section_category</string>
-                            <string>simulation_state</string>
-                            <string>gap_root</string>
-                            <string>gap_list</string>
                             <string>None</string>
                             <string>from_date</string>
+                            <string>simulation_state</string>
                             <string>False</string>
                             <string>expand_accounts</string>
-                            <string>show_parent_accounts</string>
-                            <string>show_balanced_accounts</string>
+                            <string>show_empty_accounts</string>
+                            <string>section_uid</string>
+                            <string>period_start_date</string>
+                            <string>dict</string>
+                            <string>valid_accounting_period</string>
+                            <string>date</string>
+                            <string>_getiter_</string>
+                            <string>uid</string>
+                            <string>section</string>
+                            <string>ap</string>
+                            <string>DateTime</string>
+                            <string>currency</string>
+                            <string>precision</string>
                             <string>True</string>
-                            <string>_write_</string>
-                            <string>result</string>
-                            <string>params</string>
-                            <string>balance_columns</string>
                           </tuple>
                         </value>
                     </item>
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
new file mode 100644
index 0000000000..cf2e3fbcf9
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_statAccountListForTrialBalance.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.PythonScripts.PythonScript</string>
+          <string>PythonScript</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Python_magic</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </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>from Products.PythonScripts.standard import Object\n
+request = container.REQUEST\n
+\n
+initial_debit_balance = request[\'TrialBalance.total_initial_debit_balance\']\n
+initial_credit_balance = request[\'TrialBalance.total_initial_credit_balance\']\n
+debit = request[\'TrialBalance.debit\']\n
+credit = request[\'TrialBalance.credit\']\n
+\n
+return [ Object( initial_debit_balance=initial_debit_balance,\n
+                 initial_credit_balance=initial_credit_balance,\n
+                 debit=debit,\n
+                 credit=credit,\n
+                 final_debit_balance=initial_debit_balance + debit,\n
+                 final_credit_balance=initial_credit_balance + credit ) ]\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_filepath</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</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>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>
+                          </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>
+        </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/AccountModule_viewTrialBalanceReport.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport.xml
index a849421219..6320b53925 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
@@ -79,10 +79,11 @@
                     <key> <string>Default</string> </key>
                     <value>
                       <list>
+                        <string>period_start_date</string>
                         <string>from_date</string>
                         <string>at_date</string>
-                        <string>transaction_section_category</string>
-                        <string>transaction_simulation_state</string>
+                        <string>section_category</string>
+                        <string>simulation_state</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/at_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/at_date.xml
index d7e1176fcc..cef334333a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/at_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/at_date.xml
@@ -194,6 +194,14 @@
                     <key> <string>hidden</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>input_order</string> </key>
                     <value>
@@ -466,7 +474,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>here/REQUEST/at_date</string> </value>
+            <value> <string>request/at_date | nothing</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/from_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/from_date.xml
index 5e4be6703b..fb8fd61030 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/from_date.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/from_date.xml
@@ -194,6 +194,14 @@
                     <key> <string>hidden</string> </key>
                     <value> <string></string> </value>
                 </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
                 <item>
                     <key> <string>input_order</string> </key>
                     <value>
@@ -466,7 +474,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>here/REQUEST/from_date | nothing</string> </value>
+            <value> <string>request/from_date | nothing</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/period_start_date.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/period_start_date.xml
new file mode 100644
index 0000000000..7edf3d35ed
--- /dev/null
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/period_start_date.xml
@@ -0,0 +1,2053 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>DateTimeField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>period_start_date</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>datetime_out_of_range</string> </key>
+                    <value> <string>The date and time you entered were out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_datetime</string> </key>
+                    <value> <string>You did not enter a valid date and time.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_empty_time</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ampm_time_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_now</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>end_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_order</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>time_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>sub_form</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_empty_time</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ampm_time_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>default_now</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>end_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>input_order</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start_datetime</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>time_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_empty_time</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>ampm_time_style</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>date_only</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>date_separator</string> </key>
+                    <value> <string>/</string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <none/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>default_now</string> </key>
+                    <value> <int>0</int> </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>end_datetime</string> </key>
+                    <value>
+                      <none/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden_day_is_last_day</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hide_day</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>input_order</string> </key>
+                    <value> <string>ymd</string> </value>
+                </item>
+                <item>
+                    <key> <string>input_style</string> </key>
+                    <value> <string>text</string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>start_datetime</string> </key>
+                    <value>
+                      <none/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>time_separator</string> </key>
+                    <value> <string>:</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Period Start Date</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.Form</string>
+          <string>BasicForm</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>fields</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>ampm</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>day</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hour</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>minute</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>month</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAk=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>year</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAo=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>Default</string>
+                <string>date</string>
+                <string>time</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>date</string> </key>
+                    <value>
+                      <list>
+                        <string>year</string>
+                        <string>month</string>
+                        <string>day</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>time</string> </key>
+                    <value>
+                      <list>
+                        <string>hour</string>
+                        <string>minute</string>
+                        <string>ampm</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>ISO-8859-1</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Basic Form</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>request/period_start_date | nothing</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>preferences/getPreferredDateOrder</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>StringField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ampm</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> <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>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> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>am/pm</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="6" aka="AAAAAAAAAAY=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>day</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>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input 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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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>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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</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> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Day</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="7" aka="AAAAAAAAAAc=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>hour</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>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input 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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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>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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</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> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Hour</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="8" aka="AAAAAAAAAAg=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>minute</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>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input 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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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>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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</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> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Minute</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="9" aka="AAAAAAAAAAk=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>month</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>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input 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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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>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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>2</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</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> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Month</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="10" aka="AAAAAAAAAAo=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>IntegerField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>year</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>integer_out_of_range</string> </key>
+                    <value> <string>The integer you entered was out of range.</string> </value>
+                </item>
+                <item>
+                    <key> <string>not_integer</string> </key>
+                    <value> <string>You did not enter an integer.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input 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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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>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>end</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>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</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> <int>4</int> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>4</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>end</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> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>start</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Year</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/transaction_section_category.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/section_category.xml
similarity index 98%
rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/transaction_section_category.xml
rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/section_category.xml
index bec3af2457..d672776c0d 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/transaction_section_category.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/section_category.xml
@@ -14,7 +14,7 @@
       <dictionary>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>transaction_section_category</string> </value>
+            <value> <string>section_category</string> </value>
         </item>
         <item>
             <key> <string>message_values</string> </key>
@@ -279,7 +279,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:here.getPortalObject().portal_categories.resolveCategory(here.REQUEST.transaction_section_category).getLogicalPath()</string> </value>
+            <value> <string>python:here.getPortalObject().portal_categories.resolveCategory(request[\'section_category\']).getLogicalPath()</string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/transaction_simulation_state.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/simulation_state.xml
similarity index 98%
rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/transaction_simulation_state.xml
rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/simulation_state.xml
index a377371891..ce1643e9e4 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/transaction_simulation_state.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReport/simulation_state.xml
@@ -14,7 +14,7 @@
       <dictionary>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>transaction_simulation_state</string> </value>
+            <value> <string>simulation_state</string> </value>
         </item>
         <item>
             <key> <string>message_values</string> </key>
@@ -317,7 +317,7 @@
       <dictionary>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string>python:[here.Localizer.erp5_ui.gettext(x).encode(\'utf8\') for x in here.REQUEST.get(\'transaction_simulation_state\')]</string> </value>
+            <value> <string>python:[here.Localizer.erp5_ui.gettext(x).encode(\'utf8\') for x in request[\'simulation_state\']]</string> </value>
         </item>
       </dictionary>
     </pickle>
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 bbd17db2fd..544fc7c114 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
@@ -80,22 +80,18 @@
                 <item>
                     <key> <string>center</string> </key>
                     <value>
-                      <list>
-                        <string>your_gap_root</string>
-                        <string>your_gap_list</string>
-                      </list>
+                      <list/>
                     </value>
                 </item>
                 <item>
                     <key> <string>left</string> </key>
                     <value>
                       <list>
-                        <string>your_transaction_section_category</string>
+                        <string>your_section_category</string>
                         <string>your_from_date</string>
                         <string>your_at_date</string>
                         <string>your_expand_accounts</string>
-                        <string>your_show_parent_accounts</string>
-                        <string>your_show_balanced_accounts</string>
+                        <string>your_show_empty_accounts</string>
                         <string>your_portal_skin</string>
                       </list>
                     </value>
@@ -104,7 +100,7 @@
                     <key> <string>right</string> </key>
                     <value>
                       <list>
-                        <string>your_transaction_simulation_state</string>
+                        <string>your_simulation_state</string>
                       </list>
                     </value>
                 </item>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_list.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_list.xml
deleted file mode 100644
index a63424ae2a..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_list.xml
+++ /dev/null
@@ -1,283 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>MultiListField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>your_gap_list</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>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>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>view_separator</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>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>view_separator</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>
-                      <list/>
-                    </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>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>6</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>GAP</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </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>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python: here.Account_getGapItemList()[1:]</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_root.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_root.xml
deleted file mode 100644
index c1ae84e7bf..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_gap_root.xml
+++ /dev/null
@@ -1,310 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>ListField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>your_gap_root</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>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </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">AAAAAAAAAAM=</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>GAP Root</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>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>preferences/getPreferredAccountingTransactionGap</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:here.AccountModule_getAvailableGapList()</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_transaction_section_category.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_section_category.xml
similarity index 99%
rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_transaction_section_category.xml
rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_section_category.xml
index 59b73f6fb7..ff290313a0 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_transaction_section_category.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_section_category.xml
@@ -14,7 +14,7 @@
       <dictionary>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>your_transaction_section_category</string> </value>
+            <value> <string>your_section_category</string> </value>
         </item>
         <item>
             <key> <string>message_values</string> </key>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_balanced_accounts.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_empty_accounts.xml
similarity index 97%
rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_balanced_accounts.xml
rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_empty_accounts.xml
index 803d124a27..2a1aad401d 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_balanced_accounts.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_empty_accounts.xml
@@ -14,7 +14,7 @@
       <dictionary>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>your_show_balanced_accounts</string> </value>
+            <value> <string>your_show_empty_accounts</string> </value>
         </item>
         <item>
             <key> <string>message_values</string> </key>
@@ -163,7 +163,7 @@
                 </item>
                 <item>
                     <key> <string>title</string> </key>
-                    <value> <string>Show Balanced Accounts</string> </value>
+                    <value> <string>Show Accounts Without Transactions</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_parent_accounts.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_parent_accounts.xml
deleted file mode 100644
index 1498302f9d..0000000000
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_show_parent_accounts.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>CheckBoxField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>your_show_parent_accounts</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>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>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</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>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</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> <int>0</int> </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>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Show Parents Accounts</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_transaction_simulation_state.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_simulation_state.xml
similarity index 93%
rename from bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_transaction_simulation_state.xml
rename to bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_simulation_state.xml
index 5f32e04c28..749fbfba1a 100644
--- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_transaction_simulation_state.xml
+++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_viewTrialBalanceReportDialog/your_simulation_state.xml
@@ -14,7 +14,7 @@
       <dictionary>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>your_transaction_simulation_state</string> </value>
+            <value> <string>your_simulation_state</string> </value>
         </item>
         <item>
             <key> <string>message_values</string> </key>
@@ -164,7 +164,9 @@
                 </item>
                 <item>
                     <key> <string>size</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
@@ -301,4 +303,23 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: len(field.get_value(\'items\'))</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index aebfaa171d..274ccca8ac 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-214
\ No newline at end of file
+209
\ No newline at end of file
-- 
2.30.9