Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The NetSuite Pro

The NetSuite Pro Logo The NetSuite Pro Logo

The NetSuite Pro Navigation

  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • Advanced PDF Templates in NetSuite
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask A Question
  • Home
  • About Us
  • Tutorials
    • NetSuite Scripting
    • Advanced PDF Templates in NetSuite
  • Blog
  • Contact Us
Home/ Advanced PDF Templates in NetSuite/Multi-Subsidiary & Multi-Currency PDFs in Advanced PDF

Multi-Subsidiary & Multi-Currency PDFs in Advanced PDF

If your NetSuite account uses OneWorld, you likely deal with multiple subsidiaries, currencies, and tax regulations. Advanced PDF allows you to customize templates so each subsidiary shows the correct branding, bank details, tax IDs, and currency formatting.

This page covers how to dynamically adjust your PDFs for multi-subsidiary and multi-currency environments.


🔹 Showing Different Subsidiary Logos

<#if record.subsidiary == "1">
   <img src="https://system.netsuite.com/core/media/media.nl?id=1234&c=TSTDRV12345&h=abc12345" width="200"/>
<#elseif record.subsidiary == "2">
   <img src="https://system.netsuite.com/core/media/media.nl?id=5678&c=TSTDRV12345&h=xyz98765" width="200"/>
<#else>
   <img src="${record.logo}" width="200"/>
</#if>

✔️ Each subsidiary uses a different File Cabinet logo.
✔️ Defaults to ${record.logo} if no match.


🔹 Displaying Subsidiary Tax Information

<#if record.subsidiary == "1">
   <p>VAT: GB123456789</p>
<#elseif record.subsidiary == "2">
   <p>GST/HST: 789456123RT0001</p>
<#else>
   <p>Tax ID: ${record.custbody_tax_id!"Not Available"}</p>
</#if>

✔️ Each subsidiary can show a unique tax ID.


🔹 Multi-Currency Formatting

Use FreeMarker’s ?string to format amounts:

<p>Total: ${record.total?string["#,##0.00"]} ${record.currency}</p>

✔️ Displays both number formatting and currency code.

For currency symbols:

<#switch record.currency>
   <#case "USD">
      <p>Total: $${record.total?string["#,##0.00"]}</p>
      <#break>
   <#case "EUR">
      <p>Total: €${record.total?string["#,##0.00"]}</p>
      <#break>
   <#default>
      <p>Total: ${record.total?string["#,##0.00"]} ${record.currency}</p>
</#switch>

✔️ Dynamically inserts symbols for USD, EUR, etc.


🔹 Example: Subsidiary-Specific Bank Details

<#switch record.subsidiary>
   <#case "1">
      <p>Bank: HSBC London</p>
      <p>IBAN: GB29 NWBK 6016 1331 9268 19</p>
      <#break>
   <#case "2">
      <p>Bank: RBC Toronto</p>
      <p>Transit: 12345</p>
      <#break>
   <#default>
      <p>Bank: Default Account</p>
</#switch>

✔️ Ensures customers receive correct payment instructions.


🔹 Combining Multi-Subsidiary + Multi-Currency

<p><b>Invoice #: ${record.tranid}</b></p>
<p>Date: ${record.trandate?string("dd-MMM-yyyy")}</p>
<p>Subsidiary: ${record.subsidiary@label}</p>
<p>Total Due: 
   <#if record.currency == "USD">
      $${record.total?string["#,##0.00"]}
   <#elseif record.currency == "CAD">
      C$${record.total?string["#,##0.00"]}
   <#else>
      ${record.total?string["#,##0.00"]} ${record.currency}
   </#if>
</p>

✔️ Prints subsidiary name (label) + correctly formatted currency.


✅ Best Practices

  • Always use @label for subsidiaries → ${record.subsidiary@label}
  • Keep logos and bank info in File Cabinet with naming conventions (e.g., logo_sub1.png, logo_sub2.png).
  • Use <#switch> for currencies rather than multiple <#if> conditions.
  • Test with sample records per subsidiary and currency.

✅ Summary — What You Learned

By the end of this page, you know how to:

  • ✅ Dynamically show subsidiary-specific logos.
  • ✅ Insert tax IDs per subsidiary.
  • ✅ Format totals with currency codes and symbols.
  • ✅ Display bank/payment details by subsidiary.
  • ✅ Combine logic to handle both subsidiary and currency rules.

This sets you up for the next page: Styling with CSS, where you’ll learn how to make your PDFs modern, clean, and professional.

Share
  • Facebook

Leave a ReplyCancel reply

Sidebar

Ask A Question

Stats

  • Questions 6
  • Answers 6
  • Best Answers 0
  • Users 2
  • Popular
  • Answers
  • Rocky

    Issue in running a client script in NetSuite SuiteScript 2.0 ...

    • 1 Answer
  • admin

    How can I send an email with an attachment in ...

    • 1 Answer
  • admin

    How do I avoid SSS_USAGE_LIMIT_EXCEEDED in a Map/Reduce script?

    • 1 Answer
  • admin
    admin added an answer The issue is usually caused by following Wrong script file… September 14, 2025 at 10:33 pm
  • admin
    admin added an answer Steps to send an Invoice PDF by email: define(['N/email', 'N/render',… August 28, 2025 at 3:05 am
  • admin
    admin added an answer This error means your script hit NetSuite’s governance usage limit… August 28, 2025 at 3:02 am

Top Members

Rocky

Rocky

  • 1 Question
  • 21 Points
Begginer
admin

admin

  • 5 Questions
  • 2 Points

Trending Tags

clientscript netsuite scripting suitescript

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help

Footer

© 2025 The NetSuite Pro. All Rights Reserved