The short version
Why one way: the moment both sides can edit the same invoice you need a rule for who wins when your office changes an amount at 10:02 and your bookkeeper changes it in QuickBooks at 10:04, and every answer is bad. One-way push means the office runs the business in PortaPro and the bookkeeper categorizes and reconciles in QuickBooks, which is how bookkeeping already works.
---
Connecting QuickBooks
Navigate to Financials → QuickBooks (in the Financials ⋯ menu). The QuickBooks Online row reads Not connected until you connect it.
Connecting and managing the integration is limited to organization owners and admins. Other office staff see the tab but not the Connect and Disconnect controls.
Reconnect needed appears when Intuit rejects the stored connection; tokens expire after roughly 100 days without use. Click Reconnect. Your existing mappings are kept, so nothing duplicates.
---
What syncs, and when
Every night (7:00 UTC) PortaPro pushes, in this order:
| PortaPro | QuickBooks | Rule |
|---|---|---|
| Customer | Customer | Name, email, phone, billing address. A tax-exempt customer is marked non-taxable in QuickBooks. |
| Issued invoice (open, partial, paid) | Invoice | Every line, with the invoice number, dates and taxability. Invoice-level surcharges, fees (such as a delivery fee) and discounts go across as their own lines on the Services item, so the QuickBooks total matches PortaPro's. Drafts are never pushed. |
| Settled payment (card, ACH, check, cash, custom) | Payment applied to the invoice | Applied up to what is still owed on the invoice in QuickBooks; anything beyond that (an overpayment, or a payment on an invoice already paid there) stays as unapplied credit on the customer. |
| Invoice voided after it was pushed | Invoice voided | Voided once; a second void is never attempted. |
| Payment reversed or refunded after it was pushed | Payment voided | Reopens the invoice balance, as PortaPro does. |
| Goodwill credit, dispute credit | Credit memo | Posts to the Services income account. |
| Prepayment received | Unapplied payment | Cash on account, not a revenue reduction. |
| Credit applied to an invoice | Payment linking the credit to the invoice | Credit note and write-off included. |
| Recorded expense (only if you turn it on) | Expense, or Check for check payments | Vendor, category lines and the first receipt attached. Off by default; see Pushing expenses below. |
Changes re-push: an edited customer or invoice goes up again the next night with its current values. Payments, credits and applications are recorded once. Money already in QuickBooks is edited there, never overwritten from PortaPro.
Not pushed, on purpose:
Partial refunds follow on their own: the refunded payment is voided in QuickBooks and the amount the customer kept goes across as a new payment on the next sync.
---
Sync now, and pushing one invoice
---
Where revenue posts (income account mapping)
Under the connected row, Where revenue posts lists three kinds of invoice line:
Each starts on Company default, which posts through one QuickBooks item ("PortaPro Services") to your company's default Services income account. Choose an income account for a line kind and PortaPro creates a QuickBooks item for it ("PortaPro Rentals", "PortaPro Deposits") on that account; the next push posts there. Click Save mapping.
Changing an account later re-points the item. QuickBooks does not re-post history; only new lines land on the new account.
---
Class tracking
If your QuickBooks company has class tracking on (Settings → Advanced → Categories, QuickBooks Plus or Advanced), a Class picker appears beside the account mapping. Choose a class and every pushed line carries it. Leave it on None to push without a class. The picker does not appear when class tracking is off, because QuickBooks would drop the class silently.
---
Sales tax
PortaPro tells QuickBooks what was actually charged: every invoice line is marked taxable or non-taxable from the tax on that line, and a customer marked tax exempt in PortaPro is marked non-taxable in QuickBooks. QuickBooks' Automated Sales Tax then computes the tax on its side.
When the QuickBooks total still differs from the PortaPro total (a rate the two systems have configured differently), the invoice is pushed and the sync log carries a warning: "QuickBooks total 382.50 differs from PortaPro total 388.24 (tax computed by QBO)". The rate table in QuickBooks is the bookkeeper's to correct; PortaPro never overrides it.
---
Reading the sync log
Recent sync activity under the integration row lists the last twenty results, newest first. Each row shows the outcome, the kind of record, the QuickBooks id where one exists, and any note.
---
Why PortaPro does not do two-way sync
Two-way sync sounds like more. In practice it is where accounting integrations go wrong, and PortaPro chose not to build it:
What PortaPro does instead is push *more* one way: voids, reversals, credit memos and prepayments, so the ledger keeps matching the business without anyone re-keying.
---
Disconnecting
Click Disconnect on the integration row. Syncing stops immediately. Nothing is deleted in QuickBooks, and the mappings are kept, so reconnecting later creates no duplicates.
---
Pushing expenses (optional)
PortaPro can push the expenses you record, including ones filed from the receipt inbox, to QuickBooks with the receipt attached. Turn it on with Push expenses to QuickBooks on the QuickBooks tab.
Leave it off if your bank or credit card feeds QuickBooks directly. "If your bank or credit card is connected to QuickBooks (its bank feed), leave this off: QuickBooks already gets those transactions from the bank, and pushing them from PortaPro too would record every expense twice." That is why it is off by default.
When it is on, set:
| Setting | What it does |
|---|---|
| Push expenses dated on or after | Older expenses stay out of QuickBooks |
| Paid from bank account | Where checks, cash, ACH and other expenses post |
| Paid from credit card | Where card expenses post |
| Where each category posts | The QuickBooks account for each PortaPro expense category |
Then click Save expense settings. Expenses go up on the next sync.
See Receipts and Expenses for recording expenses and filing receipts.
---
