This article is relevant if you are looking to reduce the effort to reconcile credit card (and other payment types) sales in NetSuite.
Background
At the time of this writing, NetSuite offers a number of integrated 3rd party credit card gateway services built into its platform. For the United States market, the two primary credit card gateways are Cybersource and Merchant e-Solutions. NetSuite recently extended its capacity to extend payment gateway services through the new SuitePayments API. I have yet to work with this new framework but have had conversations with NetSuite Product Leadership and believe the opening of the payments API will help third parties, and systems integrators like us, ensure that NetSuite customers remain competitive by offering more choices to take care of their need to exchange funds with customers.
I am no stranger to payment technologies as I have background since the 1990s building large eCommerce systems that drove bank payment gateways. I have previously written articles about using credit cards in NetSuite.
- Using NetSuite Payment Methods to Drive Customer Deposits
- Accept Credit Cards without a NetSuite Web Site
More closely related to NetSuite and payment gateways, I designed and implemented the Bitcoin Transaction Coordinator to allow the acceptance for Bitcoin as both a currency and payment method with proper general ledger accounting. Because of my accounting background, I understand my clients’ concern to reconcile the accounting system with other systems; as such, I designed a mechanism to match the Bitcoin transactions with the records in NetSuite as part of the full-solution. However, the same cannot be said of existing integrated NetSuite payment gateway solutions. One of our high transaction volume clients needed a powerful way to reconcile transactions between NetSuite and the Cybersource payment gateway.
Challenges Reconciling Credit Card Payments with NetSuite
In theory, if NetSuite originates the transaction and calls out the remote payment gateway to process, we should be able to trust that all matters have been accounted for. Yet, it is not that simple. Here are some considerations for differences between systems:
- Date References: Dates in NetSuite may be different from the payment gateway posting system; thus lining up on dates won’t necessarily bring information together.
- Fee Handling: depending on the way reporting systems provide information, the amounts may be netted from gross due to transaction processing fees.
- Transactions Handling Outside of NetSuite: Cybersource has tools to help prevent credit card fraud. Through the use of these tools, you may need to interact with the transaction on the gateway independently from NetSuite and thus you can get out of sync.
In general, when we lead a NetSuite implementation, we suggest that our clients create a payment method and link it to a clearing bank account. The idea is that all inbound transactions of a particular type will land in one general ledger account; as funds are sent to the operating bank account, a bank transfer record is used to move funds from the clearing account and act as a bank deposit. The goal is to ease both the traditional bank reconciliation and isolate out the credit card transactions. If the transaction volume is high, it becomes more challenging to reconcile the clearing account using NetSuite’s bank reconciliation feature. Note, while looking promising, at the time of this writing, NetSuite had not fully published its second generation bank reconciliation feature — I anticipate that I will produce another article contrasting the new feature and how it will fit against this solution.
Solving the Cybersource Credit Card Reconciliation
To take care of our client, using the NetSuite platform, one of our senior consultants built a credit card reconciliation system targeting the Cybersource gateway. In theory, it could be used with other payment gateways as the pattern is general. The key is to know, on a daily basis, that you are reconciled so that the effort at accounting close is minimal. Because it may take a few days for transactions to trickle through the Cybersource system, the idea is that you stay in balance for transactions older than a week. Naturally, this practice can be refined based on specific policy.
Here are the key capacities:
- Data Feed API: We built a scheduled mechanism to download transactional data from Cybersource into a custom table. Thus, there is no need to go to Cybersource and run reports and import into NetSuite.
- Matching Tables: The goal is to match NetSuite transactions with Cybersource transactions. Thus, we have a table to hold information for each transaction type and then provide a method to match records between each.
- Auto Matching: Records from both tables can be automatically algorithmically matched. Since the matching program is built with SuiteScript, we can refine it for any special situation where we can see a reliable repeating data pattern.
- Saved Search Driven Discrepancy Review: Where auto-match did not reconcile, we provide a mechanism to describe saved searches to provide lists that be reviewed and analyzed.
- Manual Reconciliation Form: Given a specific NetSuite transaction, we can present candidate Cybersource transactions with filtering mechanisms to effectively hunt for the respective transaction. As information is tied out, the unreconciled amounts eventually reduce to zero.
Getting the Cybersource Reconciliation System
After doing a setup, assisting with the initial data load, and providing training on the use of the tool, the client is quite satisfied. Because of the use of the tools, not only was much time saved, the client was able to get better transaction visibility to solve some troublesome issues in their fraud prevention program. Like all of our client solutions, we provide these tools to NetSuite customers without license charge as we offer professional services for implementation. If you believe these tools and practices can make a difference in your organization, let’s have a conversation.