Intacct is an award-winning financial management system with over 5,000 customers worldwide. Intacct is often said to be the next logical step for companies that have outgrown QuickBooks Online. Since MuleSoft uses Intacct internally, it was natural that we needed a cloud connector to it in order to automate our internal business processes.
As an example, we have a fully automated invoice creation process so that when a sales opportunity in Salesforce is marked as won, this triggers an integration processes that automatically creates a customer invoice in Intacct based on the product and customer data captured in the sales opportunity. This integration completely eliminated the need for tedious and error-prone data entry tasks in our accounting department. This is just one example of how you can leverage the Intacct cloud connector in order to automate your business processes.
Since then we have built a number of Intacct integrations for our customers using the Intacct Cloud Connector, such as:
- Invoice synchronization from Zuora to Intacct.
- Invoice adjustment synchronization between Zuora and Intacct.
- Payment synchronization between Zuora and Intacct.
- Customer synchronization between Salesforce and Intacct.
Intacct Cloud Connector
The Intacct API is complicated and based on old technology that makes it hard and expensive to integrate with. This is where the Intacct Cloud Connector comes into play; we have done all of the work for you. With the Intacct Cloud Connector, you get a well defined interface that is easy to use so you don’t have to spend days implementing low level communication components and can focus on the task at hand.
So how do I get started?
First you need to update your Maven pom.xml file to include the Intacct module:
Next, you need to define a Intacct connector in your mule-config.xml file:
For the senderId, controlPassword and controlId attributes, enter your credentials for the Intacct XML gateway. The XML gateway refers to the Intacct API user details that you will need to explicitly request from Intacct in order to use the API. Note that these are not the same as the credentials you use to log in to the Intacct UI. The userId, userPassword and companyId are the credentials for your specific Intacct company instance. Here, you can use the same credentials that you use to log in to the Intacct UI.
Once this is defined you can start to define the operations that you want to perform. For example, if you want to retrieve a list of all customers this is what you need:
You have two options when it comes to creating objects in Intacct. You can either outline the object structure within the connector call or you can pass in the object as a POJO. The example below illustrates the first option.
If you have any questions, please leave a comment below!