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.
An app in the Intuit Developer Portal with the
com.intuit.quickbooks.accountingandcom.intuit.quickbooks.paymentpermissions.The app's Client ID and Client Secret.
Access to the financial accounts, customers, products/services, and vendors in the QuickBooks company.
Set Up the App in the Intuit Developer Portal
The connector uses an app that you create in the Intuit Developer Portal (developer.intuit.com). This is a separate site from QuickBooks Online: you sign in with your Intuit account, but app settings such as credentials, redirect URIs, and webhooks are managed only in the Developer Portal, never inside QuickBooks Online.
💡 Tip: Keep two browser tabs open during setup, one with the Intuit Developer Portal and one with wxrks, since you'll copy values between them.
Development vs. Production Keys
Each Intuit app has two sets of credentials:
Development keys connect only to a QuickBooks sandbox (test) company.
Production keys connect to your real QuickBooks Online company.
Redirect URIs and webhooks are also configured separately for Development and Production. Use the same environment in every step below. To connect your real company, use Production. Production keys become available only after Intuit reviews your app (see Get Production Keys below).
Get Production Keys
Production keys are released only after Intuit reviews your app. In the Intuit Developer Portal, open your app and submit it for production, completing the App Details and Compliance sections. When asked about permissions, the connector uses com.intuit.quickbooks.accounting and com.intuit.quickbooks.payment.
Then open Settings > App URLs > Production, fill in the required fields, and save. Intuit requires these URLs, but they don't change how the connector works in wxrks. Replace <your wxrks domain> with the domain you use to access wxrks, as shown in your browser's address bar:
Field | Value |
Host domain |
|
Launch URL |
|
Disconnect URL |
|
Connect/Reconnect URL |
|
All three URLs must start with https:// and use the same domain as Host domain.
Create the App and Register the Redirect URI
In the Intuit Developer Portal:
Sign in to the Intuit Developer Portal.
Open your workspace and create a new app (or open the existing app you use for wxrks) from the App dashboard.
Under Permissions, enable both
com.intuit.quickbooks.accountingandcom.intuit.quickbooks.payment.Open Keys and credentials, select Production (or Development for a sandbox company), and 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 wizard step 1, Create and Configure QuickBooks App Credentials, copy the Redirect URI displayed by wxrks.
Back in the Intuit Developer Portal:
Open your app's Settings > Redirect URIs tab.
Select the same environment as your keys (Production or Development).
Paste the Redirect URI exactly as copied from wxrks. It must match character by character, including the trailing slash, if any.
Select Save. Redirect URIs are not applied until you 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. Step 1 is covered in the previous section.
Wizard Step 2 – Set Your Credentials
On Set Your Credentials, enter the Client ID and Client Secret, then select Save. wxrks saves the configuration and opens the authorization step.
Turn on Use QuickBooks Sandbox environment only if you copied Development keys and are connecting to a QuickBooks sandbox company. Leave it off when using Production keys for your real company. A mismatch between the keys and this toggle makes authorization fail.
Wizard Step 3 – Grant QuickBooks Permission
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.
Wizard Step 4 – Configure QuickBooks Accounts
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. This is the numeric ID of the custom field on QuickBooks Online invoices that receives the wxrks purchase order number. The field is required: wxrks doesn't let you save this step without it. If you don't know the ID, contact wxrks support.
Configure the webhook, which lets QuickBooks tell wxrks when an invoice or bill is paid:
In wxrks, copy the QuickBooks Webhook URL.
In the Intuit Developer Portal, open your app's Webhooks page and select the same environment you used for your keys (Production or Development).
Paste the wxrks URL into the endpoint URL field.
In the event list, select the Payment and BillPayment entities with the Create and Update operations. wxrks ignores other entities.
Save the webhook configuration in the portal.
On the same page, reveal and copy the Verifier Token.
Back in wxrks, paste it into QuickBooks Webhook Verifier Token. The value must be a UUID v4: wxrks validates the format before letting you save.
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 > Organizational 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 & Languages tab.
Under Payment Information, select QUICKBOOKS as the payment method.
Under QuickBooks Vendor ID, select the matching Vendor.
Your selection is saved automatically.
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 find Settings, Redirect URIs, or Webhooks in QuickBooks | These settings live in the Intuit Developer Portal (developer.intuit.com), not in QuickBooks Online. Open your app from the App dashboard. |
Authorization shows "redirect_uri query parameter value is invalid" | The Redirect URI in the Intuit Developer Portal must match the one shown in wxrks exactly (including the trailing slash), be saved, and be registered in the same environment (Production or Development) as your keys. |
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. |
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. |
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. |
Authorization works, but payments never update in wxrks | Check that the QuickBooks Webhook URL from wxrks is registered on your app's Webhooks page in the Intuit Developer Portal, in the same environment as your keys, with the Payment and BillPayment events selected. The Verifier Token in wxrks must match the one shown in the Developer Portal for that environment. |
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 |
Register the Redirect URI | Intuit Developer Portal > your app > Settings > Redirect URIs |
Register the webhook and copy the Verifier Token | Intuit Developer Portal > your app > Webhooks |
Test the connection | QuickBooks > General > Test QuickBooks Connection |
Map an Org Unit | Organizations > Organizational Units > Org Unit > Billing |
Map a user | Users > User > Billing & 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 |











