When creating a customer deposit in NetSuite, you have the option to either credit a specific account or use the undeposited funds’ account:
As seen above, the user interface is a bit weird: There are two radio buttons and a dropdown where a single checkbox and a dropdown would suffice and be more intuitive. Furthermore, upon inspection of the relevant fields on the customer deposit form, it appears that both fields share a common field ID
undepfunds. However, that’s not the case. The ID
undepfunds corresponds to the “Undeposited Funds” field while the ID
account corresponds to the “Account” field.
Tip: You can verify that there are two separate fields in the SuiteScript Records Browser or by opening a deposit in view mode and observing that the Account field has ID
Thus, the field help popup which is shared by both fields is the real source of confusion here. Things get even more confusing when we try mapping these fields in Celigo.
Customer Deposit Account Field Mapping in Celigo
In multiple integration projects, I have worked with clients to record customer deposits in NetSuite via a Celigo integration. Typically, the flow is triggered by transactions, created in an external eCommerce/payment processing system (e.g. Braintree), that need to be reflected in NetSuite for proper accounting and/or to trigger fulfillment.
Mapping the account fields in Celigo is tricky: Typically, field names in Celigo match the names on the default form for the record type. However, there’s no “Undeposited Funds” field in Celigo. Instead, there are two account fields one with a lowercase “a” and the other with an uppercase “A”. It turns out that “Undeposited Funds” is mapped to the “Account” field in Celigo while the actual account is mapped to the “account” field as illustrated below. The “Account” field will accept
false/F/no as values while the “account” field should be mapped to a NetSuite G/L account by internal ID or name.
Tip: When you map a G/L account, you do not need to explicitly map the “Undeposited Funds” (a.k.a. “Account”) field to
falseand vice versa. I included both in my example for completeness and to allow the client to easily switch between the two options without having to modify the Celigo mapping.
In the example shown above, we adopted a two-step flow where the orders were brought into NetSuite from Magento, followed by a NetSuite-to-NetSuite flow in which customer deposits were generated for eligible sales orders. Another common integration pattern is to trigger deposit creation by integrating directly with the payment system using Celigo.
It is unclear to me why there is this disparity. But now, you know and won’t have to waste time on it when next you need to build a customer deposit flow in Celigo!
I bet that there might be other non-intuitive mappings like the one illustrated in this article. “How can I figure out such weirdness?”, you may ask. Well, a bit of trial-and-error, intuition, contacting Celigo support, subscribing to NetSuite Insights, etc. Notice though that when you start typing “undeposited” in the Celigo mapping screen, the suggested field is “Account” which is a very helpful hint:
Are you in need of leadership for your next (complex) integration project? Then let’s talk!
NetSuite Insights is on a mission to raise the standards around NetSuite practices, one insight at a time. If that resonates with you, check out how you can become an author/collaborator here.
Also, consider subscribing to our no-nonsense email list to get these insights delivered to your inbox as soon as they’re published. Sometimes, ignorance is a choice. Choose wisely!
NetSuite Insights is proud to partner with Prolecto Resources Inc. – the unrivaled #1 NetSuite Systems Integrator and thought leader in the space! Learn more about how Prolecto can supercharge your NetSuite experience and deliver the best return on your NetSuite investment.