Invoice Genie makes it easy to sync your invoices, clients, and payments with QuickBooks Online. This step-by-step guide will walk you through connecting your QuickBooks account and configuring sync options so your accounting stays up to date — automatically.

Before You Begin

  • You’ll need your QuickBooks Online (Intuit) login credentials handy.
  • You must have an Administrator role in Invoice Genie.
  • The QuickBooks user you authorize with must have Company Admin (Master Admin) permissions in QuickBooks Online. Users with limited access may not be able to complete the OAuth authorization.

Step 1: Open QuickBooks Settings

  1. Open the Invoice Genie app and tap your profile avatar (the circle with your initials) in the top-right corner of the screen.
  2. In the menu that appears, scroll down to the Administration section.
  3. Tap “Business Settings”.
  4. You’ll see a list of your businesses. Under each business name, look for the row labeled “QuickBooks” (with the QuickBooks logo).
  5. Tap “QuickBooks” to open the QuickBooks Settings screen.

Tip: If you don’t see the Administration section, make sure your account has the Administrator role.


Step 2: Choose Your Environment

Before connecting, you’ll see an Environment picker with two options:

  • Sandbox — Use this for testing. It connects to QuickBooks’ test environment so no real data is affected.
  • Production — Use this for your live QuickBooks account with real business data.

Select Production if you’re ready to sync real invoices and client data. Choose Sandbox if you’d like to try it out first without affecting your books.

Important: You can only change the environment before connecting. Once connected, the environment is locked. To switch, you’ll need to disconnect and reconnect.


Step 3: Connect to QuickBooks

  1. Tap the green “Connect with QuickBooks” button.
  2. A secure browser window will open showing the Intuit sign-in page.
  3. Log in with your QuickBooks Online credentials (your Intuit email and password).
  4. Review the permissions and tap “Connect” to authorize Invoice Genie to access your QuickBooks data.
  5. The browser will close automatically and you’ll be taken back to Invoice Genie. You should now see a green checkmark confirming the connection.

Multi-business tip: If you have multiple businesses in Invoice Genie, you can connect each one to a different QuickBooks company. Each connection uses a fresh login session, so your accounts stay separate.


Step 4: Enable QuickBooks Sync

After connecting, you’ll see several settings sections. The first thing to do is make sure QuickBooks is enabled:

  1. Find the “Enable QuickBooks” toggle in the Status section.
  2. Turn it on (green). This activates the integration for this business.

All settings save automatically — there’s no “Save” button to tap.


Step 5: Configure Sync Options

Under the “Sync Options” section, you’ll find three toggles that control how data flows between Invoice Genie and QuickBooks:

Auto-Sync Invoices

When turned on, any new invoice you create in Invoice Genie will automatically be pushed to QuickBooks. This means your QuickBooks account always has an up-to-date copy of every invoice.

Import Invoices

When turned on, invoices created directly in QuickBooks will be automatically imported into Invoice Genie. This is perfect if you or your accountant sometimes create invoices in QuickBooks.

Sync Payments

When turned on, payment statuses are synced between both systems. When a customer pays an invoice in QuickBooks, that payment status is reflected in Invoice Genie (and vice versa).

Recommendation: For the best experience, we suggest turning on all three toggles so both systems are always in sync.


Step 6: Tax Calculation

Once you connect QuickBooks, QuickBooks handles all tax calculations automatically on synced invoices. Tax is applied based on your QuickBooks tax settings — your Invoice Genie tax settings are not used for synced invoices.

Note: Make sure your tax rates are configured correctly in your QuickBooks Online account before syncing. If your accountant manages tax rates in QuickBooks, everything will work automatically.


Step 7: Run Your First Sync

Now it’s time to sync your data! In the “Sync” section at the bottom, you’ll see two action buttons:

Sync to QuickBooks

Tap “Sync to QuickBooks” to push your existing Invoice Genie data — including your business profile, clients, items, and invoices — into QuickBooks. This is the best option if you’ve been using Invoice Genie and want to get everything into QuickBooks.

Import from QuickBooks

Tap “Import from QuickBooks” to pull your QuickBooks clients, items, and invoices into Invoice Genie. Use this if you’ve been using QuickBooks and want to bring that data into Invoice Genie.

Important: QuickBooks sync is not automatic in both directions. Any time you make changes directly in QuickBooks — such as adding a client, updating an invoice, or recording a payment — you’ll need to manually trigger an import. Go to Business Settings → QuickBooks and tap “Import from QuickBooks” to pull in the latest changes.

Each sync may take a moment depending on how much data you have. You’ll see a spinner while it’s working, and a “Success” message when it’s done.

Note: You can only run one sync operation at a time. Wait for the current sync to finish before starting another.



What Syncs Between Invoice Genie and QuickBooks

Here’s a quick reference for what data flows between the two systems:

Data TypeInvoice Genie → QuickBooksQuickBooks → Invoice Genie
Clients / Customers✅ Synced automatically with invoices✅ Via “Import from QuickBooks”
Invoices✅ Auto-synced (if Auto-Sync Invoices is on)✅ Via “Import from QuickBooks”
Estimates✅ Synced when created or updated✅ Via “Import from QuickBooks”
Payments✅ Recorded in QB (if Sync Payments is on)✅ Updated in Invoice Genie (if Sync Payments is on)
Invoice Photos / Attachments✅ Uploaded to QB as attachments✅ Downloaded when importing
Business Profile (name, address, phone, email)✅ Pushed on “Sync to QuickBooks”❌ Not imported
Items / Products & Services✅ Auto-created in QB as needed✅ Via “Import from QuickBooks”

Delete behavior: Deleting an invoice in Invoice Genie will void or delete it in QuickBooks. Deleting an invoice in QuickBooks will mark it as deleted in Invoice Genie and send you a push notification.

Checking Your Sync Status

After syncing, you can see when data was last synced by checking the “Last Sync” row in the Environment section. It shows the date and time of your most recent sync operation (for example, “Feb 22, 2026 at 8:25 PM”).


Disconnecting QuickBooks

If you ever need to disconnect your QuickBooks account:

  1. Scroll to the bottom of the QuickBooks Settings screen.
  2. Tap “Disconnect QuickBooks” (shown in red).
  3. Confirm by tapping “Disconnect” in the popup.

Don’t worry — disconnecting won’t delete any data. Your invoices, clients, and payments remain in both systems. You can reconnect at any time.


Keeping Invoice Numbers in Sync

If you want Invoice Genie (or any external invoicing app) to control the invoice numbers that appear in QuickBooks, you need to enable Custom Transaction Numbers in your QuickBooks Online settings.

Required QuickBooks Setting

  1. Open ⚙️ Settings → Account and Settings
  2. Go to Sales
  3. Under Sales Form Content, click Edit
  4. Turn Custom transaction numbers ON
  5. Save changes

Once enabled, QuickBooks allows an external system to provide its own invoice number instead of forcing the next QuickBooks sequence.


Troubleshooting

“Token has expired” warning

If you see an orange warning that says your QuickBooks token has expired, simply disconnect and reconnect following the steps above. This happens occasionally and is easy to fix.

Sync errors

If a sync operation shows an error, try again in a few minutes. If the problem persists, make sure your QuickBooks Online subscription is active and your internet connection is stable.

Changes made in QuickBooks aren’t showing in Invoice Genie

Invoice Genie does not automatically detect every change made directly in QuickBooks. After updating clients, invoices, or payments in QuickBooks, go to Business Settings → QuickBooks Settings and tap “Import from QuickBooks” to pull in the latest data.

Can’t see Business Settings

The Business Settings menu (which contains QuickBooks) is only visible to users with the Administrator role. Ask your account administrator to either give you access or configure QuickBooks on your behalf.


“Duplicate Name Exists Error” when syncing customers

QuickBooks requires every customer to have a unique Display Name. If you have two contacts with the same name (for example, two entries named “John Smith”), QuickBooks will reject the sync with a duplicate name error. To fix this, open QuickBooks, find the conflicting customer, and slightly differentiate the name (for example, “John Smith – Roofing”).

Invoice numbers in QuickBooks don’t match Invoice Genie

If invoices appear in QuickBooks with a different number than expected, make sure Custom Transaction Numbers is enabled in QuickBooks (see the Keeping Invoice Numbers in Sync section above). Without this setting, QuickBooks assigns its own sequential number and ignores the one sent by Invoice Genie.

Summary

That’s it! With QuickBooks connected, your invoicing data flows seamlessly between Invoice Genie and QuickBooks Online. Here’s a quick recap:

  1. Open QuickBooks Settings from your Business Settings
  2. Choose your environment (Production for live data)
  3. Connect with your Intuit credentials
  4. Enable the QuickBooks toggle
  5. Configure your sync options
  6. Sync your data in either direction

If you have questions or need help, don’t hesitate to reach out to our support team. Happy invoicing!


Setting Item Discounts in QuickBooks (and How They Sync to Invoice Genie)

When you connect QuickBooks with Invoice Genie, any discounts you add in QuickBooks sync automatically to your invoices and estimates. This section explains how to set up both flat (dollar) and percentage discounts so they appear the way you expect.

Two Kinds of Discount

Invoice Genie supports two levels of discount, and QuickBooks handles them differently:

Discount levelWhere it appearsQuickBooks support
Per-item discountOn a single line itemNo built-in “%” field — entered as a separate discount line
Invoice-level discountApplied to the whole invoice subtotalBuilt-in Discount field with a $ / % toggle

Invoice-Level Discount (Easiest for Percentages)

QuickBooks has a built-in Discount field below the line items.

  1. Open the invoice (or estimate) in QuickBooks.
  2. Find the Discount field beneath the line items.
  3. Click the toggle to choose percent (%) or dollar ($).
  4. Enter your value (for example, 10% or $50).
  5. Save.

On the next sync, Invoice Genie applies it as the invoice’s overall discount, keeping the same percentage or dollar amount you chose.

Per-Item Discount

QuickBooks does not have a percentage field on individual line items. A per-item discount is always entered as a separate line with a dollar amount (using a “Discount” product/service with a negative rate).

Flat (Dollar) Item Discount

  1. Add your product/service line as normal (for example, $600).
  2. On the next line, add your Discount item and enter the dollar amount (for example, $60).
  3. Save.

Invoice Genie attaches the $60 to the item above it as a flat discount.

Percentage Item Discount

Because QuickBooks only stores a dollar amount on the discount line, Invoice Genie automatically converts it to a percentage when the dollar amount is an exact, even percentage of the item total. For example:

  • Item total $600, discount $60 → synced as 10%
  • Item total $250, discount $25 → synced as 10%
  • Item total $400, discount $100 → synced as 25%

If the dollar amount does not divide into a clean percentage (for example, $57 on a $600 item = 9.5%), Invoice Genie keeps it as a flat dollar discount so the amount stays exact.

💡 Tip: To force a specific percentage regardless of the math, add (X%) in the discount line’s Description in QuickBooks — for example, a description of Loyalty discount (15%). Invoice Genie reads the 15 and stores it as a 15% item discount.

Quick Reference

What you wantWhere to set it in QuickBooksHow it syncs
10% off the whole invoiceInvoice Discount field → set to % → 10Invoice-level 10%
$50 off the whole invoiceInvoice Discount field → set to $ → 50Invoice-level $50
$60 off one item ($600 line)Discount line, amount $60Item discount 10% (clean percentage)
$57 off one item ($600 line)Discount line, amount $57Item discount $57 (flat)
Exactly 15% off one itemDiscount line + description (15%)Item discount 15%

Notes

  • Discounts sync in real time through the QuickBooks connection — there’s usually no need to manually re-import after editing in QuickBooks.
  • A flat dollar discount that happens to equal a clean percentage of the item total will display as that percentage in Invoice Genie. The discounted amount is identical either way, so your totals are unaffected.
  • Tax is calculated by QuickBooks for connected invoices and is never affected by how the discount type is displayed.

Real-Time Sync: How QuickBooks Webhooks Work with Invoice Genie

Invoice Genie uses QuickBooks webhooks to receive instant notifications whenever you make a change in QuickBooks Online. This means you don’t have to manually tap “Sync” — Invoice Genie updates automatically in the background.

What Syncs in Real Time

The following changes in QuickBooks trigger an immediate sync to Invoice Genie:

QuickBooks changeWhat happens in Invoice Genie
Invoice created or updatedInvoice is created or updated (items, discounts, tax, totals, due date)
Estimate created or updatedEstimate is created or updated with the same detail
Customer created or updatedClient record is created or updated (name, address, email, phone)
Customer deleted or voidedClient is marked deleted in Invoice Genie
Product/Service item created or updatedSaved item is created or updated in your items list
Product/Service item deleted or voidedItem is removed from your saved items list

How Fast Does It Sync?

QuickBooks sends a webhook notification to Invoice Genie within a few seconds of you saving a change. Invoice Genie then fetches the updated record and saves it. In practice you’ll see the change reflected in the app within 5–30 seconds, depending on QuickBooks server response times.

If the invoice or estimate hasn’t changed since the last sync (QuickBooks reports the same version), the sync is skipped to avoid unnecessary processing.

Which Platforms Get Live Updates?

PlatformReal-time push?Notes
iOS app✅ Yes — live refreshReceives a silent push notification and refreshes the relevant list automatically
Android app✅ Yes — live refreshReceives a Firebase (FCM) push notification and refreshes invoices, estimates, clients, and items automatically
Web portal⏳ Not yet — on page reloadThe data is saved correctly on the server in real time, but the web portal does not currently receive a push notification. The updated data appears the next time you reload the page. Real-time push for the web portal is planned for a future update.

Does the Sync Work Both Ways?

Changes flow from QuickBooks → Invoice Genie automatically via webhooks. Changes you make inside Invoice Genie (creating or editing an invoice, estimate, or client) are pushed to QuickBooks immediately when you save, just as before — that direction is unaffected by webhooks.

Manual Sync Is Still Available

If you ever need to force a full re-import — for example after reconnecting your QuickBooks account — you can still use the Sync / Import from QuickBooks button in the app. This overrides the version check and pulls the latest data regardless of whether anything changed.

Troubleshooting: Data Not Updating?

  • iOS / Android: Make sure the app is connected to the internet and notifications are enabled for Invoice Genie. If an update is missed, pull-to-refresh or use the manual Sync button.
  • Web portal: Simply reload the page — the data on the server is already up to date.
  • QuickBooks disconnected: If your QuickBooks connection has expired, re-authorize in Settings → QuickBooks. Webhooks resume automatically once the connection is restored.