{"id":2002,"date":"2026-08-25T12:27:18","date_gmt":"2026-08-25T12:27:18","guid":{"rendered":"https:\/\/www.scmchamps.com\/sap-fixes\/?p=2002"},"modified":"2026-08-25T12:27:18","modified_gmt":"2026-08-25T12:27:18","slug":"sap-tm-transportation-planning","status":"publish","type":"post","link":"https:\/\/www.scmchamps.com\/sap-fixes\/sap-tm-transportation-planning\/","title":{"rendered":"How We Helped Client Improve SAP TM Transportation Planning and Reduce Operational Risk"},"content":{"rendered":"<h2><strong>Problem the client was facing<\/strong><\/h2>\n<p>A <strong>Industrial Goods<\/strong>\u00a0manufacturer.\u00a0<strong>6<\/strong>\u00a0plants,\u00a0<strong>14<\/strong>\u00a0shipping points, roughly\u00a0<strong>2,500<\/strong>\u00a0shipments going out every month.<br \/>\nOn paper, SAP TM planned their transport. In real life, two planners planned it and <a href=\"https:\/\/www.scmchamps.com\/blog\/sap-transportation-management-to-streamline-your-business-operations\/\"><strong>SAP TM<\/strong><\/a> went along with them.<br \/>\nThe daily plan took about\u00a0<strong>9<\/strong>\u00a0hours to finish. Most of those hours were not spent in SAP. They were spent in a spreadsheet one of the planners had built years earlier and kept patching. He was the only person who fully understood how it worked.<br \/>\nTrucks were leaving with space still in them. Everybody in the team knew this. Nobody had time to stop and find out why.<br \/>\nUrgent shipments were not urgent any more. They booked so many that it had become a normal part of the week.<br \/>\nThe thing that worried management most was not the cost. It was that only two people in the building could produce a working plan. When one of them took leave, everything slowed down. If both had left in the same month, nobody knew what they would have done.<\/p>\n<h2><strong>What was causing the problem<\/strong><\/h2>\n<p>When they called us, they were fairly sure the optimiser was broken.<br \/>\nIt was not. The optimiser was doing exactly what somebody told it to do\u00a0<strong>7 years<\/strong>\u00a0ago, and nobody had told it anything different since.<br \/>\nFour things had gone wrong, and all four had gone wrong slowly.<br \/>\nThe master data was old. Lanes, transit times, truck capacities. It all described a network that no longer existed. Plants had been added, routes had changed, one site was not even in use any more. The system still believed the old version.<br \/>\nThe plan knew nothing about the yard. Dock timings, how long unloading really takes, which products cannot go on the same truck. All of that was real, and all of it lived in people&#8217;s heads. None of it was in the system. So the plan looked correct on screen and then fell apart at the gate.<br \/>\nThe cost settings did not match the invoices. The system was trying to save money using rates that carriers had stopped charging. It was heading towards the wrong answer, very efficiently.<br \/>\nNothing was handled automatically. Every small exception landed on a planner&#8217;s desk. Once you override the system every day for a year, you stop believing in it. That is what had happened. The overrides were not the problem. They were the symptom.<\/p>\n<h2><strong>How SCM Champs solved it<\/strong><\/h2>\n<p>We did not change any configuration for the first <strong>4<\/strong>\u00a0weeks.<br \/>\nInstead we took\u00a0<strong>6<\/strong>\u00a0months of their real shipments, ran them through again, and put the planned result next to what actually happened on the ground.<br \/>\nThat ended most of the arguing. Once you can see load by load where the plan and reality split, nobody has to guess who is at fault.<br \/>\nAfter that we worked through it in order.<br \/>\nMaster data first. Lanes, distances, durations, capacities, all checked against how the network runs now instead of how it ran in\u00a0<strong>2017<\/strong>.<br \/>\nThen the cost settings, rebuilt around the rates finance is actually paying today.<br \/>\nThen the constraints. Dock windows, handling time, products that cannot travel together. What had been sitting in people\u2019s heads went into the system.<br \/>\nThen exception handling. The rule was simple. If the situation is normal, the system decides. If it is not, a planner decides. Planners now look at\u00a0<strong>30<\/strong>\u00a0loads a day instead of every single one.<br \/>\nAnd we wrote all of it down, then trained\u00a0<strong>5<\/strong>\u00a0planners on it. The plan does not sit with two people any more.<\/p>\n<h2><strong>What changed for the client<\/strong><\/h2>\n<p><strong>6 months<\/strong>\u00a0after go-live:<br \/>\n\u2022 Time to build the daily plan:\u00a0<strong>9 hours<\/strong>\u00a0to\u00a0<strong>2 hours<\/strong><br \/>\n\u2022 Plans going out without a manual override:\u00a0<strong>10%<\/strong>\u00a0to\u00a0<strong>85%<\/strong><br \/>\n\u2022 Average truck utilisation:\u00a0<strong>62%<\/strong>\u00a0to\u00a0<strong>91%<\/strong><br \/>\n\u2022 Difference between planned freight cost and the invoice:\u00a0<strong>11%<\/strong>\u00a0to\u00a0<strong>1.5%<\/strong><br \/>\n\u2022 Planners who can run the day on their own:\u00a0<strong>2<\/strong>\u00a0to\u00a0<strong>5<\/strong><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem the client was facing A Industrial Goods\u00a0manufacturer.\u00a06\u00a0plants,\u00a014\u00a0shipping points, roughly\u00a02,500\u00a0shipments going out every month. On&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2003,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[295],"tags":[7,297],"class_list":["post-2002","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sap-tm","tag-sap-tm","tag-sap-tm-planning"],"_links":{"self":[{"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/posts\/2002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/comments?post=2002"}],"version-history":[{"count":1,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/posts\/2002\/revisions"}],"predecessor-version":[{"id":2004,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/posts\/2002\/revisions\/2004"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/media\/2003"}],"wp:attachment":[{"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/media?parent=2002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/categories?post=2002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scmchamps.com\/sap-fixes\/wp-json\/wp\/v2\/tags?post=2002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}