{"id":2143,"date":"2026-08-11T13:33:43","date_gmt":"2026-08-11T13:33:43","guid":{"rendered":"https:\/\/www.scmchamps.com\/blog\/?p=2143"},"modified":"2026-08-11T13:39:33","modified_gmt":"2026-08-11T13:39:33","slug":"sap-deliveries-not-grouping-correctly","status":"publish","type":"post","link":"https:\/\/www.scmchamps.com\/blog\/sap-deliveries-not-grouping-correctly\/","title":{"rendered":"Why SAP Deliveries Are Not Grouping Correctly in Transportation Planning"},"content":{"rendered":"<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"9:1-9:94;412-505\">The sales order is correct. The delivery is created on time. Everything upstream looks clean.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"11:1-11:348;507-854\">Then the delivery reaches transportation planning, and the result doesn&#8217;t match what anyone expected. Two trucks where one would have done. Loads that should have travelled together, planned apart. And somewhere in the middle of it, a planner quietly fixing the same thing by hand every morning, because the system keeps producing the same answer.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"13:1-13:131;856-986\">This is one of the more common complaints in SAP transportation planning, and it is rarely caused by the thing people blame first.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"17:1-17:65;1090-1154\">When deliveries don&#8217;t turn into the right transportation plan<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"19:1-19:79;1156-1234\">Most teams notice the problem as a set of symptoms rather than a single fault:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"21:1-26:41;1236-1544\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"21:1-21:50;1236-1285\">More shipments than the volume seems to justify<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"22:1-22:46;1286-1331\">Consolidation opportunities that get missed<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"23:1-23:65;1332-1396\">Planners regrouping requirements manually before they can plan<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"24:1-24:55;1397-1451\">Extra effort in carrier selection and route planning<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"25:1-25:52;1452-1503\">Planning cycles that take longer than they should<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"26:1-26:41;1504-1544\">A steady stream of planning exceptions<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"28:1-28:133;1546-1678\"><a href=\"https:\/\/www.businesswire.com\/news\/home\/20260627456050\/en\/SCM-Champs-Inc.-Earns-SAP-Partner-Recognition-Strengthening-End-to-End-Supply-Chain-Services\" target=\"_blank\" rel=\"noopener\"><strong>SCM CHAMPS<\/strong><\/a> sees this pattern regularly in SAP TM assessments \u2014 the deliveries are correct, and the gap sits somewhere else entirely.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"30:1-30:95;1680-1774\">The instinct is to look at the delivery. Something must be wrong with how the order was split.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"32:1-32:357;1776-2132\">Sometimes that&#8217;s true. Often it isn&#8217;t. In many cases the delivery is exactly what the sales process intended it to be. The gap sits between three layers that are configured separately and rarely reviewed together: how SD splits deliveries, how SAP TM converts those deliveries into Freight Units, and what the planning run is actually permitted to combine.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"34:1-34:75;2134-2208\">Each layer can be individually correct. The plan can still come out wrong.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"36:1-36:159;2210-2368\">One note on language before going further. What the business calls a shipment is a <strong>Freight Order<\/strong> in SAP TM. From here on, this article uses Freight Order.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"38:1-38:65;2370-2434\">How delivery grouping actually works, from order to execution<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"40:1-40:56;2436-2491\">The chain is short, and it helps to see it in one line:<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"42:1-42:134;2493-2626\"><strong>Sales Order \u2192 Outbound Delivery \u2192 Transportation Requirement \u2192 Freight Unit \u2192 Transportation Planning \u2192 Freight Order \u2192 Execution<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"44:1-44:257;2628-2884\"><strong>The outbound delivery<\/strong> defines what needs to be delivered and how the order has been divided up. The split happens for sales and fulfilment reasons \u2014 shipping point, ship-to party, delivery date, route, and other criteria depending on the configuration.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"46:1-46:218;2886-3103\"><strong>The transportation requirement<\/strong> is how that delivery enters transportation planning. An outbound delivery becomes a delivery-based transportation requirement, which carries the transportation-relevant data forward.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"48:1-48:219;3105-3323\"><strong>A Freight Unit<\/strong> is a group of goods that SAP TM treats as a single transportation requirement for planning. It is the smallest unit the system plans and moves, and it carries the constraints planning has to respect.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"50:1-50:234;3325-3558\"><strong>Freight Unit Building<\/strong> converts those requirements into Freight Units. The logic lives in the <strong>Freight Unit Building Rule<\/strong>, which can be determined by condition \u2014 meaning different deliveries can be processed by different rules.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"52:1-52:125;3560-3684\"><strong>Transportation planning<\/strong> takes the Freight Units and decides which of them can travel together, producing Freight Orders.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"54:1-54:158;3686-3843\">Of those stages, two actually decide how transportation demand gets grouped \u2014 Freight Unit Building and planning. This is where most of the confusion starts.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"56:1-56:360;3845-4204\">Freight Unit Building can group in different ways depending on the strategy in the rule. It can create one Freight Unit per business document item, or group all compatible items of a single document, or consolidate as much as possible \u2014 and that last strategy does work across separate business documents, including delivery-based transportation requirements.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"58:1-58:497;4206-4702\">But the strategy is only half the answer. What matters just as much is <em>how<\/em> Freight Unit Building is triggered. Most implementations run it automatically, so Freight Units are created the moment the delivery is saved. In that mode there is nothing to consolidate with yet \u2014 the other deliveries haven&#8217;t arrived. Consolidating across documents at this stage requires Freight Unit creation to run as a batch or interactive step instead, which is a deliberate design decision rather than a default.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"60:1-60:293;4704-4996\">So the practical position for most organizations is this: if your Freight Unit Building runs automatically on delivery save, cross-delivery grouping is happening at the planning step, not before it. Confirming which mode you are running takes minutes and tells you which layer to investigate.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"62:1-62:60;4998-5057\">Why SAP deliveries don&#8217;t always group the way you expect<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"64:1-64:72;5059-5130\">There are five recurring causes. Most real cases involve more than one.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"66:1-66:68;5132-5199\">The delivery split shapes what transportation planning receives<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"68:1-68:94;5201-5294\">Take a simple example. Same customer, same destination, same week. SD creates two deliveries:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"70:1-71:24;5296-5343\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"70:1-70:24;5296-5319\">Delivery 1 \u2192 60 boxes<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"71:1-71:24;5320-5343\">Delivery 2 \u2192 40 boxes<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"73:1-73:117;5345-5461\">Each becomes its own delivery-based transportation requirement. With automatic Freight Unit Building, that produces:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"75:1-76:18;5463-5498\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"75:1-75:18;5463-5480\">FU 1 \u2192 60 boxes<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"76:1-76:18;5481-5498\">FU 2 \u2192 40 boxes<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"78:1-78:81;5500-5580\">The business expected one truck. It now has two separate transportation demands.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"80:1-80:320;5582-5901\">Nothing has malfunctioned. Freight Unit Building processed each requirement as it arrived. The delivery split has become part of what transportation has to work with \u2014 though how those requirements are finally grouped is still determined downstream, by the Freight Unit Building strategy in use and by the planning run.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"82:1-82:225;5903-6127\">If planning can consolidate them, the earlier split becomes invisible and nobody ever notices. If it can&#8217;t, the business sees two Freight Orders for what it thinks of as one shipment, and a planner starts fixing it manually.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"84:1-84:380;6129-6508\">The reverse case is just as common and harder to spot. A single delivery can produce several Freight Units when the Freight Unit Building Rule splits by criteria the business didn&#8217;t intend \u2014 by item, by product, or by a quantity limit, depending on how the rule is set up. One delivery goes in, four Freight Units come out, and the planner is left wondering where they came from.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"86:1-86:284;6510-6793\">And because Freight Unit Building Rules can be determined by condition, two deliveries that look identical to a business user can be processed by two different rules. This one is easily missed, because the deliveries themselves offer no visible clue that anything different happened.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"88:1-88:42;6795-6836\">SD and TM group for different reasons<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"90:1-90:169;6838-7006\">A delivery is split for sales and fulfilment reasons. A transport is built for transportation reasons. These are not the same thing, and they were never designed to be.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"92:1-92:47;7008-7054\">The criteria that drive each side may include:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"94:1-101:37;7056-7185\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"94:1-94:8;7056-7063\">Plant<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"95:1-95:17;7064-7080\">Shipping point<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"96:1-96:11;7081-7091\">Customer<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"97:1-97:8;7092-7099\">Route<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"98:1-98:16;7100-7115\">Delivery date<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"99:1-99:19;7116-7134\">Product or batch<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"100:1-100:14;7135-7148\">Destination<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"101:1-101:37;7149-7185\">Transportation-relevant attributes<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"103:1-103:342;7187-7528\">A delivery might be split because two line items have different delivery dates. Transportation planning might want them on the same vehicle anyway, because the dates are two days apart and the truck passes the same door. Both positions are reasonable. The system will only reconcile them if someone has decided, deliberately, which one wins.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"105:1-105:32;7530-7561\">Data and timing differences<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"107:1-107:282;7563-7844\">Freight Unit Building uses the data available at the moment the delivery is integrated into transportation planning. If key transportation-relevant information is missing, incomplete, or arrives later, the resulting Freight Units can look different from what the business expected.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"109:1-109:258;7846-8103\">Availability at planning time matters too. If the relevant Freight Units are not available or not selected together when the planning run executes, they cannot be considered together in that cycle. Requirements that were meant to travel together never meet.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"111:1-111:152;8105-8256\">This is one of the reasons the same order pattern can produce a good plan one day and a poor one the next, with no configuration having changed at all.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"113:1-113:43;8258-8300\">The business changed, the logic didn&#8217;t<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"115:1-115:178;8302-8479\">Distribution models change. Companies add a hub, shift to direct-to-store, renegotiate delivery windows with major customers, or change how they consolidate for certain regions.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"117:1-117:166;8481-8646\">The delivery split logic and the Freight Unit Building Rules often stay exactly as they were designed \u2014 sometimes years earlier, for a network that no longer exists.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"119:1-119:268;8648-8915\">The result is a slow, quiet gap between how the business now wants goods moved and how SAP still creates transportation requirements. Nobody raises it as a system issue, because nothing broke. The planners simply absorb the difference manually, and it becomes normal.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"121:1-121:50;8917-8966\">Consolidation is blocked at the planning step<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"123:1-123:78;8968-9045\">This is the layer that gets checked last and explains a large share of cases.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"125:1-125:119;9047-9165\">Even when the Freight Units are exactly right, the planning run may be unable to combine them. Common reasons include:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"127:1-132:63;9167-9556\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"127:1-127:53;9167-9219\">Pickup or delivery time windows that don&#8217;t overlap<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"128:1-128:85;9220-9304\">Incompatibility settings that keep certain products, customers, or locations apart<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"129:1-129:53;9305-9357\">Capacity limits on the selected means of transport<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"130:1-130:44;9358-9401\">Missing or incorrect transportation lanes<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"131:1-131:92;9402-9493\">Selection settings that never bring the relevant Freight Units into the same planning run<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"132:1-132:63;9494-9556\">Planning profile settings that restrict what can be combined<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"134:1-134:282;9558-9839\">The practical test is straightforward. <strong>If the Freight Units themselves look correct and the Freight Orders still don&#8217;t consolidate, the constraint is almost certainly in planning.<\/strong> Reviewing the delivery and the Freight Unit will not find it, no matter how long you spend there.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"136:1-136:32;9841-9872\">What this costs the business<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"138:1-138:82;9874-9955\">The technical detail matters less to leadership than what it produces downstream.<\/p>\n<div class=\"overflow-x-auto w-full px-2 mb-6 print:overflow-x-visible\" dir=\"ltr\" data-sourcepos=\"140:1-148:80;9957-10508\">\n<table class=\"min-w-full border-collapse text-sm leading-[1.7] whitespace-normal\">\n<thead class=\"text-left\">\n<tr>\n<th class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\">What happens in SAP<\/th>\n<th class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\">Business impact<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Deliveries are split unexpectedly<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">More transports to manage<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Freight Units aren&#8217;t planned together<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Missed consolidation opportunities<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Planners manually regroup requirements<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">More operational effort<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">The plan doesn&#8217;t reflect business rules<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Planning inefficiency<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Freight Orders are created unnecessarily<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Potential freight-cost leakage<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Planning exceptions increase<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">More manual intervention<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Data doesn&#8217;t follow expected grouping<\/td>\n<td class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\">Reporting and visibility challenges<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"150:1-150:231;10510-10740\">The cost is rarely dramatic on any single day. That&#8217;s what makes it persistent. A planner spends twenty minutes regrouping requirements each morning, an extra vehicle goes out half full, and none of it is large enough to escalate.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"152:1-152:281;10742-11022\">Over a year, across a network, it can add up to real freight spend and a meaningful amount of planning capacity \u2014 and it may also mean transportation reporting no longer reflects how goods actually moved, because the plan in the system and the plan in practice have drifted apart.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"154:1-154:40;11024-11063\">How to find where the logic diverges<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"156:1-156:173;11065-11237\">Working through the chain in order will usually locate the gap within a few examples. Take one case where the business expected a different result and follow it end to end.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"158:1-158:33;11239-11271\">Review the outbound delivery<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"160:1-160:68;11273-11340\">Ask: why did SAP split this order into these particular deliveries?<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"162:1-162:207;11342-11548\">Look at the attributes that differ between them \u2014 shipping point, ship-to party, delivery date, route. If two deliveries exist that the business expected to be one, the reason is usually visible right here.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"164:1-164:29;11550-11578\">Review the Freight Units<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"166:1-166:123;11580-11702\">Ask: which Freight Unit Building Rule was applied, which strategy does it use, and how is Freight Unit creation triggered?<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"168:1-168:445;11704-12148\">Three things to check. First, whether Freight Unit Building runs automatically on delivery save or as a batch step \u2014 this determines whether cross-delivery grouping is even possible at this stage. Second, whether one delivery was split into several Freight Units, and on what basis. Third, whether deliveries that look similar were processed by different rules, which happens more often than teams expect when rules are determined by condition.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"170:1-170:31;12150-12180\">Compare the grouping logic<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"172:1-172:113;12182-12294\">Put the delivery criteria and the transportation criteria side by side and look for the differences that matter:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"174:1-181:28;12296-12402\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"174:1-174:8;12296-12303\">Dates<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"175:1-175:12;12304-12315\">Locations<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"176:1-176:12;12316-12327\">Customers<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"177:1-177:9;12328-12336\">Routes<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"178:1-178:18;12337-12354\">Shipping points<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"179:1-179:9;12355-12363\">Plants<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"180:1-180:11;12364-12374\">Products<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"181:1-181:28;12375-12402\">Transportation attributes<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"183:1-183:119;12404-12522\">The question is not which side is right. It is which difference is actually preventing the outcome the business wants.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"185:1-185:31;12524-12554\">Review the planning result<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"187:1-187:116;12556-12671\">Ask: did the planning run combine those Freight Units the way the business expected, and if not, what prevented it?<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"189:1-189:247;12673-12919\">Check whether the Freight Units were even selected into the same planning run. Then check time windows, incompatibilities, capacity, and transportation lanes. Only after that is it reasonable to conclude that Freight Unit Building is the problem.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"191:1-191:195;12921-13115\">Most investigations that go wrong go wrong here \u2014 by stopping at the Freight Unit, assuming the fault must lie in how it was built, and reconfiguring a rule that was working correctly all along.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"193:1-193:41;13117-13157\">How to fix delivery grouping problems<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"195:1-195:132;13159-13290\">The instinct is to change a setting. That usually moves the problem rather than solving it, because the three layers are connected.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"197:1-197:31;13292-13322\">Map the end-to-end process<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"199:1-199:101;13324-13424\">Order \u2192 Delivery \u2192 Transportation Requirement \u2192 Freight Unit \u2192 Planning \u2192 Freight Order \u2192 Execution.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"201:1-201:141;13426-13566\">Walk the actual process, not the documented one, and mark the point where what the business intends stops matching what the system produces.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"203:1-203:48;13568-13615\">Define the grouping rules you actually want<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"205:1-205:97;13617-13713\">This is a business decision, and it needs to be stated explicitly before anything is configured.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"207:1-207:259;13715-13973\">Which deliveries should travel together? For many organizations the answer looks something like: same customer, same destination, compatible delivery window. The exact criteria depend on the transportation strategy, the customer commitments, and the network.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"209:1-209:89;13975-14063\">If this cannot be written down in a sentence, no configuration will produce it reliably.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"211:1-211:27;14065-14091\">Align all three layers<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"213:1-213:217;14093-14309\">Review whether the delivery split rules, the Freight Unit Building Rules, and the planning settings \u2014 including incompatibilities, transportation lanes, and selection criteria \u2014 are all supporting the same objective.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"215:1-215:82;14311-14392\">Fixing one layer in isolation is the most common reason these problems come back.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"217:1-217:33;14394-14426\">Test real business scenarios<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"219:1-219:67;14428-14494\">One order proves nothing. Test the situations that actually occur:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"221:1-228:66;14496-14751\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"221:1-221:44;14496-14539\">Multiple deliveries for the same customer<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"222:1-222:18;14540-14557\">Multiple plants<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"223:1-223:27;14558-14584\">Different delivery dates<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"224:1-224:21;14585-14605\">Partial quantities<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"225:1-225:19;14606-14624\">Different routes<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"226:1-226:36;14625-14660\">Multiple customers on one vehicle<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"227:1-227:25;14661-14685\">Different destinations<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"228:1-228:66;14686-14751\">Deliveries that should consolidate and deliveries that must not<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"230:1-230:120;14753-14872\">That last pair matters. A change that improves consolidation can also combine things that were deliberately kept apart.<\/p>\n<h3 class=\"mt-2 -mb-1 text-base font-bold\" dir=\"ltr\" data-sourcepos=\"232:1-232:27;14874-14900\">Monitor the exceptions<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"234:1-234:100;14902-15001\">After the changes go live, track the cases where expected grouping and actual grouping don&#8217;t match.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"236:1-236:223;15003-15225\">These exceptions are the early warning system. They show up long before anyone raises a complaint, and reviewing them periodically is what stops the same gap reopening the next time the business changes how it distributes.<\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"238:1-238:15;15227-15241\">In practice<\/h2>\n<p class=\"ds-markdown-paragraph\"><span class=\"\">A European consumer goods manufacturer running embedded TM in S\/4HANA, with over 200 daily outbound deliveries, came to SCM CHAMPS with planners spending the first hour of every morning manually regrouping requirements the system kept splitting across separate trucks, even for identical customer destinations. The assumption internally was that the SD delivery split was creating too many deliveries from a single order.<\/span><\/p>\n<p class=\"ds-markdown-paragraph\"><span class=\"\">The assessment traced it to the planning run. The Freight Units were correctly built and fully consolidatable, but the planning engine could not combine them because the delivery time windows\u2014derived rigidly from requested delivery dates on the sales orders\u2014did not overlap, even when the physical delivery could have occurred within a wider window.<\/span><\/p>\n<p class=\"ds-markdown-paragraph\"><span class=\"\">The business had to first settle an explicit rule: deliveries for the same customer and destination could be planned together as long as the requested windows fell within the same calendar day and a \u00b13\u2011hour tolerance. With that decision made, the planning profile\u2019s time\u2011window constraint was relaxed to allow consolidation across Freight Units whose windows overlapped within that tolerance, without changing any SD or Freight Unit Building logic.<\/span><\/p>\n<p class=\"ds-markdown-paragraph\"><span class=\"\">Within one quarter, the daily manual regrouping step disappeared entirely. Regional freight orders dropped by 34% against the same delivery volume, and the planning team recovered over 20 hours per week of hands\u2011on correction time.<\/span><\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"248:1-248:62;16167-16228\">How SCM CHAMPS helps identify and fix SAP TM planning gaps<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"250:1-250:255;16230-16484\">Most organizations dealing with this don&#8217;t need a new <a href=\"https:\/\/www.scmchamps.com\/blog\/sap-transportation-management-to-streamline-your-business-operations\/\"><strong>SAP TM implementation<\/strong><\/a>. They need to know which of the three layers is actually producing the wrong result \u2014 and that requires looking at the process end to end rather than at one configuration object.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"252:1-252:220;16486-16705\">SCM CHAMPS helps organizations work out whether the gap sits in the delivery logic, in Freight Unit Building, or in transportation planning \u2014 and then determine what actually needs to change. That work typically covers:<\/p>\n<ul class=\"[li_&amp;]:mb-0 [li_&amp;]:mt-1 [li_&amp;]:gap-1 [&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3 print:block print:space-y-1\" dir=\"ltr\" data-sourcepos=\"254:1-260:82;16707-17139\">\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"254:1-254:56;16707-16762\">Assessment of current SAP TM transportation processes<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"255:1-255:29;16763-16791\">SD-to-TM process alignment<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"256:1-256:72;16792-16863\">Analysis of delivery split, Freight Unit Building, and planning logic<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"257:1-257:80;16864-16943\">Identification of where the transportation plan diverges from business intent<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"258:1-258:66;16944-17009\">Identification of manual consolidation and planning workarounds<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"259:1-259:48;17010-17057\">Evaluation of SAP TM automation opportunities<\/li>\n<li class=\"font-claude-response-body whitespace-normal break-words pl-2\" data-sourcepos=\"260:1-260:82;17058-17139\">Translation of business transportation requirements into practical improvements<\/li>\n<\/ul>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"262:1-262:172;17141-17312\">The goal isn&#8217;t simply to change how SAP creates Freight Units. It is to make sure the transportation planning logic reflects how the business actually needs to move goods.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"264:1-264:141;17314-17454\"><strong>Not sure whether your transportation planning issue comes from SD delivery splitting, Freight Unit Building, or the planning run itself?<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"266:1-266:130;17456-17585\">SCM CHAMPS can assess the end-to-end process, identify the underlying gap, and determine where the improvement opportunities are.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"268:1-268:39;17587-17625\"><strong>\u2192 Request a Free SAP TM Assessment<\/strong><\/p>\n<h2 class=\"mt-3 -mb-1 text-[1.125rem] font-bold\" dir=\"ltr\" data-sourcepos=\"270:1-270:45;17627-17671\">Fix the planning logic behind the problem<\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"272:1-272:134;17673-17806\">Incorrect delivery grouping is not really a configuration issue. It is a sign that four layers have stopped agreeing with each other:<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"274:1-274:95;17808-17902\"><strong>Business requirement \u2192 SD delivery logic \u2192 Freight Unit Building \u2192 Transportation Planning<\/strong><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"276:1-276:220;17904-18123\">When they align, the plan comes out the way the business expects and nobody thinks about it. When they don&#8217;t, planners compensate manually \u2014 and because they are good at it, the underlying gap can stay hidden for years.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"278:1-278:213;18125-18337\">The objective is a transportation process where the delivery logic, the Freight Unit logic, and the planning logic all support the same thing: how the business actually wants to consolidate, plan, and move goods.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal\" dir=\"ltr\" data-sourcepos=\"280:1-280:77;18339-18415\">That usually starts with finding out which layer stopped agreeing, and when.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The sales order is correct. The delivery is created on time. Everything upstream looks clean&#8230;.<\/p>\n","protected":false},"author":1,"featured_media":2144,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[344,354,7,12,355,75],"class_list":["post-2143","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sap-tm","tag-freight-unit-building","tag-sap-delivery-split","tag-sap-tm","tag-sap-transportation-management","tag-shipment-consolidation","tag-transportation-planning"],"_links":{"self":[{"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/posts\/2143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/comments?post=2143"}],"version-history":[{"count":4,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/posts\/2143\/revisions"}],"predecessor-version":[{"id":2148,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/posts\/2143\/revisions\/2148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/media\/2144"}],"wp:attachment":[{"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/media?parent=2143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/categories?post=2143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.scmchamps.com\/blog\/wp-json\/wp\/v2\/tags?post=2143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}