E-Commerce Invoice Template v1
New Invoice E-Commerce Invoice Template v1
This e-commerce 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 E-Commerce 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:

E-Commerce Invoice Template

The E-Commerce Invoice Template is a highly adaptable and powerful tool designed to streamline your invoicing process. This innovative solution converts your invoice data, structured in JSON format, directly into a professional, ready-to-send PDF invoice using DynamicDocs API.

This user-friendly template allows for the customization of the invoice's look and feel, offering a variety of fields including invoice number, customer details, product lists, quantities, prices, and applicable taxes. By incorporating your data in JSON format, you can effortlessly manage complex data structures, leading to more accurate and efficient invoicing.

The template leverages DynamicDocs API to render your JSON data into a clean, printable PDF invoice. It guarantees high-quality, standardized invoices that reflect your brand's professionalism, contributing to your brand's positive image and boosting customer satisfaction.

Use Cases for JSON to PDF Conversion

  1. E-Commerce Businesses: Whether you're running a small online boutique or a large e-commerce platform, this template simplifies the generation of professional invoices. It allows for automatic creation and delivery of PDF invoices post-purchase, improving your operational efficiency.
  2. Subscription Services: This template is perfect for businesses that offer monthly or yearly subscription services. You can automate the invoicing process, creating an individualized PDF invoice for each subscriber based on their usage or subscription tier.
  3. Freelancers and Consultants: If you're a freelancer or consultant providing services to multiple clients, this template allows you to generate personalized invoices quickly and easily. By using your own JSON data, you can reflect the unique requirements of your services in your invoices.
  4. B2B Companies: For businesses providing products or services to other businesses, this template enables the quick generation of bulk invoices, saving time and ensuring each invoice is accurate and professional.
  5. Non-Profit Organizations: Non-profits can use this template to generate donation receipts or any other financial documentation needed, providing a clear, professional record for donors and the organization.
  6. Inventory Management: This tool can also be used in the backend for inventory management, converting sales data into invoices which can be cross-referenced with your existing inventory data.

Key Takeaways

In essence, our E-Commerce Invoice Template can be a valuable tool for any entity that requires efficient, automated generation of professional PDF invoices.

{ "documentSettings": { "font": "roboto", "fontSize": 8, "primaryHEXColour": "343D49", "secondaryHEXColour": "0dbb72", "textHEXColour": "444444", "documentName": "E-commerce Invoice Template from ADVICEment", "topMargin": "0.5cm", "rightMargin": "1.5cm", "bottomMargin": "0.5cm", "leftMargin": "1.5cm", "headheight": "1.25cm", "headsep": "0.75cm", "footskip": "1.0cm", "includehead": true, "includefoot": true, "showframe": false, "header": { "headerLine": false, "leftContent": "\\advGetImage{key = logo, typeKey=logoType, widthKey = logoWidth}\\medskip", "centerContent": "", "rightContent": "\\color{gray} \\large Invoice #: 123456789 \\vspace{0.5cm}" }, "footer": { "footerLine": true, "centerContent": "Page \\thepage\\ of \\pageref{LastPage}" }, "latexPreamble": "\\usepackage{multirow} \\usepackage[gen]{eurosym} \\usepackage{moresize} \\usepackage{paracol} \\usepackage{lastpage} \\fancypagestyle{plain}{\\fancyhf{} \\fancyfoot[C]{Page \\thepage\\ of \\pageref{LastPage}}}" }, "documentContent": { "content": [ { "type": "latex", "content": "\\thispagestyle{plain} \\sloppy \\setlength{\\tabcolsep}{0pt}", "order": 0 }, { "type": "latex", "content": "\\columnratio{0.5,0.5} \\begin{paracol}{2} \\begin{leftcolumn}", "order": 1 }, { "type": "latex", "content": "\\advGetImage{key = logo, typeKey=logoType, width = 5.5cm} \\par \\bigskip \\HUGE E-Commerce Invoice \\par \\bigskip \\large Invoice \\#: 123456789 \\par \\vspace{1cm}", "order": 1 }, { "type": "kable", "content": "kable(data.frame(lapply(params$billToInfo,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = NULL, align = c('L{8.5cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% kable_styling(font_size = 8) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 3 }, { "type": "latex", "content": "\\end{leftcolumn}", "order": 10 }, { "type": "latex", "content": "\\begin{rightcolumn} \\small", "order": 11 }, { "type": "kable", "content": "kable(data.frame(lapply(params$issuedByInfo,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = NULL, align = c('R{8.5cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% kable_styling(font_size = 8) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 12 }, { "type": "latex", "content": "\\end{rightcolumn} \\end{paracol}", "order": 20 }, { "type": "latex", "content": "\\vspace{1cm}", "order": 21 }, { "type": "latex", "content": "\\columnratio{0.5,0.5} \\begin{paracol}{2} ", "order": 30 }, { "type": "kable", "content": "kable(data.frame(lapply(params$detailsInfo,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = NULL, align = c('L{4.25cm}','R{4.25cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% kable_styling(font_size = 8) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 31 }, { "type": "latex", "content": "\\switchcolumn ", "order": 40 }, { "type": "latex", "content": "\\raggedright \\textbf{Cost Summary} \\par \\noindent\\rule{8.5cm}{1pt} \\par \\medskip", "order": 41 }, { "type": "kable", "content": "kable(data.frame(lapply(params$costSummaryInfo,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = NULL, align = c('L{4.25cm}','R{4.25cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% kable_styling(font_size = 8) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 42 }, { "type": "latex", "content": "\\raggedright \\textbf{Summary for 1-Feb-2023 to 28-Feb-2023} \\par \\noindent\\rule{8.5cm}{1pt} \\par \\medskip", "order": 43 }, { "type": "kable", "content": "kable(data.frame(lapply(params$costBreakdownInfo,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = NULL, align = c('L{4.25cm}','R{4.25cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% kable_styling(font_size = 8) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 44 }, { "type": "latex", "content": "\\end{paracol}", "order": 50 }, { "type": "latex", "content": "\\vspace{1cm} You will be automatically charged for any amount due.", "order": 51 }, { "type": "latex", "content": "\\newpage", "order": 60 }, { "type": "latex", "content": "\\renewcommand{\\arraystretch}{1.5}", "order": 61 }, { "type": "kable", "content": "kable(data.frame(lapply(params$fullInvoice,latexifyWithCommands)), escape = FALSE, format = 'latex', format.args = list(scientific = FALSE, big.mark = ' '), col.names = c('Description','Interval','Quantity','Amount (EUR)'), align = c('L{7.25cm}','C{5.25cm}','C{2.1cm}','R{3.25cm}'),booktabs = T, bottomrule = '',toprule = '',midrule = '',linesep = '') %>% row_spec(0, bold = T, hline_after = T) %>% row_spec(c(nrow(params$fullInvoice),nrow(params$fullInvoice)-3), hline_after = T) %>% row_spec((nrow(params$fullInvoice)-2):(nrow(params$fullInvoice)), bold = T) %>% kable_styling(font_size = 8) %>% stri_replace_all_fixed('\\\\begin{table}', '') %>% stri_replace_all_fixed('\\\\end{table}', '')", "order": 62 }, { "type": "latex", "content": "\\raggedright \\vspace{1cm} \\textbf{Notes} \\par", "order": 63 }, { "type": "latex", "content": "\\begin{itemize} \\item Duis eu luctus ex. Nulla orci risus, fringilla in sodales at, luctus sit amet diam. Sed efficitur arcu ac mauris molestie suscipit. Nullam dapibus pulvinar erat sed euismod. Mauris orci tortor, aliquam sed ligula ac, sagittis fermentum erat. \\item Etiam elementum facilisis imperdiet. Mauris vitae eros sodales, tincidunt augue non, vulputate lectus. Aenean porta felis vitae sapien vestibulum, non mollis elit tristique. Donec maximus vitae tortor ac sodales. \\item Cras nec convallis ex. Sed nec ex tincidunt odio auctor pulvinar. Aenean ut dolor a quam lacinia gravida sit amet a lectus. Nam dapibus ante vel vehicula egestas. Nunc condimentum dictum libero sed ullamcorper. \\end{itemize}", "order": 64 } ] }, "logo": "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", "logoType": "png", "logoWidth": "2.5cm", "billToInfo": [ { "column1": "\\textbf{Bill to:}" }, { "column1": "John Smith" }, { "column1": "info@gmail.com" }, { "column1": "" }, { "column1": "123 Street" }, { "column1": "Cnr Edith Cavell and Kapteijn" }, { "column1": "Hillbrow" }, { "column1": "Johannebsurg" }, { "column1": "South Africa" }, { "column1": "2001" } ], "issuedByInfo": [ { "column1": "2023-03-01" }, { "column1": "\\textbf{Company (Pty) Ltd}" }, { "column1": "" }, { "column1": "123 Street" }, { "column1": "Cnr Edith Cavell and Kapteijn" }, { "column1": "Hillbrow" }, { "column1": "Johannebsurg" }, { "column1": "South Africa" }, { "column1": "2001" } ], "detailsInfo": [ { "column1": "\\textbf{Details}", "column2": "" }, { "column1": "Invoice Number", "column2": "123456789" }, { "column1": "Invoice Date", "column2": "1-Mat-2023" }, { "column1": "Billing ID", "column2": "1234-5678-xxxx" }, { "column1": "Domain", "column2": "advicement.io" } ], "costSummaryInfo": [ { "column1": "Total in EUR", "column2": "\\huge \\textbf{\\euro{} 16.99}" } ], "costBreakdownInfo": [ { "column1": "Subtotal in EUR", "column2": "\\euro{} 14.77" }, { "column1": "VAT (15%)", "column2": "\\euro{} 2.22" }, { "column1": "Total in EUR", "column2": "\\euro{} 16.99" }, { "column1": "", "column2": "" }, { "column1": "\\textbf{For reference in ZAR:}", "column2": "" }, { "column1": "Subtotal in ZAR", "column2": "ZAR 289.29" }, { "column1": "VAT (15%)", "column2": "ZAR 43.48" }, { "column1": "Total in ZAR", "column2": "ZAR 332.77" }, { "column1": "", "column2": "" }, { "column1": "Exchange rate EUR 1", "column2": "ZAR 19.587" } ], "fullInvoice": [ { "column1": "PDF Generation - Monthly Cost", "column2": "1 Feb - 8 Feb", "column3": "3", "column4": "3.33" }, { "column1": "PDF Generation - Monthly Cost", "column2": "9 Feb - 28 Feb", "column3": "3", "column4": "11.44" }, { "column1": "", "column2": "", "column3": "Subtotal in EUR", "column4": "\\euro{} 14.77" }, { "column1": "", "column2": "", "column3": "VAT (15%)", "column4": "\\euro{} 2.22" }, { "column1": "", "column2": "", "column3": "Total in EUR", "column4": "\\euro{} 16.99" } ] }

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 charts and 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.