diff --git a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.js b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.js
index ffb6d5e..bb4d514 100644
--- a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.js
+++ b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.js
@@ -8,41 +8,48 @@
 			frm.add_custom_button(__('Show {0}', [frm.doc.document_type]), function () {
 				frappe.set_route("List", frm.doc.document_type);
 			});
-		}
 
-		frm.set_query('document_type', () => {
-			return {
-				filters: {
-					name: ['not in', ['Accounting Dimension', 'Project', 'Cost Center']]
-				}
-			};
-		});
-
-		let button = frm.doc.disabled ? "Enable" : "Disable";
-
-		frm.add_custom_button(__(button), function() {
-
-			frm.set_value('disabled', 1 - frm.doc.disabled);
-
-			frappe.call({
-				method: "erpnext.accounts.doctype.accounting_dimension.accounting_dimension.disable_dimension",
-				args: {
-					doc: frm.doc
-				},
-				freeze: true,
-				callback: function(r) {
-					let message = frm.doc.disabled ? "Dimension Disabled" : "Dimension Enabled";
-					frm.save();
-					frappe.show_alert({message:__(message), indicator:'green'});
-				}
+			frm.set_query('document_type', () => {
+				return {
+					filters: {
+						name: ['not in', ['Accounting Dimension', 'Project', 'Cost Center']]
+					}
+				};
 			});
-		});
+
+			let button = frm.doc.disabled ? "Enable" : "Disable";
+
+			frm.add_custom_button(__(button), function() {
+
+				frm.set_value('disabled', 1 - frm.doc.disabled);
+
+				frappe.call({
+					method: "erpnext.accounts.doctype.accounting_dimension.accounting_dimension.disable_dimension",
+					args: {
+						doc: frm.doc
+					},
+					freeze: true,
+					callback: function(r) {
+						let message = frm.doc.disabled ? "Dimension Disabled" : "Dimension Enabled";
+						frm.save();
+						frappe.show_alert({message:__(message), indicator:'green'});
+					}
+				});
+			});
+		}
 	},
 
 	document_type: function(frm) {
+
 		frm.set_value('label', frm.doc.document_type);
 		frm.set_value('fieldname', frappe.model.scrub(frm.doc.document_type));
 
+		if (frm.is_new()){
+			let row = frappe.model.add_child(frm.doc, "Accounting Dimension Detail", "dimension_defaults");
+			row.reference_document = frm.doc.document_type;
+			frm.refresh_fields("dimension_defaults");
+		}
+
 		frappe.db.get_value('Accounting Dimension', {'document_type': frm.doc.document_type}, 'document_type', (r) => {
 			if (r && r.document_type) {
 				frm.set_df_property('document_type', 'description', "Document type is already set as dimension");
@@ -50,3 +57,10 @@
 		});
 	},
 });
+
+frappe.ui.form.on('Accounting Dimension Detail', {
+	dimension_defaults_add: function(frm, cdt, cdn) {
+		let row = locals[cdt][cdn];
+		row.reference_document = frm.doc.document_type;
+	}
+})
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.json b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.json
index 0fab74d..19fa9bf 100644
--- a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.json
+++ b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.json
@@ -9,7 +9,7 @@
   "document_type",
   "label",
   "fieldname",
-  "default_dimension",
+  "dimension_defaults",
   "mandatory_for_bs",
   "mandatory_for_pl",
   "disabled"
@@ -56,13 +56,13 @@
    "label": "Mandatory For Profit and Loss Account"
   },
   {
-   "fieldname": "default_dimension",
-   "fieldtype": "Dynamic Link",
-   "label": "Default Dimension",
-   "options": "document_type"
+   "fieldname": "dimension_defaults",
+   "fieldtype": "Table",
+   "label": "Dimension Defaults",
+   "options": "Accounting Dimension Detail"
   }
  ],
- "modified": "2019-07-14 19:16:25.405924",
+ "modified": "2019-07-16 18:00:11.365510",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Accounting Dimension",
diff --git a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py
index 3148498..218ab59 100644
--- a/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py
+++ b/erpnext/accounts/doctype/accounting_dimension/accounting_dimension.py
@@ -144,6 +144,14 @@
 
 		frappe.clear_cache(doctype=doctype)
 
+	dimension_filters = frappe.db.sql("""
+		SELECT label, fieldname, document_type
+		FROM `tabAccounting Dimension`
+		WHERE disabled = 0
+	""", as_dict=1)
+
+	return dimension_filters
+
 def get_doctypes_with_dimensions():
 	doclist = ["GL Entry", "Sales Invoice", "Purchase Invoice", "Payment Entry", "Asset",
 		"Expense Claim", "Stock Entry", "Budget", "Payroll Entry", "Delivery Note", "Sales Invoice Item", "Purchase Invoice Item",
diff --git a/erpnext/accounts/doctype/accounting_dimension_detail/__init__.py b/erpnext/accounts/doctype/accounting_dimension_detail/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/accounts/doctype/accounting_dimension_detail/__init__.py
diff --git a/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.json b/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.json
new file mode 100644
index 0000000..f46a065
--- /dev/null
+++ b/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.json
@@ -0,0 +1,47 @@
+{
+ "creation": "2019-07-16 17:53:18.718831",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "company",
+  "reference_document",
+  "default_dimension"
+ ],
+ "fields": [
+  {
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Company",
+   "options": "Company",
+   "reqd": 1
+  },
+  {
+   "fieldname": "reference_document",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "label": "Reference Document",
+   "options": "DocType",
+   "read_only": 1
+  },
+  {
+   "fieldname": "default_dimension",
+   "fieldtype": "Dynamic Link",
+   "in_list_view": 1,
+   "label": "Default Dimension",
+   "options": "reference_document",
+   "reqd": 1
+  }
+ ],
+ "istable": 1,
+ "modified": "2019-07-16 18:54:52.202378",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Accounting Dimension Detail",
+ "owner": "Administrator",
+ "permissions": [],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py b/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py
new file mode 100644
index 0000000..17cf549
--- /dev/null
+++ b/erpnext/accounts/doctype/accounting_dimension_detail/accounting_dimension_detail.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class AccountingDimensionDetail(Document):
+	pass
diff --git a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
index e4acf5a..8728950 100644
--- a/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
+++ b/erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
@@ -258,6 +258,7 @@
    "print_hide": 1
   },
   {
+   "collapsible": 1,
    "fieldname": "accounting_dimensions_section",
    "fieldtype": "Section Break",
    "label": "Accounting Dimensions"
@@ -269,12 +270,13 @@
  ],
  "idx": 1,
  "istable": 1,
- "modified": "2019-05-25 22:14:02.715509",
+ "modified": "2019-07-16 17:12:08.238334",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Journal Entry Account",
  "owner": "Administrator",
  "permissions": [],
+ "sort_field": "modified",
  "sort_order": "DESC",
  "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
index 465df27..779ac4f 100644
--- a/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
+++ b/erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -764,6 +764,7 @@
    "label": "Image"
   },
   {
+   "collapsible": 1,
    "fieldname": "accounting_dimensions_section",
    "fieldtype": "Section Break",
    "label": "Accounting Dimensions"
@@ -782,7 +783,7 @@
  ],
  "idx": 1,
  "istable": 1,
- "modified": "2019-06-28 17:30:12.156086",
+ "modified": "2019-07-16 16:36:46.527606",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Sales Invoice Item",
diff --git a/erpnext/accounts/report/accounts_payable/accounts_payable.js b/erpnext/accounts/report/accounts_payable/accounts_payable.js
index cfcc575..5e07d08 100644
--- a/erpnext/accounts/report/accounts_payable/accounts_payable.js
+++ b/erpnext/accounts/report/accounts_payable/accounts_payable.js
@@ -115,13 +115,12 @@
 	}
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["Accounts Payable"].filters.splice(9, 0 ,{
-			"fieldname": dimension["fieldname"],
-			"label": __(dimension["label"]),
-			"fieldtype": "Link",
-			"options": dimension["document_type"]
-		});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["Accounts Payable"].filters.splice(9, 0 ,{
+		"fieldname": dimension["fieldname"],
+		"label": __(dimension["label"]),
+		"fieldtype": "Link",
+		"options": dimension["document_type"]
 	});
 });
+
diff --git a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js
index 006068a..426de67 100644
--- a/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js
+++ b/erpnext/accounts/report/accounts_payable_summary/accounts_payable_summary.js
@@ -99,13 +99,12 @@
 	}
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["Accounts Payable Summary"].filters.splice(9, 0 ,{
-			"fieldname": dimension["fieldname"],
-			"label": __(dimension["label"]),
-			"fieldtype": "Link",
-			"options": dimension["document_type"]
-		});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["Accounts Payable Summary"].filters.splice(9, 0 ,{
+		"fieldname": dimension["fieldname"],
+		"label": __(dimension["label"]),
+		"fieldtype": "Link",
+		"options": dimension["document_type"]
 	});
 });
+
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js
index 2a45454..816e438 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.js
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.js
@@ -173,13 +173,12 @@
 	}
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["Accounts Receivable"].filters.splice(9, 0 ,{
-			"fieldname": dimension["fieldname"],
-			"label": __(dimension["label"]),
-			"fieldtype": "Link",
-			"options": dimension["document_type"]
-		});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["Accounts Receivable"].filters.splice(9, 0 ,{
+		"fieldname": dimension["fieldname"],
+		"label": __(dimension["label"]),
+		"fieldtype": "Link",
+		"options": dimension["document_type"]
 	});
 });
+
diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js
index a7c0787..d63af8b 100644
--- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js
+++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.js
@@ -117,13 +117,11 @@
 	}
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["Accounts Receivable Summary"].filters.splice(9, 0 ,{
-			"fieldname": dimension["fieldname"],
-			"label": __(dimension["label"]),
-			"fieldtype": "Link",
-			"options": dimension["document_type"]
-		});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["Accounts Receivable Summary"].filters.splice(9, 0 ,{
+		"fieldname": dimension["fieldname"],
+		"label": __(dimension["label"]),
+		"fieldtype": "Link",
+		"options": dimension["document_type"]
 	});
 });
diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js
index f2a33a8..33dc555 100644
--- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js
+++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js
@@ -63,8 +63,7 @@
 	]
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["Budget Variance Report"].filters[4].options.push(dimension["document_type"]);
-	});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["Budget Variance Report"].filters[4].options.push(dimension["document_type"]);
 });
+
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.js b/erpnext/accounts/report/general_ledger/general_ledger.js
index ea82575..74a1ea7 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.js
+++ b/erpnext/accounts/report/general_ledger/general_ledger.js
@@ -159,13 +159,12 @@
 	]
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["General Ledger"].filters.splice(15, 0 ,{
-			"fieldname": dimension["fieldname"],
-			"label": __(dimension["label"]),
-			"fieldtype": "Link",
-			"options": dimension["document_type"]
-		});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["General Ledger"].filters.splice(15, 0 ,{
+		"fieldname": dimension["fieldname"],
+		"label": __(dimension["label"]),
+		"fieldtype": "Link",
+		"options": dimension["document_type"]
 	});
 });
+
diff --git a/erpnext/accounts/report/profitability_analysis/profitability_analysis.js b/erpnext/accounts/report/profitability_analysis/profitability_analysis.js
index d6864b5..2656a7e 100644
--- a/erpnext/accounts/report/profitability_analysis/profitability_analysis.js
+++ b/erpnext/accounts/report/profitability_analysis/profitability_analysis.js
@@ -105,9 +105,8 @@
 		"initial_depth": 3
 	}
 
-	erpnext.dimension_filters.then((dimensions) => {
-		dimensions.forEach((dimension) => {
-			frappe.query_reports["Profitability Analysis"].filters[1].options.push(dimension["document_type"]);
-		});
+	frappe.boot.dimension_filters.forEach((dimension) => {
+		frappe.query_reports["Profitability Analysis"].filters[1].options.push(dimension["document_type"]);
 	});
+
 });
diff --git a/erpnext/accounts/report/sales_register/sales_register.js b/erpnext/accounts/report/sales_register/sales_register.js
index 442aa12..105f5a2 100644
--- a/erpnext/accounts/report/sales_register/sales_register.js
+++ b/erpnext/accounts/report/sales_register/sales_register.js
@@ -68,13 +68,12 @@
 	]
 }
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
-		frappe.query_reports["Sales Register"].filters.splice(7, 0 ,{
-			"fieldname": dimension["fieldname"],
-			"label": __(dimension["label"]),
-			"fieldtype": "Link",
-			"options": dimension["document_type"]
-		});
+frappe.boot.dimension_filters.forEach((dimension) => {
+	frappe.query_reports["Sales Register"].filters.splice(7, 0 ,{
+		"fieldname": dimension["fieldname"],
+		"label": __(dimension["label"]),
+		"fieldtype": "Link",
+		"options": dimension["document_type"]
 	});
 });
+
diff --git a/erpnext/accounts/report/trial_balance/trial_balance.js b/erpnext/accounts/report/trial_balance/trial_balance.js
index 73d2ab3..dc6d07e 100644
--- a/erpnext/accounts/report/trial_balance/trial_balance.js
+++ b/erpnext/accounts/report/trial_balance/trial_balance.js
@@ -94,10 +94,8 @@
 		"parent_field": "parent_account",
 		"initial_depth": 3
 	}
-});
 
-erpnext.dimension_filters.then((dimensions) => {
-	dimensions.forEach((dimension) => {
+	frappe.boot.dimension_filters.forEach((dimension) => {
 		frappe.query_reports["Trial Balance"].filters.splice(5, 0 ,{
 			"fieldname": dimension["fieldname"],
 			"label": __(dimension["label"]),
@@ -107,3 +105,5 @@
 	});
 });
 
+
+
diff --git a/erpnext/public/js/financial_statements.js b/erpnext/public/js/financial_statements.js
index 89cb13d..5feedd3 100644
--- a/erpnext/public/js/financial_statements.js
+++ b/erpnext/public/js/financial_statements.js
@@ -129,14 +129,12 @@
 		}
 	]
 
-	erpnext.dimension_filters.then((dimensions) => {
-		dimensions.forEach((dimension) => {
-			filters.push({
-				"fieldname": dimension["fieldname"],
-				"label": __(dimension["label"]),
-				"fieldtype": "Link",
-				"options": dimension["document_type"]
-			});
+	frappe.boot.dimension_filters.forEach((dimension) => {
+		filters.push({
+			"fieldname": dimension["fieldname"],
+			"label": __(dimension["label"]),
+			"fieldtype": "Link",
+			"options": dimension["document_type"]
 		});
 	});
 
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 1c5e98e..0a363a0 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -63,20 +63,6 @@
 			me.show_serial_batch_selector(grid_row.frm, grid_row.doc);
 		});
 	},
-
-	get_dimension_filters: async function() {
-		if (!frappe.model.can_read('Accounting Dimension')) {
-			return [];
-		}
-		let dimensions = await frappe.db.get_list('Accounting Dimension', {
-			fields: ['label', 'fieldname', 'document_type', 'default_dimension'],
-			filters: {
-				disabled: 0
-			}
-		});
-
-		return dimensions;
-	}
 });
 
 
diff --git a/erpnext/public/js/utils/dimension_tree_filter.js b/erpnext/public/js/utils/dimension_tree_filter.js
index 4a82edd..22b4834 100644
--- a/erpnext/public/js/utils/dimension_tree_filter.js
+++ b/erpnext/public/js/utils/dimension_tree_filter.js
@@ -7,25 +7,40 @@
 	"Landed Cost Item", "Asset Value Adjustment", "Loyalty Program", "Fee Schedule", "Fee Structure", "Stock Reconciliation",
 	"Travel Request", "Fees", "POS Profile"];
 
-erpnext.dimension_filters = erpnext.get_dimension_filters();
-
 erpnext.doctypes_with_dimensions.forEach((doctype) => {
 	frappe.ui.form.on(doctype, {
 		onload: function(frm) {
-			erpnext.dimension_filters.then((dimensions) => {
-				dimensions.forEach((dimension) => {
-					if (dimension['default_dimension']) {
-						frm.set_value(dimension['fieldname'], dimension['default_dimension']);
+			frappe.boot.dimension_filters.forEach((dimension) => {
+				frappe.model.with_doctype(dimension['document_type'], () => {
+					if (frappe.meta.has_field(dimension['document_type'], 'is_group')) {
+						frm.set_query(dimension['fieldname'], {
+							"is_group": 0
+						});
 					}
-					frappe.model.with_doctype(dimension['document_type'], () => {
-						if (frappe.meta.has_field(dimension['document_type'], 'is_group')) {
-							frm.set_query(dimension['fieldname'], {
-								"is_group": 0
-							});
-						}
-					});
 				});
 			});
+		},
+
+		company: function(frm) {
+			if(frm.doc.company) {
+				frappe.boot.dimension_filters.forEach((dimension) => {
+					frm.set_value(dimension['fieldname'], frappe.boot.default_dimensions[frm.doc.company][dimension['document_type']]);
+				});
+			}
+		},
+
+		items_add: function(frm, cdt, cdn) {
+			frappe.boot.dimension_filters.forEach((dimension) => {
+				var row = frappe.get_doc(cdt, cdn);
+				frm.script_manager.copy_from_first_row("items", row, [dimension['fieldname']]);
+			});
+		},
+
+		accounts_add: function(frm, cdt, cdn) {
+			frappe.boot.dimension_filters.forEach((dimension) => {
+				var row = frappe.get_doc(cdt, cdn);
+				frm.script_manager.copy_from_first_row("accounts", row, [dimension['fieldname']]);
+			});
 		}
 	});
 });
\ No newline at end of file
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index 4ca43a8..7d70cc2 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -39,6 +39,8 @@
 
 		party_account_types = frappe.db.sql(""" select name, ifnull(account_type, '') from `tabParty Type`""")
 		bootinfo.party_account_types = frappe._dict(party_account_types)
+		load_dimension_filters(bootinfo)
+		load_default_dimensions(bootinfo)
 
 def load_country_and_currency(bootinfo):
 	country = frappe.db.get_default("country")
@@ -49,6 +51,22 @@
 		number_format, smallest_currency_fraction_value, symbol from tabCurrency
 		where enabled=1""", as_dict=1, update={"doctype":":Currency"})
 
+def load_dimension_filters(bootinfo):
+	bootinfo.dimension_filters = frappe.db.sql("""
+		SELECT label, fieldname, document_type
+		FROM `tabAccounting Dimension`
+		WHERE disabled = 0
+	""", as_dict=1)
+
+def load_default_dimensions(bootinfo):
+	default_dimensions = frappe.db.sql("""SELECT parent, company, default_dimension
+		FROM `tabAccounting Dimension Detail`""", as_dict=1)
+
+	bootinfo.default_dimensions = {}
+	for dimension in default_dimensions:
+		bootinfo.default_dimensions.setdefault(dimension['company'], {})
+		bootinfo.default_dimensions[dimension['company']][dimension['parent']] = dimension['default_dimension']
+
 def update_page_info(bootinfo):
 	bootinfo.page_info.update({
 		"Chart of Accounts": {
