Integrations / Tms Integrations

TMS Integrations

Integrate FreightConnect with your existing Transportation Management System (TMS). Load data syncs bidirectionally — create loads in your TMS, they appear in FreightConnect; accept quotes in FreightConnect, they sync back to your TMS.

Pre-Built Integrations

McLeod

Status: Available now

Sync:

  • Loads from McLeod to FreightConnect
  • Carrier quotes back to McLeod
  • Shipment tracking to McLeod
  • Final settlement and accounting

Setup: Go to SettingsIntegrationsMcLeod → authorize via OAuth

Supported features:

  • Auto-post loads to FreightConnect
  • Quote acceptance flows back to McLeod
  • Carrier assignments visible in McLeod
  • POD synced back to McLeod

TMW (Trimble)

Status: Available now

Sync:

  • Loads from TMW to FreightConnect
  • Carrier quotes back to TMW
  • Tracking and delivery status
  • Invoice reconciliation

Setup: Go to SettingsIntegrationsTMW → enter TMW API credentials

Supported features:

  • Load creation and posting
  • Quote management and acceptance
  • Real-time tracking display in TMW
  • Settlement batch processing

Turvo

Status: Available now

Sync:

  • Loads, shipments, and tracking
  • Carrier information and quotes
  • Document generation
  • Accounting integration

Setup: Go to SettingsIntegrationsTurvo → authenticate

Supported features:

  • Full load lifecycle sync
  • Quote comparison within Turvo
  • Multi-leg shipments
  • Real-time visibility across systems

AscendTMS

Status: Q3 2026 (planned)

We're building out AscendTMS integration. Early access available for Enterprise customers. Contact matt@freightconnect.ai for details.

API-First Integration (Any TMS)

Don't see your TMS? Use the REST API directly:

  1. Go to SettingsIntegrationsAPI Keys
  2. Generate a key
  3. Use the API Reference to:
    • Create loads: POST /loads
    • Retrieve quotes: GET /loads/{id}
    • Accept quotes: POST /loads/{id}/accept
    • Get tracking: GET /shipments/{id}/tracking
    • Query settlements: GET /settlements

Most TMS platforms have built-in REST API capabilities. Your development team can build the connector in a few hours.

Custom Webhook Integration

If your TMS can only receive webhooks (not call APIs directly):

  1. Set up a reverse tunnel or webhook receiver on your end
  2. In FreightConnect, go to SettingsWebhooks
  3. Register your webhook URL: https://yourtms.com/freightconnect/webhook
  4. Select events: load.posted, quote.received, shipment.delivered, settlement.paid
  5. Test the webhook

Now, when events happen in FreightConnect, your TMS receives a POST with the data.

Field Mapping Examples

Load Creation

If your TMS uses different field names, we map them:

| Your TMS | FreightConnect | |---|---| | Shipper_Company | shipper_name | | Origin_City | pickup_address (extracted) | | Origin_State | pickup_address (extracted) | | Destination_City | delivery_address (extracted) | | Pounds | weight_lbs | | FreightClass | freight_class | | Equipment | equipment_type | | BidRate / YourRate | rate |

You can customize mappings in SettingsTMS IntegrationField Mapping.

Quote Response

When a carrier quotes, FreightConnect sends:

{
  "load_id": "load_abc123",
  "quote_id": "quote_xyz",
  "carrier_name": "ABC Trucking",
  "carrier_id": "carr_abc",
  "quoted_rate": 2.15,
  "quote_timestamp": "2026-04-13T14:30:00Z",
  "fsc_score": 82,
  "eta": "2026-04-15T17:00:00Z"
}

Your TMS receives this and can display it in your quoting module.

Common Workflows

Load Creation in TMS → FreightConnect Posting

  1. Dispatcher creates load in your TMS
  2. TMS sends load data via API: POST /loads
  3. FreightConnect responds with load_id
  4. Dispatcher clicks "Post to Freight Network" in TMS
  5. TMS calls POST /loads/{id}/post
  6. Quotes start coming back
  7. Dispatcher reviews quotes in TMS (via our API or webhook)
  8. Dispatcher clicks "Accept Quote"
  9. TMS calls POST /loads/{id}/accept and updates shipment status

Real-Time Tracking Display

  1. Load is in transit
  2. FreightConnect tracking agent updates GPS every 1-2 minutes
  3. TMS polls GET /shipments/{id}/tracking every 2 minutes (or receives webhook)
  4. TMS dashboard shows updated truck location
  5. When delivery confirmed, status updates automatically

Settlement Reconciliation

  1. Load delivered and POD received
  2. FreightConnect generates settlement
  3. TMS receives webhook: settlement.paid (or polls GET /settlements)
  4. TMS posts journal entry to accounting system (A/R shipper, A/P carrier)
  5. Batch reconciliation happens daily

Data Sync Frequency

  • Loads posted: real-time
  • Quotes received: real-time (via webhook) or polled every 30 seconds (via API)
  • Tracking updates: every 1-2 minutes (if ELD available)
  • Settlements: real-time (when POD received)

You control polling frequency in SettingsIntegration OptionsSync Frequency.

Error Handling & Retry Logic

If the integration fails:

  • API error: FreightConnect returns an error code; your TMS logs it
  • TMS unavailable: FreightConnect stores the event in a queue and retries for 24 hours
  • Webhook failure: FreightConnect retries 5 times with exponential backoff

Check sync status in SettingsIntegration Health → see success/failure logs per endpoint.

Testing the Integration

Before going live:

  1. Sandbox mode: Go to SettingsIntegration Test Mode (off by default)
  2. Create a test load in your TMS
  3. FreightConnect sends it to sandbox carriers (no real quotes, no charges)
  4. Confirm the load data looks correct in FreightConnect
  5. Test quote acceptance and tracking
  6. Once confident, disable test mode and go live

Test loads are marked as test: true in the API response and never charged.

Support

  • Setup help: matt@freightconnect.ai
  • Integration status: Go to SettingsIntegration Health to see recent errors
  • Logs: Download integration logs in CSV format for debugging

What's Next

Last updated: April 2026