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
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.
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.
Invoice and Customer Sync Workflow
From Load record in FTM to QuickBooks invoice, one click, no manual entry.
FTM QuickBooks integration workflow: invoice and customer sync from FTM Salesforce to QuickBooks Online
Step 1: Send invoice to QuickBooks from the FTM dashboard
Step 2: Invoice synced successfully in QuickBooks Online
Step 3: Invoice visible under Sales Transactions in QuickBooks
Step 4: Invoice record with invoice number confirmed in FTM
QuickBooks ID confirmed on the FTM record after sync
QuickBooks button on the FTM Load record
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 DemoReady 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 optionallyQuickBooks2for dual-account orgs) - Each FTM Account must have the Customer QB ID field available before invoices can sync
Active QuickBooks Online account with customer records
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.
- Go to developer.intuit.com and sign in.
- Navigate to your Dashboard.
- Under Production Settings in the left sidebar, click Keys and Credentials.
- Complete all required fields including the App Assessment Questionnaire. Use your company website URL for any required redirect or company fields.
QuickBooks Developer portal, Keys and Credentials
Production Settings in the Intuit Developer portal
Client ID and Client Secret fields in the QB app
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.
- Log in to your Salesforce sandbox at
https://test.salesforce.com. - Open any Invoice record and click the QuickBooks button to send test data.
- Test multiple records to verify that customers are created or updated correctly and that invoices appear in QuickBooks with the right line items.
- If additional line items need to be sent, make sure each product has a valid Product ID from QuickBooks configured in FTM.
- Refresh the Invoice page after each test to confirm the QuickBooks ID is written back to the FTM record.
QuickBooks button on the FTM Invoice screen in sandbox
Invoice line items in FTM before QuickBooks sync
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.
- Log in to your QuickBooks Developer account.
- Navigate to Production Settings and then Keys and Credentials.
- Copy your production Client ID and Client Secret.
- Provide these credentials to the FTM team at [email protected]. The team will configure the production Named Credential in Salesforce.
- Once confirmed, open any Invoice record in your production FTM org and click the QuickBooks button to begin sending live records.
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.
- Navigate to the Accounts object in FTM.
- Locate the Customer QB ID field on each Account record.
- 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.
Customer QB ID field populated on an FTM Account
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.
- Open a Load record in FTM.
- Click the QuickBooks button to initiate the sync.
- 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.
- Refresh the Invoice page after sending to confirm the QuickBooks ID is now attached to the FTM record.
Initiating invoice sync from an FTM Load record to QuickBooks Online
Invoice line items in FTM before sync
Resulting QuickBooks invoice with matched customer and line items
QuickBooks Vendor sync button on the FTM Carrier record
Apex Component Reference
| Component | Type | Purpose |
|---|---|---|
QuickBooksAccountUpdate | Apex Class | Syncs an FTM Account to QuickBooks as a Customer using connection 1 (callout:QuickBooks). Stores QB Customer ID in QBCustomerID__c. |
QuickBooksAccountUpdate2 | Apex Class | Same as above but points to connection 2 (callout:QuickBooks2). Stores QB Customer ID in QBCustomerIDNEW__c. Use for orgs with two separate QB accounts. |
QuickBooksCarrierCreatorUpdator | Apex Class | Syncs an FTM Carrier to QuickBooks as a Vendor using connection 1. Stores QB Vendor ID on the Carrier record. |
QuickBooksCarrierCreatorUpdater2 | Apex Class | Same as above using connection 2 for dual-QB-account setups. |
| VF: Account page | Visualforce | Button UI on Account record, triggers Create/Update Customer actions for both QB connections. |
| VF: Carrier page | Visualforce | Button UI on Carrier record, triggers Create/Update Vendor actions for both QB connections. |
Named Credential Reference
| Named Credential | Used By | Notes |
|---|---|---|
QuickBooks | AccountUpdate, CarrierCreatorUpdator | Primary QuickBooks Online connection. Configure with Client ID and Client Secret from Intuit Developer portal. |
QuickBooks2 | AccountUpdate2, CarrierCreatorUpdater2 | Secondary QB connection for orgs with two separate QuickBooks accounts. Same setup process, different credentials. |
Field Mapping: Account to QuickBooks Customer
| FTM Field | QB Field | Notes |
|---|---|---|
Account.Name | DisplayName | Required Must exactly match QB display name |
Accounting_Phone__c | PrimaryPhone | Required Sync fails if null |
BillingStreet | BillAddr.Line1 | Required Sync fails if null |
BillingCity | BillAddr.City | Required Sync fails if null |
BillingState | BillAddr.CountrySubDivisionCode | Optional Defaults to empty string if null |
BillingPostalCode | BillAddr.PostalCode | Optional Defaults to empty string if null |
BillingCountry | BillAddr.Country | Optional Defaults to empty string if null |
Accounting_Email__c | PrimaryEmailAddr | Optional Defaults to empty string if null |
Testing Checklist (Sandbox)
Before you begin, confirm:
- Named Credential
QuickBooksis 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:
- Open a test Invoice record. Click the QuickBooks button.
- Confirm a success message appears and the QuickBooks Invoice ID is written back to the FTM record.
- Log into QuickBooks Online and verify the invoice appears with the correct customer, line items, and payment terms.
- Test a customer that does not yet exist in QuickBooks and confirm a new Customer is created.
- Test an existing customer and confirm the record is updated rather than duplicated.
Carrier Vendor sync tests:
- Open a test Carrier record. Click the QuickBooks button.
- Log into QuickBooks Online and verify the Vendor appears with correct billing address, phone, email, and payment terms.