Marty Zigman - The NetSuite Expert

Conversations with Marty Zigman

Certified Administrator • ERP • SuiteCloud

Prolecto Labs Accelerator Templates

Learn the Framework to Extend NetSuite Content Generation

Infrastructure NetSuite Reporting



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:

  1. 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.
  2. 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.
  3. 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

Complex Innovative Use Cases

Enterprise Use Cases for Batch and Language-Specific Challenges

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

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.

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

More Posts - Website - Twitter - Facebook - LinkedIn - YouTube

About Marty Zigman

Marty Zigman

Holding all three official certifications, Marty is regarded as the top NetSuite expert and leads a team of senior professionals at Prolecto Resources, Inc. He is a former Deloitte & Touche CPA and has held CTO roles. For over 30 years, Marty has produced leadership in ERP, CRM and eCommerce business systems. Contact Marty to set up a conversation.

Biography • Website • X (Twitter) • Facebook • LinkedIn • YouTube

Leave a Reply

Your email address will not be published. Required fields are marked *