Text or Call 303.473.4400
Select Page

Sage Intacct API Help

Need help with the Sage Intacct API?

Our team of Boulder, Colorado-based programmers have helped automate complex AR and AP invoices, create Revenue Recognition and COGS entries, and build fault-tolerant, GAPP-approved and auditable integrations. From one hour to 1,000+, our team is here to help.

Free consultation! Talk to Jeff Finkelstein, founder of Customer Paradigm, who can give unbiased advice on how to best integrate your system with Sage Intacct’s API. Call today – 303.473.4400

Please Contact Me Now:

  • This field is for validation purposes and should be left unchanged.

About Sage Intacct API Programming


I’m Jeff Finkelstein, founder of Customer Paradigm, in Boulder, Colorado.

I love automation. When it It works, it’s amazing. It reduces errors from typos and manual data entry. It frees people up to do less mundane tasks, and allows them to work on things that matter more, such as creating a better, more trusted customer experience.

But what happens when accounting automation has issues? Issues with bad or missing data. Issues with systems not being 100% available? That’s where we step in and create fault-tolerant systems that gracefully fail, attempt to retry sending in data, and alert their human overseers to issues.

Before I went back to business school at the University of Colorado – Leeds Business School for an MBA degree, I worked as an EMT and a mountaineering guide. I spent a lot of time helping patients and climbers stay safe. Part of mountaineering and backcountry emergency medicine is understanding inherent risk, and creating systems that mitigate single points of failure. I spent a lot of time thinking about what happens when X fails – and how to build safeguards into the system to fail gracefully.

Likewise, when we build accounting integration systems between systems like Magento, Shopify, CargoWise and others that post into Sage Intacct, we show our work and create a solid audit trail. For each transaction, we are able to show when the information came in, what was sent in correctly, and if there were errors, we have multiple error loops that attempt to correct the information or alert someone when it doesn’t work.

Building systems like this helps me sleep better at night – knowing that at any step in the process, we can go in and see what’s working, what needs to be adjusted, and creates confidence in the automation process.

Our team is based in Boulder, Colorado, and have worked directly many of the more complex systems to feed data into Sage Intacct, including from an eCommerce system, an EDI data feed, XML data sources, flat files, CSV uploads, email inboxes and more.

We have several cost-effective approaches that allow you to use the Sage Intacct API system to automate complex accounting process, so you don’t need to hire a whole team of programmers.

Sage Intacct API Integration


For businesses who are on the Sage Intacct platform (or want to be), our team can use a cloud-based data warehouse to translate data between your existing systems and the Sage Accounting platform. This allows for quick, fast and easy integrations.

Custom API Integrations


Need something that is customized to your business? Our team can help you understand what’s possible, and do rapid prototyping and proof of concept.

Automate Your Accounting Data into Sage Intacct with API technology

How does Sage Intacct API Integration Actually Work?


  1. Most modern, Web-based systems (such as Sage Intacct) work by having a set of APIs.
  2. If you have permission to access the APIs (usually with a username / password or other authentication method), you can send in a request to Sage to post an AR invoice. Or create an AP vendor invoice. Or ask Sage Intacct if a specific customer has paid their bills.
  3. In order to send in an AR invoice, for example, we first need to have a data source – such as an eCommerce system.
  4. Depending on the system, the data for the AR invoice may be a text file, CSV file, XML document, JSON data feed, EDI document or other file format.
  5. We can reach out and pull in a file via FTP or sFTP, check an email inbox and scrape the data from an email or file attachment, or have a process that hits an API end point on the eCommerce site, and then brings back the AR invoice details.
  6. From there, we translate the data from the original data source, map it to the XML format needed by Sage Intacct, and then translate it.
  7. At this point, the data warehouse system will then send the AR invoice in to the Sage Intacct system as an XML document.
  8. But we’re not done! We listen to make sure that Sage has accepted the AR invoice properly. If it’s good to go, we capture the invoice key, as well as a time and date stamp, and track that in the database.
  9. If we receive an error message back from the Sage Intacct API, then we are able to record the error and send an email notification. Depending on what type of error, we may be able to retry in 15 minutes (if the Sage API system is not working / down temporarily), look up alternative information (i.e. if the payment terms are missing for a vendor, we can apply standard payment terms to push it through, based on business rules).
  1. We can help you understand what data you are able to use for integration with Sage Intacct.
  2. We can clean, sanitize and automatically injest demographic, psychographic and transactional information from your external systems.
  3. We can help advise on how to apply audit trails – so you and your team can go in and do a full trace of a transaction from start to finish that meets GAAP methodology.
  4. We can work with you on fault tolerant systems – what happens when we don’t get the right information in – or it’s not formatted correctly.

Example: Sage Intacct API For Revenue Recognition


Revenue Recognition for Sage Intacct

One of the more common questions I’m asked about is how to handle revenue recognition in Sage Intacct.

I’m Jeff Finkelstein, founder of Customer Paradigm in Boulder, Colorado. We’ve been doing quite a bit of Sage Intacct integration recently, and I wanted to create a quick post for how to do this in Sage Intacct via their API.

(If you need help integrating with Sage Intacct, please call 303.473.4400 or have a real person contact you now. We’re located in Boulder, Colorado and love to help automate the accounting process.)

Now, Sage Intacct does offer an add-on module for Revenue Recognition, but we’ve found that it doesn’t often work for clients in the way they expect it to. Depending on different settings, an AR invoice might be broken up into smaller daily amounts and spread over 30 days. Or, revenue recognition only is posted at the end of the day, end of the month.

If you’re looking for a precise way to handle revenue recognition in Sage Intacct, using automated journal entries might be a good way to go. We’ve created a robust, auditable system that allows you to use a rev rec date, and handle the process of moving funds from deferred revenue into the specific accrued revenue accounts – down to individual chargelines.

The process we built uses an external database (data warehouse) system to identify the specific revenue recognition date, and creates journal entries to handle the process. It adheres to GAAP and each transaction can be fully traced.

Auditable Sage Automation - GAAP Compliant

Revenue Recognition Background:
But before I delve into the specifics of how to do this in Sage Intacct via the API and sending in XML, let me explain a bit more about revenue recognition.

The typical example for revenue recognition is a magazine subscription. Let’s say that you as an end user sign up for a one year (12 month) subscription to a magazine, and the price is $24.00 for the year.

That means that each issue costs you – the end user – $2.00. But you pay the $24.00 up front, before you’ve received anything.

In this case, the company receives $24.00 in revenue.

Revenue Recognition - Each Month as Magazine Released

Click for Screenshot – Revenue Recognition – Each Month as Magazine Released

But do they recognize this revenue right away? If they do (based on cash-based accounting) then they are on the hook to pay taxes on the entire $24.00 of income, less the cost of producing it. Let’s say that each issue costs $1, so over the course of the year it would be $12 of net profit.

Let’s say for round numbers that taxes are 35% of the revenue – expenses. (I know this ignores a lot of other variables, but I want to keep things as simple as possible for this example.)

If the company “recognizes” all $24.00 (revenue) – $12.00 (costs) = $12.00 net profit as soon as it’s received, then they have to pay 30% x $12.00 = $3.60.

Not a really huge deal if it’s just one transaction. But if you’re in business, it’s going to be very difficult to survive and make any money if you only have a single subscriber.

Click for Screenshot - Revenue Recognition - Individual Subscriber

Click for Screenshot – Revenue Recognition – Individual Subscriber

If you scale it up to 10,000 subscribers, then using a non-accrual method for accounting would mean that the company would be responsible for $36,000.00 in taxes as soon as they receive the $24 subscription for all 10,000 people. Scale this up to 100,000 subscribers, and you owe $360,000.00 right away.

Non-Revenue Recognition - Pay All At Once

Click for Screenshot – Non-Revenue Recognition – Pay All At Once

Instead, if you “defer” the revenue into a deferred revenue account, you don’t have to incur quite as much tax liability.

So let’s say that for our magazine example, the end user pays $24.00, and receives the first issue about a week after paying.

In this case, the $24.00 would be added into a “Deferred Revenue” account. That means that the company has $24.00 in money, but no taxes are owed yet.

One week later when the first issue is delivered, $2.00 from the $24.00 is moved over into an accrued revenue account.

At that point, the company’s tax liability for the individual subscriber is only $0.30. If we scale that up to 100,000 subscribers, then the taxes owed are only $30,000.00 – much better than having to pay 12 times more.

Then, each month as a new issue is sent out, the company only has to pay another $0.30 in taxes for the individual subscription.

Over the course of an entire year, this helps quite a bit to save in taxes.

Cash flow is the lifeblood of every organization

Now not every company is in the magazine subscription business. But quite a few are in the business where you pay now for things that are delivered in the future. Or, perhaps it’s a subscription to digital content (i.e. Netflix), but perhaps they give you a discount for paying for a year in advance.

Or let’s say your company is selling a product, but it takes a month to deliver it. In that case, you might want to have a revenue recognition date 30 days after the order is placed. Or based on another metric, such as a proof of delivery (POD) date.

Or you have a contract that is paid up front, but has deliverables that are given to the customer every 30 days.

In this case, you can use a revenue recognition date to drive deferred revenue, and then move it over to an accrued revenue account according to the business rules you set up.

Now if your needs are super simple, then creating a revenue recognition system for Sage might be overkill or too complex.

You can always use the revenue recognition module inside Sage Intacct (but you do have to pay extra for it, and it might not meet your business needs exactly).

Instead, you can use the API system to post into Sage Intacct, and create AR invoices that go to deferred revenue accounts, and then create automated journal entries that then will move the money into an accrued account, based on a date trigger.

So let’s say that we are creating an AR invoice today (03-28-2024) but we only want to recognize the revenue next month (04-28-2024).

If we are doing this via an external system, we’d want to bring in the following information:

  • Post date
  • Revenue Recognition date (RevRec date)
  • Charge line / item code
  • Amount

From there, we’d create the initial AR Sales Order into Sage Intacct via an API post (using XML), then convert it into an AR Sales Invoice:

Revenue Recognition for Sage Intacct - Automated Journal Entries via API / XML

Click for Screenshot – Revenue Recognition for Sage Intacct – Automated Journal Entries via API / XML

At this point, we’d have the charge line go into the specific GL Account for deferred AR revenue:
Sage Intacct - Deferred Revenue Account

Then, when the revenue recognition date occurs, we’ll then create a specific journal entry – again using the Sage Intacct API system – to move the money from one account (deferred revenue) into the other account (accrued revenue):
Sage Intacct - Accrued Revenue GL Account

We’ve also done implementations where we calculate the revenue recognition date based on the client, based on specific charge lines or revenue accounts or based on other complex criteria. The trick is to have the business rules clearly defined and have a reliable way to look them up in the database.

I hope this is helpful. If you do need help with integration work for Sage Intacct, please call us at 303.473.4400 or visit here to have a real person contact you now. From one hour to 1000+ hours, we’re here to help!

Automate your financial information in an auditable, fault-tolerant way.

Ready to Integrate Sage Intacct API?

Contact us today for help.

Talk to a member of our strategy team today to get started on your Sage Intacct API development project. Email us or call: 303.473.4400 to talk to a real person right now.

 

Need help acquiring new customers?


From paid advertising, search engine optimization, campaign management, to website design and coding, we have you covered.  

 

Need help retaining existing customers?


Our retention experts can help you manage social media, email re-marketing, blog and content writing and more!

 

Need help building customer interactions?


From one hour to one-thousand hours, our developers can craft a unique identity and website for your business.
 

 

  • This field is for validation purposes and should be left unchanged.

 

Pin It on Pinterest