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
One year of updates and support. Renews at $69 a year.
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
Nothing is sent until you press Start
Connect
Sign in to QuickBooks and pick your company. We never see your password.
Choose
When an order posts, how customers are kept, and a number prefix if you want one.
Map
Where products, shipping, fees, taxes and each payment method go in QuickBooks.
Preview
See exactly what your latest order would send. Nothing has been sent yet.
Start
New orders post from that moment. Past orders wait until you import them.
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.
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
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.
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
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 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.


- 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
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
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 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.
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.
What goes to QuickBooks, and when
Every change in WooCommerce that touches money, and what QuickBooks Sync does with it.
| In WooCommerce | In QuickBooks |
|---|---|
| An order is paid, or on hold for a bank transfer | An 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 it | Its 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 edited | It waits under Needs attention, so you change the invoice in QuickBooks yourself. |
| A refund | Posted by itself: a refund receipt when money goes back, a credit memo when it lowers an unpaid invoice. |
| An order is cancelled | Its 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 waived | A 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 extension | Its own document, naming the booking, such as “Late fee on order 1042”. |
| A security deposit is taken, kept or given back | Held 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 quote | A sale that names the subscription or the quote. The quote itself isn’t sent to QuickBooks. |
| Orders from before you connected | Nothing, until you import them from the Import tab after a dry run. |
| You delete the document in QuickBooks | Nothing is posted again by itself. Press Post again on the order if you want it back. |
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.
Any WooCommerce store, and more with ours
A store without our plugins sees none of the rental choices.
| With | What happens |
|---|---|
| Rentals & Bookings | Rental dates on lines, a Rentals row, balances on the booking’s invoice, late fees, extensions and counter payments. |
| Refundable Security Deposits | Deposits held as a liability. Part kept for a charge books the income and lets go of the liability on one document. |
| Maintenance & Inspections | Damage charges get their own row. |
| Multi Location Inventory | Each rental’s pick-up location, so your books can report by location. |
| Bundles & Composites | A bundle posts as one line at its price, “Includes: 2 × Chair, 1 × Table”. Also WooCommerce Product Bundles and Composite Products. |
| Subscriptions and quotes | A renewal or an order made from a quote names the subscription or the quote. The quote itself isn’t sent to QuickBooks. |
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.
Read the guide before you buy
Stop typing orders into QuickBooks
Your WooCommerce sales, payments and refunds in your books as they happen.




















