Sage Intacct – Gotchas

Service ID: sage-intacct

Increase ROI and transform your organization with the first and only preferred provider of the AICPA for accounting and financial management software for companies of any size.

⚠️

14 gotchas across 8 resources

These are connector-specific behaviors and limitations to be aware of when integrating.

allbankAccountsAll

Pagination is not supported when listing all bank accounts without an account_type filter.

Credit Notes1 gotcha

addcreditNotesAdd

allocations[] is not applied on create — the credit is created as a standalone ARADJUSTMENT. To apply it to invoices, follow up via /vault/proxy with create_arpymt drawing from the new credit's RECORDNO against the target ARINVOICE. allocations is not returned on read.

Expenses2 gotchas

addexpensesAdd

When creating an expense for Sage Intacct, the account_id must refer to a credit card account, not a ledger account. You can find the correct credit card account ID in Sage Intacct under the Credit Cards section.

deleteexpensesDelete

The delete operation for credit card transactions in Sage Intacct is not a true deletion. Instead, it performs a reversal using the reverse_cctransaction function.

alljournalEntriesAll

Sage Intacct returns journal entry headers only for this endpoint — Intacct's GLBATCH query does not include line items. The line_items array is therefore omitted from each entry in this list. To read line-level detail (accounts, amounts, departments, locations, tracking categories), fetch each entry individually with the Get Journal Entry endpoint.

addjournalEntriesAdd

Sage Intacct only supports draft and posted status fields when updating a journal entry. If no status is provided then the default status is "draft". Only Journal Entries with draft status can be updated. Only the first tracking category is used (tracking_categories[0]). On create it is matched by tracking_categories[0].code (Intacct CLASSID); on update it is matched by tracking_categories[0].id (Intacct CLASSDIMKEY). When round-tripping a journal entry, use the id value returned by a prior Get Journal Entry call. Each line's location_id falls back to the connection's configured default entity. When the connection operates at the top level (no specific entity), set location_id explicitly on lines whose ledger account requires a location dimension.

updatejournalEntriesUpdate

Sage Intacct only supports draft and posted status fields when updating a journal entry. If no status is provided then the default status is "draft". Only Journal Entries with draft status can be updated.

Locations1 gotcha

alllocationsAll

Returns the full set of Intacct LOCATION records — every location, whether or not it is flagged as a legal entity. For only entity-flagged locations (legal sub-companies under the top-level company), use companies or subsidiaries, which query Intacct's LOCATIONENTITY view.

oneprofitAndLossOne

Sage Intacct's Profit and Loss report is structured around account groups. To retrieve accurate data, all income statement accounts must be mapped to one of the following categories: Revenue, Cost of Revenue, Operating Expense, or Other Expenses. Any income statement accounts that are not mapped to one of these categories will appear under the uncategorized_accounts property.

Tax Rates1 gotcha

alltaxRatesAll

Sage Intacct supports multi-component taxes through the components array. Each component can have its own rate and tax authority. Use compound taxes for jurisdictions with multiple tax layers (e.g., GST + PST in Canada).

alltrackingCategoriesAll

The Parent ID field refers to the parent tracking category code.

addtrackingCategoriesAdd

When creating a category with parent ID please use the tracking category code.

onetrackingCategoriesOne

The Parent ID field refers to the parent tracking category code.

updatetrackingCategoriesUpdate

When updating the Parent ID field please use the tracking category code.