Over 46,000+ Business Solution Developers Find answers, ask questions, and connect with our community of business solutions developers, business owners and partners.
Sage’s Intacct accounting software is a powerful tool that helps finance professionals increase efficiency and manage growth with roughly 5% of ERP market share. Intacct is often used to manage accounts payable, accounts receivable, general ledger, and much more. Many companies who find themselves with both Intacct and FileMaker end up having to do double data entry from one system to the next. We will demonstrate how you can eliminate the hassle of manually copying the information by integrating your FileMaker solution with Sage Intacct.
Getting Started with Sage Intacct
Since the Intacct API is a paid service for subscribers, you will need to have already signed up for Sage Intacct before moving forward. API trials are not granted for demo accounts. Once you have your account set up, reach out to your account manager to sign up for the XML SOAP API. You will then be provided with a senderID and sender password for your account. These credentials remain the same for both sandbox and production environments.
Making Requests and Parsing the Response
Once you have your API information, you can immediately begin building your integration. For any questions regarding how requests should be built, please reference the Intacct API Documentation. Sage also provides a Postman collection to download from their Tools and Libraries page.
The Sage Intacct API uses a single endpoint URL:
Every Sage Intacct API request requires parameters to be passed in XML URL encoded format. For example, the Create Customer request in a POST request requires three parameters and supports many other optional data points. Since XML can be troublesome to format in FileMaker, we recommend copying the XML from a text editor into an “Insert Text” script step. This XML will be passed as a parameter using cURL in FileMaker’s “Insert from URL” script step.
Once a request has been received, Intacct will return an XML encoded response. You will then need to parse the XML to determine if the request was successful. There are three levels of error trapping you need to set up for your requests; the sender status, authentication status, and body status. If any of these responses do not return “Success”, then your request was not successful. In our demo file, we use a custom function to parse the XML response.
If you need to extract further data from the response, you will simply parse out the required data from the same XML response.
Authenticating with Sage Intacct
The Intacct API uses session-based authentication for all requests. This means you will need to make two API calls for every request; one to create the session and one to push/pull your data. It is possible to skip this and authenticate with each request; however, this is not recommended as it makes error trapping more difficult, forces more authentications from your admin user, and is only compatible with your top-level location.
To create a session, you will need to pass the following parameters: sender ID, sender password, Intacct admin user ID, Intacct admin user password, Intacct company ID, Intacct location ID, and a timestamp. The Intacct user must be a master admin account. If you’d prefer to have a dedicated API master account, contact your account manager. Every Intacct account is given one by default.
Once the session is created, Intacct will pass back your session ID, which you will then use to authenticate your next set of requests.
Sandbox Intacct Company
Once you signup for Intacct, you will be given a sandbox company for testing. This allows you to test your integration without fear of deleting or modifying anything in your live company. Keep in mind your sender ID and password will be the same for sandbox and production, but the Intacct Admin User will not.
Sage Intacct: Things to Keep In Mind
There are a couple of important items to remember when working with the Sage Intacct API. Here are a few points to look out for when integrating your FileMaker solution with Sage Intacct:
- Although you can authenticate with each API call instead of creating a session, it is not recommended.
- Make sure to download the Postman collection for reference.
- Some API requests are labeled as legacy in the documentation; however, all are still supported.
- Be mindful of password changes on the main account; too many failed API authentications will cause the account to be locked for security purposes.
- If you’d like a dedicated API user, reach out to your Intacct account manager.
Double data entry can be a thing of the past by integrating Sage Intacct with your FileMaker solution! FileMaker can create, update, query, or delete just about any Intacct object you would like. Automate your accounting processes, eliminate double data entry, and avoid human blunders. Please contact us if you need further assistance or would like to discuss getting your Sage Intacct system integrated with FileMaker.