diff --git a/erpnext/regional/germany/__init__.py b/erpnext/regional/germany/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/erpnext/regional/germany/address_template.html b/erpnext/regional/germany/address_template.html
new file mode 100644
index 0000000000..0df786713c
--- /dev/null
+++ b/erpnext/regional/germany/address_template.html
@@ -0,0 +1,8 @@
+{{ address_line1 }}
+{% if address_line2 %}{{ address_line2 }}
{% endif -%}
+{{ pincode }} {{ city }}
+{% if country %}{{ country }}
{% endif -%}
+
+{% if phone %}Tel: {{ phone }}
{% endif -%}
+{% if fax %}Fax: {{ fax }}
{% endif -%}
+{% if email_id %}E-Mail: {{ email_id }}
{% endif -%}
diff --git a/erpnext/regional/germany/setup.py b/erpnext/regional/germany/setup.py
new file mode 100644
index 0000000000..dd2a214a47
--- /dev/null
+++ b/erpnext/regional/germany/setup.py
@@ -0,0 +1,21 @@
+import frappe, os
+
+def setup(company=None, patch=True):
+ if not patch:
+ update_address_template()
+
+
+def update_address_template():
+ with open(os.path.join(os.path.dirname(__file__), 'address_template.html'), 'r') as f:
+ html = f.read()
+
+ address_template = frappe.db.get_value('Address Template', 'Germany')
+ if address_template:
+ frappe.db.set_value('Address Template', 'Germany', 'template', html)
+ else:
+ # make new html template for Germany
+ frappe.get_doc(dict(
+ doctype='Address Template',
+ country='Germany',
+ template=html
+ )).insert()