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.
The IncomeStatement object is used to represent a company’s income, the cost of sales, operating expenses, and other non-operating expenses. The object also includes other important values like gross profit, gross operating profit, and net income. This represents a period of time (month, quarter, or year).
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.
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
Merge offers various sync frequency options for FreshBooks data, which can vary based on the Common Model you’re interested in syncing and the sync frequency you set. That said, all the Common Models can sync data every hour, 3 hours, 6 hours, or daily.
You can also sync data outside of these intervals via Merge’s Force Resync endpoint or through Merge’s Automatic Webhooks feature.
Learn more about Merge’s sync frequencies for FreshBooks data.
Merge interacts with a wide range of endpoints, including journal entries, tax rates, accounts, credit notes, and payments. In addition, Merge supports GET, PUT, and POST requests across many of these endpoints.
Learn more about the data endpoints Merge can access for Freshbooks.
Yes, Merge supports more than a dozen accounting integrations through its Accounting Unified API. This includes QuickBooks, Xero, NetSuite, and Sage Intacct.
See the full list of accounting integrations Merge supports.
These organizations vary by size, industry, and region. For example, organizations like BambooHR, Remote, TaxBit, Causal, Acctual, BRM, and Banyan Infrastructure all outsource their accounting integrations to Merge.
Learn more about how organizations leverage Merge’s accounting integrations and the platform more broadly here.
Yes, Merge provides features like Field Mapping, Remote Data, and Authenticated Passthrough Requests to retrieve and map custom FreshBooks fields, allowing for advanced data configurations specific to customer requirements.
Merge offers both multi-tenant and single-tenant options. Multi-tenant environments are standard and available in U.S., EU, and APAC regions, while single-tenant environments can be purchased as part of an Enterprise plan, providing dedicated servers for customers needing heightened data security.
Learn more about Merge’s approach to security.
The cost depends on your Merge plan. For the Launch plan, pricing begins at $650/month for up to 10 production linked accounts, with additional accounts costing $65 each per month. Professional and Enterprise plans offer contract-based pricing, and they can come with advanced features like sandbox environments, enterprise security features, custom sync frequencies, and more.
Learn more about Merge’s pricing plans.

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