Sage Intacct

Sage Intacct is a cloud financial management platform that covers the general ledger, accounts payable and receivable, cash management, purchasing, order entry, and project accounting.

Data integration: Skyvia supports importing data to and from Sage Intacct, exporting Sage Intacct data to CSV files, replicating Sage Intacct data to relational databases, and synchronizing Sage Intacct data with other cloud apps and relational databases.

Backup: Skyvia Backup does not support Sage Intacct.

Query: Skyvia Query supports Sage Intacct.

Establishing Connection

The Sage Intacct connector supports two authentication types:

  • OAuth 2.0 — you sign in with your Sage Intacct account and grant Skyvia access.
  • Server-to-Server — you provide the name of a web services user authorized for your application.

Both types require the Client Id and Client Secret of an application that you register in the Sage Intacct Developer Portal.

To create a connection to Sage Intacct, select the authentication type and provide the required credentials.

Getting Credentials

Web Services License

Registering an application requires a Sage Intacct Web Services license, which consists of a Sender ID and a Sender Password. Sage issues this license to Sage Intacct customers and partners. To get one, contact your Sage Intacct account manager or partner representative.

Authorize your Sender ID in the company you want to connect to:

  1. In Sage Intacct, go to CompanySetupConfigurationCompany, open the Security tab, and click Edit.
  2. In the Web Services authorizations section, click Add.
  3. Enter your Sender ID and set Status to Active. Sender IDs are case-sensitive, and you cannot change them after you add the authorization.
  4. Click Save.

For details, see Add Web Services authorizations.

Client ID and Client Secret

To register an application, perform the following steps:

  1. Open the Sage Intacct Developer Portal, click View Console, and sign in with your Sage account.

  2. In the navigation menu, click ApplicationsNew Application.

  3. In Select an API, select Sage Intacct.

  4. Under Sage Intacct Developer Programme, click Enrol and enter your Sender ID as the Intacct Web Services License Key. Skip this step if you have already enrolled.

  5. Click ApplicationsNew Application again, select Sage Intacct.

  6. Enter an Application name.

  7. Specify the following API integration settings:

    • Redirect URIshttps://app.skyvia.com/oauthcallback/sageintacct
    • Origin Domainshttps://app.skyvia.com
    • Intacct Web Services License Password — your Sender Password
    • Client ScopeProduction. You cannot change the client scope after you create the application.
  8. Click Create Application.

Sage reviews your application and sends a confirmation to the email address you provided. After Sage approves the application, you can retrieve its Client ID and Client Secret.

For details, see Register a new application.

Web Services User for Server-to-Server Authentication

Server-to-Server authentication runs under a web services user instead of an interactive sign-in. Perform the following steps:

  1. In Sage Intacct, go to CompanyAdminUsers, roles, and groups and click + next to Web Services users. For details, see Add a Web Services user.
  2. Copy web service User ID. You will need it later.
  3. Assign the user the permissions or the role it needs.
  4. Go to CompanySetupConfigurationCompany, open the Security tab, and click Edit.
  5. In the Authorized Client Applications section, click Add.
  6. Enter the Client ID of your application and the Web Services User ID you created. The user ID is case-sensitive.

For details, see Client credentials grant type.

Creating OAuth 2.0 Connection

To create an OAuth 2.0 connection to Sage Intacct, perform the following steps:

Sage Intacct OAuth connection editor

  1. Enter the Client Id and Client Secret of your application.
  2. Click Sign In with Sage Intacct.
  3. In the opened window, sign in to Sage Intacct.
  4. Click Accept to grant Skyvia access to your Sage Intacct data.

Creating Server-to-Server Connection

To create a Server-to-Server connection to Sage Intacct, specify Client Id and Client Secret. In the Service User Name, enter the user ID of the authorized web services user.

Sage Intacct Server-to-Server connection editor

Additional Connection Parameters

Metadata Cache

You can specify the period after which Metadata Cache expires. By default, the cache doesn't expire. Keeping the cache enabled reduces the number of requests to the Sage Intacct metadata API.

API Concurrency

This parameter limits the number of API requests that Skyvia sends per second. Sage Intacct allows more concurrent requests on higher performance tiers, so a higher value can read and write data faster. Use your performance tier as a guide when choosing the value.

For details, see Performance tiers.

Connector Specifics

Object Peculiarities

Sage Intacct doesn't have a fixed list of objects. Skyvia loads the list from your Sage Intacct company, so the available objects depend on the modules you use.

Transaction Definition Objects

Sage Intacct uses transaction definitions to configure different transaction types, such as sales orders or purchase orders. Skyvia exposes an additional object for each transaction definition, because their records and fields differ.

Skyvia creates additional objects for the following standard objects:

  • Order_Document
  • Order_DocumentLine
  • Order_RecurringDocument
  • Purchasing_Document
  • Purchasing_DocumentLine
  • Purchasing_RecurringDocument

Skyvia names such objects using the <StandardObject>_<TransactionDefinitionId> pattern. For example, a transaction definition with the SalesOrder ID exposes the Order_Document_SalesOrder, Order_DocumentLine_SalesOrder, and Order_RecurringDocument_SalesOrder objects.

These objects contain only the records of that transaction definition and can include fields specific to it.

Extended Request Fields

For some objects, Sage Intacct API returns only part of the fields when querying multiple records. To retrieve missing fields, Skyvia sends additional requests for each page of records, which can increase API usage and affect performance. Skyvia sends these requests only when your query includes at least one such field, so exclude such fields when you don't need their values.

To check whether a field requires additional requests, open the object in Query, click the information icon next to the field name, and look at the ExtendedRequest property.

Binary Content Fields

The Entity, File, and AR_DunningCustomer objects contain binary fields, and Sage Intacct returns their content together with the record data. Querying these objects can slow down data retrieval.

Write-only Fields

The PaymentDate field is required when you insert records into the AP_Payment object, but Sage Intacct never returns it. The field stays empty both when you read the object and when you use the Returning feature.

Nested Objects

Some fields store nested records in JSON format. Every such field has a matching object with the same data, so you can read nested records either through the parent object or from the matching object.

For example, the Lines field of the AP_Bill object corresponds to the AP_BillLine object.

Filtering Specifics

Sage Intacct supports the following native filters:

Field Type Operators
Primary key =, IN
Boolean =, !=
Picklist, String =, !=, IN
Integer, Long, Double, Decimal, Date, DateTime =, !=, <, <=, >, >=, IN, BETWEEN

Native filtering is not available for extended request fields and for the fields that store URLs, such as WebURL. To check whether Skyvia filters a field natively, open the object in Query, click the information icon next to the field name, and check the Filterable property.

Sorting Specifics

Sage Intacct supports native sorting for the Boolean, Integer, Long, Double, Decimal, Date, DateTime, and Picklist fields, and for most String fields.

Native sorting is not available for extended request fields and for the fields that store URLs.

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for the Sage Intacct objects that contain the CreatedDateTime or ModifiedDateTime field.

Skyvia supports Synchronization for the objects that support Incremental Updates and the INSERT and UPDATE operations.

DML Operations Support

Skyvia supports the following DML operations for Sage Intacct.

Operation Object
INSERT, UPDATE, DELETE AccountLabelTaxGroup, AP_AccountLabel, AP_Adjustment, AP_AdjustmentLine, AP_Advance, AP_AdvanceLine, AP_Bill, AP_BillLine, AP_CheckRun, AP_JointPayee, AP_Payment, AP_RecurringBill, AP_RecurringBillLine, AP_Summary, AP_Term, AP_Vendor, AP_VendorAccountNumber, AP_VendorContact, AP_VendorEmailTemplate, AP_VendorGroup, AP_VendorType, ApplicationEnablementFa, AR_AccountLabel, AR_Adjustment, AR_AdjustmentLine, AR_Advance, AR_BillbackTemplate, AR_BillbackTemplateLine, AR_Customer, AR_CustomerEmailTemplate, AR_CustomerGroup, AR_CustomerItemCrossReference, AR_CustomerRefund, AR_CustomerType, AR_Invoice, AR_InvoiceLine, AR_PaymentSummary, AR_RecurringInvoice, AR_RecurringInvoiceLine, AR_ShippingMethod, AR_Summary, AR_Term, AR_Territory, AR_TerritoryGroup, ArAdvanceTransactionTemplate, Asset, AssetClass, AssetType, Attachment, BankTransactionAssignmentRule, BankTransactionRule, BankTransactionRuleSet, BookDetail, BookStatus, CheckingAccount, Cip, CipAsset, CipItem, Class, ClassGroup, CloudStorage, ComplianceNote, Contact, ContactTaxGroup, CreditCardAccount, CreditCardTransaction, CreditCardTransactionTemplate, Currency, Department, DepartmentGroup, DepreciationMethod, DepreciationSchedule, DepreciationSummary, DocumentSequence, EmailTemplate, Employee, EmployeeExpense, EmployeeExpenseAdjustment, EmployeeExpenseAdjustmentLine, EmployeeExpenseLine, EmployeeGroup, EmployeeType, Entity, ExchangeRate, ExchangeRateLine, ExchangeRateType, FinancialInstitution, FiscalPeriods, FixedAssets_Setup, FixedAssets_SetupPostingRule, FixedAssetsLog, FixedAssetsSetting, Folder, GL_Account, GL_AccountGroup, GL_AccountGroupPurpose, GL_AccountingSequence, GL_AccountingSequenceLine, GL_AccountNameEntityMap, GL_AdjustmentJournal, GL_Budget, GL_Journal, GL_JournalEntry, GL_JournalEntryTransactionTemplate, GL_ReportAudience, GL_ReportingPeriod, GL_ReportType, GL_StatisticalAccount, GL_StatisticalAdjustmentJournal, GL_StatisticalJournal, GL_StatisticalJournalEntry, GL_TransactionAllocationTemplate, GL_UserDefinedBook, GL_UserDefinedJournal, InsuranceDetail, Inventory_Item, Inventory_ItemCrossReference, Inventory_ItemGroup, Inventory_ItemWarehouseInventory, Inventory_ItemWarehouseStandardCost, Inventory_ItemWarehouseVendor, Inventory_KitComponent, Inventory_ProductLine, Inventory_Total, Inventory_UnitOfMeasure, Inventory_UnitOfMeasureGroup, Inventory_Warehouse, ItemTaxGroup, JournalEntryTemplate, Location, LocationGroup, Operation, Order_PriceList, Order_PriceListEntry, Order_PriceSchedule, Order_RecurringSchedule, Order_RenewalTemplate, Order_SubtotalTemplate, Order_SubtotalTemplateLine, Order_TransactionDefinition, Order_TransactionDefinitionEntitySettingDetail, Order_TransactionDefinitionInventoryTotalDetail, Order_TransactionDefinitionSubtotalDetail, OrderEntryTaxDetail, OrderEntryTaxSchedule, OtherReceipt, PhysicalLocation, Projects, Projects_Group, Projects_Status, Projects_Type, Purchasing_PriceList, Purchasing_PriceListEntry, Purchasing_PriceSchedule, Purchasing_SecondaryVendor, Purchasing_SubtotalTemplate, Purchasing_SubtotalTemplateLine, Purchasing_TransactionDefinition, Purchasing_TransactionDefinitionApDirectGlDetail, Purchasing_TransactionDefinitionEntitySettingDetail, Purchasing_TransactionDefinitionInventoryTotalDetail, Purchasing_TransactionDefinitionSourceDocumentDetail, Purchasing_TransactionDefinitionSubtotalDetail, PurchasingTaxDetail, PurchasingTaxSchedule, Role, SavingsAccount, Schedule, ScheduledOperation, ServiceDetail, TaxAuthority, TaxReturn, Time_Timesheet, Time_TimesheetLine, User, UserGroup, UserView, Validationmessage
INSERT, UPDATE AP_VendorPaymentProvider, AR_AdvanceLine, AR_CustomerMessage, BankFee, CreditCardFee, PaymentProviderBankAccount
INSERT, DELETE AR_Payment, BankFeed, CreditCardReconciliation, Inventory_ValuationMaintenance, Order_RecurringDocumentLine, Purchasing_RecurringDocumentLine
UPDATE, DELETE Order_TransactionBuyToOrderPreference, Order_TransactionDefinitionAdditionalGlDetail, Order_TransactionDefinitionArDirectGlDetail, Order_TransactionDefinitionCogsGlDetail, Order_TransactionDefinitionSourceDocumentDetail, Order_TransactionDropShipPreference, Purchasing_TransactionDefinitionAdditionalGlDetail
INSERT AR_ManualDeposit, BankReconciliation, BankTransactionRuleSetRunLog, Deposit, FundsTransfer, LoanSchedule, LoanScheduleEntry, ReceivedPayment
UPDATE InterEntityAccountMapping, Order_DocumentConfigurationPreference, Purchasing_DocumentConfigurationPreference, Purchasing_TransactionAutomationPreference, Purchasing_TransactionAutomationWithoutMatchPreference, Purchasing_TransactionMatchTolerancePreference, RolePermissionAssignment
DELETE BankFile, BankTransactionRuleMap, EmployeeRate, File, GL_FinancialGraph, GL_JournalEntryLine, GL_JournalEntryTransactionTemplateLine, InterEntityAdvancedMap, InterEntityBasicMap, StoredReport, TaxSolution

DML operations depend on the permissions of your Sage Intacct web services user and its role.

For most Sage Intacct objects, the Returning feature in INSERT and UPDATE operations returns all the requested fields. The objects that don't support native filtering by InternalId return only the InternalId and Id fields.

Supported Actions

Skyvia supports all the common actions for Sage Intacct.