diff --git a/Elwig/Documents/Document.cshtml.cs b/Elwig/Documents/Document.cshtml.cs
index 853f78c..26f02c8 100644
--- a/Elwig/Documents/Document.cshtml.cs
+++ b/Elwig/Documents/Document.cshtml.cs
@@ -14,11 +14,12 @@ namespace Elwig.Documents {
             CurrentNextSeason = Utils.CurrentNextSeason;
             Title = title;
             Header = $"<h1>{c.Name}</h1>";
-            Footer = $"{c.NameFull}<br/>" +
-                $"{c.Address} \u00b7 {c.Plz} {c.Ort} \u00b7 Österreich \u00b7 " +
-                $"Tel.: {c.PhoneNr} \u00b7 Fax: {c.FaxNr}<br/>{c.EmailAddress} \u00b7 {c.Website} \u00b7 " +
-                $"Betriebs-Nr.: {c.LfbisNr} \u00b7 UID: {c.UstId}<br/>" +
-                $"BIC: {c.Bic} \u00b7 IBAN: {c.Iban}";
+            Footer = Utils.GenerateFooter("<br/>", " \u00b7 ")
+                .Item(c.NameFull).NextLine()
+                .Item(c.Address).Item($"{c.Plz} {c.Ort}").Item("Österreich").Item("Tel.", c.PhoneNr).Item("Fax", c.FaxNr).NextLine()
+                .Item(c.EmailAddress).Item(c.Website).Item("Betriebs-Nr.", c.LfbisNr).Item("UID", c.UstId).NextLine()
+                .Item("BIC", c.Bic).Item("IBAN", c.Iban)
+                .ToString();
             Date = DateTime.Today;
         }
 
diff --git a/Elwig/Helpers/Utils.cs b/Elwig/Helpers/Utils.cs
index cb3b185..3e900b6 100644
--- a/Elwig/Helpers/Utils.cs
+++ b/Elwig/Helpers/Utils.cs
@@ -195,5 +195,44 @@ namespace Elwig.Helpers {
             var d = new ManualWeighingDialog();
             return d.ShowDialog() == true ? (d.Weight, d.Reason) : null;
         }
+
+        public static Footer GenerateFooter(string lineBreak, string seperator) {
+            return new Footer(lineBreak, seperator);
+        }
+
+        public class Footer {
+            private string Text = "";
+            private readonly string LineBreak;
+            private readonly string Seperator;
+            private bool FirstLine = true;
+            private bool FirstItemInLine = true;
+
+            public Footer(string lineBreak, string seperator) {
+                LineBreak = lineBreak;
+                Seperator = seperator;
+            }
+
+            public Footer Item(string? text) {
+                if (text == null) return this;
+                Text += FirstItemInLine ? (FirstLine ? "" : LineBreak) : Seperator;
+                Text += text;
+                FirstLine = false;
+                FirstItemInLine = false;
+                return this;
+            }
+
+            public Footer Item(string name, string? text) {
+                return text == null ? this : Item($"{name}: {text}");
+            }
+
+            public Footer NextLine() {
+                FirstItemInLine = true;
+                return this;
+            }
+
+            public override string ToString() {
+                return Text;
+            }
+        }
     }
 }