Skip to content

Workflow pairing · Sales to accounting

Connect Salesforce to QuickBooks. Keep the handoff under control.

The difficult part is not moving a company name. It is deciding when a deal becomes billable, which customer gets the invoice and how accounting changes return to sales. ALCA can design that Salesforce–QuickBooks Online workflow around your approval and record-ownership rules.

See the example workflow

This pairing covers Salesforce and QuickBooks Online. Salesforce API availability, user permissions and custom schema, plus Intuit app requirements and each authorized QuickBooks company, must be verified before implementation.

What could connect

Start with the handoff that costs your team time

Closed-won to a reviewed billing handoff

Use the approved Salesforce milestone to prepare customer and line-item data. A finance or operations approval can release the invoice. Closed-won may instead create an estimate, a job or a billing-review task depending on your sales process.

Billing from custom Salesforce objects

A custom order, milestone or service-delivery object may be a better source than Opportunity. Confirm the actual object and field API names, required fields, relationship model and integration user permissions in your Salesforce org.

Accounting status available to sales

Show the QuickBooks invoice reference, current open balance and reconciled payment state in Salesforce. Keep these as accounting-owned fields so a sales edit cannot silently turn an unpaid invoice into a paid one.

Multiple entities and scheduled invoices

A deal may belong to one of several legal entities or require several invoices. Use an approved routing rule and separate authorization for each QuickBooks company. Model an invoice schedule instead of assuming one opportunity always equals one invoice.

Choose the right approach

Check the connector before building the connection

Native first

Evaluate the relevant Salesforce/QuickBooks connector or AppExchange product against your billing model first. Confirm required editions and add-ons, custom-object coverage, invoice ownership, payment allocations and who operates its error queue.

Middleware next

A middleware workflow may fit a simple, single-company handoff with standard fields. Test repeated stage changes, customer duplicates and partial failures. A successful demo of customer creation does not establish safe invoicing.

Custom when the workflow needs it

A custom pairing is justified when approval gates, custom Salesforce objects, multiple accounting companies, invoice schedules or financial reconciliation exceed the existing connector’s supported behavior.

Compare other platforms in the integration directory. For delivery scope and hiring an engineering team, see API Integration Services.

Feasibility first

Access determines what we can build

Use the current Salesforce app model

Salesforce recommends External Client Apps for new integrations; new Connected App creation is restricted from Spring 2026. Choose a supported OAuth flow and an integration principal with the required object, field and record access.

Check both subscriptions and test environments

Salesforce API access and sandboxes depend on edition and licensing. Verify the customer org, and use a suitable sandbox or developer environment alongside an Intuit sandbox. Each QuickBooks Online production company requires its own authorized connection.

Select events deliberately

Salesforce Change Data Capture covers selected standard objects and custom objects, with finite event retention and allocations. Subscribe only where useful, retain replay state and reconcile gaps. Scheduled reads or explicit approval actions are alternatives.

Budget capacity on each side

Salesforce API and event allocations and QuickBooks company-level limits constrain throughput independently. Handle bulk backfill separately from daily changes. The queue must survive a delay on either side without posting the same invoice twice.

Technical scope checked against the official vendor references below. Production access is confirmed with your account administrator before implementation.

Follow the data

A workflow with checks between the systems

Illustrative architecture. An illustrative revenue-to-accounting flow. A Quote, Order or custom billing object can replace Opportunity as the source; the customer’s actual process determines the trigger.
  1. 01

    Qualify the sales event

    A lead progresses to an opportunity. An approved milestone, such as closed-won, starts a billing handoff rather than blindly creating an invoice.

  2. 02

    Validate the bill-to account

    Resolve the approved billing account and QuickBooks company. Check the durable Account-to-Customer mapping.

  3. 03

    Prepare the proposed transaction

    Map approved line items, dates, currency and accounting references. Hold missing data or ambiguous customer matches.

  4. 04

    Create the agreed record

    Create an Estimate or Invoice after the required approval, using a persisted logical operation key and target identity.

  5. 05

    Read accounting changes

    Reconcile QuickBooks invoice balance and payment allocations after relevant notifications or scheduled reads.

  6. 06

    Update the Salesforce view

    Write only the agreed accounting status fields and references. Suppress self-generated updates from restarting billing.

Records & rules

Map the fields. Decide who owns them.

Illustrative field mapping using standard vendor names where specified. Salesforce fields ending in __c and the billing/allocation objects shown here are proposed custom schema, not fields guaranteed to exist. Invoice lines, required fields and tax mappings are additional customer-specific work.

Illustrative mapping · source and destination fields must be verified for your account
Source object / fieldDestination object / fieldDirectionTriggerOwnership, validation & conflict rule
Salesforce Account · IdLedger → QuickBooks Customer.IdSalesforce → identity ledgerFirst approved billing handoffKey by Salesforce org + Account.Id + QuickBooks realmId. Reuse an approved match; ambiguous duplicates require review.
Salesforce Account · NameQuickBooks Customer · DisplayNameSalesforce → QuickBooks, by policyApproved customer create/updateThe name proposes a display value, not an immutable identity. Resolve customer naming conflicts before write.
Salesforce Opportunity · AccountIdQuickBooks Invoice · CustomerRef.valueSalesforce → QuickBooksBilling approvalResolve AccountId through the stored Customer.Id mapping. Allow an explicit alternate bill-to account where required.
Salesforce Opportunity · Id / IsWonLedger operation → QuickBooks Estimate.Id or Invoice.IdSalesforce → QuickBooksApproved won transition or billing actionIsWon is a trigger candidate controlled by the Salesforce stage model, not an invoice field. Repeated events reuse the source operation; staged billing needs a milestone key.
QuickBooks Invoice · Id / BalanceSalesforce billing record · QBO_Invoice_Id__c / Open_Balance__c (examples)QuickBooks → SalesforceAccounting change + reconciliationThese Salesforce custom fields must be created or mapped in your org. QuickBooks owns the balance; CRM edits do not flow back.
QuickBooks Payment · Id / Line.LinkedTxnSalesforce payment/allocation object (example)QuickBooks → SalesforcePayment change + reconciliationKeep invoice allocations and unapplied amounts distinct. Do not mark the whole opportunity paid from one partial payment.

On smaller screens, swipe the table or focus it and use the arrow keys.

Sales owns the sale; finance owns the ledger

Salesforce owns pipeline and commercial intent. QuickBooks owns posted invoice state, payments and open balances. The integration keeps the cross-system identity and delivery ledger. An editable CRM mirror is not a second accounting ledger.

A company boundary belongs in every key

Salesforce Account.Id alone is not enough when an organization bills through several QuickBooks companies. Resolve the legal entity before selecting credentials, customers and items, then retain that realmId with the mapping and audit event.

Define what happens after an invoice exists

Choose which pre-approval changes may still alter the proposal and which later changes require a correction workflow. An Opportunity amount change must not overwrite a posted invoice without a finance-approved action.

Model lines and allocations, not just totals

A sales amount can differ from an invoice total because of taxes, discounts, installments or currency. Map approved item references and amounts, and reconcile invoice/payment allocations rather than copying a single opportunity total.

When something breaks

A failed sync needs a next step

Duplicate customers and repeated won events

Check an approved Account-to-Customer mapping before creating. Keep a unique billing-operation identity for each source milestone so a replay or an opportunity reopened and won again does not create an accidental second invoice.

Edit conflicts and partial completion

A customer may be created while its invoice fails. Persist each step and resume from the failed dependency. Re-read QuickBooks revisions and Salesforce current state; do not restart the whole workflow as new work.

Partial payments and deleted records

Treat payment allocation, reversal, voiding and outstanding balance as distinct states. A deleted Salesforce record should create a review task or archive a mirror, not automatically delete a financial transaction.

Tax logic and historical backfill

Finance approves item, tax, currency and correction rules. Establish a historical cutoff, match records already in both systems, load dependencies in order and reconcile totals before live events overlap with the backfill.

Retry safely

For timeouts, rate limits and temporary server errors, use a bounded queue with backoff and jitter. Respect vendor retry guidance. Reuse a request identifier where supported and check uncertain writes before creating again.

Pause for a decision

Invalid records, missing permissions, expired authorization and ownership conflicts need a fix or review. Route exhausted retries to a failed-record queue with a reason, owner and controlled replay action.

Reconcile the outcome

Duplicate or delayed events must not double-post work. Compare intended records with destination state on a schedule; monitor queue age, last successful sync and unresolved differences. An HTTP 200 is only one check.

Security by design

Keep access narrow and actions traceable

Only the access the workflow needs

Use the vendor’s supported authorization flow and least-privilege permissions. Keep credentials in encrypted server-side secret storage, rotate or reconnect them through a documented process, and separate test from production access.

Validate webhook authenticity using the vendor’s supported mechanism before accepting events. Minimize copied personal and financial data. Redact tokens and sensitive payloads from logs, restrict replay tools by role, and retain an audit trail of changes and operator actions.

From discovery to operation

How we would approach your integration

A proposed integration project follows ALCA’s discovery, design, build and launch approach. The exact scope and ongoing support responsibilities are agreed before delivery.

  1. 01

    Discover & verify

    Walk through the current process. Confirm customer authorization, account products, API access and existing connectors using representative records. Deliver a feasibility decision before promising the connection.

  2. 02

    Map & design

    Agree record ownership, company boundaries, fields, triggers, conflict rules, authentication and success criteria. Identify what requires human approval and what should never synchronize.

  3. 03

    Build & test

    Build the narrowest useful flow, then test duplicates, unavailable APIs, revoked access, invalid data and replay. Use vendor sandboxes where available; otherwise agree an isolated, authorized test approach.

  4. 04

    Launch & observe

    Reconcile historical backfill separately, release in controlled stages and monitor actual outcomes. Hand over mappings, credentials ownership, operating instructions and a maintenance plan for vendor changes.

Buyer questions

The details worth resolving early

Can you connect Salesforce custom objects?

Where the customer org exposes them to the authorized integration principal, yes. We inspect the actual schema, relationships, required fields, validation rules and event options. A custom billing or order object is often more precise than using every Opportunity update.

Does closed-won automatically create an invoice?

Only if that is the approved business rule. Closed-won can prepare an estimate, initiate delivery or open a billing review. Milestone billing or multiple invoices per sale need their own source keys and approval conditions.

How do you avoid looping updates between Salesforce and QuickBooks?

Give each synchronized field one owner, record change origin and operation state, and ignore updates generated by the integration when they do not represent new business work. Reconciliation checks the final state independently of event delivery.

Do we need paid API or connector features?

Possibly. Salesforce API availability, event allocations, sandbox access and connector add-ons depend on the org and licensing. QuickBooks production app access and each company authorization also need confirmation. We identify those prerequisites during discovery.

Your wider operation

Explore the systems around this workflow

Technical references

Grounded in the vendor’s documentation

Reviewed September 9, 2026. These references establish platform capabilities and constraints; they do not establish access for your account or a vendor relationship with ALCA. Designs and mappings on this page are illustrative, not client case studies.

Map your workflow

Show us what is not syncing.

Tell us the two systems, what needs to move and where the current process breaks. If you know the approximate record volume and sync direction, include them. “Not sure yet” is a useful starting point.

Map your sales-to-accounting handoff

Use ALCA’s existing project brief. No credentials or customer records needed.