Procurement App Starter · Industry version
Carrier tenders, fleet parts, and fuel agreements in one purchasing system — generated as code your operation owns.
A logistics operator buys unlike any office: capacity by the lane, parts against trucks that are down right now, and fuel on agreements that move with an index. This starter reshapes the procurement core around lanes, assets, and rate cards — and delivers it as a codebase your ops team controls.
01 · The problem
The biggest purchase a logistics operator makes isn't a product — it's capacity. Carrier rates are quoted per lane, per equipment type, per volume commitment, and an annual tender means comparing hundreds of lane-level rates across carriers. A generic quote table built for unit prices on widgets collapses under that structure, and the comparison retreats to a spreadsheet the system never sees.
Parts buying answers to the clock, not the org chart. When a tractor is down, the approval question isn't whether to spend $800 — it's whether the part arrives before the load reassigns. Purchasing that can't tie a request to a specific asset and its downtime cost will route urgent buys through the same queue as office chairs, and drivers will feel it.
Fuel is a category with its own physics: index-linked pricing, volume tiers, and network agreements that only pay off if drivers actually fuel where the discounts are. Without contract-aware tracking, the gap between negotiated and pump price — often the difference between a profitable quarter and not — never shows up in a report.
02 · Data model
Everything in the base Procurement starter —
vendorspurchase_requestsrfqsquotesapprovalscontracts— plus the entities this industry actually runs on:
| table | what it holds |
|---|---|
rate_agreements | Carrier contracts broken down by lane, equipment type, and volume commitment — the structure a tender comparison actually needs. |
fleet_assets | Tractors, trailers, and material-handling equipment that parts requests link to, carrying downtime status and maintenance spend history. |
fuel_agreements | Network and bulk fuel contracts with index-linked pricing and volume tiers, tracked against actual purchase volumes. |
03 · Screens
The RFQ module speaks lanes: a tender goes out with origin-destination pairs and equipment types, and carrier responses align lane by lane. Award by lane, not by carrier — the mixed award that minimizes cost across the network is visible instead of averaged away.
Parts requests link to a specific down asset, and approval routing reads that status — a request against a grounded tractor takes the expedited path with the higher threshold your policy allows. Urgency is a rule in code, not a phone call to whoever answers.
Carriers are scored on tender acceptance, on-time performance, and claims frequency alongside rate; parts vendors on fill rate and delivery speed against quoted lead times. The next tender shortlist and the next preferred-vendor list both start from data.
04 · In practice
Build the tender from your lane list with volumes and equipment needs, send it to incumbent and challenger carriers, and let responses populate the lane-level comparison. Award lane by lane; the resulting rate agreements become the reference every future shipment cost checks against.
A mechanic raises a parts request against the down tractor; the asset's status routes it through expedited approval. The order records promised delivery, and vendor fill-rate stats update when it arrives — feeding the scorecard that decides who gets the next urgent call.
Quarterly, actual fuel volumes by location run against agreement tiers: where you're leaving discount unclaimed, where volume qualifies you for a better tier, and where pump prices beat the contract. The renegotiation walks in with numbers.
That's what the lane-level structure is for — rate agreements and tender responses are stored per lane and equipment type, so a large tender compares in a table and awards can split across carriers by lane rather than forcing a single winner.
Parts requests link to specific fleet assets, and asset status drives approval routing — down equipment gets the expedited path. Maintenance spend accumulates per asset, which is the number you need when deciding whether to keep or replace a unit.
Fuel agreements carry index linkage and volume tiers, and purchases record against them, so realized-versus-negotiated price is a standing report. The formulas are code you own, so your specific index and surcharge math can be exact.
No — the TMS executes shipments; this system governs the buying side: tenders, rate agreements, parts, and fuel. Because both sides are yours, feeding awarded rates from here into your TMS is straightforward integration against your own schema.
Dual7 App Starters
Carrier tenders, fleet parts, and fuel agreements in one purchasing system — generated as code your operation owns. Describe your version to start — the output is a project you own.