Merge branch 'develop'
diff --git a/erpnext/__version__.py b/erpnext/__version__.py
index 4d0568b..723e7ce 100644
--- a/erpnext/__version__.py
+++ b/erpnext/__version__.py
@@ -1,2 +1,2 @@
 from __future__ import unicode_literals
-__version__ = '6.12.7'
+__version__ = '6.12.8'
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 3c65a80..bed3a91 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -7,7 +7,7 @@
 app_description = """ERP made simple"""
 app_icon = "icon-th"
 app_color = "#e74c3c"
-app_version = "6.12.7"
+app_version = "6.12.8"
 app_email = "info@erpnext.com"
 app_license = "GNU General Public License (v3)"
 source_link = "https://github.com/frappe/erpnext"
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 7712f5e..6ec82a2 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -533,13 +533,23 @@
 		default_price_list = frappe.get_value("Supplier", for_supplier, "default_price_list")
 		if default_price_list:
 			target.buying_price_list = default_price_list
+		
+		if any( item.delivered_by_supplier==1 for item in source.items):
+			if source.shipping_address_name:
+				target.customer_address = source.shipping_address_name
+				target.customer_address_display = source.shipping_address
+			else:
+				target.customer_address = source.customer_address
+				target.customer_address_display = source.address_display
 			
-		if source.shipping_address_name:
-			target.customer_address = source.shipping_address_name
-			target.customer_address_display = source.shipping_address
+			target.customer_contact_person = source.contact_person
+			target.customer_contact_display = source.contact_display
+			target.customer_contact_mobile = source.contact_mobile
+			target.customer_contact_email = source.contact_email
+			
 		else:
-			target.customer_address = source.customer_address
-			target.customer_address_display = source.address_display
+			target.customer = ""
+			target.customer_name = ""
 
 		target.run_method("set_missing_values")
 		target.run_method("calculate_taxes_and_totals")
@@ -551,12 +561,6 @@
 	doclist = get_mapped_doc("Sales Order", source_name, {
 		"Sales Order": {
 			"doctype": "Purchase Order",
-			"field_map": {
-				"contact_person": "customer_contact_person",
-				"contact_display": "customer_contact_display",
-				"contact_mobile": "customer_contact_mobile",
-				"contact_email": "customer_contact_email",
-			},
 			"field_no_map": [
 				"address_display",
 				"contact_display",
diff --git a/erpnext/translations/fi.csv b/erpnext/translations/fi.csv
index 3f10b28..5c1a652 100644
--- a/erpnext/translations/fi.csv
+++ b/erpnext/translations/fi.csv
@@ -2084,7 +2084,7 @@
 DocType: Sales Taxes and Charges,Tax Amount After Discount Amount (Company Currency),veron arvomäärä alennusten jälkeen (yrityksen valuutta)
 apps/erpnext/erpnext/stock/doctype/stock_entry/stock_entry.py +149,Target warehouse is mandatory for row {0},tavoite varasto on pakollinen rivin {0}
 DocType: Quality Inspection,Quality Inspection,laatutarkistus
-apps/erpnext/erpnext/setup/setup_wizard/install_fixtures.py +144,Extra Small,erittäin suuri
+apps/erpnext/erpnext/setup/setup_wizard/install_fixtures.py +144,Extra Small,erittäin pieni
 apps/erpnext/erpnext/stock/doctype/material_request/material_request.js +545,Warning: Material Requested Qty is less than Minimum Order Qty,varoitus: pyydetty materiaali yksikkömäärä on pienempi kuin vähimmäis ostotilausmäärä
 apps/erpnext/erpnext/accounts/doctype/gl_entry/gl_entry.py +191,Account {0} is frozen,tili {0} on jäädytetty
 DocType: Company,Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,"juridinen hlö / tytäryhtiö, jolla on erillinen tilikartta kuuluu organisaatioon"
diff --git a/setup.py b/setup.py
index 50ea375..ddc29f8 100644
--- a/setup.py
+++ b/setup.py
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 from pip.req import parse_requirements
 
-version = "6.12.7"
+version = "6.12.8"
 requirements = parse_requirements("requirements.txt", session="")
 
 setup(