You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

211 line
6.8KB

  1. \documentclass[10pt]{article}
  2. \usepackage[utf8]{inputenc}
  3. \usepackage[T1]{fontenc}
  4. \usepackage[left=0.5cm,right=0.5cm,top=0.5cm,bottom=0.5cm,noheadfoot,nomarginpar,showframe]{geometry}
  5. \usepackage{lmodern}
  6. \usepackage{tabularx}
  7. \usepackage{tabu}
  8. \usepackage{multirow}
  9. \usepackage{graphicx}
  10. \renewcommand{\familydefault}{\sfdefault}
  11. \setlength{\extrarowheight}{3pt}
  12. {{if invoice.translate}}
  13. \newcommand\translation[1]{/\textit#1}
  14. {{else}}
  15. \newcommand\translation[1]{}
  16. {{endif}}
  17. \newcommand\translatable[2]{#1\translation#2}
  18. \newcommand\translatablebf[2]{\textbf{#1}\translation#2}
  19. \def\InvoiceSK{Faktúra}
  20. \def\InvoiceEN{Invoice}
  21. \def\ClientSK{Odberateľ}
  22. \def\ClientEN{Client}
  23. \def\SupplierSK{Dodávateľ}
  24. \def\SupplierEN{Supplier}
  25. \def\PaymentTermsSK{Platobné podmienky}
  26. \def\PaymentTermsEN{Terms of payment}
  27. \def\PaymentMethodSK{Forma úhrady}
  28. \def\PaymentMethodEN{Payment method}
  29. \def\PaymentMethodCashSK{v~hotovosti}
  30. \def\PaymentMethodCashEN{cash}
  31. \def\PaymentMethodBankTransferSK{prevodom}
  32. \def\PaymentMethodBankTransferEN{bank transfer}
  33. \def\IssueDateSK{Dátum vystavenia}
  34. \def\IssueDateEN{Issue date}
  35. \def\DeliveryDateSK{Dátum dodania}
  36. \def\DeliveryDateEN{Delivery date}
  37. \def\DueDateSK{Dátum splatnosti}
  38. \def\DueDateEN{Due date}
  39. \def\VariableSymbolSK{Variabilný symbol}
  40. \def\VariableSymbolEN{Variable symbol}
  41. \def\NotesSK{Poznámky}
  42. \def\NotesEN{Notes}
  43. \def\SubjectSK{Popis položky}
  44. \def\SubjectEN{Subject}
  45. \def\AmountSK{Množstvo}
  46. \def\AmountEN{Amount}
  47. \def\UnitSK{MJ}
  48. \def\UnitEN{Unit}
  49. \def\UnitPriceSK{Cena za MJ}
  50. \def\UnitPriceEN{Unit price}
  51. \def\TotalPriceSK{Celková cena}
  52. \def\TotalPriceEN{Total price}
  53. \def\TotalAmountSK{Celková suma}
  54. \def\TotalAmountEN{Total amount}
  55. \def\IssuedBySK{Vystavil}
  56. \def\IssuedByEN{Issued by}
  57. \def\AdvancesPaidSK{Udradené zálohami}
  58. \def\AdvancesPaidEN{Advances paid}
  59. \def\TotalDueSK{K~úhrade}
  60. \def\TotalDueEN{Total due}
  61. \def\Invoice{\translatablebf\InvoiceSK\InvoiceEN}
  62. \def\Supplier{\translatablebf\SupplierSK\SupplierEN}
  63. \def\Client{\translatablebf\ClientSK\ClientEN}
  64. \def\PaymentTerms{\translatablebf\PaymentTermsSK\PaymentTermsEN}
  65. \def\PaymentMethod{\translatable\PaymentMethodSK\PaymentMethodEN}
  66. \def\PaymentMethodCash{\translatable\PaymentMethodCashSK\PaymentMethodCashEN}
  67. \def\PaymentMethodBankTransfer{\translatable\PaymentMethodBankTransferSK\PaymentMethodBankTransferEN}
  68. \def\IssueDate{\translatable\IssueDateSK\IssueDateEN}
  69. \def\DeliveryDate{\translatable\DeliveryDateSK\DeliveryDateEN}
  70. \def\DueDate{\translatablebf\DueDateSK\DueDateEN}
  71. \def\VariableSymbol{\translatable\VariableSymbolSK\VariableSymbolEN}
  72. \def\Notes{\translatablebf\NotesSK\NotesEN}
  73. \def\Subject{\translatablebf\SubjectSK\SubjectEN}
  74. \def\Amount{\translatablebf\AmountSK\AmountEN}
  75. \def\Unit{\translatablebf\UnitSK\UnitEN}
  76. \def\UnitPrice{\translatablebf\UnitPriceSK\UnitPriceEN}
  77. \def\TotalPrice{\translatablebf\TotalPriceSK\TotalPriceEN}
  78. \def\TotalAmount{\translatable\TotalAmountSK\TotalAmountEN}
  79. \def\IssuedBy{\translatable\IssuedBySK\IssuedByEN}
  80. \def\AdvancesPaid{\translatable\AdvancesPaidSK\AdvancesPaidEN}
  81. \def\TotalDue{\translatable\TotalDueSK\TotalDueEN}
  82. \begin{document}
  83. \footnotesize
  84. \pagestyle{empty}
  85. \begin{center}
  86. \begin{tabularx}{\textwidth}{XXXX}
  87. % INVOICE HEADING
  88. &&& \\
  89. \multicolumn{4}{l}{\large\Invoice: \hfill {{invoice.number}}} \\
  90. &&& \\ \hline
  91. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\
  92. \multicolumn{2}{l|}{\Supplier:} & \multicolumn{2}{X}{\Client:} \\
  93. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\
  94. % ISSUER & CUSTOMER
  95. \multicolumn{2}{l|}{\large\bf {{issuer.name}}} &
  96. \multicolumn{2}{l}{\large\bf {{customer.name}}} \\
  97. {{py:
  98. a1 = issuer.address[:]
  99. a2 = customer.address[:]
  100. a1 += (len(a2)-len(a1))*[""]
  101. a2 += (len(a1)-len(a2))*[""]
  102. }}
  103. {{for f1, f2 in zip(a1, a2)}}
  104. \multicolumn{2}{l|}{\large {{f1}}} & \multicolumn{2}{l}{\large {{f2}}} \\
  105. {{endfor}}
  106. % COMPANY ID NUMBERS
  107. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\
  108. \multicolumn{2}{l|}{IČO: {{issuer.ico}}} & \multicolumn{2}{l}{IČO: {{if customer.icdph}}\hspace{0.3cm}{{endif}} {{customer.ico}}} \\
  109. \multicolumn{2}{l|}{DIČ: {{issuer.dic}}} & \multicolumn{2}{l}{DIČ: {{if customer.icdph}}\hspace{0.3cm}{{endif}} {{customer.dic}}} \\
  110. {{if issuer.icdph or customer.icdph}}
  111. {{if issuer.icdph}}
  112. \multicolumn{2}{l|}{IČDPH: {{issuer.icdph}}} &
  113. {{else}}
  114. \multicolumn{2}{l|}{Neplatca DPH} &
  115. {{endif}}
  116. {{if customer.icdph}}
  117. \multicolumn{2}{l}{IČDPH: {{customer.icdph}}} \\
  118. {{else}}
  119. \multicolumn{2}{l}{} \\
  120. {{endif}}
  121. {{endif}}
  122. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\
  123. % COMMENTS
  124. {{py:
  125. a1 = issuer.comments[:]
  126. a2 = customer.comments[:]
  127. a1 += (len(a2)-len(a1))*[""]
  128. a2 += (len(a1)-len(a2))*[""]
  129. }}
  130. {{for f1, f2 in zip(a1, a2)}}
  131. \multicolumn{2}{l|}{ \footnotesize {{f1}} } & \multicolumn{2}{l}{ \footnotesize {{f2}} } \\
  132. {{endfor}}
  133. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\
  134. \multicolumn{2}{l|}{\PaymentTerms:} & & \\
  135. \PaymentMethod: & \multicolumn{1}{l|}{
  136. {{if invoice.payment == "cash"}}
  137. \PaymentMethodCash
  138. {{else}}
  139. \PaymentMethodBankTransfer
  140. {{endif}} } & & \\
  141. IBAN: & \multicolumn{1}{l|}{ {{issuer.iban}} } & \IssueDate: & \multicolumn{1}{r}{ {{invoice.issued.strftime("%d.%m.%Y")}}} \\
  142. SWIFT/BIC: & \multicolumn{1}{l|}{ {{issuer.swift}} } & \multicolumn{2}{l}{\DeliveryDate: \hfill {{invoice.delivered.strftime("%d.%m.%Y")}}} \\
  143. \VariableSymbol: & \multicolumn{1}{l|}{ {{invoice.number}}} & \multicolumn{2}{l}{\large\DueDate: \hfill {{invoice.due.strftime("%d.%m.%Y")}}} \\
  144. % COMMENTS
  145. {{if invoice.notes}}
  146. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\ \hline
  147. & & & \\
  148. \Notes: & & & \\[1em]
  149. {{for note in invoice.notes}}
  150. \multicolumn{4}{l}{\large {{note}}} \\
  151. {{endfor}}
  152. {{endif}}
  153. \multicolumn{2}{X|}{} & \multicolumn{2}{X}{} \\ \hline
  154. &&& \\
  155. % ITEM(s) HEADING
  156. {{for heading in invoice.itemheading}}
  157. \multicolumn{4}{l}{ {{heading}} } \\
  158. {{endfor}}
  159. &&& \\
  160. % ITEMS
  161. \multicolumn{4}{X}{%
  162. \hspace*{-1.35\tabcolsep}
  163. \begin{tabu} to \textwidth {X[5,l]X[1.5,r]X[1,r]X[1.8,r]X[2.0,r]}
  164. %>{\hsize=2.5\hsize}X[l]%
  165. %>{\hsize=0.5\hsize}X[r]%
  166. %>{\hsize=0.5\hsize}X[r]%
  167. %>{\hsize=1.0\hsize}X[r]%
  168. %>{\hsize=1.0\hsize}X[r]}
  169. \Subject & \Amount & \Unit & \UnitPrice & \TotalPrice \\
  170. {{for item in invoice.items}}
  171. {{item[0]}} & {{decimal(item[1])}} & {{item[2]}} & {{eur(item[3])}} & {{eur(item[1] * item[3])}} \\
  172. {{endfor}}
  173. \end{tabu}
  174. } \\
  175. &&& \\
  176. \hline
  177. \multicolumn{4}{r}{} \\
  178. \end{tabularx}
  179. \end{center}
  180. \vfill
  181. % FOOTER
  182. \centering
  183. \begin{tabu} to \textwidth {X[1]|X[0.5,l]|X[0.25,r] }
  184. \hline
  185. \IssuedBy: \quad {{issuer.name}} & \TotalAmount: & {{eur(invoice.sum)}} \\ \cline{2-3}
  186. \multirow{2}{*}{\hspace*{2.7cm}\includegraphics[scale=0.2]{../signature.jpg} } & \AdvancesPaid: & {{eur(invoice.advance)}} \\ \cline{2-3}
  187. && \\
  188. & \multirow{-2}{*}{\TotalDue:} & \multirow{-2}{*}{ \bf \large {{eur(invoice.topay)}}\phantom} \\
  189. \end{tabu}
  190. \end{document}