QuickBooks Integration for Contractors | DunaHub
Connect DunaHub to QuickBooks Online and automatically sync customers, invoices, and supported payments without entering the same information twice.
Aisha Benevente
Writer
QuickBooks Integration for Contractors: Sync Customers, Invoices, and Payments Automatically
A QuickBooks integration for contractors eliminates the need to enter the same customer, invoice, and payment information in two different systems.
Without an integration, a service business may create a customer in its CRM, prepare an invoice after completing the job, collect the payment, and then repeat the entire process inside its accounting software.
That duplicate work takes time and creates opportunities for mistakes.
With the DunaHub QuickBooks Online integration, customers, invoices, and eligible payments created in DunaHub can be sent automatically to QuickBooks.
The contractor can manage leads, proposals, communication, jobs, and invoices in DunaHub while keeping the corresponding accounting records in QuickBooks Online.
The connected workflow becomes:
Lead → Proposal → Job → Invoice → Payment → QuickBooks
What does the DunaHub QuickBooks integration do?
The integration sends three main types of records from DunaHub to QuickBooks Online:
- customers;
- invoices;
- payments.
When the integration is active, DunaHub pushes the relevant record shortly after it is created or updated.
This helps remove repetitive tasks such as:
- copying customer names;
- retyping email addresses;
- recreating invoices;
- transferring line items;
- entering invoice totals;
- recording eligible payments manually;
- checking whether both systems contain the same transaction.
The integration is designed to keep the contractor’s operational workflow moving without requiring double entry.
Which direction does the data sync?
The integration is one-way:
DunaHub → QuickBooks Online
Records created in DunaHub are sent to QuickBooks.
Changes made directly in QuickBooks do not sync back to DunaHub.
For example:
- You create an invoice in DunaHub;
- The invoice is sent to QuickBooks;
- You change the invoice amount directly in QuickBooks;
- That change does not update the original DunaHub invoice.
This makes it important to decide which system is the operational source for customer and invoice information.
For businesses using the integration, the clearest workflow is generally:
- create and update the customer in DunaHub;
- prepare the invoice in DunaHub;
- record or collect the eligible payment through the DunaHub workflow;
- allow the accounting copy to sync to QuickBooks.
QuickBooks can then be used for bookkeeping, reconciliation, financial reporting, and accounting processes.
Is the integration two-way?
No.
The current integration does not import QuickBooks customers, invoices, or payments back into DunaHub.
It also does not continuously compare both systems and overwrite changes in either direction.
The sync sends supported records from DunaHub to QuickBooks Online.
This distinction matters when employees use both systems.
If one person edits an invoice only in QuickBooks while another employee continues working from DunaHub, the two versions may become different.
A company should create an internal rule explaining where customer-facing operational records must be edited.
What customer information syncs?
When a lead is created or updated in the DunaHub CRM Pipeline, the integration creates or updates a matching customer in QuickBooks Online.
The customer record may use information associated with the lead, such as:
- name;
- email;
- customer identity;
- related invoice information.
This helps connect the accounting transaction to the same person or business managed by the service team.
For example:
- Sarah requests an HVAC repair;
- A lead is created in DunaHub;
- The QuickBooks integration is connected;
- Sarah’s corresponding customer record is created or updated in QuickBooks;
- Future invoices can be linked to that customer.
The team does not need to manually create Sarah in both platforms.
What invoice information syncs?
When an invoice is created in DunaHub, it is pushed to QuickBooks Online with the related customer and billing information.
The synced invoice includes:
- customer connection;
- line items;
- quantities or item details;
- totals;
- invoice relationship.
A DunaHub invoice can be created from:
- a lead;
- a completed job;
- an approved proposal;
- another supported invoice workflow.
The DunaHub invoicing system keeps the billing record connected to the customer’s operational history.
After the invoice is created, the QuickBooks integration sends the accounting copy automatically.
What payments sync?
When a client pays an invoice using a supported DunaHub card or ACH payment flow, the payment can be recorded against the corresponding invoice in QuickBooks.
This creates a more connected sequence:
- Contractor creates the invoice in DunaHub;
- Invoice syncs to QuickBooks;
- Customer pays through the supported online payment flow;
- Payment is recorded in DunaHub;
- Payment is pushed to QuickBooks;
- QuickBooks associates the payment with the invoice.
The contractor should still follow normal bookkeeping and bank-reconciliation procedures.
A payment appearing in QuickBooks does not eliminate the need to review:
- payment-processing fees;
- deposits;
- bank activity;
- refunds;
- chargebacks;
- accounting classifications.
The integration reduces manual entry. It does not replace financial review.
Does the integration work with card and ACH payments?
The documentation currently identifies card and ACH payments made through DunaHub as eligible for payment synchronization.
Online payments are connected to the DunaHub invoice and Stripe Connect workflow.
Depending on the account configuration, a contractor may:
- Create an invoice;
- Send the public invoice link;
- Allow the customer to pay online;
- Record the payment automatically;
- Sync the payment to QuickBooks.
Payments collected outside the supported DunaHub flow may require a different recording process.
For example, cash, check, bank transfer, or a payment entered directly in QuickBooks should not automatically be assumed to sync back into DunaHub because the integration is one-way.
Does the integration work in real time?
Yes.
Supported records are pushed to QuickBooks as they are created in DunaHub.
The business does not need to wait for a nightly or weekly batch process before the sync begins.
A typical sequence is:
- Invoice is created;
- DunaHub attempts to push it to QuickBooks;
- QuickBooks receives the record;
- The connection status remains available in Settings.
Real-time synchronization helps the accounting records stay closer to the operational activity.
However, the business should still review the sync status rather than assuming that every individual record succeeded.
Will a QuickBooks error block work in DunaHub?
No.
The sync uses a fire-and-forget approach.
If QuickBooks rejects a particular record, the original action in DunaHub can still be completed.
For example:
- the lead remains saved;
- the invoice remains created;
- the job workflow continues;
- the team can keep working.
The accounting sync error can be investigated afterward.
This prevents a temporary QuickBooks problem from stopping the contractor’s sales or service process.
The company should still correct and retry failed records so that the accounting system remains complete.
Can re-syncing create duplicate invoices?
The integration is designed to be idempotent.
In practical terms, retrying the same supported record should not create another copy of that record in QuickBooks.
This is important when:
- a temporary error occurs;
- a connection token expires;
- the contractor retries a failed invoice;
- the system repeats a sync request.
Without duplicate protection, retrying could create two customers or two invoices for one transaction.
The integration uses the relationship between the DunaHub record and its QuickBooks counterpart to avoid creating another copy during a normal re-sync.
Is there an extra monthly fee for the QuickBooks sync?
The integration itself does not have an additional monthly synchronization fee.
However, the contractor may still have separate costs for:
- the selected DunaHub plan;
- a QuickBooks Online subscription;
- payment-processing services;
- other accounting or business tools.
“No fee for the sync itself” does not mean that the connected software products are both free.
Review the DunaHub plans and pricing and the contractor’s current QuickBooks subscription separately.
Is the integration available in Brazil?
No.
The current DunaHub QuickBooks integration is available only to organizations configured for the United States.
If a DunaHub organization uses the BR region, the QuickBooks option does not appear in Settings.
Brazilian businesses should not expect this integration to replace:
- Brazilian accounting software;
- NFS-e systems;
- tax-document platforms;
- local financial or fiscal integrations.
The region setting controls whether the QuickBooks configuration is displayed.
Does it work with QuickBooks Desktop?
The current documentation specifically covers QuickBooks Online.
It does not document a connection with:
- QuickBooks Desktop;
- locally installed QuickBooks editions;
- exported desktop company files;
- manual desktop synchronization.
Businesses using a desktop edition should not assume compatibility.
The connection process relies on Intuit’s online authorization flow and QuickBooks Online account access.
How to connect QuickBooks Online to DunaHub
The connection process can be completed from the DunaHub settings.
Step 1: Open QuickBooks settings
In the DunaHub dashboard, open:
Settings → QuickBooks
If the option is not visible, confirm that the organization is configured for the United States.
Step 2: Select Connect QuickBooks
Click the connection button.
DunaHub redirects you to Intuit’s official authorization page.
Step 3: Sign in through Intuit
Enter the credentials for the QuickBooks Online account you want to connect.
The QuickBooks password is entered on the Intuit authorization page. It is not sent to or stored by DunaHub.
Step 4: Review the access request
Confirm the company and permissions shown by Intuit.
Make sure you are connecting the correct QuickBooks company.
A user who manages more than one accounting company should verify the selected account carefully.
Step 5: Approve the connection
Approve the access request.
Intuit then returns you to DunaHub.
Step 6: Confirm the status
DunaHub displays a confirmation when the connection succeeds.
The QuickBooks settings page should show the integration as connected.
Step 7: Create a test record
Before depending on the integration for normal operations:
- Create a test lead or customer;
- Create a small test invoice;
- Confirm that the customer appears in QuickBooks;
- Confirm that the line items and total are correct;
- Review the sync status.
Testing helps identify account, mapping, or permission issues early.
How does the authorization process protect the password?
The integration uses OAuth2.
This means the contractor authorizes access through Intuit rather than providing the QuickBooks password directly to DunaHub.
DunaHub receives a revocable access token.
The access token allows the authorized integration to send supported records without storing the user’s QuickBooks login password.
The token can be revoked by:
- disconnecting QuickBooks inside DunaHub;
- revoking the application from the QuickBooks or Intuit account.
This is safer than giving another platform a reusable copy of the QuickBooks username and password.
What connection statuses can appear?
Open Settings → QuickBooks to review the current status.
Connected
The authorization token is active, and supported new records can be synced.
Not connected
There is no active token.
Nothing is currently being sent to QuickBooks.
Token expired
The Intuit authorization needs to be refreshed.
Click Reconnect and complete the authorization flow again.
A token can expire or become invalid even when the connection worked previously.
Checking this status should be one of the first troubleshooting steps when synchronization stops.
What happens if the token expires?
When the Intuit token expires, new records may stop reaching QuickBooks.
The contractor should:
- Open Settings → QuickBooks;
- Review the status;
- Click Reconnect;
- Sign in through Intuit;
- Approve the connection again;
- Test a new record.
Refreshing the authorization establishes a new valid connection.
Do not repeatedly recreate customers or invoices before checking the token status. The original DunaHub records may still exist and only need a sync retry.
How to disconnect QuickBooks
The integration can be disconnected at any time.
- Open Settings → QuickBooks;
- Click Disconnect;
- Confirm the action.
The access token is revoked immediately.
After disconnection:
- new customers are not pushed;
- new invoices are not pushed;
- eligible payments are not pushed;
- existing DunaHub records remain available;
- existing QuickBooks records are not automatically deleted.
Disconnecting removes future integration access. It does not erase the accounting records that were previously created.
Can QuickBooks be reconnected later?
Yes.
Return to Settings → QuickBooks and select Connect QuickBooks.
Complete the Intuit authorization again.
After reconnection, newly created supported records can begin syncing.
However, records created while the integration was disconnected do not automatically sync retroactively.
That limitation should be considered before disconnecting the account during active billing periods.
Do records created while disconnected sync later?
No, not automatically.
Only new supported records created after the reconnection flow begin moving through the integration again.
For example:
- QuickBooks is disconnected on Monday;
- Five invoices are created Tuesday through Thursday;
- QuickBooks is reconnected Friday;
- The five disconnected-period invoices do not automatically appear;
- New invoices created after reconnection can sync.
The business may need to enter or handle the missing accounting records separately.
Before disconnecting, consider:
- pending invoices;
- active payment collection;
- month-end bookkeeping;
- employee responsibilities;
- whether another accounting process is prepared.
How should contractors divide work between DunaHub and QuickBooks?
The two platforms have different primary roles.
DunaHub manages the customer operation
DunaHub can organize:
- leads;
- sales pipeline;
- WhatsApp, SMS, email, and webchat;
- proposals;
- job scheduling;
- online booking;
- customer portals;
- invoices;
- payments;
- review requests;
- follow-up automations.
QuickBooks manages the accounting process
QuickBooks can be used by the business and its accounting professionals for:
- bookkeeping;
- financial categorization;
- reconciliation;
- financial statements;
- accounting review;
- tax preparation workflows.
The integration connects operational billing activity to accounting.
It should not be treated as a replacement for bookkeeping decisions or professional accounting advice.
Should invoices be edited in DunaHub or QuickBooks?
Because the sync is one-way, invoice changes should normally be managed in the system the company has chosen as its operational source.
For a DunaHub-led workflow, that source is DunaHub.
A consistent internal policy could be:
- Prepare the proposal in DunaHub;
- Convert approved work into a job;
- Complete the service;
- Create the invoice in DunaHub;
- Allow it to sync;
- Avoid editing customer-facing operational details only in QuickBooks;
- Use QuickBooks for accounting review and reconciliation.
When an accounting adjustment is made only in QuickBooks, the DunaHub invoice will not automatically receive the update.
The team should determine how exceptions will be documented.
What can cause a customer sync conflict?
A customer may fail to sync when their name or email conflicts with an existing QuickBooks record.
This can happen when:
- a customer already exists under a slightly different name;
- two customer records use the same identifying information;
- a vendor or employee has a conflicting display name;
- the QuickBooks customer record was created manually before the integration;
- customer data is incomplete or inconsistent.
To investigate:
- Search for the customer in QuickBooks;
- Review existing names and email addresses;
- Compare them with the DunaHub lead;
- Correct the conflicting information;
- Retry the sync.
Avoid immediately creating another customer with a modified spelling merely to bypass the error. That can create duplicate accounting records.
What can cause an invoice line-item error?
A sync can fail when an invoice references a QuickBooks product or service that has been deleted.
For example:
- A service item is used in a DunaHub invoice;
- The corresponding product or service is removed from QuickBooks;
- DunaHub attempts to sync the invoice;
- QuickBooks rejects the reference.
The contractor should:
- Review the invoice line items;
- Check the available products and services in QuickBooks;
- Restore, replace, or correct the underlying item;
- Retry the synchronization.
Accounting item lists should be maintained carefully, especially when several employees create invoices or change service catalogs.
What should you do when one record does not sync?
Use a structured troubleshooting process.
1. Confirm the connection
Open Settings → QuickBooks.
Make sure the status is Connected.
2. Check for an expired token
Reconnect if the token is expired.
3. Open the failed DunaHub record
Review the lead, invoice, or payment.
Look for the reported integration error.
4. Validate customer data
Check:
- customer name;
- email;
- duplicates;
- conflicts with existing QuickBooks records.
5. Validate line items
Confirm that the referenced products or services still exist in QuickBooks.
6. Correct the underlying issue
Update the relevant field or item.
7. Retry
Trigger the synchronization again.
Because retries are designed not to create duplicates, the same supported record can be reprocessed after the error is corrected.
What should you do when all synchronization stops?
When every new record suddenly stops syncing, an expired token is a likely cause.
Use this process:
- Open DunaHub;
- Go to Settings → QuickBooks;
- Review the connection status;
- Select Reconnect;
- Complete the Intuit authorization;
- Create or retry a test record;
- Confirm that it appears in QuickBooks.
Also check whether:
- the QuickBooks company is still active;
- the authorized user still has access;
- application access was revoked in Intuit;
- the organization region was changed;
- the correct QuickBooks company was selected.
QuickBooks integration setup checklist
Before activating the normal workflow, confirm:
- The DunaHub organization is configured for the United States;
- The business uses QuickBooks Online;
- The correct QuickBooks company is selected;
- An authorized Intuit user completes the connection;
- The status shows Connected;
- Customer names are consistent;
- Customer email addresses are valid;
- QuickBooks products and services are current;
- A test customer was synced;
- A test invoice was synced;
- The invoice line items match;
- The invoice total matches;
- Payment behavior has been tested when applicable;
- The office team knows that the sync is one-way;
- Employees know where invoices should be edited;
- Accounting staff understand which records originate in DunaHub;
- Someone is responsible for reviewing failed syncs;
- A process exists for records created while disconnected.
Example: gutter contractor
A homeowner requests a gutter replacement estimate.
The contractor:
- Creates the lead in DunaHub;
- Sends a visual proposal;
- Receives customer approval;
- Converts the proposal into a job;
- Completes the installation;
- Creates the invoice;
- Collects the card or ACH payment through the supported flow.
With QuickBooks connected:
- the customer record is created or updated;
- the invoice appears with its line items and total;
- the eligible payment is recorded against the invoice.
The office avoids recreating the transaction manually in the accounting system.
Example: HVAC maintenance company
An HVAC company completes dozens of maintenance appointments every month.
Each job may produce:
- a customer update;
- a service invoice;
- an online payment.
Without integration, the office must re-enter those transactions into QuickBooks.
With the integration, the business manages the appointment through the DunaHub Job Scheduling system, creates the invoice after completion, and allows the supported accounting records to sync.
The accounting team can then focus on reviewing and reconciling the records instead of recreating them.
Example: pressure washing company
A pressure washing company uses:
- public forms to capture leads;
- the CRM pipeline to qualify them;
- proposals to present pricing;
- jobs to schedule work;
- invoices to collect payment.
After the customer pays online, the QuickBooks integration records the accounting-side customer, invoice, and payment.
The customer journey remains in DunaHub, while the financial transaction is available in QuickBooks.
Example: commercial cleaning business
A cleaning company serves residential and commercial customers.
A commercial client may have:
- recurring jobs;
- several invoices;
- multiple contacts;
- a longer payment process.
The office manages customer communication and service history through DunaHub.
Invoices sync to QuickBooks for bookkeeping and financial reporting.
Because the integration is one-way, the team follows a clear rule: operational invoice changes are made in DunaHub before accounting review.
What are the main benefits?
Less duplicate entry
Customer and invoice information does not need to be recreated manually.
Fewer typing errors
Automated transfer reduces mistakes caused by copying names, emails, line items, and totals.
Faster bookkeeping preparation
Accounting records can appear closer to the time the operational transaction happens.
Connected customer history
The contractor keeps the complete service workflow in DunaHub while the accounting copy is sent to QuickBooks.
Payment matching
Supported online payments can be recorded against the appropriate invoice.
Workflow protection
A QuickBooks sync error does not block the DunaHub lead, invoice, or job process.
Safe retry behavior
Corrected records can be retried without intentionally creating another copy.
What are the current limitations?
The integration has several important boundaries.
United States organizations only
Brazilian-region organizations do not see the setting.
QuickBooks Online only
QuickBooks Desktop is not documented as supported.
One-way synchronization
QuickBooks edits do not update DunaHub.
No retroactive synchronization after disconnection
Records created while disconnected are not automatically sent later.
Supported records only
The current documentation identifies customers, invoices, and eligible payments.
It does not promise automatic synchronization for every QuickBooks object.
Accounting review is still necessary
The integration does not replace reconciliation, bookkeeping, tax classification, or professional accounting work.
Record conflicts can occur
Existing customer names, emails, or deleted products and services may cause individual sync failures.
Common integration mistakes
Connecting the wrong QuickBooks company
Confirm the company during Intuit authorization.
Assuming the sync is two-way
Changes made directly in QuickBooks do not return to DunaHub.
Editing invoices in both systems
Choose a clear operational source.
Ignoring token status
Reconnect when authorization expires.
Disconnecting during active invoicing
Records created while disconnected do not retroactively sync.
Creating duplicate customers to bypass conflicts
Resolve the existing customer data instead.
Deleting accounting items still used by invoices
Review product and service dependencies before removing them.
Assuming every payment method syncs
The documentation specifically identifies supported card and ACH payments through DunaHub.
Treating synchronization as reconciliation
Synced records still need financial review.
Assuming Brazilian accounts can enable it
The integration is currently region-gated for U.S. organizations.
How should the integration be monitored?
A simple weekly routine can include:
- Open Settings → QuickBooks;
- Confirm the connection is active;
- Review failed records;
- Compare a sample of recent invoices;
- Confirm payments are attached correctly;
- Check for duplicate customers;
- Resolve product or service errors;
- Inform accounting staff about unusual transactions.
At month-end, the business should also review:
- invoices created;
- payments received;
- processing fees;
- refunds;
- outstanding balances;
- disconnected periods;
- failed syncs.
Automation reduces data entry, but review keeps the accounting information reliable.
QuickBooks integration versus CSV export
Both methods can move information between systems, but they work differently.
| Automatic integration | CSV export and import |
|---|---|
| Sends records in real time | Requires manual export |
| Reduces repeated data entry | Requires file handling |
| Keeps record relationships | Mapping may need to be configured |
| Can retry individual failures | Errors may affect a batch |
| Works continuously while connected | Used at selected intervals |
| Supports documented record types | May be useful for broader historical data |
CSV may still be useful for:
- historical migrations;
- records created while disconnected;
- large cleanup projects;
- accountant-requested reports;
- unsupported data types.
The automatic integration is better suited to the ongoing daily workflow.
Does the integration replace an accountant?
No.
The integration transfers supported records.
It does not determine:
- the correct tax treatment;
- chart-of-accounts classifications;
- deductible expenses;
- payroll obligations;
- filing requirements;
- revenue-recognition rules;
- compliance decisions.
An accountant or bookkeeper may still need to:
- review transactions;
- reconcile accounts;
- categorize activity;
- verify fees;
- manage taxes;
- prepare financial statements.
The integration saves administrative time but does not make professional financial judgment automatic.
Summary: how does the DunaHub QuickBooks integration work?
The DunaHub QuickBooks integration sends supported operational records from DunaHub to QuickBooks Online.
The current integration synchronizes:
- customers;
- invoices;
- supported card and ACH payments.
The sync is:
- one-way;
- real-time;
- designed not to block DunaHub workflows;
- safe to retry without creating normal duplicate records;
- authorized through Intuit OAuth2;
- available to U.S.-region DunaHub organizations.
The connection can be reviewed under:
Settings → QuickBooks
When authorization expires, the contractor can reconnect through Intuit.
If one record fails, the team should review customer conflicts and deleted QuickBooks products or services.
Records created while the integration is disconnected do not automatically sync after reconnection.
The complete workflow is:
CRM lead → Proposal → Job → DunaHub invoice → Customer payment → QuickBooks accounting record
Frequently Asked Questions
What does the QuickBooks integration sync?
It currently sends customers, invoices, and supported payments from DunaHub to QuickBooks Online.
Is the synchronization two-way?
No. The sync is one-way from DunaHub to QuickBooks.
Do QuickBooks changes update DunaHub?
No. Edits made directly in QuickBooks do not flow back.
Does the integration work in real time?
Yes. Supported records are pushed as they are created.
Does DunaHub store my QuickBooks password?
No. Authorization occurs through Intuit’s OAuth flow, and DunaHub receives a revocable access token.
Does the integration cost extra?
There is no additional monthly fee for the synchronization itself. DunaHub, QuickBooks, and payment-processing costs may still apply separately.
Is QuickBooks Desktop supported?
The current documentation covers QuickBooks Online, not QuickBooks Desktop.
Is the integration available in Brazil?
No. It is currently available only for DunaHub organizations configured for the United States.
What happens if the QuickBooks token expires?
Open Settings → QuickBooks and select Reconnect.
Will a sync failure block an invoice in DunaHub?
No. The DunaHub record remains available, and the sync can be retried after correcting the issue.
Can a retry create duplicates?
The integration is designed to make retries idempotent so that the same supported record is not recreated as a duplicate.
What happens when QuickBooks is disconnected?
The access token is revoked, and new supported records stop syncing.
Do disconnected-period records sync after reconnection?
No. Records created while disconnected do not automatically sync retroactively.
Why did a customer fail to sync?
The name or email may conflict with an existing QuickBooks record.
Why did an invoice fail to sync?
A line item may reference a product or service that was deleted in QuickBooks.
Do card payments sync?
Supported card payments collected through the DunaHub flow can be recorded against the invoice in QuickBooks.
Do ACH payments sync?
Supported ACH payments collected through DunaHub can also be recorded against the related invoice.
Does the integration replace bookkeeping?
No. Reconciliation, categorization, tax review, and other accounting responsibilities remain necessary.
Connect your contractor CRM to QuickBooks
Want to stop entering the same customers, invoices, and payments in two different systems?
Create your DunaHub account, connect QuickBooks Online from Settings, and keep your contractor operations and accounting workflow connected.
Ready to organize your sales pipeline?
DunaHub is free to start. No credit card required.
Start free →