Inside Delivery & Stairs Accessorial Rating: Dynamic TMS Architecture
Motor carriers and 3PLs that routinely handle specialized high-value or commercial inside delivery operations frequently lose millions in unbilled accessorial revenue. Inside delivery, stair carries, multi-man crew requirements, elevator delays, and white-glove services are often captured inconsistently on the delivery manifest yet fail to reach the billing system. Strong Tower Consulting has spent more than 18 years designing enterprise-grade dynamic rating engines that close this gap.
This guide presents the authoritative technical architecture for a dynamic, multi-carrier rate matrix that automatically solves for inside delivery, stair-carry, and white-glove accessorial charges at the point of rate confirmation, load planning, and final invoice reconciliation.
The Revenue Leakage Problem
Traditional static rate tables and carrier-specific accessorial schedules create three critical failure modes:
- Dispatchers and customer service teams lack real-time visibility into the true delivered cost when accepting orders.
- Carrier rate matrices are expressed in incompatible formats (flat per-stop fees, tiered stair counts, hourly labor add-ons, distance-banded charges).
- Post-delivery invoice reconciliation becomes a manual, error-prone process that routinely misses legitimate charges or applies incorrect amounts.
The result is either revenue leakage or customer disputes that damage carrier relationships. A properly designed dynamic TMS accessorial solver eliminates both problems.
Reference Architecture: The Dynamic Accessorial Solver
The recommended pattern is a centralized, carrier-agnostic microservice (the Accessorial Solver) that sits between the TMS order entry / load planning layer and all contracted carrier rate engines. This service normalizes every carrier's accessorial rules into a unified decision matrix, evaluates delivery constraints in real time, and returns precise charges that can be locked at time of tender.
Order Management / TMS
│
▼
Delivery Constraint Detector
(Address + Notes + Geofence + Shipment Flags)
│
▼
Accessorial Solver Service
├── Carrier Rate Matrix Repository (normalized)
├── Location Constraint Engine
├── Stair / Floor / Crew Calculator
├── White-Glove / Inside Delivery Rule Engine
└── Billing Reconciliation Lock
│
▼
Carrier-Specific Rating API (real-time or batch)
│
▼
Final Rated Load + Accessorial Detail
(stored immutably for invoice generation)
Core Data Model & Rate Matrix Design
The foundation is a normalized, version-controlled rate matrix stored in a relational or document database. Each carrier maintains its own matrix, but all matrices conform to the same schema.
| Column | Type | Description | Example |
|---|---|---|---|
| carrier_id | varchar | Unique carrier identifier | CAR-7842 |
| accessorial_type | enum | INSIDE_DELIVERY, STAIR_CARRY, WHITE_GLOVE, ELEVATOR_WAIT, MULTI_MAN | STAIR_CARRY |
| condition_field | varchar | Field the rule evaluates | stair_count |
| condition_operator | enum | GT, GTE, LT, LTE, EQ, RANGE | GTE |
| condition_value | varchar | Value or range to match | 3 |
| charge_type | enum | FLAT, PER_FLOOR, PER_MAN_HOUR, PER_STOP | PER_FLOOR |
| charge_amount | decimal | Monetary value | 45.00 |
| min_charge | decimal | Minimum charge floor | 125.00 |
| effective_date | date | Matrix version start | 2025-01-01 |
| expiration_date | date | Matrix version end (null = indefinite) | null |
Real-Time Delivery Constraint Detection
The solver begins with a multi-signal constraint detector that runs before any rate is returned. Strong Tower recommends the following layered approach:
- Address Classification: Geocode the delivery address and cross-reference against commercial/residential tax databases, USPS CASS, and proprietary commercial delivery indexes.
- Shipment Metadata Flags: Parse order notes, special instructions, and commodity codes for keywords such as "inside", "stairs", "elevator", "white glove", "assembly", "carry up".
- Consignee Profile: Maintain a master consignee database that records historical delivery requirements (e.g., "ABC Hospital - 4th floor, elevator required").
- Carrier Stop Data: When available, ingest the carrier's own stop-level accessorial codes returned via EDI 214 or API.
Each signal is assigned a confidence score. When confidence exceeds a configurable threshold, the constraint is locked into the shipment record and cannot be overridden without supervisor approval.
Accessorial Solver Decision Engine
The solver implements a rules engine that evaluates constraints against the normalized carrier matrix. A simplified decision flow for stair-carry inside delivery is shown below:
function solveAccessorials(shipment, carrierId):
constraints = detectConstraints(shipment)
matrix = fetchNormalizedMatrix(carrierId, effectiveDate=shipment.loadDate)
charges = []
if constraints.hasInsideDelivery:
insideRule = matrix.find("INSIDE_DELIVERY", constraints.deliveryType)
charges.append(calculateCharge(insideRule, constraints))
if constraints.stairCount > 0:
stairRule = matrix.find("STAIR_CARRY", constraints.stairCount)
charges.append(calculateCharge(stairRule, constraints))
if constraints.requiresMultiMan or constraints.crewSize > 2:
crewRule = matrix.find("MULTI_MAN", constraints.crewSize)
charges.append(calculateCharge(crewRule, constraints))
if constraints.whiteGloveRequested:
wgRule = matrix.find("WHITE_GLOVE")
charges.append(calculateCharge(wgRule, constraints))
totalAccessorial = sum(charges)
return {
baseLinehaul: getBaseRate(shipment, carrierId),
accessorials: charges,
total: baseLinehaul + totalAccessorial,
locked: true,
auditTrail: constraints
}
Implementation Workflow in Enterprise TMS
Strong Tower Consulting recommends the following phased rollout for motor carriers and 3PLs:
- Phase 1 - Matrix Ingestion: Build automated ETL pipelines that ingest each carrier's accessorial tariff (PDF, spreadsheet, or API) and normalize it into the unified schema. Version every matrix with effective dates.
- Phase 2 - Constraint Detector: Deploy address classification and natural-language note parsing services. Integrate with existing TMS order entry screens to surface probable accessorials before dispatch.
- Phase 3 - Real-Time Solver API: Expose the solver as a REST/GraphQL endpoint consumed by rate shopping, load planning, and carrier tender modules. Cache frequent carrier-matrix combinations.
- Phase 4 - Billing Reconciliation Engine: At invoice creation time, compare actual delivery events (from carrier EDI 214 or proof-of-delivery images) against the locked solver output. Flag variances greater than 5% for review.
- Phase 5 - Continuous Improvement: Implement feedback loops that allow billing analysts to correct solver decisions. Use these corrections to retrain classification models and refine matrix rules.
Key Integration Points
| System Module | Integration Type | Data Exchanged | Frequency |
|---|---|---|---|
| Order Entry | Real-time API call | Delivery address, notes, commodity | Per order |
| Rate Shopping / Quoting | Synchronous request/response | Origin, destination, constraints → rated total | Per quote |
| Load Planning & Dispatch | Event-driven | Locked accessorial detail to carrier tender | Per load creation |
| EDI 214 / POD Processing | Batch + real-time | Actual vs. expected accessorial events | Daily + on receipt |
| Invoice Generation | Query at render | Immutable solver snapshot | Per invoice |
| Carrier Rate Maintenance | Scheduled ETL | New tariff files → normalized matrix | Weekly or on tariff change |
Enterprise Best Practices & Governance
- Maintain separate matrix versions per carrier contract. Never apply a 2024 matrix to a 2025 shipment.
- Require dual approval (operations + pricing) before publishing a new carrier matrix to production.
- Store the complete solver output and constraint evidence as an immutable JSON document attached to the load record. This becomes the single source of truth during disputes.
- Expose a carrier-facing portal that shows exactly how their accessorial charges were calculated. Transparency dramatically reduces billing disputes.
- Measure success through three KPIs: accessorial capture rate, revenue leakage percentage, and average days to invoice.
Enterprise Systems Advisory
Ready to modernize your transportation management software, eliminate manual spreadsheets, or optimize telematics and recruiting workflows? Contact Strong Tower Consulting for direct architect guidance.