Print template

An "Print template" is a word based document (*.docx format) used to generate the invoice hardcopy/printout customized to the subscribers' needs. Such customizations may include layouting, fonts, colors, branding, revealing or collapsing optional fields etc.. It is related to the Invoice type used to issue an invoice and can vary accordingly (receipts, invoices, credit notes, orders etc). That document can contain any number of bindings that map to the invoice DocumentModel. These bindings are expressed as field accessors written inside brackets [[examplefield]]. The description of each field of the invoice template as well as all available options are given below.

Template available fields

Field Description
[[IssuerLogoUrl]] Logo URL if exists or URL of a default image in case that logo path does not exist.
[[Issuer.Company.LegalName]] Company’s legal name i.e. John Doe
[[Issuer.Company.TaxCode]] Company’s tax code i.e. EL12345678
[[Issuer.Company.TaxOffice]] Company’s tax office i.e. Marousi
[[Issuer.Company.Email]] Company’s email i.e. example@example.gr
[[Issuer.Company.Website]] Company’s website i.e. example.gr
[[Issuer.Company.Address.Phone1]] Company’s phone 1 i.e. 210101010
[[Issuer.Company.Address.Phone2]] Company’s phone 2 i.e. 213131313
[[Issuer.Company.Address.Line1]] Company's address i.e. Thivon 235
[[Issuer.Company.Address.City]] City where the company is located i.e. Athens
[[Issuer.Company.Address.Line2]] Company's address
[[Issuer.Company.Address.ZipCode]] Zipcode i.e. 12244
[[Issuer.Company.Address.Country]] Country where the company is located i.e. Greece
[[Issuer.Company.PaymentMethods]] List of payment methods
[[Issuer.Company.PaymentMethods.Name]] Payment method i.e. Alpha Bank
[[Issuer.Company.PaymentMethods.Description]] Description of payment method i.e. GR 00XX OO90 OUHU OIHU 0XXX
[[Issuer.Contact.FirstName]] Issuer’s contact physical person first name
[[Issuer.Contact.LastName]] Issuer’s contact physical person last name,
[[Issuer.Contact.Email]] Issuer’s contact physical person email,
[[Issuer.Contact.Phone1]] Issuer’s contact physical person primary phone,
[[Issuer.Contact.Phone2]] Issuer’s contact physical person secondary phone,
[[Currency.Symbol]] Currency symbol i.e. €
[[TotalPayable]:format(#,##0.00)] Total payable amount of the invoice i.e. 2000,05
[[Date]:format(d)] Invoice date i.e. 08/06/2017
[[TypeName]] Invoice type i.e. Invoice
[[NumberPrintable]] Invoice number i.e. #000001
[[Recipient.Company.Name]] Recipient’s name i.e. Indice
[[Recipient.Company.LineOfBusiness]] A product or a set of related products that serve a particular customer transaction i.e. Independent software vendor
[[Recipient.Company.TaxCode]] Recipient’s tax code i.e. EL999999999
[[Recipient.Company.TaxOffice]] Recipient’s tax office i.e. ST’ Athinon
[[Recipient.Company.Address.Line1]] Recipient’s address i.e. Iakchou 22
[[Recipient.Company.Address.City]] Recipient’s city i.e. Athens
[[Recipient.Company.Address.Line2]] Recipient’s address
[[Recipient.Company.Address.ZipCode]] Zip code i.e. 11854
[[Recipient.Company.Address.Country]] Country i.e. Greece
[[Recipient.Company.Address.Phone1]] Recipient’s primary phone
[[Recipient.Company.Address.Phone2]] Recipient’s secondary phone
[[Recipient.Company.Email]] Recipient’s email i.e. info@incontrl.gr
[[Recipient.Company.Website]] Recipient’s website i.e. www.incontrl.io
[[Recipient.Contact.FirstName]] Recipient’s contact physical person first name
[[Recipient.Contact.LastName]] Recipient’s contact physical person last name,
[[Recipient.Contact.Email]] Recipient’s contact physical person Email,
[[Recipient.Contact.Phone1]] Recipient’s contact physical person primary phone,
[[Recipient.Contact.Phone2]] Recipient’s contact physical person secondary phone,
[[Lines.Description]] Description of product i.e. Software development services
[[Lines.TaxesDescription]] Taxes description i.e. VAT (24%), EFKA(9,22%)
[[Lines.UnitAmount]:format(#,##0.00)] Unit amount i.e. 600,00
[[Lines.Quantity]] Quantity i.e. 2
[[Lines.DiscountRate]:format(#,##0.##%)] Discount rate i.e. 0%
[[Lines.SubTotal]:format(#,##0.00)] Total per item
[[SubTotal]:format(#,##0.00)] Sum of subtotals excluding Taxes i.e. 1200,00
[[TaxesExclusive.Name]]([[TaxesExclusive.Rate]:format(#,##0.##%)]) Name and rate of Taxes i.e. VAT (24%)
[[TaxesExclusive.Amount]:format(#,##0.00)] Taxes amount i.e. 288
[[Total]:format(#,##0.00)] The sum of the Subtotal and TaxesExclusive.Amount fields i.e. 1488
[[PaymentCode]] Invoice payment code i.e. 176081
[[PermaLink]].pdf link to download pdf
[[PublicNotes]] Notes

Useful Commands

Keywords:

Keyword Description
clone Used for cloning the entire document. Templater will append current document with current content
fixed Used in resizeable objects (like table) when you don't want to resize that object. For example, you have table with fixed number of rows and want Templater to replace those IEnumerable values and replace all others with empty string
page Used for specifying resizing of the page range in docx. When tag is placed in table and you want to resize entire page, not number of rows in that table, use page to override default context resize
sheet Used for specifying resizing of the sheet in xlsx. If you want to resize sheet range you can place tag in header or use sheet metadata on tag which is used for resizing.
all Replaces all instances of selected tag with provided values. Useful when there is the same tag on various places in document and Templater is unable to conclude that they should all be replaced with single value
header For DataTable/ResultSet data types, include header during dynamic resize
horizontal-resize In Excel, resize context horizontally instead of vertically
whole-column Use whole column instead of minimum spanning range during horizontal resize
merge-nulls Special handling of null values in tables/cells. Cells will be merged if null value is detected
remove-old-xml When XElement/Element is provided, remove the XML tree where tag was detected. Useful for cleaning up whitespace garbage
replace-xml When XElement/Element is provided, remove the children of matching XML tree and replace it with the provided XML. Useful for setting color in Word tables
merge-xml When XElement/Element is provided, merge provided XML with the surounding XML of the detected tag. Useful for setting color without removing old XML
page-break When doing resize include page break between elements (probably should not be used)
no-repeat To invoke old behavior of processing only the first collection with matching tags (probably should not be used)

Default plugin keywords:

Keyword Description
format If encountered on date value it will replace DateTime value with string value (short date string if time part is empty)
format(X) Replaces current value formatted by x argument (for example N2 for number with two decimals)
substring(n) Returns substring of provided values after n chars
substring(n,l) Returns substring of provided values after n chars with l length
padLeft(n) Append space from left to create string of at least n length
padLeft(n,c) Append char c from left to create string of at least n length
padRight(n) Append space from right to create string of at least n length
padRight(n,c) Append char c from right to create string of at least n length
join(X) Flattens array to create a string with X between (for example {1,2,3}.join(-) becomes 1-2-3)
hide Replaces current value with empty string
empty(X) If value is null or empty (IEnumerable.length = 0) it will replace value with X
bool(yes,no) Boolean value will be converted to yes or no
bool(YES,NO,MAYBE) boolean value will be converted to YES, NO or MAYBE
offset(D:H:M) DateTime value will be offsetted by parsed Timestamp (special sign : is escaped with \)
collapse If value is null or empty (IEnumerable.length = 0) current context will be collapsed; tag will be removed

About INDICE

Have something to say? Send us a message.

For any legal issues or if you believe that incontrl infringes your privacy in any way, please contact our Legal & Privacy Officers.

Offices
22, Iakchou Str Athens, 11854 Greece
Copyright
© INDICE 2014 - 2019 All rights reserved. Oh and don't read the next sentence! You little rebel, we like you :)