QuickBooks Online API

Integrate QuickBooks Online with your product—along with any other
Accounting
 application

Connect your product to all the applications your customers use via Merge's

Accounting

 

Unified API to close more deals, retain customers, and expand to new markets

Your Product
Merge
Your customers' data
Accounting Periods
Accounts
Addresses
Async Passthroughs
Attachments
Audit Trails
Balance Sheets
Bank Feed Accounts
Bank Feed Transactions
Cash Flow Statements
Company Info
Contacts
Credit Notes

Top integration use cases for QuickBooks Online

Sync QuickBooks Online Data

FAQ on integrating with QuickBooks Online’s API

How is my customer's QuickBooks Online data encrypted and where is it stored?

Your customers’ QuickBooks Online data is encrypted at rest and in transit through AES-256 encryption. 

The data is also stored securely in AWS data centers, with regional storage options available based on customer needs. For example, Merge provides a multi-tenant environment in the US that stores data in AWS's North Virginia region, while EU and APAC data can be stored in AWS's Stockholm and Singapore regions, respectively. 

Additionally, Merge offers a single-tenant environment for customers needing enhanced data isolation​​.

How long does it take developers to set up a QuickBooks Online integration through Merge?

The process of building to Merge’s Accounting Unified API typically takes a few days. And once you’ve built to the unified API you can not only add a QuickBooks Online integration to your platform but also other accounting integrations, such as Xero, Sage Intacct, and NetSuite.

How much does it cost to integrate with QuickBooks Online through Merge?

The cost depends on the pricing plan you're on. Merge offers a Launch plan starting at $650/month for up to 10 Production Linked Accounts, with additional accounts costing $65 each. 

For more extensive needs, the Professional and Enterprise plans provide larger volumes and advanced features. 

You can contact Merge's sales team for custom pricing based on your requirements​​ and/or review Merge’s pricing page for more details.

What are some popular endpoints for QuickBooks Online?

Here are some common endpoints for not online QuickBooks Online but also many other accounting integrations Merge supports:

  • Transactions endpoint (https://api.merge.dev/api/accounting/v1/transactions): retrieve a list of financial transactions from customers to help them analyze transaction history and make critical forecasting decisions
  • Invoices endpoint (https://api.merge.dev/api/accounting/v1/invoices): get, create, or update invoices issued or received by the customer to help them manage accounts receivable or payable
  • Accounts endpoint (https://api.merge.dev/api/accounting/v1/accounts): help customers fetch or create information on different financial accounts (e.g., bank accounts, credit card accounts, cost of goods sold)
  • Journal entries endpoint (https://api.merge.dev/api/accounting/v1/journal-entries): enable customers to retrieve journal entries from their general ledgers or create new journal entries in their general ledgers

You can find additional accounting endpoints in Merge’s Docs.

Can I sync historical data from QuickBooks using Merge?

Yes, Merge supports syncing a wide range of historical data from QuickBooks Online, whether that’s pulling past transactions, invoices, and so on. 

This gives your product a more complete financial picture, which allows it to deliver more value. For instance, if you offer a financial modeling platform, you can offer more accurate forecasts. And if you provide an AI copilot, it can address more questions and do so with greater accuracy.

What are some other accounting platforms I can integrate with via Merge?

In addition to QuickBooks, Merge lets you integrate with Xero, NetSuite, Sage Intacct, and several others. You can see the full list of accounting integrations Merge supports here.

In addition, each integration lets you access a wide range of Merge’s Common Models, or normalized data models. This ensures that you're able to sync all the data you need from customers’ accounting tools, regardless of the tools they use.

Are there any days you’ll be closed for the holidays in 2024?
Trusted to power integrations globally
Build Smarter

Make integrations your competitive advantage

More sales, less code, fewer headaches

Focus on your core product

Stop diverting your engineers to yet another integration and let them get back to work.

Give customer success a break

Manage your simplified integration issues in a single pane. No therapist required.

Stop losing sales due to integrations

Launch integrations in days, not quarters. Your sales team will thank you.

APIs Made Simple

The toolkit for all your integration needs

We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.

View docs
Get Employee Data
import merge
from merge.client import Merge
merge_client = Merge(api_key="<YOUR_API_KEY>", account_token="<YOUR_ACCOUNT_TOKEN>")
employee = merge_client.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>"),
  mergeclient.ClientWithHeaderAccountToken("<YOUR_ACCOUNT_TOKEN>"),
)
employee, err := client.Hris().Employees().List(
  context.TODO(),
  &hris.EmployeesRetrieveRequest{
    IncludeRemoteData: merge.Bool(true),
  },
)
if err != nil {
  return err
}
fmt.Printf("Retrieved employee with ID %q\n", *employee.Id)
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath('https://api.merge.dev/api/ats/v1');
ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
tokenAuth.setApiKey('API_KEY');
CandidatesApi apiInstance = new CandidatesApi(client);
apiInstance.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)
        .build());
{
"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": [
  "21a54124-397f-494d-985e-3c5b330b8a68"
],
"work_email": "dirna@merge.dev",
"personal_email": "dirnaemanuel@gmail.com",
"mobile_phone_number": "+1234567890",
"employments": [
  "17a54124-287f-494d-965e-3c5b330c9a68"
Meta Endpoint

Programmatically access required schemas

Third-party providers require specific (and often different) fields to write data to their APIs, making your code a mess.

Dynamically fetch required data schemas from Merge’s /meta endpoint to make POST or PATCH requests that just work.

View Docs
Beyond Building

Rely on the best integration observability system

Let our logs, issue detection, and automated alerts save your customer success team time, money, and headaches.

Forget maintenance - let your developers focus on building!

Start for free

How Drata helps thousands streamline their SOC 2 with Merge

Read case study

​​”Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.”

Daniel Marashlian of profile photo
Daniel Marashlian
Co-Founder & CTO

Read more about building and maintaining multiple integrations

A guide to maintaining your product integrations
A guide to maintaining your product integrations
Blog
Blog Posts
10/27/2023
A guide to integrating multiple APIs
A guide to integrating multiple APIs
Blog
Blog Posts
11/13/2023
The top challenges of normalizing multiple API integrations
The top challenges of normalizing multiple API integrations
Blog
Blog Posts
11/20/2023
One Step Ahead

We're the cheat code to your integrations strategy

Revolutionize your integrations strategy for HR, payroll, directory, ATS, project management, ticketing, accounting and CRM platforms.

Start for free or talk to our sales team and learn how Merge makes it easy to add all your integrations in days – not years.
Read more