Official sponsor of Oracle-NetSuite SuiteWorld 2025 in Las Vegas, October 6–9! 🎉.

Building Credit Card Payment Automation Through NetSuite & Braintree

netsuite automation

Customer Challenges

The procedure of processing payments for customers who choose to pay by credit card is done manually and requires a lot time consuming efforts from the NetSuite user. Due to manual aspects of this process, invoices could be missed, or customers could be charged the wrong amount.

Process Before Automation

#1. The AR Clerk creates a list of open invoices in NetSuite for customers who chose to pay with credit card. 

#2. He/She then goes to the Braintree payment platform, a separate application from NetSuite, to charge the customer credit card manually for all invoices listed.

#3. Finally goes back to NetSuite to create the payment transactions manually.

About the Customer

Location: San Francisco, California
Categories: Web Infrastructure, Internet Security, Enterprise Software
Stage: IPO/Public
Number of Employees: 500 – 1000
Number of NetSuite Users: 150-200
Number of Subsidiaries: 5

Project duration: 1 month

Solution

The suggested solution was to build a custom screen in NetSuite using NetSuite Suitelet to group customer invoices and mark them for automatic processing through a NetSuite <> Braintree Integration. This solution would allow the AR Clerk to mass process bills without logging into a separate application to process them one by one. This automated process would also create the Payment transaction in NetSuite as soon the invoice is proceed successfully in the Braintree payment platform.

Processing credit card payments manually takes approximately 5 min per invoice. Processing 40 to 50 invoices would take 4hrs of the AR Clerk’s time, which is highly ineffective and not scalable. With this newly deployed integration, 50, 100, 1000 invoices could be processed in a matter of minutes, not hours…

A smart way to use NetSuite Suitelet UI and automation capabilities

First of all, Suitelet is a great way to build custom UI that enhances the workflow of the user. In this case, it allows the user create a list of invoices by applying various criteria, checking them off for payment through Braintree — all in one screen.

Another great aspect of this particular Suitelet is that it is derived from a saved search. This allows business users to adjust, add or remove result columns  and search criteria without the need to involve the developer to change the Suitelet code. 

Process After Automation

#1. The AR Clerk opens the Suitelet screen, selects invoices to include in the payment batch, then hits the “Submit” button.

#2. Upon submit, the NetSuite <> Braintree integration automatically charges the customer’s card on Braintree.

#3. If payment was successfully processed in Braintree, the integration script automatically creates a Payment transaction for that invoice in NetSuite. If the payment failed in Braintree, the user is notified by email and payment is not created in NetSuite. Additionally, the error details and handling is built into the automation to help users take action from the Suiteltet screen for exception cases.

With this optimization project, our client is now able to bill credit cards in a timely manner, eliminating all manual efforts and potential errors.

NetSuite Customization and Technical Highlights

Suitelet

A Server Widget Form as a custom NetSuite page to the user with a grid displaying all the invoices to be paid. A submit button is added at the top and bottom of the form.

Upon submit, the Suitelet sends the appropriate information to Braintree in order to process payments for all selected invoices.

Integration

A HTTP POST call to Braintree, using the GraphQL architecture. The call includes structured information on the invoices, and requests the payment processing.

Upon reception of the response to the HTTP POST call, the Suitelet reads the response to differentiate the invoices successfully paid, from those denied or with error.

System calls a Map/Reduce script and sends the invoices information via Script Parameters to create the appropriate Payment transactions.

System sends an email to the desired users based on a predefined NetSuite email template.

Map/Reduce Script (triggered by the above Suitelet script)

#1. Reads and parses the information passed by the Suitelet as script parameters .

#2. Goes through the invoices to generate the appropriate payment transactions.

#3. Upon failure of a payment transaction creation, the script records the invoice and notifies the user via email.

For more information, contact us.

Trending Articles

NetSuite Fixed Assets Management: A Complete Guide
The Essential Consulting Expertise Guide for 2025
The Essential Guide to Building a Successful Consultant Team 2026
Tax Due Diligence in Oracle NetSuite
NetSuite Cash 360 - Should We Install This SuiteApp?

Trek Travel Streamlines Travel Protection Integration with OdeCloud’s experts

Looking to streamline your operations with more automations? Keith shares an OdeCloud project.

#netsuite

#integrations

Project Outcomes

This new integration system transformed our travel protection service.

  1. Efficiency Gains: Completely automated the process, eliminating the need for monthly roster reconciliation.
  2. Enhanced Guest Experience: Guests benefited from a smoother booking process with transparent travel protection options tailored to their needs.
  3. Accuracy in Pricing: The integration ensured precise calculations based on complex variables.
  4. Scalability: The system can easily accommodate future growth and changes in travel protection offerings.

Background

Our company offers guests the option to protect their travel investments through a travel protection plan. This service is crucial, as it provides coverage in cases where guests need to cancel their trips due to unforeseen circumstances such as illness or emergencies. However, the process for managing this service was previously cumbersome and inefficient, requiring manual coordination and reconciliation with the travel protection partner.

Challenge

We needed a seamless integration within NetSuite to handle complex calculations for travel protection costs. The solution needed to account for multiple variables, including:
Guest-specific factors such as age and location.
Travel details like destination, total cost, and type of coverage (e.g., pre-trip hotels, post-trip hotels, flights).
Dynamic pricing calculations based on these variables.

Before partnering with OdeCloud, the process was manual and error-prone, involving monthly exchanges of rosters between our team and the travel protection provider. This created inefficiencies and delayed customer service.

Solution

OdeCloud worked with us to design and implement a fully integrated travel protection solution within NetSuite. Key features of the solution included:


1. API Integration: OdeCloud enabled real-time communication with the travel protection partner’s API. This allowed us to dynamically calculate the cost of travel protection based on the guest’s specific details.
2. Seamless Booking Experience: The integration allowed the travel protection cost to be automatically added as a line item to guest bookings within NetSuite.
3. Flexible Adjustments: Guests could easily add or cancel travel protection directly through NetSuite without requiring interaction with third-party systems.
4. Eliminating Manual Processes: The previously manual reconciliation process was replaced with automated inline API transactions, eliminating errors and saving significant time.

Conclusion

This integration is one of the most impactful projects we’ve undertaken, and it holds a special place in our transformation journey. With OdeCloud’s expertise, we achieved a solution that not only streamlined operations but also elevated the guest experience. This project exemplifies the power of technology in solving complex business challenges and enhancing customer service.