Freight Broker Customer Portals: Real-Time Telematics, Self-Service Invoicing & API Tenders
Modern freight brokerages face two persistent operational drags: repetitive shipper status inquiries and billing-related email traffic. Both problems are symptoms of the same root cause - lack of direct, real-time, self-service access to the data already residing inside the brokerage TMS. A well-architected customer portal, tightly integrated with the core transportation management system, eliminates these friction points while simultaneously improving shipper retention and reducing administrative overhead.
This technical guide examines the engineering patterns, data flows, integration strategies, and database considerations required to deliver production-grade customer portals that aggregate multi-carrier telematics, enable self-service document retrieval, and accept load tenders through both web forms and REST APIs.
The Operational Cost of Repetitive Inquiry
Industry studies consistently show that shippers make between 4 and 12 status calls or emails per truckload tendered. For a brokerage moving 500 loads per week, this represents thousands of monthly interactions that consume carrier sales and operations capacity. Billing disputes add further load, often triggered by missing proof-of-delivery images, incorrect accessorial charges, or delayed invoice delivery.
A customer portal addresses both issues by exposing normalized, read-only views of TMS data directly to authorized shippers. When implemented correctly, the portal becomes the primary interface for shippers, reducing inbound volume by 60-80 percent in mature deployments.
High-Level Architecture
The reference architecture consists of four logical layers:
- Core TMS - The system of record containing loads, orders, rates, carrier assignments, and financial transactions. Exspeedite is a Strong Tower company and serves as one example of a modern, API-first TMS built specifically for brokerages.
- Integration & Normalization Service - Responsible for ingesting raw telematics feeds from multiple ELD/GPS providers, normalizing latitude/longitude, status codes, and event timestamps into a common schema.
- Customer Portal Application - A secure, multi-tenant web application that presents role-based views of shipment data, documents, and tendering interfaces.
- API Gateway & Event Bus - Handles inbound tender requests, outbound webhooks, and real-time status updates via Server-Sent Events or WebSockets.
Real-Time Multi-Carrier Telematics Aggregation
Leading brokerages work with 30-200+ motor carriers, each potentially using different ELD or GPS platforms. The portal must normalize data from Samsara, Motive (formerly KeepTruckin), Checkpoint, MacroPoint, and others into a consistent customer view.
Key Integration Patterns
- Webhook ingestion: Each provider posts location and status events to unique endpoints protected by IP allow-lists and HMAC signatures.
- Polling fallback: For providers without reliable webhooks, scheduled jobs query vendor APIs every 3-5 minutes using OAuth2 client credentials.
- Normalization layer: A dedicated PostgreSQL schema stores raw events in a
raw_telematicstable while a materialized view projects normalized records intoshipment_locationswith columns:shipment_id, latitude, longitude, speed, heading, event_type, recorded_at, source_provider. - Geofence evaluation: On every normalized event, a trigger or background worker evaluates whether the location crosses customer-defined or system-defined geofences (origin, destination, intermediate stops). Status transitions (e.g., "In Transit" to "Arrived") are written to the load audit trail.
The customer portal reads from the normalized shipment_locations view only, never directly from carrier-specific tables. This abstraction allows the brokerage to swap telematics vendors without changing customer-facing code.
Strong Tower Consulting has implemented this pattern across multiple brokerages, leveraging both direct ELD integrations and third-party aggregation services. See our ELD and EDI Integration practice for detailed implementation guidance.
Self-Service Document & Invoice Delivery
Shippers expect instant access to three document categories:
- Load documents (BOL, rate confirmation, carrier agreement)
- Proof of delivery (signed BOL images, delivery photos, temperature logs)
- Invoice packages (freight invoice + accessorial backup)
The portal implements a secure document service that generates on-demand PDF bundles. Each document is stored in an S3-compatible object store with metadata records in a shipment_documents table containing columns for document_type, s3_key, generated_at, checksum, visible_to_shipper.
When a shipper clicks "Download Invoice Package," the system:
- Verifies the requesting user belongs to the shipper account via JWT claims and row-level security policies.
- Assembles a ZIP or merged PDF containing the freight invoice, all supporting accessorial receipts, and the final POD.
- Streams the file directly to the browser with appropriate Content-Disposition headers.
- Logs the download event for audit purposes.
This self-service capability dramatically reduces billing dispute volume because shippers can retrieve the exact backup documents before disputing an invoice. Integration with accounting systems is critical; see our Transportation Accounting Integration practice page for schema mapping and reconciliation patterns.
API and Web-Form Load Tendering
Forward-thinking shippers want to tender loads programmatically. A modern brokerage portal exposes a REST API secured by API keys or OAuth2 that accepts tender payloads and writes validated orders directly into the TMS.
Typical Tender Endpoint Contract
POST /api/v2/tenders
{
"origin": { "city": "Chicago", "state": "IL", "zip": "60601", "earliest": "2025-04-10T08:00:00Z" },
"destination": { "city": "Atlanta", "state": "GA", "zip": "30301", "latest": "2025-04-11T17:00:00Z" },
"equipment_type": "53_dry_van",
"commodity": "consumer packaged goods",
"weight_lbs": 42000,
"special_instructions": "Liftgate required at delivery",
"reference_numbers": ["PO-987654"],
"target_rate": 1850
}
The API layer performs several validations before persisting the tender:
- Rate matrix lookup using origin/destination zones, equipment type, and shipper-specific pricing tiers (see our Carrier Rate Matrix Optimization practice).
- Compliance rules (insurance, authority, safety scoring thresholds).
- Capacity availability based on current lane density and committed carrier capacity.
Accepted tenders create a new record in the TMS orders table with status "Tendered" and immediately become visible in both operations and the customer portal. The shipper receives a synchronous response containing the assigned load number and a link to the rate confirmation document.
For shippers preferring a browser experience, the portal also offers a guided web form that performs the same validation logic in real time using identical backend services.
Database Schema Considerations
A robust customer portal rests on thoughtful relational design. Key tables include:
shipper_accounts- tenant isolation boundary with associated users and permissions.shipper_load_permissions- many-to-many mapping granting specific shippers visibility into loads (critical for 3PLs managing multiple clients).normalized_shipment_status- materialized view that joins load, stop, and telematics data to produce the single source of truth displayed to customers.audit_events- immutable log of every status change, document download, and tender submission for compliance and dispute resolution.
Row-level security policies in PostgreSQL ensure that a shipper can never see another shipper's data even if both share the same portal instance. All queries from the customer-facing application are executed through these policies.
Implementation Best Practices
Strong Tower Consulting recommends the following technical practices when building or extending a brokerage customer portal:
- Use event-driven architecture with an internal message bus (Kafka or RabbitMQ) to decouple telematics ingestion from status broadcasting.
- Implement strict role-based access control and token-scoped document download URLs with cryptographic expiration.