Sage Intacct integration reference
Things to know when synchronizing data with Sage Intacct.
Note the following information when building your application using Codat's Sage Intacct integration.
Bill Credit Notes
Bill Credit Notes are mapped from the AP Adjustments (debit memos) object in Sage Intacct.
To use the "Intacct Daily Rate" exchange rate when writing a Bill Credit Note in a different currency, you must:
- Omit the currencyRatefield from the request body.
- Specify the transaction currency in the currencyfield.
Bill Payments
Bill Payments are mapped from the AP Payments object in Sage Intacct.
Currencies in Bill payments
If you don't provide a currency in the write request body of a Bill payment, it's set to the default bill payment currency in Sage Intacct. This is the currency of the account to which the bill payment is linked.
This might cause unexpected behavior if the bill being paid off is in a different currency to the account in Sage Intacct.
Writing unapproved Bill Payments to Sage Intacct
In Sage Intacct it's possible to configure whether approval for Bill Payments is required. By default, payments that are not approved are not included in the Bill Payments dataset when reading from Sage Intacct.
If a Bill Payment that requires approval is written to Sage Intacct, the write succeeds and the Bill Payment is added to the dataset in Codat. However, if the Bill Payment is not approved before the next read, it is removed from the dataset at this point.
This information is shown as a warning on the completed write operation when writing unapproved Bill Payments to Sage Intacct.
Customers
When reading and writing Customers, only the primary contact associated with the Customer in Sage Intacct is available.
Credit Notes
Credit Notes are mapped from the AR Adjustments (credit memos) object in Sage Intacct.
To use the "Intacct Daily Rate" exchange rate when writing a Credit Note in a different currency, you must:
- Omit the currencyRatefield from the request body.
- Specify the transaction currency in the currencyfield.
Negative invoices are read from Sage Intacct as Credit Notes.
Direct Incomes
Direct Incomes are mapped from the Other Receipts object in Sage Intacct. Direct Incomes does not include earned interest, which is represented in the Bank Interest Income / Charges object, because there is no POST method to create these objects.
When writing Direct Incomes to Sage Intacct, the required otherreceipt.payee field is populated with the value of directIncomes.reference. The otherreceipt.payee field is not associated with a customer or contact.
Invoices
Writing negative invoices to Sage Intacct is not supported; you can write a Credit Note to achieve this functionality.
You can write invoices to Sage Intact as either Invoices or Sales Invoices.
- To write a Sales Invoice, specify an item ID in the lineItems.itemRef.idfield.
- To write an Invoice, do not specify an item ID in the lineItems.itemRef.idfield.
You can't write an Invoice if Item IDs are defined for some line items but not for others.
Note that vendor invoices in Sage Intact are mapped to Bills.
Auto-sequencing
When writing invoices, auto-sequencing in Sage Intacct's AR configuration affects how the invoices are numbered.
- If auto-sequencing is turned on, Sage Intacct overrides any values in the invoiceNumberfield with auto-sequenced values.
- If auto-sequencing is turned off, you must enter a value for invoiceNumberor an error is returned.
Invoice currencies
To write an invoice in the base currency, leave the currency and currencyRate fields blank.
To write an invoice in a different currency using a custom exchange rate, set the currency to the desired currency and the currencyRate to a numeric value (rate).
To use the "Intacct Daily Rate" exchange rate, you must:
- Specify the transaction currency in the currencyfield.
- Leave the currencyRatefield blank.
Invoice tax rates
Sage Intacct does not accept invoices where one or more lines do not have a tax rate specified. Codat supports writing single tax rates per line item. Sales Invoice lines cannot have a tax rate.
Sales Invoice Units
All Sales Invoice Item Lines are written to Sage Intacct with Unit values of Each. As a result, only Items with Unit of Measure=Count can be created in Sage Intacct. (Unit values of Each, Pair, and Dozen are not supported.)
Invoice PDFs
Sage Intacct can only generate attachment PDFs for 'Order Entity' type invoices. If the pdf endpoint for a different type of invoice is called, Codat returns a 404 error because is no document associated with those invoices.
Payments
To write payments to Sage Intacct, Automatic Payment Summaries must be configured.
Reading a payment against a specific line item of an invoice or debit memo is not supported. Writing a payment to a specific line item of an invoice is not supported.
Refunds
Writing payment refunds is not currently supported because of a limitation in the underlying provider's API.
Transfers
Reversal transactions for voided transfers are positive amounts in Codat and have a status of void.
Attachments
To write attachments to Sage Intacct, you must provide the following two form parameters as part of your request:
- file: The file that you're uploading.
- attachment: A JSON object containing information about how Sage Intacct should store the uploaded file.- id: This is displayed in the Sage Intacct UI.
- name: The folder or subfolder in which to store the file.
 
Example of a successful request in curl:
--location --request POST 'https://api.codat.io/companies/{CompanyID}/connections/{ConnectionID}/push/directCosts/{DirectCostId}/attachment' \
--header 'Authorization: Basic {Token}' \
--form 'file=@"/C:/{FileLocation}/{FileToUpload}"' \
--form 'attachment="{"id":"ID", "name":"Folder/SubFolder"}"'
Field coverage for supported data types
Codat's data model supports a wide range of fields within each data type.
Sometimes a provider's API does not grant access to a field that exists in a Codat data type. Conversely, our data model sometimes does not support all the relevant fields on an object in a provider's API.
The following table highlights selected fields that are not available in data read from and written to Sage Intacct.
Unavailable provider fields
| Codat data type and field | Status | 
|---|---|
| creditNotes.discountPercentage | Not available in the provider's API. | 
Unavailable Codat fields
| Sage Intacct record and field | Codat data type | Status | 
|---|---|---|
| otherreceipt.paymentmethod(Required) | Direct Incomes | Payment methods is not supported for the direct incomes data type. When writing direct incomes to Sage Intacct, the paymentmethodis always set toCash. |