Sage Intacct – Gotchas
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.
Bank Accounts1 gotcha
bankAccountsAllPagination is not supported when listing all bank accounts without an account_type filter.
Credit Notes1 gotcha
creditNotesAddallocations[] 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
expensesAddWhen 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.
expensesDeleteThe delete operation for credit card transactions in Sage Intacct is not a true deletion. Instead, it performs a reversal using the reverse_cctransaction function.
Journal Entries3 gotchas
journalEntriesAllSage 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.
journalEntriesAddSage 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.
journalEntriesUpdateSage 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
locationsAllReturns 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.
Profit And Loss1 gotcha
profitAndLossOneSage 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
taxRatesAllSage 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).
Tracking Categories4 gotchas
trackingCategoriesAllThe Parent ID field refers to the parent tracking category code.
trackingCategoriesAddWhen creating a category with parent ID please use the tracking category code.
trackingCategoriesOneThe Parent ID field refers to the parent tracking category code.
trackingCategoriesUpdateWhen updating the Parent ID field please use the tracking category code.