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:

Share on linkedin
Share on twitter
Share on email
Share on facebook
Delia Diaz
Delia Diaz

Delia is a Software Engineer with experience in the design, development and implementation of NeSuite ERP software. She is focused on building different solutions based on customers’ requirements.

All posts

Related Posts


How to import Amortization Schedules in NetSuite

Amortization is an expense recognition feature and an accounting technique that is used to spread the cost of an asset over time. This feature can help in the deferral of purchase expenses. Amortization is similar to depreciation as they are both methods of calculating expense over a given amount of time.

Stay Updated!

Subscribe to our newsletter and stay updated to our offers and deals!

We are committed to protecting your privacy

Latest Posts

Get started now

Let's build your future

Successfully navigate your company’s growth. Let’s chat about how SuiteSciens can help you achieve your goals.

let's build your vision

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.