Freight Cost Pull Scenario

Share This Post

Freight cost distribution in SAP Transportation Management has been always an interesting topic from both shipper and LSP perspective since Transportation costs account for a major share of the operational cost in any business. TM gives a clear visibility on these costs at varying levels. Let us understand in detail from an LSP perspective how they are providing transparency to end customers by capturing the costs on actuals in the final billing.

The advanced charge calculation component which comes with advanced licensing of SAP TM helps calculate the costs and it’s altogether a vast subject to deep dive into. Here we will just concentrate on using the execution costs as a basis for settling with customers or internal organizations by transferring distributed costs from the freight side to the forwarding side. You can charge the customer for the total or partial execution charges and the additional charges using the cost pull calculation method. This was part of the requirement for the recently executed project with SCMYUGA, where the LSP client wanted to add the accessorial charges and toll charges on actuals to the end customer. There were a few charges on which markup was also added.

Note that cost pull only works with header-level and stage-level charge calculation; it doesn’t work with item-level charge calculation.

Required Configurations

Define Cost Distribution Method

Use standard cost distribution method or create custom as per requirement. To have a separate class for the distribution, you need to implement interface /SCMTMS/IF_TCD_ALLOC_CHRG in that class. The system executes the distribution logic you enter in the method ALLOCATE_CHARGES.

Define Cost Distribution Profile

For distributing costs on the Forwarding side, the distribution level should be selected as the Forwarding Order.

Criteria can include gross weight, gross volume, and distance times weight. You can also specify your own distribution rule by selecting Other, and using the Cost Distribution Rule Business Add-In (BADI).

Assign Distribution Profile to Charge Profile

Also, ensure to maintain calculation at the Header level and the Data source should be the Actual route in the Calculation profile assigned to the Charges Profile. Assign the Charge profile to the Purchase Organization in use.

Define Freight Order Types

Enable Cost distribution in all the related execution order types in the Forwarding scenario. (Freight or Booking orders)

Setup in Forwarding agreement level

The calculation sheet setup in the Forwarding agreement is to aggregate all charges under a single charge type BASE_CHARGE. Instruction Type will be COST and cost pull strategy will be AGGREGATION.

You can specify one of the following settings:

  • Aggregation

The system adds the costs together and includes the totals in the cost charge element on the forwarding side. This means the system excludes the individual charge line and only includes the charge line totals.

  • Active Copy

The system copies the individual charge lines to the cost charge element on the forwarding side and sets the status to active.

  • Inactive Copy

The system copies the individual charge line to the cost charge element on the forwarding side and sets the status to inactive.

Under the item level details in the Forwarding agreement, the details of Charge types to be pulled from the Freight side can be maintained

The charge management and agreement setup on the Freight side are to be followed as usual.

System demo

The flow mentioned below is an International Outbound Scenario executed with a pickup, delivery Freight order, and Booking Order. The charges get automatically calculated during the optimizer run post carrier assignment.

Cost distribution also happens automatically in respective execution orders post-planning run.

The cost distribution details can be accessed within respective Execution orders.

The charges get pulled into the Forwarding order from the freight side on recalculation.

You can add a markup % and directly bill your customers based on the actual execution charges.

If you want cost pull charges in existing forwarding orders to be in sync with the freight order or freight booking, you can use the program Check for Cost Pull Charges in Existing Business Documents (/SCMTMS/SET_COST_CHARGE_EXIST). This program pulls the cost pull charges from the freight order or freight booking. If the system finds existing forwarding orders with cost pull charges and charges were changed in the relevant freight order or freight booking, the system recalculates the charges. Also, if there are any future changes to cost pull charges, the system automatically recalculates cost pull charges again in the existing forwarding orders.

During the planning run program /SCMTMS/CL_TCD_ALLOC_CHRG_DIR=CP is responsible for distributing the cost in the respective execution orders.

Issues faced

Time-out issues during the optimizer run which was fixed by implementing notes

Disclaimer: The data in the above screenshot are from the internal demo S4 1909 system.

More To Explore