Creating Credit Card Payment Automation With NetSuite & Braintree

Credit Card Payment Automatio

Table of Contents

Customer Hurdles

The task of processing payments for customers selecting credit card payment is performed manually and demands considerable time from the NetSuite user. This manual nature of the process risks missing invoices or charging customers inaccurate amounts.

Workflow Before Automation

#1. The AR Clerk compiles a list of outstanding invoices in NetSuite for customers opting to pay by credit card.

#2. Next, they navigate to the Braintree payment platform, a distinct application from NetSuite, to manually charge the customer’s credit card for each listed invoice.

#3. Finally, they return 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

Proposed Solution

The recommended solution involved constructing a custom screen within NetSuite utilizing NetSuite Suitelet to group customer invoices and designate them for automatic processing through a NetSuite <> Braintree Integration. This solution enabled the AR Clerk to process invoices in bulk without logging into a separate application for individual processing. This automated system also generated the Payment transaction in NetSuite as soon as the invoice was processed successfully in the Braintree payment platform.

Manually handling credit card payments consumes around 5 minutes for each invoice. Processing 40 to 50 invoices would take 4 hours of the AR Clerk’s time, which is significantly inefficient and not scalable. With the new integration, 50, 100, or even 1000 invoices could be processed in mere minutes, rather than hours.

An Intelligent Approach Using NetSuite Suitelet UI and Automation Features

Firstly, Suitelet serves as an excellent method for establishing a custom UI that enhances user workflows. In this instance, it allows users to create a list of invoices by applying various criteria, selecting them for payment through Braintree-all from a single screen.

Another advantageous aspect of this Suitelet is that it is based on a saved search. This enables business users to modify, add, or remove result columns and search criteria without needing a developer’s assistance to alter the Suitelet code.

Workflow After Automation

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

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

#3. If the payment is successfully processed in Braintree, the integration script automatically generates a Payment transaction for that invoice in NetSuite. If there is a failure in payment processing at Braintree, the user is notified by email, and no payment is created in NetSuite. Additionally, error details and handling mechanisms are embedded in the automation to support users in managing exceptions directly from the Suitelet screen.

With this optimization project, our client can now bill credit cards promptly, eliminating manual efforts and reducing potential errors.

NetSuite Customization and Technical Features

Suitelet

A Server Widget Form serves as a custom NetSuite page displaying a grid of all invoices due for payment. A submit button is placed at both the top and bottom of the form. Upon submission, the Suitelet transmits the necessary information to Braintree to process payments for all selected invoices.

Integration

An HTTP POST request is sent to Braintree, employing the GraphQL architecture. This request comprises structured information regarding the invoices and seeks payment processing. Upon receiving a response to the HTTP POST request, the Suitelet interprets the response to distinguish between invoices that were successfully paid and those that were declined or encountered errors. The system invokes a Map/Reduce script, sending invoice details via Script Parameters to generate the appropriate Payment transactions. The system then sends an email to selected users based on a predefined NetSuite email template.

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

#1. Reads and processes the information supplied by the Suitelet as script parameters.

#2. Reviews the invoices to create the corresponding payment transactions.

#3. If a payment transaction creation fails, the script logs the invoice and notifies the user via email.

For more information, please reach out.

Versich - Your Trusted Integration Partner

No matter your integration needs, Versich offers the expertise to guide you. We will assess your specific requirements and recommend the best approach that tailors your needs – Send us a message

[wpzoom_social_icons id=”296″]

Leave a Reply

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

frequently asked question