Logistics Stock: Rising Toll and Fuel Costs Could Pressure the Company; How Much Can It Pass on to Customers?
Running a truck in India is never cheap, and it keeps getting dearer. Toll, diesel and driver pay all rise on their own timing, while customers want rates to stay put. Whoever sits in the middle, the logistics company, ends up carrying the gap till the next price hike lands. That gap is what decides how much money is left at the end.
TCI Express shares are trading at around ₹471.30, up 1.25% from the previous close of ₹465.50. The company has a market cap of about ₹1,812 crore, and the stock is going at a P/E of 21.96 on a consolidated basis.
TCI Express is a part of the TCI group, one of India’s big names in logistics. It started working as a separate company on April 1, 2016, after being split out from Transport Corporation of India, where it ran as an express unit since 1996. The company moves parcels by road, rail and air, across India and abroad. Surface Express is the biggest business, and it also runs air, international, rail, C2C and e-commerce services.
Also read: BHEL, Groww, Tata Technologies and 7 Other Stocks Set to Announce Q2 Results Today
Why Margins Have Stayed Low for Two Years
In its report dated May 12, 2026, Crisil Ratings said TCI’s operating margin was 10.4% in the first nine months of FY26, against 14-15% in the past. Operating margin here means profit from the core business before interest, tax and depreciation, as a share of sales.
Crisil gave a few reasons. Fleet utilisation (how full the trucks actually are) was only around 83%. Demand was weak in lifestyle and textiles because of higher US tariffs. Higher air costs weren't fully passed on, and toll, labour and fixed costs also went up. Revenue stayed flattish in those nine months, and road still makes up 81-82% of it.
For a longer view, Crisil's adjusted numbers show FY25 revenue at ₹1,209 crore, down from ₹1,254 crore. Profit after tax fell to ₹86 crore from ₹132 crore.
Does It Have the Cash to Back Its Spending?
Crisil’s view on money was comfortable. It said the company makes around ₹100-120 crore a year in cash accruals (cash left in the business after expenses), and had ₹146 crore of cash as on December 31, 2025. In its view that is enough to pay for capex and working capital without taking any loan, and debt is almost nil.
Also read: Dolly Khanna Invests 1.72% Stake in This Chemical Stock; Company’s Growth Opportunities and Key Risks Explained
Now the spending is picking up. Management says capex this year is guided at ₹125-140 crore, with about ₹20 crore already done on new buildings, land and hub automation. It also says the company is completely debt-free, with net cash of around ₹118 crore as on June 30, 2026. So the balance sheet isn’t under stress, but this year’s spending is higher than the yearly cash Crisil expected the business to make. That’s why margin recovery matters more now. The cash pile can cover the gap, it just isn’t something to lean on year after year.
Crisil's Outlook for FY27
Crisil expects revenue to grow 12-14% in FY27. It sees operating margin at 11.5-12.0%, helped by fleet utilisation moving to 84-85% and price hikes of about 3%. It also pointed out that intense competition from Blue Dart, DTDC, Gati and unorganised players limits how much price increase can be passed on fully. Its outlook is stable, and it said finances are strong with negligible debt. It also flagged that a fall in operating profitability below 10-12% would be a downside trigger.
Also read: Chemical Stocks to Watch as Benzene Prices Surge 10% and Methanol Prices Show Mixed Trends
Price Hikes Came Late, but They Have Come
On the August 6 earnings call for Q1 FY27, management said fuel prices went up in mid-May after being held back by elections. It didn't raise rates from April, since going to customers two or three times isn't wise, as the CFO put it. Price hikes came in phases, mostly in June, and over 90% of the fuel increase has been passed on.
Q1 income from operations was ₹312 crore, up from ₹287 crore. EBITDA rose 11% to ₹37 crore, with margin at 11.7% against 11.5% last year. Profit after tax was ₹22.4 crore, up 6%. Volume grew about 7.5% to 2.5 lakh tonnes.
For the full year, the company targets 11-12% volume growth plus about 3% from price, so 13-15% overall growth. It wants margin to improve by 100 to 150 basis points (1% to 1.5%) and profit after tax to grow 20-25%. It also said only June got the benefit of the price hikes in Q1, so the effect should show from Q2.
Where the Two Views Match and Where They Don't
Crisil and the TCI itself, see a margin recovery, and both count on a price hike of about 3%. Crisil’s revenue growth range of 12-14% also sits close to management’s 13-15%. On the share of air, rail and C2C services, Crisil sees about 20% in one to two years, and management targets 19% this year, so that’s near enough too.
There are differences. Crisil’s report was written before Q1 numbers came out, and it talks in full-year ranges. Management’s 11.7% Q1 margin already sits inside Crisil’s range, but the definitions may not be exactly the same, so it’s not a clean comparison.
Also read: Fusion CX IPO: From Issue Details to Financials; Here’s What You Need to Know
Toll and fleet utilisation, which Crisil called out, didn’t come up on the call at all. So we don’t know yet how much of the toll burden is getting passed on. On Crisil's own reading, the company has only partly passed on costs in the last two years. Management says that's changing. The Q1 margin edging up even with two months of fuel pain is a good sign, but one quarter isn't a trend.
What to Watch Next
The first thing to watch is the Q2 margin, with results still awaited. If June’s price hikes stick, it should come in clearly above 11.7%, and that’s a good sign. Next is Surface Express, which grew 9% in Q1. It has to pick up speed for the 11-12% volume target to work out.
Third, keep an eye on fleet utilisation, meaning how full the trucks run. Crisil expects it to reach 84-85%, and that’s where extra margin would come from, since fixed costs get spread over more loads.