Connect your product to all the applications your customers use via Merge's Unified API to close more deals, retain customers, and expand to new markets








An Account represents a category in a company’s ledger in which a financial transaction is recorded against. The aggregation of each Account object is often referred to as the Chart of Accounts. An Account can be classified into one of the following categories, determined through the classification field: * Asset: Accounts Receivable and Bank Accounts * Liability: Accounts Payable and Credit Card Accounts * Equity: Treasury Accounts and Retained Earnings * Revenue: Income and Other Income * Expense: Cost of Goods Sold and Office Expenses
A Contact is an individual or business entity to which products and services are sold to or purchased from. The Contact model contains both Customers, in which products and services are sold to, and Vendors (or Suppliers), in which products and services are purchased from. * A Contact is a Vendor/Supplier if the is_supplier property is true. * A Contact is a customer if the is_customer property is true.
A CreditNote is transaction issued to a customer, indicating a reduction or cancellation of the amount owed by the customer. It is most generally used as an adjustment note used to rectify errors, returns, or overpayments related to a sales transaction. A CreditNote can be applied to Accounts Receivable Invoices to decrease the overall amount of the Invoice.
The Expense object is used to represent a direct purchase by a business, typically made with a check, credit card, or cash. Each Expense object is dedicated to a grouping of expenses, with each expense recorded in the lines object. The Expense object is also used to represent refunds to direct purchases. Refunds can be distinguished from purchases by the amount sign of the records. Expense objects with a negative amount are purchases and Expense objects with a positive amount are refunds to those purchases.
A General Ledger Entry is a record of a financial transaction that is posted to the general ledger, the central repository of a company’s financial data. The GeneralLedgerTransaction object is a singular endpoint to pull all transactions posted to a company’s general ledger. The transaction that generated the GeneralLedgerTransaction can be found by referencing the underlyingtransactiontype and underlyingtransactionremote_id fields. The lines of a GeneralLedgerTransaction object will always have equal amounts of debits and credits.
A JournalEntry is a record of a transaction or event that is entered into a company's accounting system. The JournalEntry common model contains records that are automatically created as a result of a certain type of transaction, like an Invoice, and records that are manually created against a company’s ledger. The lines of a given JournalEntry object should always sum to 0. A positive netamount means the line represents a debit and a negative netamount represents a credit.
A PurchaseOrder represents a request to purchase goods or services from a vendor. It outlines the details of the purchase, such as the items or services requested, quantities, prices, and delivery details. A PurchaseOrder is a crucial component of the procurement process, but does not typically result in any impact on the company’s general ledger. The general ledger is typically only affected when the PurchaseOrder is fulfilled as an Accounts Payable Invoice object (also known as a Bill).
The Transaction common model includes records of all types of transactions that do not appear in other common models. The type of transaction can be identified through the type field. More specifically, it will contain all types of transactions outside of: * Credit Notes * Expenses * Invoices * Journal Entries * Payments * Purchase Orders * Vendor Credits
A VendorCredit is transaction issued by a vendor to the accounting company, indicating a reduction or cancellation of the amount owed to the vendor. It is most generally used as an adjustment note used to rectify errors, returns, or overpayments related to a purchasing transaction. A VendorCredit can be applied to Accounts Payable Invoices to decrease the overall amount of the Invoice.
Merge supports high-frequency syncs (e.g., every hour). You can also retrieve data from customers’ instances of Sage Intacct in real-time through webhooks, ensuring that customers' Sage Intacct data is always up-to-date in your platform.
You can configure these syncs according to your needs—whether it's daily or real-time—and your plan.
Merge’s team of partner engineers continuously monitors for changes to Sage Intacct's API and responds accordingly to ensure that any updates don’t break the integration.
Merge's observability tools also provide visibility into any issues. For example, Merge provides fully-searchable logs; auto-detects common issues (e.g., expired API keys), along with the steps for addressing them; and offers a dashboard to review integration health and performance more broadly.
Yes, Merge’s integration with Sage Intacct supports syncing tax-related data. This includes Common Models like tax rates and tracking categories, which can be used for generating accurate tax reports or ensuring compliance with tax regulations.
Yes, Merge allows you to write back data to Sage Intacct, which means you can create or update records, such as invoices, purchase orders, and journal entries. This enables full bi-directional syncing, so changes made within your application can be reflected in Sage Intacct.
Yes, Merge allows you to pull transaction-level data from Sage Intacct, including general ledger transactions. This enables you to build custom financial reports, perform reconciliations, and provide detailed financial insights based on real-time data synced from Sage Intacct.
Merge provides advanced features like Field Mapping, Remote Data, and Authenticated Passthrough Requests.
Using these features, users can access custom fields, retrieve the latest Sage Intacct data in its original format, and make direct API requests to the Sage Intacct platform without additional authentication.
Yes, Merge’s integration with Sage Intacct supports multi-entity accounting. You can access and manage financial data across different entities using Merge’s Unified API, which normalizes the data from Sage Intacct's API into Common Models for easier handling and reporting.
Merge respects the user permissions and role-based access controls set in Sage Intacct. When a user integrates Sage Intacct via Merge, the data they can access and sync will depend on the permissions assigned to their account within Sage Intacct.
Yes, Merge supports syncing inter-company transactions in Sage Intacct. This allows you to manage and track financial data between different entities within your organization, ensuring seamless reconciliation and reporting of inter-company transactions.

Trusted to power integrations at
More sales, less code, fewer headaches
Stop diverting your engineers to yet another integration and let them get back to work.
Manage your simplified integration issues in a single pane. No therapist required.
Launch integrations in days, not quarters. Your sales team will thank you.
.png)

Merge seamlessly manages authentication and authorization on behalf of your customers.
Offer account linking and permission controls to your users with Link for a customizable frontend or with Magic Link for URL-based authorization
We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.
1from merge import Merge
2
3client = Merge(
4 account_token="YOUR_ACCOUNT_TOKEN",
5 api_key="YOUR_API_KEY",
6)
7client.hris.employees.list()import { MergeClient, Merge } from '@mergeapi/merge-node-client';
const merge = new MergeClient({
apiKey: 'YOUR_API_KEY',
accountToken: 'YOUR_ACCOUNT_TOKEN',
});
employee = await merge.hris.employees.list()
ApiClient.instance.authentications.tokenAuth = {
type: 'bearer',
accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
console.log(data);
});import (
"context"
"fmt"
merge "github.com/fern-api/merge-go"
mergeclient "github.com/fern-api/merge-go/client"
"github.com/fern-api/merge-go/hris"
)
client := mergeclient.NewClient(
mergeclient.ClientWithAuthApiKey("<YOUR_API_KEY>"),1ApiClient client = Configuration.getDefaultApiClient();
2client.setBasePath('https://api.merge.dev/api/ats/v1');
3ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
4tokenAuth.setApiKey('API_KEY');
5CandidatesApi apiInstance = new CandidatesApi(client);
6apiInstance.candidatesList('ACCOUNT_TOKEN');import com.merge.api.MergeApiClient;
import com.merge.api.resources.hris.employees.requests.EmployeesRetrieveRequest;
import com.merge.api.resources.hris.types.Employee;
MergeApiClient mergeClient = MergeApiClient.builder()
.accountToken("ACCOUNT_TOKEN")
.apiKey("API_KEY")
.build();
Employee employee = mergeClient.hris().employees().list(
EmployeesRetrieveRequest.builder()
.includeRemoteData(true)> {
"id": "0958cbc6-6040-430a-848e-aafacbadf4ae","remote_id": "19202938","employee_number": "2","company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178","first_name": "Dirna","last_name": "Emanuel","display_full_name": "Dirna Emanuel",
"username": "dirnaemanuel",
"groups": [
Case study
%201%20(1).avif)
Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.
Stay in touch to learn how Merge can unlock hundreds of integrations in days, not years