go/svc/invoice: add shitty multilanguage support
diff --git a/go/svc/invoice/model.go b/go/svc/invoice/model.go
index 701807a..51fe850 100644
--- a/go/svc/invoice/model.go
+++ b/go/svc/invoice/model.go
@@ -54,7 +54,7 @@
 	return err
 }
 
-func (m *model) sealInvoice(ctx context.Context, uid string) error {
+func (m *model) sealInvoice(ctx context.Context, uid, language string, useProformaTime bool) error {
 	id, err := strconv.Atoi(uid)
 	if err != nil {
 		return status.Error(codes.InvalidArgument, "invalid uid")
@@ -81,6 +81,9 @@
 
 	`
 	sealTime := time.Now()
+	if useProformaTime {
+		sealTime = time.Unix(0, invoice.Date)
+	}
 	res, err := tx.Exec(q, id, sealTime.UnixNano())
 	if err != nil {
 		return err
@@ -101,11 +104,16 @@
 	}
 
 	invoice.State = pb.Invoice_STATE_SEALED
-	invoice.FinalUid = fmt.Sprintf("FV/%s", finalUid)
+	// TODO(q3k): this should be configurable.
+	if language == "pl" {
+		invoice.FinalUid = fmt.Sprintf("FV/%s", finalUid)
+	} else {
+		invoice.FinalUid = fmt.Sprintf("%s", finalUid)
+	}
 	invoice.Date = sealTime.UnixNano()
 	calculateInvoiceData(invoice)
 
-	pdfBlob, err := renderInvoicePDF(invoice)
+	pdfBlob, err := renderInvoicePDF(invoice, language)
 	if err != nil {
 		return err
 	}
@@ -142,7 +150,13 @@
 			?, ?
 		)
 	`
-	res, err := m.db.Exec(sql, data, time.Now().UnixNano())
+
+	t := time.Now()
+	if id.Date != 0 {
+		t = time.Unix(0, id.Date)
+	}
+
+	res, err := m.db.Exec(sql, data, t.UnixNano())
 	if err != nil {
 		return "", err
 	}
@@ -216,7 +230,7 @@
 	}
 	if s.finalUid.Valid {
 		p.State = pb.Invoice_STATE_SEALED
-		p.FinalUid = fmt.Sprintf("FV/%s", s.finalUid.String)
+		p.FinalUid = fmt.Sprintf("%s", s.finalUid.String)
 		p.Date = s.sealedTime.Int64
 	} else {
 		p.State = pb.Invoice_STATE_PROFORMA