Skip to content
Home » FTM x QuickBooks Integration

FTM x QuickBooks Integration

🔗 Accounting Integration

Sync FTM Invoices to QuickBooks
Without Lifting a Finger.

The FTM QuickBooks integration pushes invoices, customers, and carriers from Salesforce directly into QuickBooks Online. Real-time balance updates, line item mapping, payment terms, no copy-pasting, no manual entry, no reconciliation headaches.

Salesforce-Native · QuickBooks Online · Real-Time Sync

Audience

Who the FTM QuickBooks Integration Is For

🏢

Freight Brokers

Every load generates an invoice. The FTM QuickBooks integration pushes it to QuickBooks automatically, so your accounting team works from live data instead of chasing down PDFs.

🚛

Carriers

Carrier records sync as QuickBooks Vendors. Payment terms, billing addresses, and contact info stay consistent between FTM and QuickBooks without any manual updates.

📊

Finance and Ops Teams

Balance updates run every 15 minutes. Payment status flows back from QuickBooks to FTM automatically, so your AR view is always current without touching either system manually.

FTM supports a wide range of integrations alongside QuickBooks. You can run load board, accounting, and other integrations side by side on the same records. See the DAT integration and Truckstop integration pages, or visit ftm.cloud/integrations for the full list.
Capabilities

What the FTM QuickBooks Integration Does

One unified workflow covers invoices, customers, carriers, and payment status, all running natively inside Salesforce.

📤

Automatic invoice sync

Click the QuickBooks button on any FTM Load record and the invoice goes directly to QuickBooks Online, with the rate as a line item, additional charges, and payment terms all included.

🔄

Real-time balance updates

QuickBooks balance data syncs back to FTM every 15 minutes. Your team sees current AR status without logging into QuickBooks separately.

👤

Customer sync

FTM Accounts push to QuickBooks as Customers. If the customer already exists in QuickBooks, the integration updates it in place with no duplicates created.

🚚

Carrier sync as Vendors

Carriers in FTM sync to QuickBooks as Vendors, with billing address, phone, email, and payment terms all mapped across automatically.

🧾

Line item and product mapping

Additional charges map to QuickBooks Product IDs. Payment terms apply from the Customer Account. Every invoice line reflects the actual freight transaction.

🔧

Sandbox and production environments

Test the full integration in sandbox before go-live. Switching to production is a single credential update with no rebuilding and no re-mapping fields.

How It Works

Invoice and Customer Sync Workflow

From Load record in FTM to QuickBooks invoice, one click, no manual entry.

FTM QuickBooks integration workflow showing invoice and customer sync from Salesforce to QuickBooks Online FTM QuickBooks integration workflow: invoice and customer sync from FTM Salesforce to QuickBooks Online
Open a Load record in FTM. Locate the invoice and confirm the invoice number is present before sending to QuickBooks.
Click the QuickBooks button on the FTM dashboard or Load record. FTM checks whether the customer exists in QuickBooks. If not, it creates them. If they exist, it updates their record.
The invoice is pushed to QuickBooks Online with the rate as a line item, additional charges, payment terms, and the QuickBooks Customer ID linked back to the FTM record. A success confirmation appears on screen.
Verify the transaction in QuickBooks. The invoice appears under Sales Transactions in QuickBooks Online with all line items correctly mapped.
Balance updates flow back automatically every 15 minutes. Payment status in FTM stays current without any manual input.
FTM invoice record showing invoice number before syncing to QuickBooks Step 1: Send invoice to QuickBooks from the FTM dashboard
FTM dashboard showing Send to QuickBooks button on the invoice record Step 2: Invoice synced successfully in QuickBooks Online
QuickBooks invoice created from FTM showing success confirmation and invoice details Step 3: Invoice visible under Sales Transactions in QuickBooks
QuickBooks Sales Transactions view showing FTM invoice listed after sync Step 4: Invoice record with invoice number confirmed in FTM
QuickBooks button on FTM Load record to initiate invoice sync QuickBooks ID confirmed on the FTM record after sync
FTM record showing QuickBooks ID attached after successful invoice sync QuickBooks button on the FTM Load record
💡
Carrier sync works the same way. Open a Carrier record in FTM and click the QuickBooks button to create or update the carrier as a Vendor in QuickBooks Online. Payment terms from the carrier record transfer automatically.

Questions

Frequently Asked Questions

Does this work with QuickBooks Online or QuickBooks Desktop?

The FTM QuickBooks integration connects to QuickBooks Online via the Intuit Developer API. QuickBooks Desktop is not currently supported.

What happens if a customer already exists in QuickBooks?

The integration checks QuickBooks for an existing customer by display name before creating a new one. If a match is found, the existing record is updated rather than duplicated. The QuickBooks Customer ID is then saved back to the FTM Account record.

Can I post to QuickBooks from multiple FTM orgs?

Yes. The integration supports two separate QuickBooks connections via Named Credentials, one pointing to the standard QuickBooks endpoint and one to a second connection. This lets you run separate QuickBooks accounts from the same FTM Salesforce org.

What fields sync from FTM to QuickBooks on an invoice?

The integration maps the load rate as a line item, includes additional charges if Product IDs are configured, applies payment terms from the Customer Account, and links the QuickBooks Customer ID. After syncing, the QuickBooks Invoice ID is stored back on the FTM record.

How often does balance data update back in FTM?

Balance updates run every 15 minutes automatically. Payment status from QuickBooks flows back to FTM so your AR view stays current without any manual input or separate QuickBooks login.

What if a customer name in FTM does not exactly match QuickBooks?

The integration queries QuickBooks by the exact display name from the FTM Account. If names differ, the lookup will not find a match and a new customer will be created in QuickBooks. Make sure customer names in FTM exactly match those in QuickBooks to avoid duplicates.

Can I use this integration in sandbox before going live?

Yes, and you should. The FTM team activates the integration in your Salesforce sandbox environment first. Test by clicking the QuickBooks button on invoice records, verifying the sync in QuickBooks, and confirming QuickBooks IDs are written back to FTM before the production go-live.

See the FTM QuickBooks integration live

Book a 15-minute demo and we’ll walk through invoice sync in a live org.

Book a Demo

Ready to connect QuickBooks?

Get help setting up the integration in your org or troubleshoot an existing connection.

Email Support
⚙ Developer & Admin Reference For Salesforce Admins & Developers

Prerequisites

  • Active QuickBooks Online account
  • Access to the Intuit Developer portal at developer.intuit.com
  • Salesforce FTM org (production or sandbox) with System Administrator access
  • Named Credential configured: QuickBooks (and optionally QuickBooks2 for dual-account orgs)
  • Each FTM Account must have the Customer QB ID field available before invoices can sync
QuickBooks Online account screen showing customer records Active QuickBooks Online account with customer records
Salesforce FTM environment ready for QuickBooks integration setup FTM Salesforce environment ready for setup

Step 1: Create or Access the QuickBooks App

FTM connects to QuickBooks via the Intuit Developer API. You need to create an app (or access an existing one) in the QuickBooks Developer portal to retrieve your Client ID and Client Secret.

  1. Go to developer.intuit.com and sign in.
  2. Navigate to your Dashboard.
  3. Under Production Settings in the left sidebar, click Keys and Credentials.
  4. Complete all required fields including the App Assessment Questionnaire. Use your company website URL for any required redirect or company fields.
Important: If the App Assessment Questionnaire is not completed correctly, Intuit may reject your app. Complete all fields carefully before submitting.
QuickBooks Developer portal dashboard showing Keys and Credentials navigation QuickBooks Developer portal, Keys and Credentials
QuickBooks Production Settings section in developer portal Production Settings in the Intuit Developer portal
QuickBooks app credentials screen showing Client ID and Client Secret fields Client ID and Client Secret fields in the QB app
QuickBooks App Assessment Questionnaire required for production access App Assessment Questionnaire, required for production

Step 2: Connect QuickBooks with FTM (Sandbox)

Always test in sandbox before production. The FTM team configures your Named Credential in the sandbox environment first.

  1. Log in to your Salesforce sandbox at https://test.salesforce.com.
  2. Open any Invoice record and click the QuickBooks button to send test data.
  3. Test multiple records to verify that customers are created or updated correctly and that invoices appear in QuickBooks with the right line items.
  4. If additional line items need to be sent, make sure each product has a valid Product ID from QuickBooks configured in FTM.
  5. Refresh the Invoice page after each test to confirm the QuickBooks ID is written back to the FTM record.
FTM Invoice screen showing QuickBooks button for sandbox testing QuickBooks button on the FTM Invoice screen in sandbox
FTM Invoice record detail showing line items before QuickBooks sync Invoice line items in FTM before QuickBooks sync
Multiple FTM records tested in QuickBooks sandbox environment Testing multiple records in sandbox to verify the QuickBooks integration

Step 3: Connect QuickBooks with FTM (Production)

Once sandbox testing is complete and verified, the FTM team activates the production connection using your QuickBooks production credentials.

  1. Log in to your QuickBooks Developer account.
  2. Navigate to Production Settings and then Keys and Credentials.
  3. Copy your production Client ID and Client Secret.
  4. Provide these credentials to the FTM team at [email protected]. The team will configure the production Named Credential in Salesforce.
  5. Once confirmed, open any Invoice record in your production FTM org and click the QuickBooks button to begin sending live records.
Credentials are stored securely in a Salesforce Named Credential. They are never stored in Apex code, records, or logs, and are not visible to standard users.

Step 4: Customer Setup in FTM

Each Account in FTM must have a corresponding Customer QB ID before invoices can be pushed to QuickBooks under the correct customer.

  1. Navigate to the Accounts object in FTM.
  2. Locate the Customer QB ID field on each Account record.
  3. Add the matching QuickBooks Customer ID manually if it is not already populated. This can also be auto-populated the first time the customer is pushed via the integration.
Name matching matters. Customer names in FTM must exactly match those in QuickBooks to avoid syncing errors or duplicate records. Check spelling, punctuation, and spacing before running a sync.
FTM Account record showing Customer QB ID field populated with QuickBooks customer ID Customer QB ID field populated on an FTM Account
FTM Account list view with Customer QB ID visible for multiple records Multiple FTM Accounts with QB Customer IDs confirmed

Step 5: Sending Invoices to QuickBooks

With the integration active and customer records set up, sending invoices is a single click from any FTM Load record.

  1. Open a Load record in FTM.
  2. Click the QuickBooks button to initiate the sync.
  3. The integration transfers: the Rate as a line item, additional charges if Line Items and Product IDs are configured, and Payment Terms from the Customer Account.
  4. Refresh the Invoice page after sending to confirm the QuickBooks ID is now attached to the FTM record.
FTM invoice sync in progress showing QuickBooks button clicked on load record Initiating invoice sync from an FTM Load record to QuickBooks Online
FTM invoice with line items ready to be synced to QuickBooks Invoice line items in FTM before sync
QuickBooks Online invoice created from FTM showing matched line items and customer Resulting QuickBooks invoice with matched customer and line items
📦
Carrier sync as Vendors: The same workflow applies to carriers. Open a Carrier record in FTM, click the QuickBooks button, and the carrier is created or updated as a Vendor in QuickBooks Online with billing address, phone, email, and payment terms all mapped across.
FTM Carrier record showing QuickBooks Vendor sync button for carrier to QuickBooks integration QuickBooks Vendor sync button on the FTM Carrier record

Apex Component Reference

ComponentTypePurpose
QuickBooksAccountUpdateApex ClassSyncs an FTM Account to QuickBooks as a Customer using connection 1 (callout:QuickBooks). Stores QB Customer ID in QBCustomerID__c.
QuickBooksAccountUpdate2Apex ClassSame as above but points to connection 2 (callout:QuickBooks2). Stores QB Customer ID in QBCustomerIDNEW__c. Use for orgs with two separate QB accounts.
QuickBooksCarrierCreatorUpdatorApex ClassSyncs an FTM Carrier to QuickBooks as a Vendor using connection 1. Stores QB Vendor ID on the Carrier record.
QuickBooksCarrierCreatorUpdater2Apex ClassSame as above using connection 2 for dual-QB-account setups.
VF: Account pageVisualforceButton UI on Account record, triggers Create/Update Customer actions for both QB connections.
VF: Carrier pageVisualforceButton UI on Carrier record, triggers Create/Update Vendor actions for both QB connections.

Named Credential Reference

Named CredentialUsed ByNotes
QuickBooksAccountUpdate, CarrierCreatorUpdatorPrimary QuickBooks Online connection. Configure with Client ID and Client Secret from Intuit Developer portal.
QuickBooks2AccountUpdate2, CarrierCreatorUpdater2Secondary QB connection for orgs with two separate QuickBooks accounts. Same setup process, different credentials.

Field Mapping: Account to QuickBooks Customer

FTM FieldQB FieldNotes
Account.NameDisplayNameRequired Must exactly match QB display name
Accounting_Phone__cPrimaryPhoneRequired Sync fails if null
BillingStreetBillAddr.Line1Required Sync fails if null
BillingCityBillAddr.CityRequired Sync fails if null
BillingStateBillAddr.CountrySubDivisionCodeOptional Defaults to empty string if null
BillingPostalCodeBillAddr.PostalCodeOptional Defaults to empty string if null
BillingCountryBillAddr.CountryOptional Defaults to empty string if null
Accounting_Email__cPrimaryEmailAddrOptional Defaults to empty string if null

Testing Checklist (Sandbox)

Before you begin, confirm:

  • Named Credential QuickBooks is configured with valid Client ID and Client Secret
  • At least one Account record in FTM has billing address, phone, and Customer QB ID populated
  • At least one Invoice record exists linked to that Account
  • Product IDs are configured in FTM if additional charges need to sync as separate line items

Invoice sync tests:

  1. Open a test Invoice record. Click the QuickBooks button.
  2. Confirm a success message appears and the QuickBooks Invoice ID is written back to the FTM record.
  3. Log into QuickBooks Online and verify the invoice appears with the correct customer, line items, and payment terms.
  4. Test a customer that does not yet exist in QuickBooks and confirm a new Customer is created.
  5. Test an existing customer and confirm the record is updated rather than duplicated.

Carrier Vendor sync tests:

  1. Open a test Carrier record. Click the QuickBooks button.
  2. Log into QuickBooks Online and verify the Vendor appears with correct billing address, phone, email, and payment terms.

Let's Talk!

Thanks for stopping by! We're here to help, please don't hesitate to reach out.

Watch 3-Min Demo