diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index 76123b1..ff8701a 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -5,7 +5,7 @@
 from erpnext.hooks import regional_overrides
 from frappe.utils import getdate
 
-__version__ = '10.0.19'
+__version__ = '10.0.20'
 
 def get_default_company(user=None):
 	'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/de_kontenplan_SKR04.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/de_kontenplan_SKR04.json
index e109a3a..e29ad82 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/de_kontenplan_SKR04.json
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/de_kontenplan_SKR04.json
@@ -176,7 +176,7 @@
                         "Eingeforderte Nachsch\u00fcsse (gegenkonto 2929)": {}
                     }, 
                     "Eingeforderte- noch ausstehende Kapitaleinlagen": {
-                        "Ausstehende Einlagen auf das gezeichnete Kapital- eingefordert (Forderungen- nicht eingeforderte ausstehende Einlagen s. Konto 2910)": {}
+                        "Ausstehende Einlagen auf das gezeichnete Kapital- eingefordert": {}
                     }, 
                     "Forderungen aus Lieferungen und Leistungen H-Saldo": {
                         "Einzelwertberechtigungen zu Forderungen mit einer Restlaufzeit bis zu 1 Jahr": {}, 
@@ -685,7 +685,6 @@
                         "Umsatzsteuer aus innergemeinschaftlichem Erwerb 16%": {}, 
                         "Umsatzsteuer aus innergemeinschaftlichem Erwerb 19%": {}, 
                         "Umsatzsteuer aus innergemeinschaftlichem Erwerb ohne Vorsteuerabzug": {}, 
-                        "Umsatzsteuer aus innergemeinschaftlichem Erwerb von Neufahrzeugen von Lieferanten ohne Umsatzsteuer-Identifikationsnummer": {}, 
                         "Umsatzsteuer fr\u00fchere Jahre": {}, 
                         "Umsatzsteuer laufendes Jahr": {}, 
                         "Umsatzsteuer nach \u00a713b UStG": {}, 
@@ -747,7 +746,7 @@
                     "Verbindlichkeiten gegen\u00fcber Kreditinstituten ": {
                         "Gegenkonto 3159-3209 bei Aufteilung der Konten 3210-3248": {}
                     }, 
-                    "Verbindlichkeiten gegen\u00fcber Kreditinstituten oder Kassenbestand- Bundesbankguthaben- Guthaben bei Kreditinstituten und Schecks": {
+                    "Verbindlichkeiten gegen\u00fcber Kreditinstituten - Bundesbankguthaben- Guthaben bei Kreditinstituten und Schecks": {
                         "Verbindlichkeiten gegen\u00fcber Kreditinstituten  1": {
                             "(frei- in Bilanz kein Restlaufzeit vermerkt) 1": {}, 
                             "Verbindlichkeiten gegen\u00fcber Kreditinstituten Restlaufzeit 1 bis 5 Jahre": {}, 
@@ -778,8 +777,8 @@
         }, 
         "Gewinn u. Verlust - Aufwendungen": {
             "Betriebliche Aufwendungen": {
-                "Abschreibungen a. Verm\u00f6gensgeg.  d. Umlaufverm\u00f6gens- soweit diese die in der Kapitalgesellschaft \u00fcblichen Abschreibungen \u00fcberschreiten": {
-                    "Abschreibungen a. Verm\u00f6gensgeg. d. Umlaufverm\u00f6gens- soweit diese die in der Kapitalgesellschaft \u00fcblichen Abschreibungen \u00fcberschreiten": {
+                "Abschreibungen a. Verm\u00f6gensgeg. d.  Umlaufverm\u00f6gens- soweit diese die in der Abschreibungen \u00fcberschreiten": {
+                    "Abschreibungen a. Verm\u00f6gensgeg. d. Umlaufverm\u00f6gens- soweit diese die in der Abschreibungen \u00fcberschreiten": {
                         "Abschreibungen auf Umlaufverm\u00f6gen- steuerrechtlich bedingt (soweit un\u00fcblich hoch)": {}, 
                         "Abschreibungen auf Verm\u00f6gensgegenst\u00e4nde des Umlaufverm\u00f6gens (soweit un\u00fcblich hoch)": {}, 
                         "Forderungsverluste (soweit un\u00fcblich hoch)": {}, 
@@ -852,7 +851,7 @@
                 "Sonstige betriebliche Aufwendungen 3": {
                     "Sonstige betriebliche Aufwendungen 4": {
                         "Abgaben f\u00fcr betrieblich genutzten Grundbesitz": {}, 
-                        "Abgang von Wirtschaftsg\u00fctern des Umlaufverm\u00f6gens 100% / 50% nicht abzugsf\u00e4hig (inlandische Kap. Ges.) nach \u00a7 4 Abs. 3 Satz 4 EStG": {}, 
+                        "Abgang von Wirtschaftsg\u00fctern des Umlaufverm\u00f6gens 100% / 50% nicht abzugsf\u00e4hig (inlandische Kap. Ges.) nach": {}, 
                         "Abgang von Wirtschaftsg\u00fctern des Umlaufverm\u00f6gens nach \u00a7 4 Abs. 3 Satz 4 EStG": {}, 
                         "Abschluss- und Pr\u00fcfungskosten": {}, 
                         "Abschreibung auf Umlaufverm\u00f6gen au\u00dfer Vorr\u00e4te und Wertpapieren des UV (\u00fcbliche H\u00f6he)": {}, 
@@ -867,7 +866,7 @@
                         "Aufwendungen aus Anteilen an Kapitalgesellschaften 100% / 50% nicht abzugsf\u00e4hig (inlandische Kap. Ges.)": {}, 
                         "Aufwendungen aus Bewertung Finanzmittelfonds": {}, 
                         "Aufwendungen aus Kursdifferenzen": {}, 
-                        "Aufwendungen aus der Ver\u00e4u\u00dferung von Anteilen an Kapitalgesellschaften 100% / 50% nicht abzugsf\u00e4hig (inl\u00e4ndische Kap. Ges.)": {}, 
+                        "Aufwendungen aus der Ver\u00e4u\u00dferung von Anteilen an Kapitalgesellschaften 100% / 50% nicht abzugsf\u00e4hig": {}, 
                         "Aufwendungen aus der Zuschreibung von steuertlich niedriger bewerteten R\u00fcckstellungen": {}, 
                         "Aufwendungen aus der Zuschreibung von steuertlich niedriger bewerteten Verbindlichkeiten": {}, 
                         "Aufwendungen f\u00fcr Abraum- und Abfallbeseitigung": {}, 
@@ -987,9 +986,9 @@
                         "Verg\u00fctungen an Mitunternehmer \u00a7 15 EStG": {}, 
                         "Verkaufsprovisionen": {}, 
                         "Verluste aus dem Abgang von Gegenst\u00e4nden des Anlageverm\u00f6gens": {}, 
-                        "Verluste aus dem Abgang von Gegenst\u00e4nden des Umlaufverm\u00f6gens (au\u00dfer Vorr\u00e4te) 100% / 50% nicht anzugsf\u00e4hig (inlandische Kap. Ges.)": {}, 
+                        "Verluste aus dem Abgang von Gegenst\u00e4nden des Umlaufverm\u00f6gens (au\u00dfer Vorr\u00e4te) 100%/50% nicht anzugsf\u00e4hig": {}, 
                         "Verluste aus dem Abgang von Gegenst\u00e4nden des Umlaufverm\u00f6gens au\u00dfer Vorr\u00e4te": {}, 
-                        "Verluste aus der Ver\u00e4u\u00dferung von Anteilen an Kapitalgesellschaften 100% / 50% nicht abzugsf\u00e4hig (inl\u00e4ndische Kap. Ges.)": {}, 
+                        "Verluste aus der Ver\u00e4u\u00dferung von Anteilen an Kapitalgesellschaften 100% / 50% nicht abzugsf\u00e4hig": {}, 
                         "Verpackungsmaterial": {}, 
                         "Versicherungen": {}, 
                         "Versicherungen f\u00fcr Geb\u00e4ude": {}, 
@@ -1020,10 +1019,10 @@
                         }, 
                         "Abschreibungen auf Finanzanlagen 100% / 50% nicht abzugsf\u00e4hig (inl\u00e4ndische Kap. Ges.)": {}, 
                         "Abschreibungen auf Finanzanlagen auf Grund steuerlicher Sondervorschriften": {}, 
-                        "Abschreibungen auf Finanzanlagen auf Grund steuerlicher Sondervorschriften 100% / 50% nicht abzugsf\u00e4hig (inl\u00e4ndische Kap. Ges.)": {}, 
+                        "Abschreibungen auf Finanzanlagen auf Grund steuerlicher Sondervorschriften 100% / 50% nicht abzugsf\u00e4hig": {}, 
                         "Abschreibungen auf Grund von Verlustanteilen an Mitunternehmerschaften \u00a7 8 GewStG": {}, 
                         "Abschreibungen auf Wertpapiere des Umlaufverm\u00f6gens": {}, 
-                        "Abschreibungen auf Wertpapiere des Umlaufverm\u00f6gens 100% / 50% nicht abzugsf\u00e4hig (inl\u00e4ndische Kap. Ges.)": {}, 
+                        "Abschreibungen auf Wertpapiere des Umlaufverm\u00f6gens 100% / 50% nicht abzugsf\u00e4hig": {}, 
                         "Vorwegnahme k\u00fcnftiger Wertschwankungen bei Wertpapieren des Umlaufverm\u00f6gens": {}
                     }, 
                     "account_type": "Depreciation"
@@ -1123,15 +1122,15 @@
                     }
                 }, 
                 "Erh\u00f6hung oder Verminderung des Bestands an fertigen und unfertige Erzeugnissen": {
-                    "Erh\u00f6hung des Bestands an fertigen und unfertigen Erzeugnissen oder Verminderung des Bestands an fertigen und unfertigen Erzeugnissen": {
+                    "Erh\u00f6hung / Verminderung des Bestands an fertigen und unfertigen Erzeugnissen": {
                         "Bestandsver\u00e4nderungen - fertige Erzeugnisse": {}, 
                         "Bestandsver\u00e4nderungen - unfertige Erzeugnisse": {}, 
                         "Bestandsver\u00e4nderungen - unfertige Leistungen": {}
                     }, 
-                    "Erh\u00f6hung des Bestands in Arbeit befindlicher Auftr\u00e4ge oder Verminderung des Bestands in Arbeit befindlicher Auftr\u00e4ge": {
+                    "Erh\u00f6hung / Verminderung des Bestands in Arbeit befindlicher Auftr\u00e4ge": {
                         "Bestandsver\u00e4nderungen in Arbeit befindlicher Auftr\u00e4ge": {}
                     }, 
-                    "Erh\u00f6hung des Bestands in Ausf\u00fchrung befindlicher Bauaftr\u00e4ge oder Verminderung des Bestands in Ausf\u00fchrung befindlicher Bauauftr\u00e4ge": {
+                    "Erh\u00f6hung / Verminderung des Bestands in Ausf\u00fchrung befindlicher Bauaftr\u00e4ge": {
                         "Bestandsver\u00e4nderungen in Ausf\u00fchrung befindliche Bauauftr\u00e4ge": {}
                     }
                 }, 
@@ -1384,8 +1383,8 @@
                     "Sonstige Zinsen und \u00e4hnliche Ertr\u00e4ge 1": {
                         "Diskontertr\u00e4ge": {}, 
                         "Diskontertr\u00e4ge aus verbundenen Unternehmen": {}, 
-                        "Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften (Umlaufverm\u00f6gen) 100% / 50% steuerfrei (inl\u00e4ndische Kap. Ges.)": {}, 
-                        "Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften (verbundene Unternehmen) 100% / 50% steuerfrei (inl\u00e4ndische Kap. Ges.)": {}, 
+                        "Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften 100% / 50% steuerfrei": {}, 
+                        "Laufende Ertr\u00e4ge aus Anteilen an Kapitalgesellschaften 100% / 50% steuerfrei": {}, 
                         "Sonstige Zinsen und \u00e4hnliche Ertr\u00e4ge 2": {}, 
                         "Sonstige Zinsen und \u00e4hnliche Ertr\u00e4ge aus verbundenen Unternehmen": {}, 
                         "Sonstige Zinsertr\u00e4ge": {}, 
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/hu_chart_of_accounts.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/hu_chart_of_accounts.json
index 3ed6b1d..ea8ebf0 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/hu_chart_of_accounts.json
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/hu_chart_of_accounts.json
@@ -588,7 +588,6 @@
 						"5592. Munk\u00e1ltat\u00f3 \u00e1ltal \u00f6nk\u00e9ntes p\u00e9nzt\u00e1rba befizetett munk\u00e1ltat\u00f3i tagd\u00edj hozz\u00e1j\u00e1rul\u00e1s": {}, 
 						"5593. Munk\u00e1ltat\u00f3t terhel\u0151 szem\u00e9lyi j\u00f6vedelemad\u00f3": {}, 
 						"5594. Munk\u00e1ltat\u00f3i hozz\u00e1j\u00e1rul\u00e1s a korengedm\u00e9nyes nyugd\u00edj ig\u00e9nybev\u00e9tel\u00e9hez": {}, 
-						"5595. Tal\u00e1lm\u00e1nyi d\u00edj, szabadalom v\u00e9tel\u00e1ra \u00e9s hasznos\u00edt\u00e1si d\u00edja, az \u00faj\u00edt\u00e1si d\u00edj \u00e9s ezekkel kapcsolatos k\u00f6zrem\u0171k\u00f6d\u00e9si d\u00edjak": {}, 
 						"5596. Fizetett szerz\u0151i, \u00edr\u00f3i \u00e9s m\u00e1s jogv\u00e9delmet \u00e9lvez\u0151 munk\u00e1k d\u00edjai \u00e9s ezekkel kapcsolatos k\u00f6zrem\u0171k\u00f6d\u0151i d\u00edjak": {}, 
 						"5597. Fizetett \u00f6szt\u00f6nd\u00edjak": {}, 
 						"5598. Reprezent\u00e1ci\u00f3s k\u00f6lts\u00e9gek, \u00e9tkez\u00e9si hozz\u00e1j\u00e1rul\u00e1s": {}, 
@@ -731,7 +730,7 @@
 					"8684. K\u00f6vetel\u00e9sek \u00e9rt\u00e9kveszt\u00e9se": {}
 				}, 
 				"869. K\u00fcl\u00f6nf\u00e9le egy\u00e9b r\u00e1ford\u00edt\u00e1sok": {
-					"8691. T\u00e1rsas\u00e1gba bevitt, \u00e9rt\u00e9kpap\u00edrnak vagy r\u00e9szesed\u00e9snek nem min\u0151s\u00fcl\u0151 vagyont. k\u00f6nyv szerinti \u00e9s l\u00e9t. okir. meghat. veszt. k\u00fcl\u00f6nb\u00f6zet": {}, 
+					"8691. T\u00e1rsas\u00e1gba bevitt, \u00e9rt\u00e9kpap\u00edrnak vagy r\u00e9szesed\u00e9snek nem min\u0151s\u00fcl\u0151 vagyont.": {}, 
 					"8692. Ellent\u00e9telez\u00e9s n\u00e9lk\u00fcl \u00e1tv\u00e1llalt k\u00f6telezetts\u00e9g szerz\u0151d\u00e9s szerinti \u00f6sszege": {}, 
 					"8693. T\u00e9r\u00edt\u00e9s n\u00e9lk\u00fcl \u00e1tadott, r\u00e9szesed\u00e9snek vagy \u00e9rt\u00e9kpap\u00edrnak nem min\u0151s\u00fcl\u0151 eszk\u00f6z\u00f6k nyilv\u00e1ntart\u00e1s szerinti \u00e9rt\u00e9ke": {}, 
 					"8694. T\u00e9r\u00edt\u00e9s n\u00e9lk\u00fcl ny\u00fajtott szolg\u00e1ltat\u00e1sok beker\u00fcl\u00e9si \u00e9rt\u00e9ke": {}, 
@@ -813,12 +812,7 @@
 					"9684. R\u00e9szesed\u00e9sek \u00e9rt\u00e9kveszt\u00e9s\u00e9nek vissza\u00edr\u00e1sa": {}
 				}, 
 				"969. K\u00fcl\u00f6nf\u00e9le egy\u00e9b bev\u00e9telek": {
-					"9691. Gazdas\u00e1gi t\u00e1rsas\u00e1gba bevitt, \u00e9rt\u00e9kp. vagy r\u00e9szesed\u00e9snek nem min\u0151s\u00fcl\u0151 vagyont. \u00e9rt\u00e9ke \u00e9s l\u00e9tes\u00edt\u0151 okir. \u00e9rt. nyer. jell . k\u00fcl\u00f6nb.": {}, 
-					"9692. El\u00e9v\u00fclt k\u00f6telezetts\u00e9g k\u00f6nyv szerinti \u00e9rt\u00e9ke": {}, 
-					"9693. T\u00e9r\u00edt\u00e9s n\u00e9lk\u00fcl \u00e1tvett, aj\u00e1nd\u00e9kk\u00e9nt, hagyat\u00e9kk\u00e9nt kapott, fellelt eszk\u00f6z\u00f6k piaci vagy jogszab\u00e1ly szerinti \u00e9rt\u00e9ke": {}, 
-					"9694. T\u00e9r\u00edt\u00e9s n\u00e9lk\u00fcl kapott szolg\u00e1ltat\u00e1sok piaci vagy jogszab\u00e1ly szerinti \u00e9rt\u00e9ke": {}, 
-					"9695. Elengedett \u00e9s ellent\u00e9telez\u00e9s n\u00e9lk\u00fcl \u00e1tv\u00e1llalt k\u00f6telezetts\u00e9g \u00e9rt\u00e9ke": {}, 
-					"9696. Egy\u00e9b, vagyonn\u00f6veked\u00e9ssel j\u00e1r\u00f3 bev\u00e9telek": {}
+					"is_group": 1
 				}
 			}, 
 			"97. P\u00c9NZ\u00dcGYI M\u0170VELETEK BEV\u00c9TELEI": {
diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js
index a852b76..3be2dcd 100644
--- a/erpnext/accounts/page/pos/pos.js
+++ b/erpnext/accounts/page/pos/pos.js
@@ -15,6 +15,7 @@
 			cur_pos = wrapper.pos;
 		} else {
 			// online
+			frappe.flags.is_online = true
 			frappe.set_route('point-of-sale');
 		}
 	});
@@ -24,6 +25,10 @@
 	window.onbeforeunload = function () {
 		return wrapper.pos.beforeunload()
 	}
+
+	if (frappe.flags.is_online) {
+		frappe.set_route('point-of-sale');
+	}
 }
 
 erpnext.pos.PointOfSale = erpnext.taxes_and_totals.extend({
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.html b/erpnext/accounts/report/general_ledger/general_ledger.html
index 90e8059..9e1b884 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.html
+++ b/erpnext/accounts/report/general_ledger/general_ledger.html
@@ -22,7 +22,7 @@
 			<th style="width: 25%">{%= __("Party") %}</th>
 			<th style="width: 15%">{%= __("Debit") %}</th>
 			<th style="width: 15%">{%= __("Credit") %}</th>
-			<th style="width: 18%">{%= __("Balance") %}</th>
+			<th style="width: 18%">{%= __("Balance (Dr - Cr)") %}</th>
 		</tr>
 	</thead>
 	<tbody>
@@ -76,11 +76,11 @@
 				{% } %}
 			{% } %}
 			{% if(filters.print_in_account_currency) { %}
-				<td style="text-align: right">{%= get_currency_symbol(data[i].account_currency)%} 
-					{%= data[i].balance_in_account_currency %}</td>
+				<td style="text-align: right">
+					{%= format_currency(data[i].balance_in_account_currency, data[i].account_currency) %}
+				</td>
 			{% } else { %}
-				<td style="text-align: right">{%= get_currency_symbol()%} 
-					{%= data[i].balance %}</td>
+				<td style="text-align: right">{%= format_currency(data[i].balance) %}</td>
 			{% } %}
 			</tr>
 		{% } %}
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py
index b6b26b1..8e4259c 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@ -241,13 +241,13 @@
 		if not d.get('posting_date'):
 			balance, balance_in_account_currency = 0, 0
 
-		balance, label = get_balance(d, balance, 'debit', 'credit')
-		d['balance'] = '{0} {1}'.format(fmt_money(abs(balance)), label)
+		balance = get_balance(d, balance, 'debit', 'credit')
+		d['balance'] = balance
 
 		if filters.get("show_in_account_currency"):
-			balance_in_account_currency, label = get_balance(d, balance_in_account_currency,
+			balance_in_account_currency = get_balance(d, balance_in_account_currency,
 				'debit_in_account_currency', 'credit_in_account_currency')
-			d['balance_in_account_currency'] = '{0} {1}'.format(fmt_money(abs(balance_in_account_currency)), label)
+			d['balance_in_account_currency'] = balance_in_account_currency
 		else:
 			d['debit_in_account_currency'] = d.get('debit', 0)
 			d['credit_in_account_currency'] = d.get('credit', 0)
@@ -268,9 +268,8 @@
 
 def get_balance(row, balance, debit_field, credit_field):
 	balance += (row.get(debit_field, 0) -  row.get(credit_field, 0))
-	label = 'DR' if balance > 0 else 'CR'
 
-	return balance, label
+	return balance
 
 def get_columns(filters):
 	columns = [
@@ -300,10 +299,10 @@
 			"width": 100
 		},
 		{
-			"label": _("Balance"),
+			"label": _("Balance (Dr - Cr)"),
 			"fieldname": "balance",
-			"fieldtype": "Data",
-			"width": 100
+			"fieldtype": "Float",
+			"width": 130
 		}
 	]
 
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 2ec6b83..a64e76f 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -156,7 +156,7 @@
 
 			last_purchase_rate, is_stock_item = frappe.db.get_value("Item", it.item_code, ["last_purchase_rate", "is_stock_item"])
 			last_purchase_rate_in_sales_uom = last_purchase_rate / (it.conversion_factor or 1)
-			if flt(it.base_rate) < flt(last_purchase_rate_in_sales_uom):
+			if flt(it.base_rate) < flt(last_purchase_rate_in_sales_uom) and not self.is_return:
 				throw_message(it.item_name, last_purchase_rate_in_sales_uom, "last purchase rate")
 
 			last_valuation_rate = frappe.db.sql("""
@@ -166,7 +166,7 @@
 				""", (it.item_code, it.warehouse))
 			if last_valuation_rate:
 				last_valuation_rate_in_sales_uom = last_valuation_rate[0][0] / (it.conversion_factor or 1)
-				if is_stock_item and flt(it.base_rate) < flt(last_valuation_rate_in_sales_uom):
+				if is_stock_item and flt(it.base_rate) < flt(last_valuation_rate_in_sales_uom) and not self.is_return:
 					throw_message(it.name, last_valuation_rate_in_sales_uom, "valuation rate")
 
 
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index 4547ac1..0e35cb8 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -491,11 +491,13 @@
 		if self.doc.doctype == "Sales Invoice" \
 			and self.doc.paid_amount > self.doc.grand_total and not self.doc.is_return \
 			and any([d.type == "Cash" for d in self.doc.payments]):
+			grand_total = self.doc.rounded_total or self.doc.grand_total
+			base_grand_total = self.doc.base_rounded_total or self.doc.base_grand_total
 
-			self.doc.change_amount = flt(self.doc.paid_amount - self.doc.grand_total +
+			self.doc.change_amount = flt(self.doc.paid_amount - grand_total +
 				self.doc.write_off_amount, self.doc.precision("change_amount"))
 
-			self.doc.base_change_amount = flt(self.doc.base_paid_amount - self.doc.base_grand_total +
+			self.doc.base_change_amount = flt(self.doc.base_paid_amount - base_grand_total +
 				self.doc.base_write_off_amount, self.doc.precision("base_change_amount"))
 
 	def calculate_write_off_amount(self):
diff --git a/erpnext/hr/doctype/payroll_entry/payroll_entry.py b/erpnext/hr/doctype/payroll_entry/payroll_entry.py
index 0b4e3bf..77cece3 100644
--- a/erpnext/hr/doctype/payroll_entry/payroll_entry.py
+++ b/erpnext/hr/doctype/payroll_entry/payroll_entry.py
@@ -321,7 +321,7 @@
 			journal_entry.user_remark = _('Payment of salary from {0} to {1}')\
 				.format(self.start_date, self.end_date)
 			journal_entry.company = self.company
-			journal_entry.posting_date = nowdate()
+			journal_entry.posting_date = self.posting_date
 
 			payment_amount = flt(total_salary_amount.rounded_total, precision)
 
diff --git a/erpnext/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js
index 43f5705..99ee2a2 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.js
+++ b/erpnext/projects/doctype/timesheet/timesheet.js
@@ -39,7 +39,7 @@
 
 	refresh: function(frm) {
 		if(frm.doc.docstatus==1) {
-			if(frm.doc.per_billed < 100){
+			if(frm.doc.per_billed < 100 && frm.doc.total_billable_hours && frm.doc.total_billable_hours > frm.doc.total_billed_hours){
 				frm.add_custom_button(__("Make Sales Invoice"), function() { frm.trigger("make_invoice") },
 					"fa fa-file-alt");
 			}
diff --git a/erpnext/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py
index 01552a5..8d339b9 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.py
+++ b/erpnext/projects/doctype/timesheet/timesheet.py
@@ -310,16 +310,16 @@
 
 @frappe.whitelist()
 def get_timesheet_data(name, project):
+	data = None
 	if project and project!='':
 		data = get_projectwise_timesheet_data(project, name)
 	else:
 		data = frappe.get_all('Timesheet',
 			fields = ["(total_billable_amount - total_billed_amount) as billing_amt", "total_billable_hours as billing_hours"], filters = {'name': name})
-
 	return {
-		'billing_hours': data[0].billing_hours,
-		'billing_amount': data[0].billing_amt,
-		'timesheet_detail': data[0].name if project and project!= '' else None
+		'billing_hours': data[0].billing_hours if data else None,
+		'billing_amount': data[0].billing_amt if data else None,
+		'timesheet_detail': data[0].name if data and project and project!= '' else None
 	}
 
 @frappe.whitelist()
@@ -327,6 +327,12 @@
 	target = frappe.new_doc("Sales Invoice")
 	timesheet = frappe.get_doc('Timesheet', source_name)
 
+	if not timesheet.total_billable_hours:
+		frappe.throw(_("Invoice can't be made for zero billing hour"))
+
+	if timesheet.total_billable_hours == timesheet.total_billed_hours:
+		frappe.throw(_("Invoice already created for all billing hours"))
+
 	hours = flt(timesheet.total_billable_hours) - flt(timesheet.total_billed_hours)
 	billing_amount = flt(timesheet.total_billable_amount) - flt(timesheet.total_billed_amount)
 	billing_rate = billing_amount / hours
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index 4847dae..c1b020b 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -653,11 +653,14 @@
 
 			var payment_types = $.map(this.frm.doc.payments, function(d) { return d.type; });
 			if (in_list(payment_types, 'Cash')) {
-				this.frm.doc.change_amount = flt(this.frm.doc.paid_amount - this.frm.doc.grand_total +
+				var grand_total = this.frm.doc.rounded_total || this.frm.doc.grand_total;
+				var base_grand_total = this.frm.doc.base_rounded_total || this.frm.doc.base_grand_total;
+
+				this.frm.doc.change_amount = flt(this.frm.doc.paid_amount - grand_total +
 					this.frm.doc.write_off_amount, precision("change_amount"));
 
 				this.frm.doc.base_change_amount = flt(this.frm.doc.base_paid_amount -
-					this.frm.doc.base_grand_total + this.frm.doc.base_write_off_amount,
+					base_grand_total + this.frm.doc.base_write_off_amount,
 					precision("base_change_amount"));
 			}
 		}
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.js b/erpnext/selling/page/point_of_sale/point_of_sale.js
index 5c2662c..2d77115 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -15,6 +15,7 @@
 			window.cur_pos = wrapper.pos;
 		} else {
 			// offline
+			frappe.flags.is_offline = true;
 			frappe.set_route('pos');
 		}
 	});
@@ -24,6 +25,10 @@
 	if (wrapper.pos) {
 		cur_frm = wrapper.pos.frm;
 	}
+
+	if (frappe.flags.is_offline) {
+		frappe.set_route('pos');
+	}
 }
 
 erpnext.pos.PointOfSale = class PointOfSale {
diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py
index c3deaf2..254d7b7 100644
--- a/erpnext/shopping_cart/cart.py
+++ b/erpnext/shopping_cart/cart.py
@@ -65,10 +65,13 @@
 	from erpnext.selling.doctype.quotation.quotation import _make_sales_order
 	sales_order = frappe.get_doc(_make_sales_order(quotation.name, ignore_permissions=True))
 	for item in sales_order.get("items"):
-		item.reserved_warehouse = frappe.db.get_value("Item", item.item_code, "website_warehouse") or None
-		item_stock = get_qty_in_stock(item.item_code, "website_warehouse")
-		if item.qty > item_stock.stock_qty[0][0]:
-			throw(_("Only {0} in stock for item {1}").format(item_stock.stock_qty[0][0], item.item_code))
+		item.reserved_warehouse, is_stock_item = frappe.db.get_value("Item",
+			item.item_code, ["website_warehouse", "is_stock_item"]) or None, None
+
+		if is_stock_item:
+			item_stock = get_qty_in_stock(item.item_code, "website_warehouse")
+			if item.qty > item_stock.stock_qty[0][0]:
+				throw(_("Only {0} in stock for item {1}").format(item_stock.stock_qty[0][0], item.item_code))
 
 	sales_order.flags.ignore_permissions = True
 	sales_order.insert()
