PageSourceSearch

https://transportsimple.com/assets/LooseCargoIndustry-BxDW8sLC.js

js transportsimple.com collected 2026-09-24 13:29:29 UTC 27,680 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-ui-A12DDDPJ.js";import{I as l}from"./IndustryPageTemplate-D465iMu4.js";import{I as a}from"./shared-BVEzdRZl.js";import{K as r,aC as i,E as n,f as c,o as d}from"./index-BWq0bbWM.js";import{C as s}from"./credit-card-DRFnstfF.js";import{A as p}from"./activity-DRu8K4Mo.js";import"./vendor-react-zaFybfsY.js";import"./BackButtonBar-DrF_eLO3.js";import"./arrow-left-DEXc-Zx7.js";import"./Footer-Bm1CabPQ.js";import"./vendor-i18n-nJJiGX0r.js";import"./preload-helper-CZ5Qg0oT.js";import"./vendor-supabase-BBbWDq57.js";import"./PageTransition-Crmpi4My.js";import"./check-s7vQ5Lo7.js";import"./RelatedResources-XvuQ13OV.js";import"./crossLinks-DDCBZ_7s.js";import"./receipt-C7yJwgSP.js";import"./chart-column-D54uduey.js";import"./camera-C6zZ-4Dn.js";import"./scale-YeKH0mKd.js";import"./bell-B2rLBfyq.js";import"./trending-up-CfWtM3tO.js";import"./rotate-ccw-BBVm40GB.js";import"./calendar-CMeoWJL1.js";import"./timer-D3Bb77cD.js";import"./route-DNPv6zq_.js";import"./user-DBxapSbB.js";import"./upload-B73vZ-ar.js";import"./refresh-cw-CvHVTWsI.js";import"./dollar-sign-C5zMTPIw.js";import"./users-ByfRVUDB.js";import"./file-check-Dq7vZsAs.js";import"./star-BdYfVkuP.js";import"./shield-D9nvCWo9.js";import"./circle-check-big-p2HwNp-Q.js";import"./scissors-Dtrtrwgl.js";import"./settings-CGLYska4.js";import"./shield-check-Be1SK4MT.js";import"./target-r8xKczX_.js";import"./compass-BPmranpI.js";import"./flame-Cr1NPOBD.js";import"./arrow-left-right-B-v0Dnx8.js";import"./badge-check-DVEyHDMY.js";import"./monitor-smartphone-AkKlKXOZ.js";import"./layout-dashboard-BmZ00BQG.js";import"./shield-alert-Dkv5TEed.js";import"./briefcase-DdX8QoA2.js";import"./anchor-CNTVEqvU.js";import"./ban-Db3T569f.js";const u=()=>e.jsxs(a,{title:"Loose Cargo Workflow — 8 Stages",badge:"● Quote → Payment",children:[e.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:[{i:"01",label:"Quotation",color:"bg-primary/10 text-primary"},{i:"02",label:"Confirmation",color:"bg-primary/10 text-primary"},{i:"03",label:"Sales Order",color:"bg-destructive/10 text-destructive"},{i:"04",label:"Trip Dispatch",color:"bg-destructive/10 text-destructive"},{i:"05",label:"Live Tracking",color:"bg-success/10 text-success"},{i:"06",label:"PoD Capture",color:"bg-success/10 text-success"},{i:"07",label:"Invoice",color:"bg-secondary/10 text-secondary"},{i:"08",label:"Payment",color:"bg-secondary/10 text-secondary"}].map((t,o)=>e.jsxs("div",{className:`rounded-md px-2.5 py-2 ${t.color} flex items-center gap-2`,children:[e.jsx("div",{className:"text-[9px] font-extrabold opacity-70",children:t.i}),e.jsx("div",{className:"text-[11px] font-bold",children:t.label})]},o))}),e.jsxs("div",{className:"mt-2 px-2.5 py-1.5 rounded-md bg-primary/5 border border-primary/15 text-[10px] text-foreground",children:[e.jsx("strong",{className:"text-primary",children:"No re-entry."})," Every stage feeds the next — quote auto-populates SO, SO auto-populates dispatch, PoD auto-attaches to invoice."]})]}),m=()=>e.jsx(a,{title:"Billing Modes — Loose Cargo",badge:"4 modes supported",children:e.jsxs("div",{className:"flex flex-col gap-1.5",children:[[{mode:"Per Trip",detail:"Fixed rate per movement — Mumbai → Pune ₹18,000",tag:"Trip",tagClass:"bg-primary/10 text-primary"},{mode:"Per Tonne / Kg",detail:"Weight-based — ₹2,400 per tonne, slab-rated",tag:"Weight",tagClass:"bg-destructive/10 text-destructive"},{mode:"Per Package / Carton",detail:"Unit-based — ₹85 per carton, count from PoD",tag:"Unit",tagClass:"bg-success/10 text-success"},{mode:"Per CFT / Volume",detail:"Volume-based — ₹120 per CFT, dimensional weight",tag:"Volume",tagClass:"bg-accent/20 text-accent-foreground"}].map((t,o)=>e.jsxs("div",{className:"flex items-center gap-2 px-2.5 py-2 rounded-lg bg-card border border-border",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[11px] font-bold text-foreground",children:t.mode}),e.jsx("div",{className:"text-[9px] text-muted-foreground mt-0.5",children:t.detail})]}),e.jsx("span",{className:`text-[8px] font-bold px-1.5 py-0.5 rounded-full shrink-0 ${t.tagClass}`,children:t.tag})]},o)),e.jsx("div",{className:"mt-1 px-2.5 py-1.5 rounded-md bg-accent/10 border border-accent/20 text-[9px] text-accent-foreground font-semibold",children:"💡 Tax-ready: GST + TCS auto-applied per client agreement"})]})}),g=()=>e.jsxs(a,{title:"Active Loose Cargo Jobs — Today",badge:"● 47 Live",children:[e.jsx("div",{className:"overflow-hidden rounded-lg border border-border",children:e.jsxs("table",{className:"w-full text-[10px]",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-muted/50",children:[e.jsx("th",{className:"px-2 py-1.5 text-left font-bold text-muted-foreground",children:"Job"}),e.jsx("th",{className:"px-2 py-1.5 text-left font-bold text-muted-foreground",children:"Status"}),e.jsx("th",{className:"px-2 py-1.5 text-left font-bold text-muted-foreground",children:"Updated By"})]})}),e.jsx("tbody",{children:[{j:"JOB-2841",s:"Scheduled",cls:"bg-primary/10 text-primary",by:"Dispatch · 09:14"},{j:"JOB-2839",s:"In Progress",cls:"bg-success/10 text-success",by:"Driver · Live"},{j:"JOB-2836",s:"Completed",cls:"bg-secondary/10 text-secondary",by:"PoD · 14:22"},{j:"JOB-2832",s:"On Hold",cls:"bg-accent/20 text-accent-foreground",by:"Ops · waiting client"},{j:"JOB-2828",s:"Cancelled",cls:"bg-destructive/10 text-destructive",by:"Client · refund issued"}].map((t,o)=>e.jsxs("tr",{className:"border-t border-border",children:[e.jsx("td",{className:"px-2 py-1.5 font-bold text-foreground",children:t.j}),e.jsx("td",{className:"px-2 py-1.5",children:e.jsx("span",{className:`text-[9px] font-bold px-1.5 py-0.5 rounded-full ${t.cls}`,children:t.s})}),e.jsx("td",{className:"px-2 py-1.5 text-muted-foreground",children:t.by})]},o))})]})}
1),e.jsx("div",{className:"grid grid-cols-5 gap-1 mt-2",children:[{v:"12",l:"Sched.",c:"text-primary bg-primary/10"},{v:"18",l:"Live",c:"text-success bg-success/10"},{v:"14",l:"Done",c:"text-secondary bg-secondary/10"},{v:"2",l:"Hold",c:"text-accent-foreground bg-accent/20"},{v:"1",l:"Cncl.",c:"text-destructive bg-destructive/10"}].map((t,o)=>e.jsxs("div",{className:`rounded-md p-1.5 text-center ${t.c}`,children:[e.jsx("div",{className:"text-[12px] font-extrabold",children:t.v}),e.jsx("div",{className:"text-[8px] opacity-70",children:t.l})]},o))})]}),b=()=>e.jsx(a,{title:"Additional Charges — Auto-Captured",badge:"Per Job",children:e.jsxs("div",{className:"flex flex-col gap-1.5",children:[[{c:"Detention / Waiting Time",v:"₹2,400",d:"4.5 hrs at loading dock — free 2 hrs",cls:"bg-destructive/10 text-destructive"},{c:"Loading & Unloading Labour",v:"₹1,800",d:"8 hamals × ₹225 — receipted",cls:"bg-success/10 text-success"},{c:"Packing & Repacking",v:"₹950",d:"12 cartons rewrapped at hub",cls:"bg-accent/20 text-accent-foreground"},{c:"Driver Allowance",v:"₹600",d:"Night halt + meals — receipted",cls:"bg-primary/10 text-primary"},{c:"Toll & Checkpost",v:"₹1,240",d:"6 toll plazas + 1 checkpost",cls:"bg-secondary/10 text-secondary"}].map((t,o)=>e.jsxs("div",{className:"flex items-center gap-2 px-2.5 py-1.5 rounded-md bg-card border border-border",children:[e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[10px] font-bold text-foreground",children:t.c}),e.jsx("div",{className:"text-[9px] text-muted-foreground",children:t.d})]}),e.jsx("span",{className:`text-[10px] font-extrabold px-2 py-0.5 rounded-md ${t.cls}`,children:t.v})]},o)),e.jsxs("div",{className:"mt-1 px-2.5 py-1.5 rounded-md bg-success/10 border-l-[3px] border-success text-[10px] text-foreground",children:[e.jsx("strong",{className:"text-success",children:"All extras auto-added"})," to client invoice — zero revenue leakage."]})]})}),h=()=>e.jsx(a,{title:"Excel vs TransportSimple",badge:"Side-by-side",children:e.jsx("div",{className:"overflow-hidden rounded-lg border border-border",children:e.jsxs("table",{className:"w-full text-[10px]",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-2 py-1.5 text-left font-bold text-muted-foreground bg-muted/50",children:"Excel / WhatsApp"}),e.jsx("th",{className:"px-2 py-1.5 text-left font-bold text-white bg-primary",children:"TransportSimple"})]})}),e.jsx("tbody",{children:[{e:"Manual SO copy-paste from quote",t:"Quote → SO auto-conversion"},{e:"PoD chased on WhatsApp",t:"Digital PoD attached to invoice"},{e:"Detention forgotten or estimated",t:"Auto-tracked from app"},{e:"Charges added at month-end",t:"Captured per job, instantly"},{e:"No client portal — calls all day",t:"Live job status visible to client"}].map((t,o)=>e.jsxs("tr",{className:"border-t border-border",children:[e.jsxs("td",{className:"px-2 py-1.5 text-muted-foreground",children:[e.jsx("span",{className:"text-border mr-1",children:"—"}),t.e]}),e.jsxs("td",{className:"px-2 py-1.5 text-foreground font-semibold",children:[e.jsx("span",{className:"text-success font-bold mr-1",children:"✓"}),t.t]})]},o))})]})})}),v={slug:"loose-cargo-management",seoTitle:"Loose Cargo & LTL — Fleet Solutions",seoDescription:"See how TransportSimple manages loose cargo / LTL operations — quote-to-payment workflow, multi-mode billing, PoD, and detention tracking.",breadcrumbName:"Loose Cargo",statsBarBg:"bg-primary-dark",hero:{badge:{icon:e.jsx(r,{size:12}),label:"Loose Cargo / LTL Operations"},heading:e.jsxs(e.Fragment,{children:["Fleet Operations Built for ",e.jsx("span",{className:"text-primary",children:"Loose Cargo & LTL"})," Movement"]}),subtitle:"Multiple consignors. Multiple billing modes. One connected workflow — quote to payment.",description:"Loose cargo operators handle the most complex billing landscape in road transport — per-trip, per-tonne, per-carton, per-CFT — combined with detention, labour, packing, and toll reimbursables. TransportSimple connects every stage from quotation to payment so nothing slips through, every charge is captured, and every PoD is attached to its invoice.",chips:[{label:"Multi-Mode Billing",dotColor:"hsl(var(--primary))",bgClass:"bg-primary/10 border-primary/30 text-primary"},{label:"Detention Auto-Billed",dotColor:"hsl(var(--secondary))",bgClass:"bg-secondary/10 border-secondary/30 text-secondary"},{label:"Digital PoD",dotColor:"hsl(var(--accent))",bgClass:"bg-accent/20 border-accent/30 text-accent-foreground"}],statsStrip:[{value:"8-Stage",label:"Workflow"},{value:"4 Modes",label:"Billing Logic"},{value:"Auto",label:"PoD → Invoice"},{value:"Zero",label:"Revenue Leak"}],painPoints:[{title:"Multiple billing modes per client — endless reconciliation",desc:"Per-trip, per-tonne, per-carton, per-CFT — calculated manually in Excel and disputed at every invoice cycle"},{title:"Detention, labour & packing extras silently lost",desc:"Waiting time, hamal costs, repacking, and reimbursables forgotten between job and billing — written off as cost"},{title:"PoD chased on WhatsApp — invoices held for weeks",desc:"Without digital PoD attached to the invoice, clients delay payment citing missing proof — DSO balloons"}],heroRightGradient:"bg-gradient-to-br from-[#2a2f3e] via-[#3d4460] to-[#4a4e68]",dashboard:{title:"Loose Cargo Operations Dashboard",topBarBg:"bg-[#595FAB]",kpis:[{value:"47",label:"Active Jobs",colorClass:"text-primary"},{value:"8",label:"Detention Alerts",colorClass:"text-accent-foreground"},{value:"96%",label:"PoD Rate",colorClass:"text-success"}],trips:[{route:"Mumbai Hub → Pune Distribution",sub:"JOB-2841 · 12 cartons · Per-Carton billing · ETA 14:30",badge:"Scheduled",badgeClass:"bg-primary/10 text-primary",weight:"",dotColor:"hsl(var(--primary))"},{route:"Bengaluru → Chennai — Live",sub:"JOB-2839 · 4.2 tonnes · Per-Tonne billing · 60% complete",badge:"In Progress",badgeClass:"bg-success/10 text-success",weight:"",dotColor:"hsl(var(--success))"}
1,{route:"Delhi → Jaipur — PoD captured",sub:"JOB-2836 · ₹18,400 · 6 line items · Invoice ready",badge:"PoD ✓",badgeClass:"bg-secondary/10 text-secondary",weight:"",dotColor:"hsl(var(--secondary))"},{route:"Hyderabad → Vijayawada — Hold",sub:"JOB-2832 · client confirmation pending · 2 hrs idle",badge:"On Hold",badgeClass:"bg-accent/20 text-accent-foreground",weight:"",dotColor:"hsl(var(--accent))"}],footer:{left:"5 PoDs pending · 8 detention extras to bill",right:"Full Dashboard →"}}},stats:[{icon:e.jsx(r,{size:18}),iconBg:"bg-[#595FAB]/25",value:"8-Stage",label:"Workflow connected"},{icon:e.jsx(s,{size:18}),iconBg:"bg-[#FCB040]/20",value:"4-Mode",label:"Billing supported"},{icon:e.jsx(i,{size:18}),iconBg:"bg-[#07C060]/[0.18]",value:"Digital PoD",label:"Attached per invoice"},{icon:e.jsx(p,{size:18}),iconBg:"bg-[#0283E5]/20",value:"Live",label:"Job status & extras"}],process:{title:"End-to-End Loose Cargo Workflow — Quote to Payment",badge:"Eight stages, fully connected — no re-entry, no missed charges, no held invoices",steps:[{num:1,title:"Quote & Confirm",desc:"Per-client rate cards across all four billing modes — auto-populated to every Sales Order",bgColor:"bg-primary/10",icon:e.jsx("div",{className:"w-12 h-12 rounded-[10px] bg-primary/10 flex items-center justify-center",children:e.jsx(n,{size:24,className:"text-primary"})})},{num:2,title:"Sales Order",desc:"Client confirmation creates SO instantly — vehicle blocked, driver assigned, calendar updated",bgColor:"bg-secondary/10",icon:e.jsx("div",{className:"w-12 h-12 rounded-[10px] bg-secondary/10 flex items-center justify-center",children:e.jsx(i,{size:24,className:"text-secondary"})})},{num:3,title:"Dispatch & Live Tracking",desc:"Driver picks job on app — live status, GPS, waiting time clock all flow back to dashboard",bgColor:"bg-success/10",icon:e.jsx("div",{className:"w-12 h-12 rounded-[10px] bg-success/10 flex items-center justify-center",children:e.jsx(c,{size:24,className:"text-success"})})},{num:4,title:"PoD & Charges Capture",desc:"Digital PoD photo, detention, labour, packing & toll all captured at delivery — nothing lost",bgColor:"bg-accent/10",icon:e.jsx("div",{className:"w-12 h-12 rounded-[10px] bg-accent/10 flex items-center justify-center",children:e.jsx(d,{size:24,className:"text-accent"})})},{num:5,title:"Auto Invoice & Payment",desc:"PoD + base rate + every extra auto-billed in correct mode — invoice generated, payment tracked",bgColor:"bg-destructive/10",icon:e.jsx("div",{className:"w-12 h-12 rounded-[10px] bg-destructive/10 flex items-center justify-center",children:e.jsx(s,{size:24,className:"text-destructive"})})}]},featureSections:[{title:"Quote-to-Payment in One Connected Workflow",badge:"Eight stages from quotation to client payment — every stage feeds the next, no re-entry between systems",bgClass:"bg-background",reverse:!1,features:[{icon:"📋",title:"Quotation auto-populates Sales Order on confirmation",desc:"Client accepts the quote, and a Sales Order is generated instantly with all rates, line items, and special instructions carried forward — zero data re-entry.",color:"primary"},{icon:"🚚",title:"SO auto-creates dispatch — vehicle blocked, driver notified",desc:"Vehicle assignment happens directly from the SO, calendar blocks the truck, and the driver receives the job on the app with full pickup and delivery details.",color:"success"},{icon:"📷",title:"PoD photo + extras feed straight into the invoice",desc:"Driver captures PoD, detention time, labour vouchers, and packing extras on the app — all flow back into the invoice automatically with no manual touch.",color:"secondary"},{icon:"💰",title:"Payment tracked against invoice with ageing buckets",desc:"Every invoice shows live payment status, age bucket, and outstanding balance — collections team sees exactly which clients to chase first.",color:"destructive"}],panel:e.jsx(u,{})},{title:"Multi-Mode Billing — Per Trip, Tonne, Carton, or CFT",badge:"Loose cargo carries the most complex billing landscape in road transport — TransportSimple supports all four modes natively, with GST and TCS automation",bgClass:"bg-card",reverse:!0,features:[{icon:"🛻",title:"Per Trip — fixed rate per movement",desc:"Mumbai → Pune at ₹18,000 fixed, regardless of weight or units. Set the rate per client per corridor — invoice picks it up automatically on PoD capture.",color:"primary"},{icon:"⚖️",title:"Per Tonne / Kg — weight-based with slab rates",desc:"Configure slab rates: 0–2 tonnes ₹2,400/T, 2–5 tonnes ₹2,200/T, etc. Driver weighs at origin and destination — system applies correct slab automatically.",color:"destructive"},{icon:"📦",title:"Per Carton / Package / Unit — count from PoD",desc:"Cartons counted at loading and confirmed at delivery via PoD. ₹85 per carton × confirmed count = invoice line — zero manual count reconciliation at month-end.",color:"success"},{icon:"📐",title:"Per CFT / Volume — dimensional billing",desc:"Length × width × height auto-calculates volume; ₹120 per CFT applied. Dimensional weight rules also supported when client policy demands max(actual, dimensional).",color:"accent"}],panel:e.jsx(m,{})},{title:"Live Job Status — Scheduled, In Progress, Hold, Done, Cancelled",badge:"Every job moves through five clear status states — visible to dispatch, ops, client, and accounts in real time",bgClass:"bg-background",reverse:!1,features:[{icon:"📅",title:"Scheduled jobs queued with vehicle & driver pre-assigned",de
1sc:"Tomorrow's jobs are visible today — vehicle blocked, driver notified, paperwork prepared. Operations plan ahead instead of reacting at 6 AM.",color:"primary"},{icon:"▶️",title:"In Progress — live GPS, waiting time clock, on-app updates",desc:"Driver triggers status updates from the app: arrived at loading, started loading, departed, reached destination — every step time-stamped and visible to clients.",color:"success"},{icon:"⏸️",title:"On Hold — client/operations reason logged with timestamp",desc:"If a job is held — awaiting client confirmation, document delay, vehicle issue — the reason is logged. Hold time auto-tracked and used for client conversations.",color:"accent"},{icon:"✓",title:"Completed & Cancelled — full audit trail per job",desc:"Completed jobs lock with PoD attached. Cancelled jobs record reason, timestamp, and authoriser — clean audit trail for accounts and disputes.",color:"secondary"}],panel:e.jsx(g,{})},{title:"Additional Charges — Detention, Labour, Packing, Allowances",badge:"Reimbursables forgotten in Excel are silently captured by TransportSimple — auto-added to the invoice with the source receipt",bgClass:"bg-card",reverse:!0,features:[{icon:"⏱️",title:"Detention auto-tracked from arrival to departure",desc:"Free time configurable per client (e.g. 2 hrs). Beyond that, detention clock runs and applies the agreed rate — no waiting time silently absorbed as cost.",color:"destructive"},{icon:"👷",title:"Hamal / labour vouchers captured on driver app",desc:"Driver records hamal count, rate, and uploads voucher photo at loading and unloading. Labour cost auto-totalled and added as separate invoice line.",color:"success"},{icon:"📦",title:"Packing, repacking & special handling charges",desc:"Repacking at hubs, special handling for fragile or hazardous cargo, and pallet charges all captured per job — never bundled into a vague 'misc' charge.",color:"accent"},{icon:"🛣️",title:"Toll, checkpost & driver allowances reimbursed cleanly",desc:"Every toll, checkpost halt, and driver night-halt or meal allowance logged from the app with receipt photos — full reimbursement trail per job.",color:"primary"}],panel:e.jsx(b,{})},{title:"Why Loose Cargo Operators Choose TransportSimple over Excel",badge:"Excel works for 5 jobs a week. At 50 jobs a day, the gaps cost you a weekly truckload of revenue.",bgClass:"bg-background",reverse:!1,features:[{icon:"🔁",title:"Quote → SO → Dispatch → Invoice flows automatically",desc:"No copy-
1paste between sheets. No retyping the same address three times. The system carries every detail end-to-end so your team handles exceptions, not data entry.",color:"primary"},{icon:"📷",title:"PoD attached to invoice from day one",desc:"Clients can't dispute delivery when the PoD photo, GPS pin, and timestamp are on the invoice itself. DSO drops because there's nothing left to argue about.",color:"success"},{icon:"💸",title:"Every detention, labour & toll captured per job",desc:"Stop discovering forgotten extras at month-end and writing them off. Every reimbursable is captured at the moment it happens — and auto-invoiced.",color:"destructive"},{icon:"📊",title:"Live job status — clients stop calling for updates",desc:"Self-service client portal shows live status, ETA, and PoD on every job. Operations team gets back the hours wasted answering 'where is my truck?' calls.",color:"secondary"}],panel:e.jsx(h,{})}],infographic:{eyebrow:"Impact at a Glance",title:"What Loose Cargo Operators Gain with TransportSimple",description:"Measurable improvements seen by LTL and loose cargo operators after replacing Excel, WhatsApp and paper with TransportSimple's connected workflow.",gradientClass:"bg-gradient-to-br from-[hsl(237,40%,33%)] via-primary to-[#6B72C4]",cards:[{icon:"📋",value:"8-Stage",unit:"workflow",label:"Quote to payment in one connected flow — no re-entry between systems",tag:"Workflow"},{icon:"💳",value:"4-Mode",unit:"billing",label:"Trip, tonne, carton, CFT — all native, all auto-applied to invoice",tag:"Billing"},{icon:"📷",value:"100%",unit:"PoD attached",label:"Every invoice carries its PoD — billing disputes drop to near zero",tag:"PoD"},{icon:"💰",value:"Zero",unit:"revenue leak",label:"Detention, labour, packing, toll — every extra captured at source",tag:"Recovery"}],barChart:{title:"Time saved per module (hours / month)",items:[{label:"Client Billing & Reconciliation",width:"92%",color:"rgba(224,92,0,.8)",value:"46 h"},{label:"PoD Chasing on WhatsApp",width:"76%",color:"#B0B5E8",value:"38 h"},{label:"Detention Tracking",width:"62%",color:"#F9A0B4",value:"31 h"},{label:"Job Status Updates to Clients",width:"48%",color:"#7CC4F5",value:"24 h"},{label:"Charge Reconciliation at Month-End",width:"30%",color:"#4FE0A0",value:"15 h"}]},donutChart:{title:"Where loose cargo operators lose revenue without a system",items:[{color:"#F4446B",label:"Forgotten detention & waiting time",width:"84%",value:"~6.6%"},{color:"rgba(224,92,0,.8)",label:"Untracked labour, packing & extras",width:"70%",value:"~5.2%"},{color:"#B0B5E8",label:"PoD-related billing disputes",width:"56%",value:"~4.0%"},{color:"#F9A0B4",label:"Wrong billing mode applied per client",width:"38%",value:"~2.6%"},{color:"#4FE0A0",label:"Toll & reimbursable leakage",width:"22%",value:"~1.6%"}]}},reports:[{icon:"📦",title:"Job Status Report",desc:"Every active loose cargo job — scheduled, in progress, on hold, done, cancelled — in real time.",metricValue:"Live",metricUnit:"real-time",colorClass:"primary"},{icon:"📷",title:"PoD Report",desc:"Digital PoD per job, per client, per period — with photo evidence and timestamps.",metricValue:"Per",metricUnit:"job & client",colorClass:"success"},{icon:"⏱️",title:"Detention Report",desc:"Billable waiting time per client, per loading point — auto-added to invoices.",metricValue:"Auto",metricUnit:"billed",colorClass:"destructive"},{icon:"💳",title:"Multi-Mode Billing",desc:"Revenue split by trip, tonne, carton, CFT — per client per period.",metricValue:"4",metricUnit:"modes",colorClass:"primary"},{icon:"👷",title:"Labour & Hamal",desc:"Loading and unloading labour costs per job, per hub — with vouchers.",metricValue:"Per",metricUnit:"job",colorClass:"success"},{icon:"🧾",title:"Reimbursables",desc:"Toll, checkpost, allowances, packing — per job and per period.",metricValue:"Per",metricUnit:"trip",colorClass:"accent"},{icon:"📊",title:"Profit Per Job",desc:"Margin per movement, per client, per corridor — live P&L.",metricValue:"Live",metricUnit:"per job",colorClass:"primary"},{icon:"📅",title:"Job Ageing",desc:"Open jobs older than 3, 7, 14 days — to flag stuck work.",metricValue:"3/7/14",metricUnit:"day buckets",colorClass:"secondary"},{icon:"💰",title:"Invoice & Receivables",desc:"Outstanding dues per client, by age bucket — DSO tracked.",metricValue:"Live",metricUnit:"ageing view",colorClass:"primary"},{icon:"🚚",title:"Vehicle Utilisation",desc:"Trucks live, idle, in workshop, by day and by hub.",metricValue:"Live",metricUnit:"real-time",colorClass:"success"},{icon:"🏷️",title:"Client Rate Card",desc:"Active rate cards per client across all four billing modes.",metricValue:"Per",metricUnit:"client",colorClass:"primary"}
1,{icon:"📈",title:"Revenue & Cost",desc:"Period revenue vs cost split by client, vehicle, and mode.",metricValue:"Period",metricUnit:"P&L",colorClass:"destructive"}],comparison:{title:"Why Loose Cargo Operators Choose TransportSimple",badge:"Built for the multi-mode billing complexity of LTL — not generic fleet software",fleetScale:{sizes:[{label:"5 Trucks",width:"10%",value:"5+"},{label:"25 Trucks",width:"26%",value:"25+"},{label:"100 Trucks",width:"50%",value:"100+"},{label:"300 Trucks",width:"76%",value:"300+"},{label:"Multi-Hub",width:"100%",value:"∞"}],note:"From a 5-truck single-hub LTL operator to large multi-hub LTL networks serving e-commerce and FMCG — scale without changing tools."},rows:[{need:"Quote → SO → Dispatch → Invoice flow",solution:"Eight-stage workflow, zero re-entry between stages"},{need:"Per trip, per tonne, per carton, per CFT billing",solution:"All four modes native — applied automatically per client"},{need:"Digital PoD attached to invoice",solution:"Driver app captures PoD photo + GPS — auto-attached"},{need:"Detention & waiting time billing",solution:"Free time configurable; detention clock runs automatically"},{need:"Labour, packing & toll capture",solution:"Logged on app with vouchers — auto-added to invoice"},{need:"Live job status — five clear states",solution:"Scheduled / In Progress / Hold / Done / Cancelled"},{need:"Client self-service portal",solution:"Live status, ETA, PoD visible to clients — fewer calls"},{need:"Profit per job per client per corridor",solution:"Revenue vs cost per job — live P&L for every movement"}]},quote:{text:e.jsxs(e.Fragment,{children:["In loose cargo, your ",e.jsx("span",{className:"text-accent not-italic",children:"margin lives in the extras"})," — the detention, the labour, the toll, the repacking. Lose those at the source, and Excel cannot recover them at month-end."]}),attr:"— TransportSimple · Road to Simplicity"},benefits:{title:e.jsx(e.Fragment,{children:"No Hardware. No IT Setup. No Complexity."}),description:"Dispatch coordinators, drivers, fleet managers, and accounts all operational within days. Scales from a 5-truck LTL operator to a multi-hub loose cargo network — without rebuilding anything.",gradientClass:"bg-primary",items:["8-stage quote-to-payment workflow","Per trip / tonne / carton / CFT billing","Digital PoD on every job","Detention auto-billed","Labour & hamal vouchers captured","Toll & reimbursables on the app","Live job status — 5 clear states","Client portal for self-service","Live chat support included"]},cta:{eyebrow:"Get Started Today",title:"Ready to Take Control of Your Loose Cargo Operation?",description:"Stop losing revenue to forgotten detention, untracked labour, and PoD-related billing disputes. Get every charge captured, every PoD attached, and every invoice paid faster — with TransportSimple."}},ge=()=>e.jsx(l,{data:v});export{ge as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.