QuickBooks Online sync
One way, on purpose.
Your books match your business.
Connect QuickBooks Online once and PortaPro pushes customers, invoices, payments, voids and credits into your company file every night, and any invoice the moment you ask. Rentals, services and deposits land in the income accounts you choose. Nothing is typed twice, and QuickBooks never writes back over the work your office did.
screenshots/rate-card-quickbooks-connect.png
What goes across
Everything that happens to money has a QuickBooks twin.
Most route software stops at invoices and payments. That is where the reconciliation problems start, because voids, refunds and credits are exactly the records a bookkeeper has to hunt for.
Name, email, phone and billing address. A customer marked tax exempt in PortaPro is marked non-taxable in QuickBooks, so Automated Sales Tax leaves them alone.
Every issued invoice with every line, the invoice number, the dates, and each line marked taxable or not from what was actually charged. Drafts never go. An invoice edited later goes up again with its current values.
Card, ACH, check, cash and any custom method, applied to the invoice it paid. A check for three months against one month's invoice applies the invoice and leaves the rest as credit on the customer, the way a bookkeeper would enter it.
An invoice you void after it was pushed is voided in QuickBooks. A payment you reverse or refund after it was pushed has its QuickBooks payment voided, which reopens the balance exactly as PortaPro does. Each happens once.
A goodwill credit or a dispute adjustment becomes a credit memo. A prepayment becomes money on account, not a revenue reduction. When you apply a credit to an invoice, QuickBooks gets the payment that links the two. Credit notes and write-offs recorded on an invoice come across the same way.
Why one way
Two-way sync sounds like more. It is where accounting integrations go wrong.
Picture your office changing an invoice amount in PortaPro at 10:02 and your bookkeeper changing the same invoice in QuickBooks at 10:04. A two-way sync now needs a rule for who wins. Last write wins silently overwrites one of them. PortaPro wins makes the bookkeeper's edit pointless. QuickBooks wins makes the office's edit pointless. Asking a person turns a background sync into a support queue.
The failure is also invisible. A one-way push fails loudly: a row in the log, QuickBooks' own message, a retry on the next run. Two-way fails by the two systems quietly disagreeing, and nobody notices until a customer disputes a number.
Bookkeepers already work one way. The office runs the business in PortaPro: dispatch, invoicing, customers. The bookkeeper categorizes, reconciles and closes in QuickBooks. Nothing in that workflow needs QuickBooks to write back. So PortaPro pushes more one way instead: voids, reversals, credit memos and prepayments, so the ledger keeps matching the business without anyone re-keying.
screenshots/quickbooks-sync-invoice-menu.png
What the bookkeeper gets
Revenue in the right accounts. A log that names the record.
Where revenue posts is your call
Rentals and equipment, services, and deposits each get a picker listing your income accounts. Choose one and PortaPro creates the QuickBooks item for it on that account; the next push posts there. Leave one on Company default and it posts through one item to your Services income account. If your company tracks classes, one class stamps every pushed line.
Sales tax the honest way
Every line carries taxable or non-taxable from what the customer was actually charged, and a tax-exempt customer is non-taxable in QuickBooks. QuickBooks computes the tax itself. When its total differs from PortaPro's, the invoice still goes across and the log says by how much. Your QuickBooks rate table is yours; PortaPro never overrides it.
Every result, per record
The sync log lists each record with what happened: pushed with its QuickBooks id, skipped and why, or an error in QuickBooks' own words. A customer whose name already exists in QuickBooks is adopted rather than duplicated. A reconnect never creates a second copy of anything, because every record keeps its QuickBooks id in PortaPro.
screenshots/quickbooks-sync-revenue-mapping.png
screenshots/quickbooks-sync-log.png
The usual vs PortaPro
What a QuickBooks integration usually means, and what this one does
The phrase covers everything from a CSV download to a live push. Here is what you get.
What syncs
Customers, invoices and payments, and often just a CSV you import yourself
PortaPro:Customers, invoices, payments, voids, reversals, credit memos and prepayments, through the QuickBooks API
An invoice you voided
Still open in QuickBooks until someone notices
PortaPro:Voided in QuickBooks on the next run
A payment you refunded
Still applied in QuickBooks; the bookkeeper finds it at reconciliation
PortaPro:The QuickBooks payment is voided and the log says why
Which account revenue posts to
One catch-all item, or a mapping screen you fill in once and hope holds
PortaPro:Rentals, services and deposits each to the income account you choose, changeable any time
One invoice the bookkeeper needs now
Wait for the nightly run, or re-run the whole sync
PortaPro:Push to QuickBooks in that invoice's menu, with its customer, payments and credits
Something did not go across
A count of errors and a support ticket to find out which
PortaPro:A log row per record with the QuickBooks id and QuickBooks' own message
Duplicates after a reconnect
Common, because matching runs on names and timestamps
PortaPro:Never, because every record keeps its QuickBooks id in PortaPro
FAQ
Questions operators and bookkeepers ask
Is it two-way?
What if my bookkeeper edits an invoice in QuickBooks?
How often does it run?
What happens with sales tax?
Can I choose which income accounts revenue posts to?
Does it work with QuickBooks Desktop?
What if I disconnect and reconnect?
Get Started
See an invoice land in QuickBooks, then see it voided.
Book a walkthrough: connect a sandbox company, push an invoice from its menu, void it, and watch both sides agree.
Get started in under 2 minutes.