go/svc/invoice: import from code.hackerspace.pl/q3k/inboice
diff --git a/go/svc/invoice/templates/invoice.html b/go/svc/invoice/templates/invoice.html
new file mode 100644
index 0000000..e257a42
--- /dev/null
+++ b/go/svc/invoice/templates/invoice.html
@@ -0,0 +1,185 @@
+<!doctype html>
+<html lang="en">
+    <head>
+        <meta charset="UTF-8">
+        <title>Invoice 0001</title>
+        <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,700" rel="stylesheet">
+        <style type="text/css">
+body {
+    background-color: #fff;
+    font-family: 'Roboto', sans-serif;
+    font-size: 1em;
+
+    padding: 2em;
+}
+ul {
+    list-style: none;
+    padding: 0;
+}
+ul li {
+    margin-bottom: 0.2em;
+}
+
+@page {
+  size: A4;
+  margin: 0;
+}
+div.rhs {
+    float: right;
+    width: 50%;
+    text-align: right;
+}
+div.lhs {
+    float: left;
+    text-align: left;
+    width: 50%;
+    min-height: 35em;
+}
+div.metadata {
+    margin-top: 2em;
+}
+div.invoicee {
+    margin-top: 9em;
+}
+h1 {
+    font-size: 1.5em;
+    margin: 0;
+    text-transform: uppercase;
+}
+table.items {
+    text-align: right;
+    border-spacing: 0px;
+    border-collapse: collapse;
+    border: 0;
+    width: 100%;
+}
+table.items td,th {
+    border: 1px solid black;
+}
+table.items tr:first-child {
+    background-color: #eee;
+    color: #111;
+    padding: 0.8em;
+    text-align: left;
+}
+table.items td {
+    background-color: #fff;
+}
+table.items td,th {
+    padding: 0.5em 1em 0.5em 1em;
+}
+td.lhead {
+    border: 0 !important;
+    text-align: right;
+    text-transform: uppercase;
+    background: rgba(0, 0, 0, 0) !important;
+}
+div.bgtext {
+    z-index: -10;
+    position: absolute;
+    top: 140mm;
+    left: 0;
+    width: 100%;
+}
+div.bgtext div {
+    text-align: center;
+    font-size: 10em;
+    color: #ddd;
+    -webkit-transform: rotate(-45deg);
+    text-transform: uppercase;
+}
+        </style>
+    </head>
+    <body>
+        {{ if .Proforma }}
+        <div class="bgtext"><div>Proforma</div></div>
+        {{ end }}
+        <div class="rhs">
+            <div class="invoicer">
+                <ul>
+                    {{ range $i, $e := .InvoicerBilling }}
+                    {{ if eq $i 0 }}
+                    <li><b>{{ $e }}</b></li>
+                    {{ else }}
+                    <li>{{ $e }}</li>
+                    {{ end }}
+                    {{ end }}
+                    {{ if .InvoicerCompanyNumber }}
+                    <li><b>Company Registration Number:</b> {{ .InvoicerCompanyNumber }}</li>
+                    {{ end }}
+                    <li><b>Tax Number:</b> {{ .InvoicerVAT }}</li>
+                </ul>
+            </div>
+            <div class="metadata">
+                <ul>
+                    <li><b>Invoice number:</b> {{ .InvoiceNumber }}</li>
+                    <li><b>Date:</b> {{ .Date.Format "2006/01/02" }}</li>
+                    <li><b>Due date:</b> {{ .DueDate.Format "2006/01/02" }}</li>
+                    <li><b>IBAN:</b> {{ .IBAN }}</li>
+                    <li><b>SWIFT/BIC:</b> {{ .SWIFT }}</li>
+                </ul>
+            </div>
+        </div>
+        <div class="lhs">
+            <div class="invoicee">
+                {{ if .Proforma }}
+                <h1>Proforma Invoice:</h1>
+                {{ else }}
+                <h1>VAT Invoice:</h1>
+                {{ end }}
+                <ul>
+                    {{ range $i, $e := .InvoiceeBilling }}
+                    {{ if eq $i 0 }}
+                    <li><b>{{ $e }}</b></li>
+                    {{ else }}
+                    <li>{{ $e }}</li>
+                    {{ end }}
+                    {{ end }}
+                    {{ if .USCustomer }}
+                    <li>EIN: {{ .InvoiceeVAT }}</li>
+                    <li><b>(VAT zero rate)</b></li>
+                    {{ else }}
+                    <li>VAT Number: {{ .InvoiceeVAT }}</li>
+                    {{ end }}
+
+                    {{ if .ReverseVAT }}
+                    <li><b>(reverse charge applies)</b></li>
+                    {{ end }}
+                </ul>
+            </div>
+        </div>
+        <div style="clear: both; height: 1em;"></div>
+        <table class="items">
+            <tr>
+                <th style="width: 60%;">Description</th>
+                <th>Price<br/>(ex. VAT)</th>
+                <th>Qty</th>
+                <th>VAT rate</th>
+                <th>Total<br />(net)</th>
+                <th>Total<br />(inc. VAT)</th>
+            </tr>
+            {{ range .Items }}
+            <tr>
+                <td style="text-align: left;">{{ .Title }}</td>
+                <td>{{ .UnitPrice }}</td>
+                <td>{{ .Qty }}</td>
+                <td>{{ .VATRate }}</td>
+                <td>{{ .TotalNet }}</td>
+                <td>{{ .Total }}</td>
+            </tr>
+            {{ end }}
+            <tr>
+                <td colspan="5" class="lhead">Subtotal without VAT</td>
+                <td>{{ .TotalNet }}</td>
+            </tr>
+            <tr>
+                <td colspan="5" class="lhead">VAT Total{{ if .ReverseVAT }} (reverse charge applies){{ end }} {{ if .USCustomer }}(VAT zero rate){{ end }}</td>
+                <td>{{ .VATTotal }}</td>
+            </tr>
+            <tr>
+                <td colspan="5" class="lhead"><b>Total</b></td>
+                <td>{{ .Total }}</td>
+            </tr>
+        </table>
+    </body>
+</html>