Intacct: Smart Events – API Calls

What is a Smart Event API call? A call that phones Intacct to send you free pizza? Sadly, no, it’s not a real phone call that orders you pizza – I wish! )Accounting would be a heck of a lot more fun!) An API call talks to Intacct and has it update fields within a transaction/record. (Not as fun as pizza, but stay with me.) It’s like a Smart Rule but instead of resulting in a warning or error (or in the case of a Smart Event Email, an email) it results in an action that takes place in Intacct. Powerful, right?!

The Situation: 

We are tracking Orders in the Project Dimension. The problem: With hundreds of orders a month, the amount of projects could get out of control. (We need to track this piece of information in Projects in order to be able to run a profit and loss by order (project). Holding this data in a reference number field will not allow for running a P&L by orders). How do you manage that crazy drop down list of projects? Do you really want to have someone deactivate fulfilled orders one by one? Probably not. Do you want to search through the list every time you receive a new order? Not ideally, no. Why not automate the process? Let Intacct take care of inactivating orders that have been delivered for you.

The Solution:

An API Smart Event! Let’s assume the following workflow:

1. Set up an Order (Project): at which point in time you enter all project specific information (Project ID, Name, Sales Rep, Any other pertinent Information about the Project and a Delivery Date of the Order). Let’s assume it looks something like this:


2. Update the Project Delivery Date: Once the order is delivered, you convert the order to an invoice and edit the Project’s Delivery Date to today’s date and save.

As Delivery Date is Being Changed:

Screen Shot 2015-07-29 at 9.56.04 PM

Once the Delivery Date is Specified as today’s date:

Screen Shot 2015-07-29 at 9.56.19 PM

Intacct magically changed the Project Status and Status to Closed and Inactive. Cool, right?!

The List View of all Projects (with the Include Inactive Projects checkbox selected – if you do not include this checkbox, the inactive project will not appear in the list (which is the reason for the Smart Event – it will no longer appear in any dropdown lists in any transaction screens within Intacct which will keep the system clean and keep users form getting confused):

Screen Shot 2015-07-29 at 9.54.43 PM

3. You send the customer an invoice.

Can we make that happen? Yep! Here’s the Smart Event:

Smart Event: Smart Event API to inactivate the order and mark it as closed

The Condition: You want Intacct to fire off and deactivate the order when the delivery date has passed so we’ll write:


Now, what exactly do we want Intacct to do when those conditions are met? 2 things:

1. Change the Status to Inactive

2. Change the Project Status to Closed (so we can run reports on what’s still open)

Here’s the API code:


What exactly does all that mean? Each command has an open and end tag (it’s been quite a while since my HTML class I hope that’s what they’re still called!). They come in pairs. Notice: <update> also has </update>. <Project> has it’s buddy </Project>. When reading the code you want to look at the pairs. The meat of the action takes place in the middle where we are telling Intacct to change the <ProjectStatus> field to Closed and <Status> field to Inactive. The only trick is the <PROJECTID>{!PROJECT.PROJECTID!}<?PROJECTID> – that just means we want Intacct to update the project we are currently modifying.

There you have it, a very brief intro to writing a Smart Event API. Hope it helps! I can imagine you could also write an API to actually create the Project when you create the Order and then also set a Smart Event Email to deliver when you change the Delivery Date. I’m sure there’s lots you could do here!

While an API call is not exactly a real phone call – although sometimes I wish I could configure Intacct to have it deliver a pizza to me whenever a project is closed (now that’s an accounting system!) it’s still a really cool feature! I hope I’ve taken a bit of the mystery out of it.

Just in case you’re still not convinced, here’s a little video to show you the Smart Event API at work!


4 thoughts on “Intacct: Smart Events – API Calls

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s