Sage Intacct: sending tracking categories (classes) on writes
In Sage Intacct, the Unified API's tracking categories are Intacct classes. When you create or update a record with tracking_categories (on its lines, or on the record itself for employees), the value you need to send depends on the connector and the record type. Some take the category's id, some its code, and some accept either.
Where to find the values
GET /accounting/tracking-categories returns both for each class:
id: the class's internal ID in Sage Intacctcode: the class ID you see in the Sage Intacct UI
What to send
Only one tracking category per line (or per employee) is used: the first one in tracking_categories. Any others are ignored.
Sage Intacct (XML connector):
Record type | Send |
|---|---|
Invoices |
|
Bills |
|
Employees |
|
Journal entries |
|
Expenses |
|
Expense reports |
|
Sage Intacct REST connector:
Record type | Send |
|---|---|
Invoices, bills, credit notes, journal entries, expenses, quotes |
|
Simplest approach: send both id and code from GET /accounting/tracking-categories. Each connector then uses the one it needs.
"line_items": [
{
"total_amount": 100,
"tracking_categories": [
{ "id": "12", "code": "MARKETING" }
]
}
]
Not sure which connector you're on?
The two Sage Intacct connectors are different: one uses Sage's XML API, the other the REST API. See Sage Intacct: API Guide (SOAP/XML vs REST).
