Period Closing Voucher Test Cases
diff --git a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
index c4fbea4..aba43a6 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
@@ -50,6 +50,7 @@
 		gl_entries = []
 		net_pl_balance = 0
 		pl_accounts = self.get_pl_balances()
+		
 		for acc in pl_accounts:
 			if flt(acc.balance_in_company_currency):
 				gl_entries.append(self.get_gl_dict({
@@ -66,7 +67,7 @@
 				}))
 
 				net_pl_balance += flt(acc.balance_in_company_currency)
-
+		
 		if net_pl_balance:
 			gl_entries.append(self.get_gl_dict({
 				"account": self.closing_account_head,
diff --git a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
index 0b59746..db4dad4 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/test_period_closing_voucher.py
@@ -5,42 +5,74 @@
 from __future__ import unicode_literals
 import unittest
 import frappe
-from frappe.utils import flt
+from frappe.utils import flt, today
+from erpnext.accounts.utils import get_fiscal_year
 from erpnext.accounts.doctype.journal_entry.test_journal_entry import make_journal_entry
 
 class TestPeriodClosingVoucher(unittest.TestCase):
 	def test_closing_entry(self):
+		year_start_date = get_fiscal_year(today())[1]
+		
 		make_journal_entry("_Test Bank - _TC", "Sales - _TC", 400, 
 			"_Test Cost Center - _TC", submit=True)
 		
 		make_journal_entry("_Test Account Cost for Goods Sold - _TC", 
 			"_Test Bank - _TC", 600, "_Test Cost Center - _TC", submit=True)
 			
+		random_expense_account = frappe.db.sql("""
+			select t1.account, 
+				sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) as balance,
+				sum(ifnull(t1.debit_in_account_currency,0))-sum(ifnull(t1.credit_in_account_currency,0)) \
+					as balance_in_account_currency
+			from `tabGL Entry` t1, `tabAccount` t2
+			where t1.account = t2.name and ifnull(t2.root_type, '') = 'Expense'
+				and t2.docstatus < 2 and t2.company = '_Test Company'
+				and t1.posting_date between %s and %s
+			group by t1.account
+			having sum(ifnull(t1.debit,0)) > sum(ifnull(t1.credit,0))
+			limit 1""", (year_start_date, today()), as_dict=True)
+			
 		profit_or_loss = frappe.db.sql("""select sum(ifnull(t1.debit,0))-sum(ifnull(t1.credit,0)) as balance
 			from `tabGL Entry` t1, `tabAccount` t2
 			where t1.account = t2.name and ifnull(t2.report_type, '') = 'Profit and Loss'
 			and t2.docstatus < 2 and t2.company = '_Test Company'
-			and t1.posting_date between '2013-01-01' and '2013-12-31'""")
+			and t1.posting_date between %s and %s""", (year_start_date, today()))
 			
 		profit_or_loss = flt(profit_or_loss[0][0]) if profit_or_loss else 0
 		
 		pcv = self.make_period_closing_voucher()
 		
-		gle_value = frappe.db.sql("""select ifnull(debit, 0) - ifnull(credit, 0)
+		# Check value for closing account
+		gle_amount_for_closing_account = frappe.db.sql("""select ifnull(debit, 0) - ifnull(credit, 0)
 			from `tabGL Entry` where voucher_type='Period Closing Voucher' and voucher_no=%s
 			and account = '_Test Account Reserves and Surplus - _TC'""", pcv.name)
 			
-		gle_value = flt(gle_value[0][0]) if gle_value else 0
+		gle_amount_for_closing_account = flt(gle_amount_for_closing_account[0][0]) \
+			if gle_amount_for_closing_account else 0
 
-		self.assertEqual(gle_value, profit_or_loss)
+		self.assertEqual(gle_amount_for_closing_account, profit_or_loss)
+		
+		if random_expense_account:
+			# Check posted value for teh above random_expense_account
+			gle_for_random_expense_account = frappe.db.sql("""
+				select ifnull(debit, 0) - ifnull(credit, 0) as amount,
+					ifnull(debit_in_account_currency, 0) - ifnull(credit_in_account_currency, 0) 
+						as amount_in_account_currency
+				from `tabGL Entry` 
+				where voucher_type='Period Closing Voucher' and voucher_no=%s and account =%s""", 
+				(pcv.name, random_expense_account[0].account), as_dict=True)
+			
+			self.assertEqual(gle_for_random_expense_account[0].amount, -1*random_expense_account[0].balance)
+			self.assertEqual(gle_for_random_expense_account[0].amount_in_account_currency, 
+				-1*random_expense_account[0].balance_in_account_currency)
 		
 	def make_period_closing_voucher(self):
 		pcv = frappe.get_doc({
 			"doctype": "Period Closing Voucher",
 			"closing_account_head": "_Test Account Reserves and Surplus - _TC",
 			"company": "_Test Company",
-			"fiscal_year": "_Test Fiscal Year 2013",
-			"posting_date": "2013-12-31",
+			"fiscal_year": get_fiscal_year(today())[0],
+			"posting_date": today(),
 			"remarks": "test"
 		})
 		pcv.insert()