diff --git a/InvenTree/InvenTree/static/script/inventree/inventree.js b/InvenTree/InvenTree/static/script/inventree/inventree.js
index b3209ca267..4b43b342af 100644
--- a/InvenTree/InvenTree/static/script/inventree/inventree.js
+++ b/InvenTree/InvenTree/static/script/inventree/inventree.js
@@ -1,14 +1,31 @@
-function attachClipboard(selector) {
+function attachClipboard(selector, containerselector, textElement) {
+    // set container
+    if (containerselector){
+        containerselector = document.getElementById(containerselector);
+    } else {
+        containerselector = document.body;
+    }
 
-    new ClipboardJS(selector, {
-        text: function(trigger) {
-            var content = trigger.parentElement.parentElement.textContent;
-
-            return content.trim();
+    // set text-function
+    if (textElement){
+        text = function() {
+            return document.getElementById(textElement).textContent;
         }
+    } else {
+        text = function() {
+            var content = trigger.parentElement.parentElement.textContent;return content.trim();
+        }
+    }
+
+    // create Clipboard
+    var cis = new ClipboardJS(selector, {
+        text: text,
+        container: containerselector
     });
+    console.log(cis);
 }
 
+
 function inventreeDocReady() {
     /* Run this function when the HTML document is loaded.
      * This will be called for every page that extends "base.html"
@@ -62,6 +79,8 @@ function inventreeDocReady() {
 
     // Initialize clipboard-buttons
     attachClipboard('.clip-btn');
+    attachClipboard('.clip-btn', 'modal-about');  // modals
+    attachClipboard('.clip-btn-version', 'modal-about', 'about-copy-text');  // version-text
 
 }
 
diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html
index 9bc1dd77cc..1b4c577b07 100644
--- a/InvenTree/build/templates/build/detail.html
+++ b/InvenTree/build/templates/build/detail.html
@@ -19,12 +19,12 @@
         
             |  | {% trans "Description" %}- | {{ build.title }}+ | {{ build.title }}{% include "clip.html"%} | 
         
             |  | {% trans "Part" %}- | {{ build.part.full_name }}+ | {{ build.part.full_name }}{% include "clip.html"%} | 
         
             | @@ -35,7 +35,7 @@ | {% trans "Stock Source" %} | {% if build.take_from %}
-                {{ build.take_from }}
+                {{ build.take_from }}{% include "clip.html"%}
                 {% else %}
                 {% trans "Stock can be taken from any available location." %}
                 {% endif %}
@@ -48,7 +48,7 @@
                 {% if build.destination %}
                 
                     {{ build.destination }}
-                
+                {% include "clip.html"%}
                 {% else %}
                 {% trans "Destination location not specified" %}
                 {% endif %}
@@ -68,28 +68,28 @@ | 
             |  | {% trans "Batch" %}- | {{ build.batch }}+ | {{ build.batch }}{% include "clip.html"%} | 
         {% endif %}
         {% if build.parent %}
         
             |  | {% trans "Parent Build" %}- | {{ build.parent }}+ | {{ build.parent }}{% include "clip.html"%} | 
         {% endif %}
         {% if build.sales_order %}
         
             |  | {% trans "Sales Order" %}- | {{ build.sales_order }}+ | {{ build.sales_order }}{% include "clip.html"%} | 
         {% endif %}
         {% if build.link %}
         
             |  | {% trans "External Link" %}- | {{ build.link }}+ | {{ build.link }}{% include "clip.html"%} | 
         {% endif %}
         {% if build.issued_by %}
diff --git a/InvenTree/company/templates/company/company_base.html b/InvenTree/company/templates/company/company_base.html
index 1825132b0e..1eefade272 100644
--- a/InvenTree/company/templates/company/company_base.html
+++ b/InvenTree/company/templates/company/company_base.html
@@ -68,35 +68,35 @@
 
     |  | {% trans "Website" %}- | {{ company.website }}+ | {{ company.website }}{% include "clip.html"%} | 
 {% endif %}
 {% if company.address %}
 
     |  | {% trans "Address" %}- | {{ company.address }}+ | {{ company.address }}{% include "clip.html"%} | 
 {% endif %}
 {% if company.phone %}
 
     |  | {% trans "Phone" %}- | {{ company.phone }}+ | {% include "tel.html" with tel=company.phone %} | 
 {% endif %}
 {% if company.email %}
 
     |  | {% trans "Email" %}- | {{ company.email }}+ | {% include "mail.html" with mail=company.email %} | 
 {% endif %}
 {% if company.contact %}
 
     |  | {% trans "Contact" %}- | {{ company.contact }}+ | {{ company.contact }}{% include "clip.html"%} | 
 {% endif %}
 
diff --git a/InvenTree/company/templates/company/detail.html b/InvenTree/company/templates/company/detail.html
index 9fdd6d0c05..9c3cbfb84a 100644
--- a/InvenTree/company/templates/company/detail.html
+++ b/InvenTree/company/templates/company/detail.html
@@ -19,20 +19,20 @@
             
                 |  | {% trans "Company Name" %}- | {{ company.name }}+ | {{ company.name }}{% include "clip.html"%} | 
             {% if company.description %}
             
                 |  | {% trans "Description" %}- | {{ company.description }}+ | {{ company.description }}{% include "clip.html"%} | 
             {% endif %}
             
                 |  | {% trans "Website" %} | -                    {% if company.website %}{{ company.website }}
+                    {% if company.website %}{{ company.website }}{% include "clip.html"%}
                     {% else %}{% trans "No website specified" %}
                     {% endif %}diff --git a/InvenTree/company/templates/company/manufacturer_part_base.html b/InvenTree/company/templates/company/manufacturer_part_base.html
index 441f1f845b..c3a64d9d76 100644
--- a/InvenTree/company/templates/company/manufacturer_part_base.html
+++ b/InvenTree/company/templates/company/manufacturer_part_base.html
@@ -62,7 +62,7 @@ src="{% static 'img/blank_image.png' %}" | {% trans "Internal Part" %} | {% if part.part %}
-                {{ part.part.full_name }}
+                {{ part.part.full_name }}{% include "clip.html"%}
                 {% endif %} | 
@@ -70,24 +70,24 @@ src="{% static 'img/blank_image.png' %}"
         
             |  | {% trans "Description" %}- | {{ part.description }}+ | {{ part.description }}{% include "clip.html"%} | 
         {% endif %}
         {% if part.link %}
         
             |  | {% trans "External Link" %}- | {{ part.link }}+ | {{ part.link }}{% include "clip.html"%} | 
         {% endif %}
         
             |  | {% trans "Manufacturer" %}- | {{ part.manufacturer.name }} | 
+            {{ part.manufacturer.name }}{% include "clip.html"%} | 
             |  | {% trans "MPN" %}- | {{ part.MPN }}+ | {{ part.MPN }}{% include "clip.html"%} | 
 
 {% endblock %}
diff --git a/InvenTree/company/templates/company/supplier_part_base.html b/InvenTree/company/templates/company/supplier_part_base.html
index 3716128bd8..bf6d914f19 100644
--- a/InvenTree/company/templates/company/supplier_part_base.html
+++ b/InvenTree/company/templates/company/supplier_part_base.html
@@ -61,7 +61,7 @@ src="{% static 'img/blank_image.png' %}"
             {% trans "Internal Part" %} | {% if part.part %}
-                {{ part.part.full_name }}
+                {{ part.part.full_name }}{% include "clip.html"%}
                 {% endif %}@@ -69,51 +69,52 @@ src="{% static 'img/blank_image.png' %}" | 
             |  | {% trans "Description" %}- | {{ part.description }}+ | {{ part.description }}{% include "clip.html"%} | 
         {% endif %}
         {% if part.link %}
         
             |  | {% trans "External Link" %}- | {{ part.link }}+ | {{ part.link }}{% include "clip.html"%} | 
         {% endif %}
         
             |  | {% trans "Supplier" %}- | {{ part.supplier.name }} | 
+            {{ part.supplier.name }}{% include "clip.html"%} | 
             |  | {% trans "SKU" %}- | {{ part.SKU }} | 
+            {{ part.SKU }}{% include "clip.html"%}
         
         {% if part.manufacturer_part.manufacturer %} | 
             |  | {% trans "Manufacturer" %}- | {{ part.manufacturer_part.manufacturer.name }}+ | +            {{ part.manufacturer_part.manufacturer.name }}{% include "clip.html"%} | 
         {% endif %}
         {% if part.manufacturer_part.MPN %}
         
             |  | {% trans "MPN" %}- | {{ part.manufacturer_part.MPN }}+ | {{ part.manufacturer_part.MPN }}{% include "clip.html"%} | 
         {% endif %}
         {% if part.packaging %}
         
             |  | {% trans "Packaging" %}- | {{ part.packaging }}+ | {{ part.packaging }}{% include "clip.html"%} | 
         {% endif %}
         {% if part.note %}
         
             |  | {% trans "Note" %}- | {{ part.note }}+ | {{ part.note }}{% include "clip.html"%} | 
         {% endif %}
 
diff --git a/InvenTree/company/templates/company/supplier_part_detail.html b/InvenTree/company/templates/company/supplier_part_detail.html
index 285f81c326..fb73ca06f4 100644
--- a/InvenTree/company/templates/company/supplier_part_detail.html
+++ b/InvenTree/company/templates/company/supplier_part_detail.html
@@ -28,14 +28,14 @@
     | {% trans "External Link" %} | {{ part.link }} | 
 {% endif %}
 {% if part.description %}
-    | {% trans "Description" %} | {{ part.description }} | 
+    | {% trans "Description" %} | {{ part.description }}{% include "clip.html"%} | 
 {% endif %}
 {% if part.manufacturer %}
-    | {% trans "Manufacturer" %} | {{ part.manufacturer }} | 
-    | {% trans "MPN" %} | {{ part.MPN }} | 
+    | {% trans "Manufacturer" %} | {{ part.manufacturer }}{% include "clip.html"%} | 
+    | {% trans "MPN" %} | {{ part.MPN }}{% include "clip.html"%} | 
 {% endif %}
 {% if part.note %}
-    | {% trans "Note" %} | {{ part.note }} | 
+    | {% trans "Note" %} | {{ part.note }}{% include "clip.html"%} | 
 {% endif %}
 
 
diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py
index fc082e4a50..8522857e30 100644
--- a/InvenTree/label/api.py
+++ b/InvenTree/label/api.py
@@ -63,16 +63,23 @@ class LabelPrintMixin:
         # In debug mode, generate single HTML output, rather than PDF
         debug_mode = common.models.InvenTreeSetting.get_setting('REPORT_DEBUG_MODE')
 
+        label_name = "label.pdf"
+
         # Merge one or more PDF files into a single download
         for item in items_to_print:
             label = self.get_object()
             label.object_to_print = item
 
+            label_name = label.generate_filename(request)
+
             if debug_mode:
                 outputs.append(label.render_as_string(request))
             else:
                 outputs.append(label.render(request))
 
+        if not label_name.endswith(".pdf"):
+            label_name += ".pdf"
+
         if debug_mode:
             """
             Contatenate all rendered templates into a single HTML string,
@@ -103,7 +110,7 @@ class LabelPrintMixin:
 
             return InvenTree.helpers.DownloadFile(
                 pdf,
-                'inventree_label.pdf',
+                label_name,
                 content_type='application/pdf'
             )
 
diff --git a/InvenTree/label/migrations/0007_auto_20210513_1327.py b/InvenTree/label/migrations/0007_auto_20210513_1327.py
new file mode 100644
index 0000000000..d49c83c92b
--- /dev/null
+++ b/InvenTree/label/migrations/0007_auto_20210513_1327.py
@@ -0,0 +1,23 @@
+# Generated by Django 3.2 on 2021-05-13 03:27
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('label', '0006_auto_20210222_1535'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='stockitemlabel',
+            name='filename_pattern',
+            field=models.CharField(default='label.pdf', help_text='Pattern for generating label filenames', max_length=100, verbose_name='Filename Pattern'),
+        ),
+        migrations.AddField(
+            model_name='stocklocationlabel',
+            name='filename_pattern',
+            field=models.CharField(default='label.pdf', help_text='Pattern for generating label filenames', max_length=100, verbose_name='Filename Pattern'),
+        ),
+    ]
diff --git a/InvenTree/label/models.py b/InvenTree/label/models.py
index 71ccc73ac9..a5d8314193 100644
--- a/InvenTree/label/models.py
+++ b/InvenTree/label/models.py
@@ -15,6 +15,7 @@ from django.db import models
 from django.core.validators import FileExtensionValidator, MinValueValidator
 from django.core.exceptions import ValidationError, FieldError
 
+from django.template import Template, Context
 from django.template.loader import render_to_string
 
 from django.utils.translation import gettext_lazy as _
@@ -138,6 +139,13 @@ class LabelTemplate(models.Model):
         validators=[MinValueValidator(2)]
     )
 
+    filename_pattern = models.CharField(
+        default="label.pdf",
+        verbose_name=_('Filename Pattern'),
+        help_text=_('Pattern for generating label filenames'),
+        max_length=100,
+    )
+
     @property
     def template_name(self):
         """
@@ -162,6 +170,19 @@ class LabelTemplate(models.Model):
 
         return {}
 
+    def generate_filename(self, request, **kwargs):
+        """
+        Generate a filename for this label
+        """
+
+        template_string = Template(self.filename_pattern)
+        
+        ctx = self.context(request)
+
+        context = Context(ctx)
+
+        return template_string.render(context)
+
     def context(self, request):
         """
         Provides context data to the template.
@@ -201,6 +222,7 @@ class LabelTemplate(models.Model):
             self.template_name,
             base_url=request.build_absolute_uri("/"),
             presentational_hints=True,
+            filename=self.generate_filename(request),
             **kwargs
         )
 
diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html
index b29b62a4ad..642f866506 100644
--- a/InvenTree/order/templates/order/order_base.html
+++ b/InvenTree/order/templates/order/order_base.html
@@ -33,7 +33,7 @@ src="{% static 'img/blank_image.png' %}"
     {% endif %}
 
 
-{{ order.description }}
+{{ order.description }}{% include "clip.html"%}
 
     
diff --git a/InvenTree/templates/mail.html b/InvenTree/templates/mail.html
new file mode 100644
index 0000000000..98990fb31b
--- /dev/null
+++ b/InvenTree/templates/mail.html
@@ -0,0 +1 @@
+
{{ mail }}{% include "clip.html"%}
\ No newline at end of file
diff --git a/InvenTree/templates/tel.html b/InvenTree/templates/tel.html
new file mode 100644
index 0000000000..14f978ad87
--- /dev/null
+++ b/InvenTree/templates/tel.html
@@ -0,0 +1 @@
+
{{ tel }}{% include "clip.html"%}
\ No newline at end of file
diff --git a/InvenTree/templates/version.html b/InvenTree/templates/version.html
new file mode 100644
index 0000000000..c8ec6862b6
--- /dev/null
+++ b/InvenTree/templates/version.html
@@ -0,0 +1,5 @@
+# Version Information:{% load inventree_extras %}
+InvenTree-Version: {% inventree_version %}
+Django Version: {% django_version %}
+{% inventree_commit_hash as hash %}{% if hash %}Commit Hash: {{ hash }}{% endif %}
+{% inventree_commit_date as commit_date %}{% if commit_date %}Commit Date: {{ commit_date }}{% endif %}
\ No newline at end of file