Skip to main content

Invoice template JSON introduction

📝 Note: This feature only supports invoice template customizations. Document Builder, which supports both invoice and quote template customizations, might be available on your marketplace. For more information, see Document Builder.

To create invoice templates with different layouts, styles, and content than the default templates, edit the template JSON. Resellers can edit all user-defined templates (those they create and those they copy from default templates). You cannot edit default templates.

You can create new invoice templates in the following ways:

  • We recommend you copy a default or user-defined template and edit the JSON. For more infofrmation, see Customize default templates.
  • Download the JSON structure file or the JSON from a default or user-defined template, optionally edit the JSON offline, copy the JSON offline, then create a new template and paste the JSON into the JSON editor. For more information, see Add new templates.

To understand how the templates are built in JSON, how you can tailor it, and how to use the editor, refer to the following:

  • To reference the template JSON structure, download it (see Download template JSON files) or open a default template and view it in the editor. Note that the JSON for the default templates is the JSON structure for templates.
  • The JSON structure consists of four elements (page, header, body, and footer), components that you use to lay out content in the header, body and footer, and components and tokens that you use to define invoice content. For more infofrmation, see Invoice template layout overview.
  • For information on how to manage templates, including how to copy, edit, and publish templates, see Manage invoice templates section.

Notes about the JSON structure:

  • The page element defines the default styles for templates. When you define styles in other sections and components, they override the page styles. However, they only override the styles for those sections and components, not the components they contain.
  • To every component, you can add an optional description element, as follows:
ElementTypeDescription
descriptionstringOptional. User comments about the JSON. They do not appear on the invoice.

Was this page helpful?