Each pricebook item in Run a Call needs to correspond to a Product or Service in QBO. Map them once and every invoice's line items land on the right income account.

How mapping works

When a Run a Call invoice syncs:

  • For each line item, Run a Call looks up the matching QBO product by name.
  • If found, the line posts using that QBO item.
  • If not found, the sync logs an error: "Item 'X' not found in QBO."

There's no in-app auto-create toggle — every QBO product needs to exist on the QBO side first (either created in QBO directly or pushed from the pricebook on a successful sync).

Match by name — keep them identical

The integration matches purely on the item name. To avoid mismatches:

  • Keep item names consistent between Run a Call and QBO.
  • Avoid trailing whitespace, double spaces, or inconsistent capitalization.
  • If you rename in one place, rename in the other.

Pricebook → QBO direction

When you connect QBO, Run a Call pushes the pricebook to QBO as part of the initial sync — items in your pricebook get created as QBO Products & services.

After that:

SourceBehavior
New items added in Run a CallPush to QBO on the next sync window.
Price changes in Run a CallPropagate to QBO.
Price changes in QBODo not propagate back — Run a Call is the source of truth for customer-facing pricing.

When a sync fails on an unmapped item

If you see "Item 'Capacitor 35/5' not found in QBO" in the sync log:

  1. Create the matching item in QBO Products & services with the exact same name.
  2. Open the failed invoice in Run a Call.
  3. Click Retry sync.

The line will resolve and the invoice will post.