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
currencyRate
field from the request body. - Specify the transaction currency in the
currency
field.
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
currencyRate
field from the request body. - Specify the transaction currency in the
currency
field.
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.id
field. - To write an Invoice, do not specify an item ID in the
lineItems.itemRef.id
field.
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
invoiceNumber
field with auto-sequenced values. - If auto-sequencing is turned off, you must enter a value for
invoiceNumber
or 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
currency
field. - Leave the
currencyRate
field 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 paymentmethod is always set to Cash . |