This article is relevant if you are challenged to work with NetSuite’s Advanced PDF technologies and you need a way to reach more data and more easily create NetSuite-driven outputs.
Background
Since working with the NetSuite Platform as a Systems Integrator as early as 2008, we have encountered so many different client challenges. Almost every client has some requirement to produce branded communications. NetSuite began to offer up Advanced PDF technologies driven by Apache FreeMarker and Big Faceless Organization Report Generator libraries to help address its user content creation requirements.
While we always start with the native capacities in any situation, we often are challenged by the manner in which Oracle NetSuite decided to implement its point-and-click tools. Fortunately, the SuiteScript platform is rich and it affords us the opportunity to think more fundamentally about how to solve common situations.
In this recurrent client situation, as early as 2014, 8 years ago, we conceived and developed a content generation and distribution framework called the Content Renderer Engine (or CRE for short). The framework is designed for NetSuite administrators to take command over the selection of data and the generation of quality content outputs. I have been writing about NetSuite Advanced PDF/HTML since 2013.
Content Renderer Engine Architecture
To help readers understand what is possible, it’s best to consider the following:
- Linked Data Sources: take information that is hard to reach in NetSuite and link it all together into a data universe. Don’t stop there. If information is available via files, HTTPS, or simple application parameters, add that to the mix. Take full advantage of NetSuite’s new SuiteQL or Saved Search to query the database.
- Dynamic Outputs: when generating content, the most common way to act on inputs is to generate HTML or PDF outputs. But more importantly, by taking the data sources represented as a JSON object, we can target any type of string-based inputs — meaning, we can generate Excel files, CSV, flat files, or even target further script libraries.
- Content Distribution: once the desired output is generated, it generally needs to be placed somewhere. Here, we can use the NetSuite file cabinet, email, or other HTTP sources. Combine this with some other sFTP tools, and we can use it to produce systems integration.
Click images to get a feel for the application. The article references below discuss specific capacities.
Understand Content Renderer Engine Capacities
Over the years, I have written many articles illustrating how we solve day-to-day concerns in our client NetSuite environments. After many years of hands-on experience, we rewrote CRE (version 1) to CRE2 (version 2) to take full advantage of SQL and all the capacities offered by the NetSuite Platform. Consider these articles in chronological order:
Early Concept Introductions
- 2014: Framework for Generating Custom NetSuite PDF Files: the vision for the CRE framework is forming as we work with the day-to-day limitations of Advanced PDF tools. Still, in 2022, you too are likely to experience these challenges.
- 2015: Supercharge NetSuite Advanced PDF/HTML Templates: CRE is now a formal tool as we solve a client’s significant challenge of reaching complex data information and the need for high-performance outputs and distribution. The early ideas of a tester provide breakthrough capacities for content creators.
- 2015: Solved: Custom NetSuite Item Fulfillment Ship Notifications: in contrast to the difficult manner in which NetSuite offers its ship notification templates, we illustrate the power of using the CRE tool to create great-looking content with access to difficult to reach data.
- 2015 Video: How to Extend Advanced PDFs with Content Renderer Engine: still relevant today, to help readers understand what is possible, I produce a video of the CRE tool in action.
Complex Innovative Use Cases
- 2016 How To: Insert Multiple NetSuite Aggregate Saved Searches to Google Charts: to open readers’ minds to how to use the framework in innovative ways, we hook CRE to Google JavaScript libraries to produce dynamic NetSuite dashboard portlets. We link both detail and aggregate information together — impossible to do with native tools.
- 2016: Yes You Can: Generate a NetSuite Customer Statement on an Invoice with Customer Deposit Accounting: solving many challenges with NetSuite Customer Deposit records, we illustrate how to use CRE to combine a customer statement to a NetSuite invoice output which also contains customer deposit records.
- 2016: Learn How to Bring NetSuite Subsidiary Data into Advanced PDFs: for OneWorld customers, it can be frustrating to access information on the Subsidiary record. This is solved with CRE’s data reach.
Enterprise Use Cases for Batch and Language-Specific Challenges
- 2016: Global NetSuite Locale Based Content Generation: we push the concept of dynamic content generation by introducing a framework to generate locale-specific dictionaries thus opening up the world to table-driven multi-language / multi-currency branded outputs.
- 2017: Learn how to Batch Generate NetSuite Driven Documents: NetSuite wants to create content in a onesie-twosies fashion. We demonstrate how to generate a large number of content outputs in batch format by extending the framework.
- 2018: How to Produce a NetSuite Consolidated Invoice: still relevant today, even though we now have an invoice group record — CRE was used to illustrate how to create a consolidated invoice by combining many invoices into one.
- 2018: Framework to Generate Language Specific Content into NetSuite Campaign Email: a global client took advantage of our locale capacities and used CRE to drive the built-in NetSuite campaign email system used to drive large quantity email distribution.
Using CRE to Drive Full Applications and Excel
- 2018: [deprecated with yoast redirect] Accept Credit Cards in NetSuite via a Customer Statement: CRE is used to back an entire capacity to accept credit cards / electronic payments using NetSuite via customer statements or other transactions.
- 2019: Learn How to Teach NetSuite to Generate Dynamic Excel Spreadsheets: via a video, we demonstrate how to use CRE to create Excel-based output.
Rewrite CRE to Exploit NetSuite SQL
- 2020: Join Multiple NetSuite Saved Searches to Build a Data Universe: to help readers understand they can get reach beyond the data offered by Saved Search, we illustrate the data universe concept.
- 2021: Content Renderer Engine 2.0 with NetSuite SuiteQL: After 6 years of working with the CRE framework, a video demonstration is offered to show how we took a fresh approach to re-write CRE to take full advantage of SQL and all of our years of learning.
- 2021: Extend NetSuite Customer Statements: continuing in the tradition, we illustrate how a customer statement with customer deposits and custom aging categories is available as a ready-to-go template with the new CRE2 engine.
Continuation of Creative Client Use Cases
More recently, once a client fundamentally understood how to use the framework, they decided to write a simple NetSuite Suitelet that was a simple print form generator. They did not want any database records stored (I know, an unusual approach). The idea was to collect some information from the user on-screen, then create an HTML printout that was later used in another business process (in this case, they worked with a third-party POS system in a retail store). CRE2 was to capture data as parameter inputs to then make HTML generation a breeze.
Click related images.
Get the Content Renderer Engine Technologies
Like all the tools we offer our client, the Content Renderer Engine is free of license charge. We generally help our clients solve a specific challenge as a way to educate them on the use of the tools. Once they get the hang of it, their client administrators can use CRE to solve a multitude of other concerns.
We believe that we will earn our clients’ trust one relationship at a time through the ongoing NetSuite care and innovation — our tools are an expression of our prowess and an extension of how we add greater value to solve NetSuite-powered challenges.
If you found this article relevant, feel free to sign up for notifications to new articles as I post them. If you have a specific challenge that you believe the Content Rendering Engine will solve, let’s have a conversation.
See Related Articles
- Deliver Complex NetSuite Outputs via User-Centric Options
- Easier Crafting with Data-Driven Syntax for NetSuite Advanced PDF Templates
- Learn How To Incorporate External Data into a NetSuite Custom Report
- Learn How to Integrate PrintNode to NetSuite
- Streamlining NetSuite Item Generation and Proposal Development
- NetSuite Batch Printed Work Order Travelers Your Way
- Get License Free Tools to Link NetSuite Saved Search / SQL to Extend Data Reach