Basic Invoice Template v1
Invoice Basic Invoice Template v1
This basic invoice template converts JSON to PDF while controlling the content and layout from the JSON using LaTeX commands to style the document.
Info
Information to call the Basic Invoice Template v1
API End Point:
https://api.advicement.io/v1/templates/pub-general-json-to-pdf-template-v1/compile
Authentication:
Use your API Security Token (which is generated in your dashboard) in the Adv-Security-Token header parameter
Refer to our authentication guide for more information.
Uses Luatex:
FALSE
Uses Charts:
FALSE
Available On:

Basic Invoice Template

The JSON to PDF Invoice Template is a powerful and flexible tool that allows users to generate professional-looking invoices by converting JSON data into PDF files using a PDF API. With this tool, businesses can automate their invoicing process, reduce errors, and ensure a consistent and visually appealing presentation of their billing information to clients. The template generator is customizable, enabling users to easily tailor the appearance and structure of the invoice to their specific needs and preferences.

Key Features

  1. Customizable Invoice Template: Modify the template to include your company's logo, contact information, payment terms, and other relevant details.
  2. JSON Payload: Seamlessly import data into JSON format and ensuring accurate, up-to-date information.
  3. PDF API Integration: Leverage the power of a PDF API to generate high-quality, professional invoices in PDF format.
  4. Serverless Backend: Generate multiple invoices at once, saving time and effort.
  5. Multi-Currency Support: Create invoices in different currencies, catering to a global clientele.

Use Cases for JSON to PDF Conversion

  1. E-commerce Businesses: Automatically generate invoices for every order placed on the platform, ensuring a seamless billing process for both customers and the company.
  2. Freelancers and Consultants: Create professional-looking invoices for each client and project, streamlining the billing process and leaving a positive impression.
  3. B2B Sales and Services: Generate invoices for business clients, reflecting the specific terms and pricing agreed upon for each transaction.
  4. Subscription-based Services: Automatically create and send recurring invoices for subscription-based services, ensuring timely billing and revenue collection.
  5. Accounting and Bookkeeping Firms: Offer clients a streamlined invoicing solution as part of their services, enhancing their overall value proposition.
  6. Service Agreements: Businesses providing services can use this JSON to PDF template to create customized contracts for clients, outlining the scope of services, pricing, timelines, and other relevant terms. The signature placeholders enable a smooth review and signing process, ensuring a professional and efficient experience.

Key Takeaways

By integrating the JSON to PDF Invoice Template into your invoicing workflow, you can save time, reduce errors, and provide your clients with a consistent and professional billing experience.

{ "documentSettings": { "font": "clear sans", "fontSize": 8, "primaryHEXColour": "343D49", "secondaryHEXColour": "0dbb72", "textHEXColour": "444444", "documentName": "Invoice Template from ADVICEment", "topMargin": "0.5cm", "rightMargin": "1cm", "bottomMargin": "0.5cm", "leftMargin": "1cm", "headheight": "1.25cm", "headsep": "0.75cm", "footskip": "1.0cm", "includehead": true, "includefoot": true, "showframe": false, "header": { "headerLine": true, "leftContent": "\\advGetImage{key = logo, typeKey=logoType, widthKey = logoWidth}\\medskip", "centerContent": "", "rightContent": "\\color{gray} \\Huge Invoice #: 123456789 \\vspace{0.4cm}" }, "footer": { "footerLine": true }, "latexPreamble": "\\usepackage{anyfontsize} \\definecolor{Facebook}{HTML}{3B5998} \\definecolor{Twitter}{HTML}{00ACEE}" }, "documentContent": { "content": [ { "type": "latex", "content": "\\renewcommand{\\arraystretch}{1.5}", "order": 0 }, { "type": "latex", "content": "\\begin{multicols}{2}", "order": 1 }, { "type": "kable", "content": "kable(data.frame(lapply(params$firstColumnData,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = c('Invoice Details', ''), align = c('L{4cm}','R{4cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% row_spec(0, bold = T, color = 'white', background = 'Secondary') %>% kable_styling(font_size = 9) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')" , "order": 2 }, { "type": "latex", "content": "\\columnbreak", "order": 3 }, { "type": "kable", "content": "kable(data.frame(lapply(params$secondColumnData,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = c('Payee Details', ''), align = c('L{4cm}','R{4cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% row_spec(0, bold = T, color = 'white', background = 'Secondary') %>% kable_styling(font_size = 9) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 4 }, { "type": "latex", "content": "\\end{multicols}", "order": 5 }, { "type": "latex", "content": "\\vspace{1cm} \\begin{center} \\color{gray} \\Huge Invoice Details \\end{center} ", "order": 6 }, { "type": "kable", "content": "kable(data.frame(lapply(params$invoiceDetailsData,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = c('Description', 'Amount'), align = c('|L{7.5cm}','R{7.5cm}|'),booktabs = T, longtable=T, bottomrule = '',toprule = '\\\\hline',midrule = '',linesep = '') %>% row_spec(0, bold = T, color = 'white', background = 'Secondary', hline_after = T) %>% kable_styling(font_size = 9) %>% kable_styling(latex_options = 'hold_position') %>% row_spec(c( nrow(params$invoiceDetailsData)-1,nrow(params$invoiceDetailsData)), hline_after = T)", "order": 7 }, { "type": "latex", "content": "\\vfill", "order": 8 }, { "type": "latex", "content": "\\begin{multicols}{2}", "order": 9 }, { "type": "latex", "content": "{\\color{gray} \\Huge Important Info \\bigskip} \\begin{itemize} \\item Please retain this invoice for your records. \\item Note that this invoice is based on the actual hours it took to do the cleaning.\\item To view your booking history, go to account bookings.\\item To update your card details, go to account cards. \\item In case of any questions, please consult our Help Centre. \\end{itemize} \\bigskip \\textbf{Thank you for your ongoing support!}", "order": 10 }, { "type": "latex", "content": "\\columnbreak", "order": 11 }, { "type": "latex", "content": "{\\color{gray} \\Huge Connect With Us \\bigskip}", "order": 12 }, { "type": "latex", "content": "\\vspace{-0.1cm} \\fbox{\\parbox{.45\\textwidth}{\\centering\\medskip \\fcolorbox{black}{Facebook}{\\hspace{8mm}{\\large \\color{White}{\\href{https://www.facebook.com}{\\textbf{Facebook}}}}\\hspace{5mm}} \\ \\medskip{\\centering\\fcolorbox{black}{Twitter}{\\hspace{10.5mm}{\\large \\color{White}{\\href{https://twitter.com}{\\textbf{Twitter}}}\\hspace{10.5mm}}}}\\par \\bigskip{\\Large Contact Info:\\par}\\medskip Phone : \\textbf{082-123-4567} \\par \\smallskip Email: \\color{gray!95} support@info.com \\par \\hspace{8mm}}}", "order": 13 }, { "type": "latex", "content": "\\end{multicols}", "order": 14 } ] }, "firstColumnData": [ { "column1": "Invoice Date", "column2": "2023-03-01" }, { "column1": "Invoice Issued By", "column2": "Company (Pty) Ltd" }, { "column1": "", "column2": "" }, { "column1": "On Behalf Of:", "column2": "123 Street" }, { "column1": "", "column2": "Cnr Edith Cavell and Kapteijn" }, { "column1": "", "column2": "Hillbrow" }, { "column1": "", "column2": "Johannebsurg" }, { "column1": "", "column2": "South Africa" }, { "column1": "", "column2": "2001" } ], "secondColumnData": [ { "column1": "Invoice Issued To", "column2": "John Smith" }, { "column1": "", "column2": "info@gmail.com" }, { "column1": "", "column2": "" }, { "column1": "Address", "column2": "123 Street" }, { "column1": "", "column2": "Cnr Edith Cavell and Kapteijn" }, { "column1": "", "column2": "Hillbrow" }, { "column1": "", "column2": "Johannebsurg" }, { "column1": "", "column2": "South Africa" }, { "column1": "", "column2": "2001" } ], "invoiceDetailsData": [ { "column1": "PDF Generation - Monthly Cost", "column2": "$ 499" }, { "column1": "Template Setup", "column2": "$ 1000" }, { "column1": "Tax", "column2": "$ 65" }, { "column1": "\\textbf{Total}", "column2": "\\textbf{$ 1 564}" } ], "logo": "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", "logoType": "png", "logoWidth": "4.5cm" }

documentSettings - A JSON object which contains the settings of the template (primaryHEXColour, secondaryHEXColour, textHEXColour, font, documentName, logo, logoType, logoWidth, margins, headSep, footSkip, showframe, header, footer).

font - An optional string which contains the font of the document. Possible options are: 'helvetica', 'avant garde', 'sans serif', 'charter', 'open sans', 'bera', 'venturis', 'raleway', 'overlock', 'roboto', 'spectral', 'clear sans', 'noto sans', 'noto mono', 'josefin', 'bera sans', 'latin modern', 'theano modern', 'droid sans', 'fira sans', 'XCharter', 'bookman', 'gyre bonum', 'gyre schola', 'gyre termes'.

fontSize - An optional integer which contains the font size of the document. Possible options are: 8, 9, 10, 11, 12, 14.

primaryHEXColour - An optional string which contains the primary font colour of the document.

secondaryHEXColour - An optional string which contains the secondary font colour of the document.

textHEXColour - An optional string which contains the text font colour of the document.

documentName - An optional string for the name of the document.

topMargin - An optional string containing the top margin size (in cm).

rightMargin - An optional string containing the right margin size (in cm).

bottomMargin - An optional string containing the bottom margin size (in cm).

leftMargin - An optional string containing the left margin size (in cm).

headheight - An optional string relating to the height of the header (in cm). See LaTeX geometry package documentation for more information on this parameter.

headSep - An optional string relating to the space between the header and the beginning of the document (in cm). See LaTeX geometry package documentation for more information on this parameter.

footSkip - An optional string relating to the space between the end of the document and the footer (in cm). See LaTeX geometry package documentation for more information on this parameter.

includehead - A boolean expression which determines whether the header is part of the top margin (false) or below it (true).

includehead - A boolean expression which determines whether the footer is part of the bottom margin (false) or below it (true).

showFrame - A boolean expression (true/false) to show the frame of the document.

header - An object containing settings to control the header.

headerLine - A boolean expression that generates a horizontal line between the header and the beginning of the document.

leftContent - The content that appears on the left-hand side of the header. Can contain LaTeX commands, text or simply 'logo'.

centreContent - The content that appears in the centre of the header. Can contain LaTeX commands, text or simply 'logo'.

rightContent - The content that appears of the right-hand side of the header. Can contain LaTeX commands, text or simply 'logo'.

adjustMargin - An optional string containing whether the header margin needs to be adjusted sideways (in cm).

footer - An object containing settings to control the footer.

footerLine - A boolean expression that generates a horizontal line between the footer and the end of the document.

leftContent - The content that appears on the left-hand side of the footer. Can contain LaTeX commands, text or simply 'logo'.

centreContent - The content that appears in the centre of the footer. Can contain LaTeX commands, text or simply 'logo'.

rightContent - The content that appears of the right-hand side of the footer. Can contain LaTeX commands, text or simply 'logo'.

adjustMargin - An optional string containing whether the header margin needs to be adjusted sideways (in cm).

latexPreamble - Contains custom LaTeX commands which will be inserted before '\begin{document}'.

documentContent - A JSON object which contains the content of the template and other data for tables.

content - A required object which contains the data for the right column on the first page.

type - A required string which contains the type of text for the body of the document. Possible options are: 'heading', 'section', 'subsection', 'paragraph', 'newpage', 'enumerate', 'itemize', 'table'.

content - A required string or array of strings which contains the text for the body of the document. Can contain LaTeX commands. Note that in an event of a table, this contains the key-name for the table.

order - A required number which determines the order of the text.

height - An optional parameter controling the height of the chart.

width - An optional parameter controling the width of the chart.