The QuickBooks connector links wxrks to your QuickBooks Online company so wxrks can create invoices and bills, track when they're paid, and keep Org Unit, vendor, and product/service records in sync between the two systems.
💡 Who is this for? This guide is for Account Admins who need to connect wxrks to QuickBooks Online and keep billing records synced between the two systems.
Key Concepts
Concept | Where It Is Used | Purpose |
Customer | Org Unit Billing tab | Links a wxrks Org Unit to a QuickBooks customer. |
Product/Service | Org Unit Billing tab | Defines the item used on invoice lines. |
Vendor | User payment information | Identifies the vendor who receives a payable. |
Accounts Payable Account | QuickBooks configuration | Account used to record bills. |
Expense Account | QuickBooks configuration | Account used to record payable expenses. |
Purchase Order Custom Field Definition ID | QuickBooks configuration | Custom field that receives the invoice's purchase order number. |
Webhook Verifier Token | QuickBooks configuration | Validates notifications sent from QuickBooks to wxrks. Must be a UUID v4 value. |
Before You Start
This article is for administrators responsible for financial integrations. QuickBooks only appears as a Payment Method option under Settings > Account Settings > Finance > Payment Integrations when your account has this integration enabled — if you don't see it, contact wxrks support to have it turned on.
To configure the connector, you need:
A QuickBooks Online account and access to the Intuit Developer Portal.
A QuickBooks application with the
com.intuit.quickbooks.accountingandcom.intuit.quickbooks.paymentpermissions.The application's Client ID and Client Secret.
Access to the financial accounts, customers, products/services, and vendors in the QuickBooks company.
Set Up the QuickBooks App
Sign in to the Intuit Developer Portal.
Open the workspace where the application will be configured.
Create an application or open an existing application for wxrks.
Under Permission, enable both
com.intuit.quickbooks.accountingandcom.intuit.quickbooks.payment.Under Keys and credentials, copy the Client ID and Client Secret.
In wxrks, open Settings > Account Settings > Finance > Payment Integrations, and select QuickBooks from the Payment Method dropdown.
On the first step, Create and Configure QuickBooks App Credentials, copy the Redirect URI wxrks displays.
In the QuickBooks application, open Settings > Redirect URIs, add the copied URI, and save.
Connect QuickBooks to wxrks
wxrks walks you through a 4-step wizard: Create and Configure QuickBooks App Credentials, Set Your Credentials, Grant QuickBooks Permission, and Configure QuickBooks Accounts.
1. Save the Credentials
On Set Your Credentials, enter the Client ID and Client Secret, then select Save. If your QuickBooks app is a sandbox/test app rather than a real company, turn on Use QuickBooks Sandbox environment before saving — leave it off for a production QuickBooks company. wxrks saves the configuration and opens the authorization step.
2. Authorize the Company
On Grant QuickBooks Permission:
Select Authorize with QuickBooks.
Sign in to the correct QuickBooks account.
Authorize access to the company that will be synchronized.
Wait to be redirected back to wxrks.
Confirm you selected the correct company before accepting — the credential is linked to your wxrks account and the authorized QuickBooks company.
3. Configure Accounts and the Webhook
After authorization, open the General tab on Configure QuickBooks Accounts.
Select the QuickBooks Accounts Payable Account.
Select the QuickBooks Expense Account.
Enter the QuickBooks Purchase Order Custom Field Definition ID — the Definition ID of the custom field that should receive the purchase order number.
In QuickBooks, open the application's webhook settings and copy the Verifier Token into QuickBooks Webhook Verifier Token in wxrks. The value must be a UUID v4 — wxrks validates the format before letting you save.
Copy the QuickBooks Webhook URL displayed by wxrks and add it to the QuickBooks webhook configuration.
Select Save.
Select Test QuickBooks Connection to validate the authorization, the selected accounts, and the QuickBooks IDs configured on your Org Units.
The account dropdowns load options straight from your QuickBooks chart of accounts. If an account is changed or becomes inactive in QuickBooks, update the selection in wxrks.
Authorization Renewal
The authorization granted by QuickBooks is valid for 101 days and renews automatically as long as wxrks keeps making API calls within that window. If no calls are made for 100+ days, you'll need to delete the QuickBooks configuration in wxrks and set it up again.
Link Org Units to Customers and Products/Services
There are two ways to create these links.
Configure an Org Unit Individually
Open Organizations > Units and select the Org Unit.
Open the Billing tab.
Under QuickBooks Customer ID, select the matching Customer.
Under QuickBooks Product/Service ID, select the matching item.
Save the Org Unit changes.
The dropdowns show active records loaded from QuickBooks. A Customer link is required to create invoices; the Product/Service identifies the item on invoice lines.
Match Org Units in Bulk
To review multiple Org Units at once:
Return to Settings > Account Settings > Finance > Payment Integrations > QuickBooks.
Open Synchronization > Org Units.
Select Load Suggestions.
Review the suggested Customer, match percentage, and Product/Service.
Turn on Selected to Update only for the rows you want to save.
Adjust any incorrect suggestion and select Save Selected.
wxrks suggests matches based on case-insensitive name similarity (Levenshtein distance). Suggestions at 90% confidence or higher are preselected, but review them before saving — matches between 60% and 90% are flagged for closer review, and anything below that isn't preselected at all.
Link Users to Vendors
Select a Vendor Individually
Open Users and select the user.
Open the Billing and Languages tab.
Under Payment Information, select QUICKBOOKS as the payment method.
Under QuickBooks Vendor ID, select the matching Vendor.
Save the user's information.
Only active Vendors with a primary email address are considered for automatic matching. To create a payable in QuickBooks, the user must have the QUICKBOOKS payment method and a valid Vendor ID.
Automatically Synchronize Vendor IDs
Open Settings > Account Settings > Finance > Payment Integrations > QuickBooks.
Open Synchronization > Vendors.
Select Run Vendor Sync.
Review the Synced and Unmatched users.
Synchronization compares the primary Vendor email in QuickBooks with each user's email in wxrks and fills in the QuickBooks Vendor ID when it finds a match. Fix mismatched email addresses or Vendor records in QuickBooks, then run the sync again to pick up the ones that didn't match.
Financial Synchronization
Receivables from wxrks to QuickBooks
When a receivable is created in wxrks, it can be created automatically in QuickBooks when:
The integration is authorized.
The Org Unit has valid Customer ID and Product/Service ID values.
The receivable's currency matches the default currency configured in the QuickBooks company preferences.
The receivable isn't already linked to a QuickBooks invoice.
The wxrks purchase order number is sent to the custom field configured in Purchase Order Custom Field Definition ID. A receivable that already has a QuickBooks link isn't created again (for more detail, see How to manage the Finance Section).
Payables from wxrks to QuickBooks
When a payable is created for a user with the QUICKBOOKS payment method, wxrks can create a Bill in QuickBooks. The payable must have:
A numeric, valid, and active Vendor ID.
The QUICKBOOKS payment method.
A currency matching the QuickBooks company's default currency.
Accounts Payable and Expense accounts configured in the connector.
For more detail, see How to manage the Finance Section.
Payments from QuickBooks to wxrks
With the webhook configured, wxrks receives payment notifications:
When a linked invoice reaches a zero balance in QuickBooks, the corresponding invoice in wxrks is marked PAID.
When a linked Bill reaches a zero balance in QuickBooks, the corresponding payable in wxrks is marked PAID.
wxrks ignores notifications for entities that aren't payments for invoices or bills linked to the same environment and QuickBooks company.
Cancel Invoices and Payables
When an invoice with a QuickBooks link is cancelled in wxrks, the corresponding QuickBooks invoice is voided and its amounts are zeroed.
When a payable with a linked Bill is cancelled in wxrks, the Bill is updated with zeroed amounts and a cancellation note is added to the Bill notes.
Records without a QuickBooks ID have no corresponding document to void in QuickBooks.
Cancelling a record in QuickBooks isn't the same as deleting the record in wxrks — check the status in both systems after the operation.
Provisioning Through Automations
Administrators who use Pipelines can automate entity provisioning in QuickBooks:
Use an HTTP action authenticated with the connected QuickBooks company to create a Vendor or Customer.
Extract the created ID and, when needed, the currency returned by QuickBooks.
Save the data in wxrks with the entity update action.
The fields that can be updated through this automation are limited:
Entity | Available Fields |
User |
|
Org Unit |
|
For example, a Vendor-creation automation can save the Vendor ID on a user, and a Customer-creation automation can save the Customer ID on an Org Unit. The automation can't change fields outside this list (for more detail, see Getting Started with Pipelines in wxrks).
Troubleshooting
Problem | What to Check |
You don't see QuickBooks as a Payment Method option | The integration isn't enabled on your account yet. Contact wxrks support. |
You can't save the financial configuration | Check the Accounts Payable Account, Expense Account, Purchase Order Custom Field Definition ID, and that the Verifier Token is a valid UUID v4. |
Authorization fails or returns an error in wxrks | Confirm the Client ID, Client Secret, app permissions, Redirect URI, and Sandbox toggle match what's set up in the Intuit Developer Portal. |
The test reports that no QuickBooks IDs are configured | Configure Customer ID and Product/Service ID on the Billing tab of the Org Units that will use the integration. |
The invoice isn't created | Check the credentials, Customer, Product/Service, default currency, and whether the invoice already has a QuickBooks ID. |
The payable isn't created | Check the active Vendor, numeric Vendor ID, QUICKBOOKS payment method, financial accounts, and currency. |
The record stays pending after a QuickBooks payment | Check the QuickBooks Webhook URL, the Verifier Token saved in wxrks, and the application's QuickBooks webhook configuration. |
A Vendor doesn't appear in synchronization | The Vendor must be active and have a primary email address. Fix it, then select Run Vendor Sync again. |
An Org Unit suggestion is incorrect | Select the correct Customer manually, adjust the Product/Service, and leave Selected to Update off for rows that shouldn't change. |
Still stuck? Search the wxrks Community or contact wxrks support.
Quick Reference
Task | Path |
Configure the connector | Settings > Account Settings > Finance > Payment Integrations > QuickBooks |
Test the connection | QuickBooks > General > Test QuickBooks Connection |
Map an Org Unit | Organizations > Units > Org Unit > Billing |
Map a user | Users > User > Billing and Languages > Payment Information |
Synchronize Vendors | QuickBooks > Synchronization > Vendors > Run Vendor Sync |
Suggest Customer and Product/Service matches | QuickBooks > Synchronization > Org Units > Load Suggestions |
Validate incoming payments | Configure the QuickBooks Webhook URL and Verifier Token |











