New for WooCommerce, with or without rentals

QuickBooks Sync for WooCommerce

Your WooCommerce sales in QuickBooks, without typing them in

Sales Igniter QuickBooks Sync posts your orders, payments and refunds to QuickBooks Online as they happen. If QuickBooks is down or a setting is missing, nothing is lost: the order waits and tells you what to fix.

Sales Igniter QuickBooks Sync

$99a year
Works on any WooCommerce storeQuickBooks Online

One year of updates and support. Renews at $69 a year.

Why it matters

Your books should match your store without retyping it

Bookkeeping from a WooCommerce store goes wrong in the same few places, and rentals add a few more.

By hand, or with a plain sync

  • Every web order typed in again, where a wrong amount or a missed refund goes unnoticed
  • A balance paid later goes in as a second sale, so the same income counts twice
  • Security deposits land in income, though you’ll give most of them back
  • When the connection drops, orders go missing and nobody hears about it

With QuickBooks Sync

  • Each paid order posts by itself as an invoice and its payment, or a sales receipt
  • A balance is a second payment on the booking’s invoice
  • Deposits post to an item on a liability account you choose
  • An order that can’t post waits under Needs attention, with what to fix
How it works

Nothing is sent until you press Start

1
Connect

Sign in to QuickBooks and pick your company. We never see your password.

2
Choose

When an order posts, how customers are kept, and a number prefix if you want one.

3
Map

Where products, shipping, fees, taxes and each payment method go in QuickBooks.

4
Preview

See exactly what your latest order would send. Nothing has been sent yet.

5
Start

New orders post from that moment. Past orders wait until you import them.

See it work

One booking, from checkout to QuickBooks

Brightside Rentals rents party tents and chairs. Sarah Miller books a tent and forty chairs, pays part today with a security deposit, and the rest before the party. This is what QuickBooks Sync does with that booking, on the real screens. The store and its customers are made up, and the books are a QuickBooks sandbox company.

Step 1 · Connect

Sign in to QuickBooks and pick your company

Press Connect to QuickBooks, sign in at Intuit and pick your company. We never see your password.

Signing in goes through our service at connect.rentalbookingsoftware.com, because Intuit’s app secret can’t ship inside a plugin. Your orders go from your own server straight to QuickBooks, and the sign-in is kept encrypted in your own database. If you’d rather, Advanced: use my own developer app skips our service.

  • Disconnect any time: nothing in your books changes
  • A lost connection pauses the queue until you reconnect, and nothing waiting is lost
The Connection card before connecting: You will sign in to QuickBooks and pick your company. We never see your password., and a Connect to QuickBooks button. Below it, Advanced: use my own developer app, open: Skips our connection service, the redirect address to add to your Intuit app, Client ID and Client secret boxes, These are Development keys (sandbox company), and Save keys.The Connection card before connecting: You will sign in to QuickBooks and pick your company. We never see your password., and a Connect to QuickBooks button. Below it, Advanced: use my own developer app, open: Skips our connection service, the redirect address to add to your Intuit app, Client ID and Client secret boxes, These are Development keys (sandbox company), and Save keys.
The Connection card on the Settings tab, with the Advanced choice open.
Step 2 · Set up

Choose how orders post and where each line goes

Next, the set-up asks how orders post: when the order is paid or when it’s completed, as an invoice with its payment or as a sales receipt, one QuickBooks customer per email address or one for all web sales, and a number prefix such as WEB- if you want one.

Then Where lines post: products, rentals, shipping, fees and rounding each go to a QuickBooks item, and each row starts with a suggestion read from your items. Use a service or non-stock item, never a stock item. Create what is missing for me adds service items on an income account for you. With our rental plugins active you also get rows for late fees, damage charges and security deposits.

After taxes and payment methods comes a preview of your latest order, exactly as it would be sent. Nothing goes to QuickBooks until you press Start syncing.

The How orders post card: Post when The order is paid, or on hold for offline payment; Post as Invoice and payment; Customers One per email address; Name of that customer Web sales; Number prefix WEB-; Locations Leave them out; Daily alert email books@example.com.The How orders post card: Post when The order is paid, or on hold for offline payment; Post as Invoice and payment; Customers One per email address; Name of that customer Web sales; Number prefix WEB-; Locations Leave them out; Daily alert email books@example.com.
How orders post: your choices, on the Settings tab and in the set-up.
The Where lines post card, a QuickBooks item on each row: Product sales, Rentals Rental income, Late fees, Damage charges, Shipping, Fees and Rounding, each noted A service or non-stock item. Never a stock item: rental stock is not sold.; and Security deposits showing the suggested item Security deposit, noted Money held for the customer, not income: a service item whose account is a liability.The Where lines post card, a QuickBooks item on each row: Product sales, Rentals Rental income, Late fees, Damage charges, Shipping, Fees and Rounding, each noted A service or non-stock item. Never a stock item: rental stock is not sold.; and Security deposits showing the suggested item Security deposit, noted Money held for the customer, not income: a service item whose account is a liability.
Where lines post, with the rows our rental plugins add.
Step 3 · The order

Sarah’s booking waits, and says why

Sarah books online: a 20×30 frame tent and 40 chairs from 20 to 22 November, delivery, and a $200 security deposit. She pays $595 today, and $320 is due before the party.

In this sample store, where security deposits go was never saved. A deposit is money you’ll give back, so QuickBooks Sync won’t guess and post it as income. The order waits, and its QuickBooks box on the order screen says exactly what’s missing.

  • Nothing is lost while an order waits, and your checkout never waits for QuickBooks
  • Every gap is named at once, so one visit to Settings fixes them all
  • A daily alert email, only on a day something needs you
Sarah Miller’s order: Frame Tent 20×30, $480.00, and 40 Chiavari chairs, $160.00, each marked Rental: Fri 20 Nov to Sun 22 Nov, 2 days; Refundable deposit: Frame Tent 20×30, $200.00; Due later (by Wed 18 Nov), minus $320.00; Delivery and pick-up, $75.00; Order total $595.00, paid by credit card.Sarah Miller’s order: Frame Tent 20×30, $480.00, and 40 Chiavari chairs, $160.00, each marked Rental: Fri 20 Nov to Sun 22 Nov, 2 days; Refundable deposit: Frame Tent 20×30, $200.00; Due later (by Wed 18 Nov), minus $320.00; Delivery and pick-up, $75.00; Order total $595.00, paid by credit card.
Sarah’s booking on the order screen.
The QuickBooks box on the same order: Needs attention, Nothing is chosen for The QuickBooks box on the same order: Needs attention, Nothing is chosen for
Its QuickBooks box, on the right of the order screen.
Step 4 · Fix and retry

Choose the item, press Retry, and it’s in QuickBooks

The Activity tab lists everything that needs you, with what to do. Pick the item for security deposits, a service item on a liability account, press Retry, and the booking posts.

QuickBooks gets one invoice for the whole booking, $915, with the $595 Sarah paid as its first payment. The rental lines carry their dates, and the deposit sits on the liability, not in income. The order now shows Posted, the invoice number and Open in QuickBooks.

This sandbox company numbers documents itself, so the invoice has QuickBooks’ own number and the order number goes in its private note. Turn on Custom transaction numbers in QuickBooks and each document carries your order number with your prefix, such as WEB-1095932.

  • Each order has Sync this order; the orders list has a QuickBooks column and Send to QuickBooks
The Activity tab: Needs attention lists Sarah Miller’s order with Nothing is chosen for Security deposits lines. Choose them under Settings, then press Retry, and a Retry button, above Retry all.The Activity tab: Needs attention lists Sarah Miller’s order with Nothing is chosen for Security deposits lines. Choose them under Settings, then press Retry, and a Retry button, above Retry all.
Activity: what needs you, and a Retry button for each.
The QuickBooks box on Sarah’s order after Retry: Posted, Invoice Tto4hg9-985260, Open in QuickBooks, Sync this order and View log.The QuickBooks box on Sarah’s order after Retry: Posted, Invoice Tto4hg9-985260, Open in QuickBooks, Sync this order and View log.
The same order a moment later.
Step 5 · After the party

The balance, the deposit and a refund, each in its place

Sarah pays the $320 balance. QuickBooks Sync knows it belongs to her booking, so it’s a second payment on the same invoice, not a new sale.

One chair came back broken, and you keep $45 of the deposit. That posts as one invoice that moves $45 from the deposit to income. The other $155 goes back to Sarah as a refund in WooCommerce, and QuickBooks gets a refund receipt for it by itself.

The log says what happened to every order, refund and payment, with the details if you need them.

The Activity log, newest first: a shop order posted as Invoice Tto4hg9-985263 with its payment, and its refund as RefundReceipt Tto4hg9-985264; on Sarah Miller’s booking, the kept part of the deposit as Invoice Tto4hg9-985262, the rest of the deposit given back as RefundReceipt Tto4hg9-985261, the balance as Payment recorded on the booking’s invoice, Invoice Tto4hg9-985260 posted with its payment after Retry, and the first try: Nothing is chosen for The Activity log, newest first: a shop order posted as Invoice Tto4hg9-985263 with its payment, and its refund as RefundReceipt Tto4hg9-985264; on Sarah Miller’s booking, the kept part of the deposit as Invoice Tto4hg9-985262, the rest of the deposit given back as RefundReceipt Tto4hg9-985261, the balance as Payment recorded on the booking’s invoice, Invoice Tto4hg9-985260 posted with its payment after Retry, and the first try: Nothing is chosen for
The log on the Activity tab, newest first.
  • Late fees, damage charges and extensions post as their own invoices that name the booking
  • A refund on a shop order posts by itself too
  • A document you delete in QuickBooks is never posted again by itself
Step 6 · Past orders

Bring in older orders only when you choose

Orders from before you connected never post on their own. On the Import tab, pick a date range and press Dry run: you see how many orders there are, how many are ready to post, the refunds and the totals, and nothing is sent.

Then press Start posting: they go oldest first, behind new orders. If they’re already in your books, press These are already in my books: link only. Each order is matched to its QuickBooks document by number, and nothing is posted.

  • The screen’s dry run reads up to 2,000 orders of a range; WP-CLI reads them all
The Import tab: Past orders, From 01/01/2026 To 10/31/2026 and a Dry run button, then the dry run: Orders in this range 675, Ready to post 627, Already linked 0, Refunds 8, Order totals 315546.98.The Import tab: Past orders, From 01/01/2026 To 10/31/2026 and a Dry run button, then the dry run: Orders in this range 675, Ready to post 627, Already linked 0, Refunds 8, Order totals 315546.98.
Import: the dry run sends nothing.
Nothing lost

Every order reaches your books, once

Orders, refunds and cancellations go into a queue and post in the background, so your checkout never waits for QuickBooks. What can’t post waits under Needs attention with what to fix.

  • Tries again after 1 minute, 5 minutes, 30 minutes, 2 hours and 12 hours
  • Each document is sent with a key QuickBooks recognises, so a lost answer never posts an order twice
  • A lost connection pauses the queue until you reconnect, and nothing waiting is lost
  • A daily alert email, only on a day something needs you
The Overview tab: Connection, Connected, Sandbox Company US 7ff5; Queue: Waiting to post 0, Needs attention 0, Held for rental rules 0, Posted 6, with a Pause syncing button.The Overview tab: Connection, Connected, Sandbox Company US 7ff5; Queue: Waiting to post 0, Needs attention 0, Held for rental rules 0, Posted 6, with a Pause syncing button.
The Overview tab: the connection and the queue at a glance.
What you get

The bookkeeping your store does every day, done in QuickBooks

Orders as they happen

Each paid order becomes an invoice and a payment, or a sales receipt. Post when the order is paid or when it’s completed.

Refunds and cancellations

A refund receipt when money goes back, a credit memo on an unpaid invoice. A cancelled order voids its document; one with a payment in the books waits for a refund in WooCommerce.

Totals that match

Each line goes to the QuickBooks item you pick, a service or non-stock item. The tax is the order’s own amount, so totals match the store, and a stray cent goes on a rounding line.

Customers your way

One customer per email address, found if they’re already there, or one customer for all web sales.

Money in the right account

Each payment method posts to the bank or clearing account you pick.

Past orders when you choose

Pick a date range, see a dry run with nothing sent, then post them oldest first, or link the ones already in your books.

On the order screen

Each order shows its state, with Open in QuickBooks, Sync this order and its log. The orders list has a column and a bulk action.

WP-CLI

Status, one order now, a queue run and imports from the command line.

Your own app if you like

Connect through our service, or through your own QuickBooks developer app.

Built for rental stores

A booking posts as one sale, not five

Our rental plugins make extra orders for one booking: a balance, a late fee, an extension. A plain sync posts each as a new sale and books the same income twice. Sales Igniter QuickBooks Sync knows what each one is.

  • Rental dates on the invoice lines
  • A balance paid later is a second payment on the booking’s invoice, and a waived balance comes off it
  • Late fees, damage charges and extensions post as their own documents naming the booking
  • Security deposits held as money owed back, in a service item on a liability account, never as income
  • Payments taken at the counter go to the account for cash, card terminal or bank transfer
  • With Multi Location Inventory, each rental’s pick-up location goes on the invoice as a QuickBooks location, or on its lines as a class. Classes need QuickBooks Plus or Advanced.
The Payments card: Undeposited Funds for any other payment method, for each payment method the store takes, and for payments at the counter by cash, card terminal, bank transfer and other.The Payments card: Undeposited Funds for any other payment method, for each payment method the store takes, and for payments at the counter by cash, card terminal, bank transfer and other.
Payments, with a row for each way of paying at the counter.
What syncs

What goes to QuickBooks, and when

Every change in WooCommerce that touches money, and what QuickBooks Sync does with it.

In WooCommerceIn QuickBooks
An order is paid, or on hold for a bank transferAn invoice and its payment, or a sales receipt, a moment later. Or wait until the order is completed, if you choose.
An order is edited before anything is paid on itIts document is updated. Ten edits in a minute make one update. A sales receipt is updated too.
An invoice with a payment on it is editedIt waits under Needs attention, so you change the invoice in QuickBooks yourself.
A refundPosted by itself: a refund receipt when money goes back, a credit memo when it lowers an unpaid invoice.
An order is cancelledIts document is voided. If a payment is already in the books, it waits and asks you to refund the order in WooCommerce first.
A booking’s balance is paid, or waivedA second payment on the booking’s invoice, or a credit that takes the waived balance off it.
A late fee, a damage charge or an extensionIts own document, naming the booking, such as “Late fee on order 1042”.
A security deposit is taken, kept or given backHeld as money owed back. Money you keep moves to income on one invoice; money given back is recorded going back.
A subscription renewal, or an order made from a quoteA sale that names the subscription or the quote. The quote itself isn’t sent to QuickBooks.
Orders from before you connectedNothing, until you import them from the Import tab after a dry run.
You delete the document in QuickBooksNothing is posted again by itself. Press Post again on the order if you want it back.
Who it’s for

For any store that keeps its books in QuickBooks

Shops that sell online

Orders, shipping, fees, discounts and refunds reach QuickBooks without anyone typing them in. No rental plugin needed.

Rental and hire stores

Bookings paid in parts, security deposits, late fees and damage charges post the way your bookkeeper expects.

Stores with more than one location

With Multi Location Inventory, each rental’s pick-up location goes to QuickBooks as a location or a class, so you can report by location.

Your bookkeeper

Open in QuickBooks from any order, a log of every step, and a link-only import for orders already entered by hand.

Works with

Any WooCommerce store, and more with ours

A store without our plugins sees none of the rental choices.

WithWhat happens
Rentals & BookingsRental dates on lines, a Rentals row, balances on the booking’s invoice, late fees, extensions and counter payments.
Refundable Security DepositsDeposits held as a liability. Part kept for a charge books the income and lets go of the liability on one document.
Maintenance & InspectionsDamage charges get their own row.
Multi Location InventoryEach rental’s pick-up location, so your books can report by location.
Bundles & CompositesA bundle posts as one line at its price, “Includes: 2 × Chair, 1 × Table”. Also WooCommerce Product Bundles and Composite Products.
Subscriptions and quotesA renewal or an order made from a quote names the subscription or the quote. The quote itself isn’t sent to QuickBooks.
Questions

Questions about QuickBooks Sync

Does it work with QuickBooks Desktop?

No. It works with QuickBooks Online only.

Will my old orders end up in my books?

Only if you import them. New orders post from the moment you press Start syncing. Past orders post only from the Import tab, after a dry run, or get linked to what’s already there.

What if QuickBooks is down?

The order waits and tries again by itself. Anything that needs you waits under Needs attention, with what to fix.

Does it create customers or items in QuickBooks?

It finds each customer by email address and adds them only if they aren’t there, so nobody is entered twice. For lines you pick a service or non-stock item, or press Create what is missing for me and it adds service items on an income account. It never uses stock items.

How does it handle sales tax?

The tax sent is the order’s own amount, as WooCommerce worked it out, so the total in QuickBooks matches the order. In a US company QuickBooks takes that amount from each order; outside the US you match each WooCommerce rate to a tax code.

We’ve tested US companies on QuickBooks’ older sales tax, with one rate and with several. US companies on automated sales tax and companies outside the US haven’t been tested yet, because no test company can show them.

Will my order numbers show in QuickBooks?

With Custom transaction numbers on in QuickBooks, each document carries your order number, with your prefix if you set one. With it off, QuickBooks numbers documents itself and your order number goes in the private note. The screen tells you which way your company is set.

What goes to QuickBooks about my customers?

Their name, email address, billing address and phone number, on the customer. Choose one customer for all web sales instead, and only that one name goes.

What about orders in other currencies?

Orders in a currency other than your books’ aren’t posted yet. They wait under Needs attention with a message, so none slips by unseen.

Can I send one order now, or many at once?

Each order has Sync this order. On the orders list, the bulk menu has Send to QuickBooks for the orders you select. WP-CLI has status, sync, drain and import.

What does it leave to me?

An order changed after it was paid, a change to a part-paid booking, and a paid order cancelled with no refund wait under Needs attention, so you decide what goes to QuickBooks. Damage waiver fees post with your other fees. Invoicing when a rental starts and store credit aren’t handled yet.

Do you see my password?

No. You sign in at QuickBooks, and the connection is kept on your own site.

Can I run it with Xero Sync?

Yes. Each plugin posts to its own books, which helps while you move from one system to the other.

What do I need?

WordPress 6.6, WooCommerce 8.0 and PHP 8.1 or newer, and a QuickBooks Online company.

The rental features switch on when Rentals & Bookings is active.

Stop typing orders into QuickBooks

Your WooCommerce sales, payments and refunds in your books as they happen.