How to create NetSuite’s PDF-HTML Advanced templates

NetSuite’s advanced PDF/HTML templates is a great way to customize printed PDF formats for different transactions, such as, Invoices, Checks, Customer Statement, Sales Orders, Picking/Packing List, and many more.

NetSuite provides a list of pre-configured or Out-of-the-Box PDF/HTML templates, which can be customized as needed. This customization can be achieved through different tools like using the powerful combination of HTML+CSS+Freemarker.

NetSuite also gives the ability to work with Saved Searches and PDF/HTML templates, which can be very helpful when printing more detailed information.

Follow the steps below to start customizing your PDF/HTML templates:

1. Go to Customization > Forms > Advanced PDF/HTML Template

2. Search for the Standard Template you wish to work on and click customize.

3. Switch from WYSIWYG to Source Code mode. Working with Source Code provides more flexibility and tools to get the most of the layout and embedded HTML and Freemarker logic.

4. Click Yes on the warning message

5. Customize the HTML/CSS code to achieve the needed PDF template. Use Freemarker logic to get useful functionalities. For more information about this tool and its components, visit the Freemarker apache website:

6. Save the customized template and set is a preferred. Then attach it to your preferred entry form.

Here are some useful tips to get started with this powerful tool in NetSuite:

  • Review documentation about BFO HTML and Freemarker.
  • Using a third party IDE (Integrated Development Environment) to build the code can save you a lot of time and reduces the risk of overwriting or loosing important code.
  • Identify the Internal IDs of the fields that will be added to the Advanced PDF/HTML template. You can review the NetSuite Records Browser page to find all internal IDs that can be used for the transaction you are customizing the PDF template for.

After finding the Internal IDs, you can add them into the source code of the PDF/HTML template. The syntax for printing fields is:

${record.fieldname} for standard record printing or ${result.fieldname} for saved search printing.

  • Use the “Show Internal IDs” preference on NetSuite to see the internal ID of a specific field by showing the field help making click on the field’s label. Go to Home > Set Preferences and check “Show Internal IDs”.
  • Utilize Freemarker for sorting, filtering, grouping, add IF/THEN logic, Regex and more.
  • Use HTML tables to display the data. NetSuite is usually best displayed using tabular layouts.

For more information about this functionality go to:

Related Posts


Please complete the form below and we will get in touch with you as soon as possible. We look forward to chatting with you about your NetSuite needs.

Or call us now at +1 470-752-5520