opening and closing balance fix in general ledger
diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index 1a0f76e..8f6b598 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -243,13 +243,9 @@
 					out = this.group_data_by_ledger(grouped_ledgers);
 			}
 			
-			if(me.account_by_name[me.account].debit_or_credit == "Debit") {
-				opening.debit -= opening.credit; opening.credit = 0;
-				closing.debit -= closing.credit; closing.credit = 0;
-			} else {
-				opening.credit -= opening.debit; opening.debit = 0;
-				closing.credit -= closing.debit; closing.debit = 0;
-			}
+			opening = me.get_balance(me.account_by_name[me.account].debit_or_credit, opening)
+			closing = me.get_balance(me.account_by_name[me.account].debit_or_credit, closing)
+			
 			out = [opening].concat(out).concat([totals, closing]);
 		} else {
 			me.appframe.set_title("General Ledger");
@@ -260,6 +256,7 @@
 	},
 
 	group_data_by_ledger: function(grouped_ledgers) {
+		var me = this;
 		var out = []
 		$.each(Object.keys(grouped_ledgers).sort(), function(i, account) {
 			if(grouped_ledgers[account].entries.length) {
@@ -270,7 +267,14 @@
 				grouped_ledgers[account].closing.credit = 
 					grouped_ledgers[account].opening.credit
 					+ grouped_ledgers[account].totals.credit;
-
+			
+				grouped_ledgers[account].opening = 
+					me.get_balance(me.account_by_name[me.account].debit_or_credit,
+					grouped_ledgers[account].opening)
+				grouped_ledgers[account].closing = 
+					me.get_balance(me.account_by_name[me.account].debit_or_credit, 
+					grouped_ledgers[account].closing)
+				
 				out = out.concat([grouped_ledgers[account].opening])
 					.concat(grouped_ledgers[account].entries)
 					.concat([grouped_ledgers[account].totals, 
@@ -280,6 +284,15 @@
 		});
 		return [{id: "_blank_first", _no_format: true, debit: "", credit: ""}].concat(out);
 	},
+	
+	get_balance: function(debit_or_credit, balance) {
+		if(debit_or_credit == "Debit") {
+			balance.debit -= balance.credit; balance.credit = 0;
+		} else {
+			balance.credit -= balance.debit; balance.debit = 0;
+		}
+		return balance
+	},
 
 	make_summary_row: function(label, item_account) {
 		return {