diff --git a/go/svc/invoice/render.go b/go/svc/invoice/render.go
index 68e3472..03dcd77 100644
--- a/go/svc/invoice/render.go
+++ b/go/svc/invoice/render.go
@@ -13,18 +13,25 @@
 )
 
 var (
-	invTmpl *template.Template
+	invTmpl map[string]*template.Template
+
+	languages       = []string{"en", "pl"}
+	defaultLanguage = "en"
 )
 
 func init() {
-	a, err := templates.Asset("invoice.html")
-	if err != nil {
-		panic(err)
+	invTmpl = make(map[string]*template.Template)
+	for _, language := range languages {
+		filename := fmt.Sprintf("invoice_%s.html", language)
+		a, err := templates.Asset(filename)
+		if err != nil {
+			panic(err)
+		}
+		invTmpl[language] = template.Must(template.New(filename).Parse(string(a)))
 	}
-	invTmpl = template.Must(template.New("invoice.html").Parse(string(a)))
 }
 
-func renderInvoicePDF(i *pb.Invoice) ([]byte, error) {
+func renderInvoicePDF(i *pb.Invoice, language string) ([]byte, error) {
 	type item struct {
 		Title     string
 		UnitPrice string
@@ -95,8 +102,12 @@
 	data.Total = fmt.Sprintf(unit+"%.2f", float64(i.Total)/100)
 	data.DeliveryCharge = fmt.Sprintf(unit+"%.2f", float64(0))
 
+	if _, ok := invTmpl[language]; !ok {
+		language = defaultLanguage
+	}
+
 	var b bytes.Buffer
-	err := invTmpl.Execute(&b, &data)
+	err := invTmpl[language].Execute(&b, &data)
 	if err != nil {
 		return []byte{}, err
 	}
