
How to Build QuickBooks Integration With API.1
QuickBooks is one of the world’s most popular accounting software platforms for small and medium-sized businesses. If you are building a fintech, SaaS, or banking solution, providing a seamless QuickBooks integration is essential for serving the global market. In this guide, we will explore how to implement a robust QuickBooks integration using the Zwapgrid API.1.
This approach allows you to standardize your development process—meaning you build the logic once, and it works for QuickBooks as well as any other supported accounting system in the grid.
1. Create an Account
The first step is to register on the Zwapgrid platform. Go to https://clients.zwapgrid.com/ and create your account.
2. Create an API Key
Once your account is set up, you need to generate an API Key to authenticate your requests.
- Navigate to the API Keys page in the dashboard.
- Click Create API Key.
- Provide a name and optional description.
- Save the generated token securely, it will only be shown once.

3. Create a Consent
A consent represents the secure connection between you and your customer. When a customer grants consent, you gain access to their accounting data through the API. To create a consent, make the following HTTP request:
curl -i -X POST "https://apione.zwapgrid.com/api/v1/consents" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-correlation-id: YOUR_CORRELATION_ID" \
-d '{"name": "QuickBooks Integration Consent"}'In the response headers, you will find the ID of the consent in the location header (e.g., https://apione.zwapgrid.com/api/v1/consents/427691d2-35d9-4bd4-8a33-066a61739803). You will need this Consent ID for the next steps.
HTTP/2 201
date: Tue, 05 May 2026 10:04:50 GMT
server: Kestrel
location: https://localhost:7116/api/v1/consents/427691d2-35d9-4bd4-8a33-066a61739803
content-length: 04. Generate a One-Time Code (OTC)
A one-time code (OTC) allows your customer to complete the onboarding process securely. It can only be used once. Create an OTC by sending this request:
curl -i -X POST "https://apione.zwapgrid.com/api/v1/consents/<consentId>/otc" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-correlation-id: YOUR_CORRELATION_ID"The API will response with something like:
{
"code": "y+fLC3Obkl/NFaedU80/aocfrFCxxRXtN20ugyD7XvEk/SVTkzxANdH+xFQqE/qy:CKGZQdCiyz+Wvz4ahJAaYg7Mod0bmH/ku3uVuU8mphc="
}Now, you can use the Consent ID and the OTC to create a customer onboarding link:https://onboarding.zwapgrid.com/consent/<consentId>/quickbooks?otc=<otc>
https://onboarding.zwapgrid.com/consent/427691d2-35d9-4bd4-8a33-066a61739803/quickbooks?otc=y+fLC3Obkl/NFaedU80/aocfrFCxxRXtN20ugyD7XvEk/SVTkzxANdH+xFQqE/qy:CKGZQdCiyz+Wvz4ahJAaYg7Mod0bmH/ku3uVuU8mphc=Adding /quickbooks at the end of the path directs the customer straight to the QuickBooks login. Your customer’s flow is simple:
- Click Connect.
- Log in to QuickBooks.
- Done. The consent is now active and linked.
See video below:
5. Retrieve Customer Data
Once the consent is established, you can query the API for unified accounting data. For example, to fetch sales invoices:
curl "https://apione.zwapgrid.com/accounting/api/v1/consents/<consentId>/salesinvoices" \
-H "x-correlation-id: <your-correlation-id>" \
-H "x-api-key: <your-api-key>"The response will return the customer’s sales invoices in a standardized format. To fetch data from another system, simply onboard the customer to that system—the API schema remains the same.
Conclusion
Integrating QuickBooks with your application doesn't have to be complicated. By using the Zwapgrid API, you can handle authentication, consent, and data retrieval in a consistent way across multiple accounting platforms. This means you only build once, and your product is ready to scale to new systems without reinventing the wheel.
Get Started
👉 Create an account and start with Fortnox today, and swap to other systems in minutes.
