QuickBooks Integration

Overview

Repair Bay Evolution integrates with QuickBooks Online (QBO) to keep your accounting in sync without double entry. The integration supports:

  • Invoice sync — Invoices created in Repair Bay Evolution are synced to QuickBooks as sales receipts or invoices.
  • Purchase sync — Finalized purchase orders are synced to QuickBooks as expenses (credit card payments) or bills (accounts payable).
  • Payroll export — Export hourly technician time entries to QuickBooks as expense entries or time activities.
  • Account & category mapping — Map your labor categories and line item types to the correct QBO accounts and items.
  • Payment account linking — Link your shop's credit cards and bank accounts to QBO accounts for purchase tracking.
  • Expense account mapping — Map vendors to QBO expense accounts for accurate categorization of parts purchases.

The integration uses OAuth 2.0 for secure access. At no point are your QBO credentials stored in Repair Bay Evolution.

All QuickBooks settings are located under Settings → Company → Accounting → QuickBooks.

Connect QuickBooks

Settings → Company → Accounting → QuickBooks

  1. Go to Company Settings → Accounting → QuickBooks.
  2. Click "Connect to QuickBooks".
  3. You'll be redirected to Intuit's authorization page.
  4. Sign in to your QuickBooks account and grant access.
  5. After authorization, you're redirected back to Repair Bay Evolution with a "Connected" status.

Once connected, the status shows your QBO company name and the date you connected.

QuickBooks Connected

Account Mapping

Settings → Company → Accounting → QuickBooks

Account mapping tells QuickBooks where to categorize synced transactions.

  1. After connecting, expand the "Account Mapping" section.
  2. Set the Default Item — the QBO item used for invoice line items that don't have a specific category mapping.
  3. Set the Expense Account — where payroll expenses are recorded (for Expense export mode).
  4. Set the Bank Account — the payment account for expense transactions.
  5. Click "Save Mapping".

Account options are pulled live from your QBO chart of accounts. If you add new accounts in QuickBooks, they'll appear here on your next visit.

Account Mapping

Category Mapping

Settings → Company → Accounting → QuickBooks

Category mapping lets you route different labor types to specific QBO items for more granular reporting.

  1. Expand the "Category Mapping" section.
  2. For each labor category (Body, Frame, Mechanical, Paint, etc.), select the corresponding QBO item.
  3. Click "Save Category Mappings".

When a payroll export runs, each technician's labor hours are grouped by category and sent to the mapped QBO item. Categories without a mapping use the default item.

Category Mapping

Export Modes

Settings → Company → Accounting → QuickBooks

You can choose how payroll data is sent to QuickBooks. The export mode determines what type of QBO entity is created for each technician when you run a payroll export.

Expense Mode (Default)

Creates an expense entry in QBO for each technician. Each expense records the total hours, rate, and cost as a line item on the mapped expense account.

  • Best for shops that track tech pay as a direct expense category.
  • Requires an Expense Account and Bank Account to be mapped in your account settings.
  • Shows up in QBO under Expenses, making it easy to see total payroll spend.
Time Activity Mode

Creates a time activity entry in QBO for each technician. Time activities record hours worked and can be linked to QBO's built-in payroll or time tracking features.

  • Best for shops that use QBO Payroll or want time data to feed into QBO's payroll calculations.
  • Technicians are matched to either an Employee or Vendor in QBO based on their mapping type:
    • Employee mapping — Creates a time activity linked to a QBO Employee. Feeds directly into QBO Payroll for automatic paycheck generation.
    • Vendor mapping — Creates a time activity linked to a QBO Vendor. Useful for subcontractors or 1099 workers.
  • Hours and minutes are calculated from total hours (e.g., 6.5 hours becomes 6 hours, 30 minutes).
  • The transaction date, description, and hourly rate are included in each time activity.
Changing the Export Mode
  1. Go to Company Settings → Accounting → QuickBooks.
  2. Expand "Export Mode".
  3. Select "Expense" or "Time Activity".
  4. Click "Save".

You can switch modes at any time. Previously exported records are not affected — only future exports use the new mode. The current export mode is displayed on the Hourly Payroll section of the Payroll page so you can confirm which mode will be used before exporting.

Technician Mapping

Settings → Company → Accounting → QuickBooks

Technician mapping links each of your Repair Bay Evolution technicians to a corresponding entity in QuickBooks. This mapping is required for Time Activity mode exports and optional for Expense mode.

Employee vs. Vendor

Each technician can be mapped as either a QBO Employee or a QBO Vendor:

  • Employee — Use this for W-2 employees on your payroll. Time activity exports linked to an Employee feed directly into QBO Payroll for automatic paycheck generation.
  • Vendor — Use this for 1099 contractors or subcontractors. Time activity exports linked to a Vendor show up as contractor time for bill-pay workflows. In Expense mode, Vendor-mapped technicians have the vendor attribution included on the expense entry.
Setting Up Mappings
  1. Go to Company Settings → Accounting → QuickBooks.
  2. Expand the "Technician Mapping" section.
  3. You'll see a list of your technicians alongside their current mapping status.
  4. For each technician, select the mapping type (Employee or Vendor).
  5. Choose the corresponding QBO Employee or Vendor from the dropdown. These options are pulled live from your QuickBooks account.
  6. Click "Save Mappings".
Why Mapping Matters
  • In Time Activity mode, a technician without a mapping will fail to export. The error message will indicate that the technician needs to be linked to a QBO Employee or Vendor before exporting.
  • In Expense mode, technician mapping is used for vendor attribution on the expense. If a technician mapped as a Vendor is exported, the expense entry includes that vendor reference.
  • Each technician can only have one mapping at a time. Updating the mapping replaces the previous one.
Removing a Mapping

If a technician leaves your shop or you need to reassign their QBO link, you can remove their mapping. This prevents future exports for that technician until a new mapping is set up.

Technician Mapping

Invoice Sync

Automatic (triggered when invoice is finalized)

When you create and finalize an invoice in Repair Bay Evolution, it can be automatically synced to QuickBooks.

  • Line items are mapped to QBO items using your category mapping (or the default item).
  • Tax amounts are included as configured.
  • The sync status is tracked per invoice — you can see whether it succeeded or failed in the sync history.

If a sync fails (e.g., QBO is temporarily unavailable), the system retries automatically. You can also manually retry from the sync history.

Purchase Sync

Automatic (triggered when a purchase order is finalized)

When a purchase order is finalized, Repair Bay Evolution automatically syncs it to QuickBooks as the appropriate transaction type based on how the purchase was funded:

  • Credit card / bank account payment — Creates a QBO Purchase (expense) against the linked QBO bank/credit card account.
  • Accounts payable (vendor credit line) — Creates a QBO Bill representing what you owe the vendor.
  • Manual funding — Not synced automatically. You can trigger a manual sync from the purchase order and choose whether to record it as a Purchase or Bill.
How It Works
  1. A purchase order is finalized on the Parts Board.
  2. The system determines the funding type (payment account, accounts payable, or manual).
  3. For payment account or AP funding, a sync is queued automatically.
  4. The sync resolves the QBO bank account (from payment account linking), expense account (from expense mapping), and vendor reference.
  5. Line items from the purchase order are sent to QBO with quantities and unit costs.
Updates and Voids
  • If a purchase order's cost changes after syncing (e.g., received quantity differs from ordered), you can trigger an update to revise the QBO transaction.
  • If a purchase order is voided (status changes to "stale"), the corresponding QBO Purchase is voided or the QBO Bill is deleted.
Manual Sync

For purchase orders with manual funding, a "Sync to QBO" button appears on the purchase order card. Click it to choose:

  • Sync as Purchase — Select a linked payment account to record the expense against.
  • Sync as Bill — Record as accounts payable without a payment account.
Prerequisites
  • QBO must be connected.
  • The vendor must be linked to a QBO Vendor (set up in Vendor settings).
  • For Purchase syncs: the payment account must be linked to a QBO bank/credit card account (see Payment Account Linking).
  • An expense account must be mapped for the vendor or a default must be set (see Expense Account Mapping).
Sync Errors

If a sync fails (missing configuration, QBO API error, etc.), the error is recorded in the Sync History. You can retry failed syncs from there. The system automatically retries transient errors (server errors, rate limits) up to 3 times with backoff.

Payment Account Linking

Settings → Company → Accounting → QuickBooks

Payment account linking connects your shop's physical payment methods (credit cards, bank accounts) to the corresponding accounts in your QBO chart of accounts. This is required for purchase sync to know which QBO account to record expenses against.

Link a Payment Account
  1. Go to Settings → Company → Accounting → QuickBooks.
  2. Expand the "Payment Account Linking" panel.
  3. You'll see a list of your active payment accounts with their name, type, and last four digits.
  4. Click "Link" next to a payment account.
  5. Select the corresponding QBO Bank or Credit Card account from the dropdown (pulled live from your QBO chart of accounts).
  6. Confirm the link.

Once linked, the QBO account name displays next to the payment account. Purchase orders paid with that account will sync to the linked QBO account.

Unlink a Payment Account
  1. Click "Unlink" next to a linked payment account.
  2. Confirm the unlinking.

Unlinking does not affect previously synced transactions. Future purchase orders using that payment account will fail to sync until it's re-linked.

Configuration Summary

The configuration completeness summary at the top of the QBO settings shows how many of your active payment accounts are linked versus total. Unlinked accounts are highlighted as needing attention.

Expense Account Mapping

Settings → Company → Accounting → QuickBooks

Expense account mapping determines which QBO expense account is used to categorize purchase line items when syncing to QuickBooks. You can set vendor-specific mappings and a default fallback.

How Expense Accounts Are Resolved

When a purchase order syncs, the system looks for the expense account in this order:

  1. Vendor-specific mapping — If the vendor has an assigned QBO expense account, that is used.
  2. Default mapping — If no vendor-specific mapping exists, the company's default expense account is used.
  3. QBO Connection fallback — If neither exists, the expense account configured on the QBO connection itself is used as a last resort.
Set a Default Expense Account
  1. Go to Settings → Company → Accounting → QuickBooks.
  2. Expand the "Expense Account Mapping" panel.
  3. In the "Default" row, select a QBO expense account from the dropdown.
  4. Save the mapping.
Set a Vendor-Specific Expense Account
  1. In the Expense Account Mapping panel, click "Add Mapping".
  2. Select the vendor from the vendor dropdown.
  3. Select the QBO expense account to use for that vendor's purchases.
  4. Save the mapping.

Vendor-specific mappings are shown separately from the default, making it clear which vendors have custom categorization.

Remove a Mapping

Click "Remove" on any mapping row and confirm. That vendor's purchases will fall back to the default (or QBO connection fallback) on future syncs.

Payroll Export

Payroll page → Hourly section

The payroll export sends hourly technician time entries to QuickBooks. This is initiated from the Payroll page.

  1. On the Payroll page, review the flagged items for the pay period.
  2. Select the items you want to export (or select all).
  3. Click "Export to QuickBooks".
  4. Set the transaction date for the QBO entries.
  5. Confirm the export.

The export processes each technician individually. If one technician fails (e.g., missing account mapping), the others still succeed — this is a partial-failure model so one error doesn't block the whole batch.

After export, items are marked as paid in the payroll system and an export history record is created.

Payroll Export to QuickBooks

Export History

Payroll page → Export History panel

Every payroll export is recorded with full details:

  • Export date and who triggered it
  • Transaction date used in QBO
  • Status (success, partial success, or failed)
  • Total amount and technician count
  • Per-technician breakdown with hours, rate, and cost
  • Failed items with error reasons (for partial failures)

Access export history from the Payroll page under the "Export History" panel. You can also download any export as a CSV file.

Export History

Revert an Export

Payroll page → Export History panel

If you need to undo a payroll export (e.g., exported the wrong date range):

  1. Go to the Export History panel on the Payroll page.
  2. Find the export record you want to revert.
  3. Click "Revert".
  4. The export status changes to "Reverted" and the associated labor items become available for re-export.

Note: Reverting in Repair Bay Evolution does not delete the entries from QuickBooks. You'll need to manually remove those entries in QBO if needed.

Sync History

Settings → Company → Accounting → QuickBooks

The sync history shows all QBO sync operations (invoices, payroll, etc.) with their status.

  • Synced — Successfully created in QBO.
  • Failed — An error occurred. Click "Retry" to try again.
  • Pending — Queued for sync.

Each record shows the entity type, internal ID, QBO entity ID (if synced), attempt count, and last attempt time.

Sync History

Disconnect

Settings → Company → Accounting → QuickBooks

If you need to disconnect your QuickBooks account:

  1. Go to Company Settings → Accounting → QuickBooks.
  2. Click "Disconnect".
  3. Confirm the disconnection.

Disconnecting stops all future syncs. Previously synced data in QuickBooks is not affected. You can reconnect at any time.