Bringing an Oracle Netsuite Based Product Catalog Online
AAA Innovations, a leading supplier of promotional products to the Advertising Specialty Industry, needed a website that allows their clients to request product samples and quotes from AAA while also allowing new users access to limited content and a portal to request/register an account. At the same time, they wanted to streamline the process front to back to help serve their business needs.
View the Live Site
We needed to work in tandem to make this happen. Everything they did was custom-made to our needs and requirements. Lform made this a reality.
Giovanni Villalona, CTORead the Full Testimonial
Bulk Custom Branded Promotional Products
The core of AAA Innovations’ business is selling custom-branded promotional products in bulk quantities to people working in the Advertising Speciality Industry (e.g. sales/marketing companies buying on behalf of brands). The main goal of their new website was to provide access to content based on the status of the user (existing or non-existing user).
Understanding that many users—especially new users—will likely expect a traditional e-commerce site, but that select content—like AAA’s prices—should only be visible to users with an account, Lform transformed their website by building a customized website that would give users the functionality of a traditional e-commerce site, limiting those without an account in terms of what they can do or see and allowing existing users access to pricing associated with their user type, ability to order samples, and/or request a quote.
Understanding Internal + External Business Needs
Additionally, AAA wanted to approve all signups on the site. However, many of their clients are already in Netsuite. To save time, Lform created the site so that it checks Netsuite to see if the new user is an existing contact or company in Netsuite. If so, the new user’s account is auto-approved. Response time is essential to converting a sale, and in doing so, AAA has the ability to increase conversion rate on the new site.
The primary challenge of the site was that the product, ordering, and customer systems on the site would have to be driven by AAA’s CRM/ERP solution, Netsuite, which is an Oracle product. All product information appearing on the site is driven by Netsuite, and not via the site admin. Additionally, the orders placed on the site all get passed to Netsuite, and whenever the orders are updated in Netsuite, they’re updated on the site. The same goes for users on the website, their accounts are sent to Netsuite on signup and managed in Netsuite.
This integration posed multiple challenges that had to be overcome:
- Netsuite limits the number of concurrent connections, so all requests have to be handled via a queuing system. Each interaction is pushed onto the queue as a job, and the jobs are processed sequentially.
- Netsuite is slow, which had to be factored in as well, and also ties into the heavy usage of queues to manage Netsuite interactions. This allows the slowness to be hidden from the users on the site.
- With approximately 2,000 products, and a request for 50 products taking approximately 30 seconds, getting the product data to sync was not fast. A nightly sync was created to process this data.
- Some product data in Netsuite was incomplete, we had to create a reporting mechanism to generate an excel spreadsheet with what products were missing what data. Some missing data such as missing dimensions or weights meant products could not be ordered.
- Much of the information we needed to appear on the site wasn’t present in Netsuite. We worked with AAA’s technology director Giovanni to work around Netsuite’s limitations to create the necessary fields for the website products to work in a way that required the least amount of work from ourselves or AAA.
- Netsuite doesn’t have any webhooks out-of-the-box, which are triggered to pass data back to a site when something is updated in Netsuite, such as the orders. We had to code scripts to enable this functionality, and also, only do so on orders generated via the website, as otherwise, it slows Netsuite down if it pushes data when it doesn’t have to.
- Since they don’t want non-clients seeing real pricing, AAA wanted to approve all signups on the site. However, many of their clients are already in Netsuite, so to avoid the extra work of having to manually approve all accounts, the site checks Netsuite to see if a user has an existing contact or company in Netsuite by checking their signup info. If so, their account is auto-approved. Additionally, we created a tool to import users from their previous website into the site so they would not need to signup again.
The other 3rd party technology we had to integrate was their shipping fulfillment service, Pacejet. Pacejet is used to calculate the number of & type of shipping boxes required to ship products, and then supply the real-time shipping rates to ship those boxes. The Pacejet API is used on the site to supply freight estimates. During the course of the integration, we encountered a multitude of challenges:
- Almost zero information available about Pacejet’s API outside of Pacejet themselves. This meant there were no other resources to consult when running into problems except from Pacejet themselves.
- No existing connectors, any mechanism to talk with the API had to be built by us.
- Mediocre API documentation meant that there was far more trial-and-error than would be the case with more robustly documented systems.
- The above meant that it took a while to get the API to return accurate shipping estimates. We had to communicate with Pacejet's support several times to get things sorted out that were not clear from the documentation.
- This functionality was critical because rates that are too high will scare clients away from placing orders, and rates that are too low will cause AAA to lose money. Accuracy was key in this regard.
- Calculating costs for shipping small packages with UPS and separately, LTL shipments sent via pallets on trucks.
This project was different from most that we handle with its high degree of reliance on Netsuite for its content. Also, because the integration also directly impacts their business, it was critical to ensure all the components and pieces lined up with what they were expecting to see in Netsuite when users signup and place orders. This was in play with Pacejet too, as its critical to assess accurate shipping rates. The approach taken with the product & ordering side of things was always done with Netsuite’s considerations/limitations in mind. With the Staff listing, FAQs and other such functionality, our traditional approach was followed, the resulting site is a marriage between Netsuite’s data and the site’s marketing data, in as straightforward a way possible as far as coding & administering the site goes.
The functionality of the site also includes the following for users:
- Sign up and manage accounts (Netsuite integration)
- Request quotes, samples, and view the status of request
- Create, share, and manage wishlists
- See inventory availability on products
- Get freight estimates on products
- Download high-res imagery of products
- Download PDF product info sheets
- Email products to people
- Weekly generated report of bundled wishlists that is emailed to all AAA sales reps assigned to the users
User Interface Was Key to a Successful Site
Since UX is important on multiple screens to any website, the site itself is fully responsive and optimized for phone, tablet, and computer screens. Lform met the challenge of getting the robust product search and filtering mechanisms to work intuitively on phone screens as well as they do on computer screens to ensure AAA had the best ability to convert sales. The resulting site is a marriage between Netsuite’s data, Lform’s proprietary CMS, and the site’s marketing data, in as straightforward a way as possible to ensure AAA and its users have access to a website that works for their business needs.