Skip to Content

SAP Global Trade Management (GTM) – Trading Expenses

SAP Global Trade Management (GTM) – Trading Expenses

Hi Everyone,

This is my 4th post in a series of Global Trade Management (GTM) overview.

2 more to go.

Once we have done the overview, I will post more attractive articles for you, so give me your attention and patience.

Okay, when you hear the word ‘Trading Exepense’, what do you image?

Custom duty?, insurance?, Vessel cost? maybe.

They all correct, but precisely saying, there are much more different types of expenses acutually.

We, SAP, have been working with top 5 Japanese trading companies and did some research on this for years and discover many things.

For example, there is an expense you need to pay for customer and an expense you charge supplier/vendor.  And process flow is not order – goods movement – settlement like order to cash/procure to pay.

The bottom line is that we could not use the expense processes using standard SD/MM for trading business.

That is why we developed Trading Expenses separately and it is independent of SAP SD/MM.

With GTM Trading Expenses, you can enter any expenses, fixed amount, percentage, quantity based, anytime from contract to logistics execution and even after execution, you can still enter/settle expenses and assign it to any documents/transactions.


Well then let’s start the process.


1. Trading Expenses at Trading Contract (T/C)

When you create a Trading Contract (T/C), you can enter planned expenses.

For what?

A good question, actually people (trader) working in trading business are care profit and loss, you may say everyone, but I mean trader are more sensitive than others.

When trader initiate a business, they enter not only the ordered item’s price but also planned expenses as much as possible for analyzing profit/loss simulation (it should be profit, but in reality there is a loss).

From their years experience they know what kind of expenses they will have and how much will be, so that they could not rough estimated profit/loss BEFORE they start a business.

This is really important for them.

Here is a screen shot of entering planned expenses in T/C.


Expense entry screen in T/C 

 Trader may know the 3PL or business partner for expenses, in that case they enter it.

These expenses information does not affect anything in terms of pricing, they are statistics data at this moment. Again the purpose of this data is for simulation profit/loss.


2. Profit Simulation in T/C 

Well then, next step.

Once trader enter these expenses, they press the ‘Profit Simulation’ button and check the result.


Profit Simulation in T/C 

 The above screen is the result.

You may think this is nothing coll, but can you imagine what if each line item has different currency and different exchange rate and you have 50 items, it’s a huge work to figure out this result using calculater.


3. Expense Settlement in TEW

Okay, after T/C is created and the following S/O and P/O get created, you need to process logistics execution, i.e. Goods Receipt in this case.

When you receive goods, you also get an invoice from 3PL or wholesale distributor and need to pay.

How do you do? Create another P/O for payment? Kick a LIV separately?

a debit/credit memo?

Whatever you choose a SAP document/transaction to process this payment, a drawback is that you loose the link between this G/R and that document.

Do you understand?

If you do that, you will be more screwed up to figure out the final number you can make from this business.

With GTM, you can settle expenses while a logistics document being processed. Really?

Okay, let’s go to Goods Receipt (MIGO ).

 Trading Expenses is called from MIGO

When you activate GTM, hidden GTM tab at key logistics documents are activated above.

This is your playground, and you can see the ‘Expenses’ button.

Expense settlement from MIGO 


 After pressing button, you will see this screen.

The above ALV has some entries which are entered in T/C.

Here you have a choise either copy one or some entries from the above ALV to the bottom ALV area or type in completely new expenses manually.

Of course you can change, business partner, amount, percentage etc.

After entering this data, press ‘Back’ button to go back MIGO screen and save it.

Once MIGO is saved, you will be back TEW screen below and see all documents in document flow area.

 Document flow after expenses creation from TEW


Cool, isn’t it?

You must be Logged on to comment or reply to a post.
  • Hi,
    Thanks a lot for your posts on GTM. It is not so often that one can see someone with GTM skills….

    We are know trying to associate GTM with batch valuation by the mean of expenses in way to add to material value in stock all the costs needed to bring it from the customer to the warehouse.

    To do this I see 2 solutions :
    First is expenses management and use of vendor billing document.
    Second by the mean of condition (non-statistical with accruals) in price calculation schema .

    Maybe we would have to use both because some expenses are to be taken into account and some not.

    Could you bring me on the right way? Do you have an idea?

    Thanks a lot in advance for your help.

    • Hi Olivier,

      Thank you for your post.

      Here are the steps;
      0. Create a material wiht batch management
      1. Create a purchase pricing procedure with expense condition types which has only statistics flag.
      2. Set up Vendor Billing Documents (VBD) for your expense variation and create pricing procedures for them
      3. Do customize items in Trading Expenses area from top to bottom

      If you configure the above in right way, when you enter expenses and select material account, that expenses automatically goes to material.

      Hope this helps.

      Thank you, Nob

  • Hi Nobuhiro,

    Many questions from my side today….
    I set an CO order when managing expenses from a trading contract.
    But in fact, even after I save my expense posting, it does not go to the CO order.
    Have you already tried to integrate CO order and expenses management?

    Any help would be really really appreciated!!


    • Hi,

      Very sorry for my delayed res because I was on vacation and not able to respond in a timely fashion.

      I will try to respond your questions in order.

      To be honest, I am not an expert in CO (controlling(?)) and have not ever tried this.

      Does ‘an CO order’ mean CO object(s)?

      If so, I think that would be possible according to SAP Help.
      Please check SAP Help under the area of Vendor Billing Document which is a Trading Expenses document and you will find some information about the integration with CO-PA there.

      Hope this helps.

      Thanks, Nob

  • Hi Mr GTM,
    Is there any way to default an expense on header level on the TC? The expense is planned and is determined by a combination of material and customer. I don’t want to default it as a pricing condition on item level since I will receive a separate invoice for the expense. The expense is valid for all the TCs I create, so it would be very efficient if there is some way to default it per TC.


    • Hi,

      First of all, Trading Expenses (T/E) is working at header level of Trading Contract (T/C).
      Assuming that you use the GTM environment at IDES.
      If so, the situation you have is what we deliver.

      Please let me give you an example.
      If you enter 100 USD fixed amount as an expense and your T/C has 2 line items, this 100 USD is distributed into each items respectively.

      If you want to split or control amount distribution, you can set up a header condition type with a routine, you will make it.

      Next, inspite of distribution, the distriuted amount shows up at item level anyhow for future expense settlement.
      How you settle this expenses are also separate issues you need to think of.
      We have an enhanceability for settlement ways;
      A. Value distribution
      B. Quantity distribution
      C. Manual distribution (user BAdI)
      You can see this options in ‘Calculation Type’ at TE settlement screen.

      Lastly about ‘default’, I am not sure what you meant, but if you would like to default some expenses at screen automatically for user convenience, please try
      this is for the case an user access the planned expense with settlement screen and select expense class group, the other subsequent expense parameters are set in this BAdI showed up automatically.
      It’s not the exact what you want, but this is the one very close.

      Hope this helps,


  • Hi Nobuhiro,

    It has been a long time….
    Things have progressed but still some questions from my side.

    1 – First
    I can now post my expenses to FI without any problem. This is great. But, of course, there is a “BUT”, in case I post an expense to valuate the material, the system force account key to EIN, so that my fee doesn’t go to the right account. It goes to general purchase account instead of the one I defined in T030 with another account key (in fact P01)

    My price procedure is defined with the condition and the account key (P01).

    Is it enough to give you an idea?

    2 – Second
    Could you explain what are the consequences of the use of field ABART of TMFK?
    I thought I should use the “E” for my case, but if I set E, the VBD type is no more available in the list when I want to customyze Expense types.

    Thanks for your help.

    • Hi,

      Sorry for my delayed res (I have been out of office this week).

      For 1.
      Glad to hear you had a progress.

      The accounting posting via Trading Expenses are done by the accounting key of pricing procedure.
      Since I don’t know how you configure that, difficult to say anything.

      I, however, would say please make sure you have a sales and purchasing pricing procedure for Trading Contract (T/C) and that pricing pricing procedure includes the condition types can be used in Trading Expenses (T/E).

      Since T/E requires Vendor Billing Document (VBD) as a foundation, you need to create some VBD types which starts ’21xx.
      Create necessary pricing procedure which has the condition types (they also exist in T/C Pricing procedure) necessary posting key.
      As a standard setting, we deliver G01, G02 and G04.
      To be honest I have never used either EIN or P01 in Trading Expenses.

      2. The VBD types which delivered as standard, does not have any entry for ABART (I mean ‘ ‘ blank) and provision (accrual) has ‘F’ (material adjustment).

      Lastly I you have an access to IDES system, they are a reference for you.

      Hope this helps.

      • Hi Nobuhiro
        Very thanks for your reply

        On both points I’m now dealing with OSS because, it seems that the customizing is ok but results are still wrong.

        Thanks for your help.


    • Hi Nobuhiro
      Very thanks for your reply

      On both points I’m now dealing with OSS because, it seems that the customizing is ok but results are still wrong.

      Thanks for your help.


  • Hi Nob,

    Is there any solution for the settlement of expenses directly in GTM and not in the P/O or S/O? In my case, there are contracts which contain expenses like broker fee that must be settled even if the contract is not executed (no P/O or S/O is created).

    Thanks for your answer.


    • Hi,

      Sorry for my delayed res.
      We had a technical issue yesterday and could not respond.

      Well, there is many ways to settle expenses in SAP, but since you asked me to do it with GTM.

      Here is my thought.
      You can create a dummy trading contact, which you don’t have to create any S/O and/or P/O, enables you to create/settle expenses from it.
      This is one idea.

      The other idea is to use Agency Business (AB)module (LO-AB). You can find this under logistics from SAP menu.
      AB is a brother/sister module of GTM and we use part of AB for GTM expenses.
      There is a document called ‘Vendor Billing Document (VBD) in AB and this allows you to create/post expense and pass it to FI.

      The benefit to use AB is that you don’t need any leading document to post FI data like S/O, P/O or T/C even and it’s not FI (most of accounting people hate business user to create/touch FI module directly due to GRC).

      Again, many ways, think about what is best for you.
      Hope this helps.

      Thanks, Nob

  • Dear Nob
    Can you shed some light what does TYPE2 field in expense class customizing mean (table TWBEXP)?  It is hidden from customizing but obviously it is used in some scenarios as it mentioned several times in OS notes and in description of BADI WB2_EXPENSE_ENHANCE.
    I also wonder if it is possible to settle several provisional VBD with one actual vendor invoice?
    Our typical scenario is as follows: we have several sales contracts in one ship (to china). So we would like to make several provisions (based on customer invoices) for freight and settle them with one actual incoming invoice. My understanding is that it is not possible in GTM as provisions and settlements go one for one, but I am still asking.  Can the provision document at least be settled with reverse posting without vendor line? In this case we would be able to settle provisions one for one and then put freight invoice without reference to provisions.

    Thank you in advance

    • Hi,

      > Can you shed some light what does TYPE2 field in expense class customizing mean (table TWBEXP)? It is hidden from customizing but obviously it is used in some scenarios as it mentioned several times in OS notes and in description of BADI WB2_EXPENSE_ENHANCE.

      Your eye is more than 20/20 and really impressed.

      But please forget ‘Type2’ objects, which maintained for a special project and we only support that project (that’s why hidden).

      > I also wonder if it is possible to settle several provisional VBD with one actual vendor invoice?

      I, however, would understand your process and your are not only customer/project to request it.

      We would release a new feature in Trading Expense Workbench (EWB), part of Trading Expenses (EhP5). This allows user to settle/allocate one invoice amount to several expenses reside in several TCs.

      > My understanding is that it is not possible in GTM as provisions and settlements go one for one, but I am still asking.

      I don’t understand your point here.

      > Can the provision document at least be settled with reverse posting without vendor line?

      No, you can’t create any provisional (a VBD) without having supplier information.

      > In this case we would be able to settle provisions one for one and then put freight invoice without reference to provisions.

      Sorry again, I don’t understand your point.



      • >> My understanding is that it is not possible in GTM as provisions and settlements go one for one, but I am still asking.

        >I don’t understand your point here.

        Don’t bother. You have already answered my question.

        >> Can the provision document at least be settled with reverse posting without vendor line?

        >No, you can’t create any provisional (a VBD) without having supplier information.

        I don’t want to create VBD without vendor information. No problem with that. I just want to create settlement document  without posting to vendor account. So now posting looks like this:
        For provisions:
        D  provisional expense account
        K  provisions account

        For settlement
        D  expense account 
        K vendor account
        D  provisions account
        K  provisional expense account

        And I want it like this.
        For provisions:
        D  provisional expense account
        K  provisions account

        For settlement
        D  provisions account
        K  provisional expense account

        So I want settlement to be just a reverse posting of provisions.  Of cause I can do this with simple reversal of provisions (transaction WLF4).  But reversal and settlement are different operation and I don’t want to mix them up.  If I can do posting like this  I will be able to settle (in a awkward way) several provisions with one actual incoming invoice without waiting for EhP5.

        >> In this case we would be able to settle provisions one for one and then put freight invoice without reference to provisions.
        >Sorry again, I don’t understand your point.

        See above. Basically I want to reverse (settle is better word) all logically connected provisions (for one vendor) and then  enter incoming invoice (through standard purchasing or through agency document) without bothering for provisions.  So it would be sort of two step awkward settlement.

  • Dear Nob,
    I also wonder if you direct me for best practice in handling advance payments for  additional cost? I can see it with two basic approaches:
    1.     First approach is simply handle all thing in FI.  So advance payment is done without reference to any SAP document (may be only with reference to FI down payment request) and then after entering VBD at expense recognition time clear all thing in FI.
    2.     Try to use logistics somehow. So for instance, at advance payment time enter VBD with posting like this:
    D future expenses
    K vendor account.
    And at expense recognition time create another VBD with reference to first one with posting like this
    D expenses
    K future expenses.
    Second approach is my pure imagination. I have little hope that it will work with standard agency documents.
    Thanks in advance
    • Hi,

      Again very sorry for my delayed res.

      There is no Best Practices, common or unique. You can try whatever you think best for your client.

      About item#2, I am familiar with this requeirement and think this is NOT common.
      So it will require some effort toward this, but at least knows one customer tried before.

      Thanks, Nob

  • Hello Mr. Kusomoto, I hope you are great.
    We have a question regarding GTM Expenses and we would like you to send us your comments.
    We appreciate all the help you can give us.

    Within the same trading contract we need to bill 2 customers, the main customer (the one that receives the product and is invoiced for the product), and a second customer that needs to be invoiced for some trading fees.

    We understand that we can only include one customer in the trading contract. Is this correct?

    We want to charge the fees to the second customer using the Expense Class Group: “Expenses Receiv SD”, is this possible? Is this class group designed to bill instead of pay?
    If your last answer is “yes”, can you send us the configuration instructions (We already tried to make the setup but it’s not working)


    • Hi,

      Sorry for my delayed res due to my travel.

      T/C has one field for customer, but if you use partner functions, you may bill or ship to several.

      In your case, one customer for main deal and another customer (service provider), you enter customer as main field and enter expenses for service provider for addtional billing or payment. This is supported by Trading Expenses.

      If you configure the system, you can do that.

      About instruction, I will recommend to contact expert (SAP or service provider) for help.
      Passing only documentation would not help you and I don’t think these companies do not sell documentation but service.

      Hope you understand my point.



  • Hi Mr GTM

    We are currently in the process of evaluating GTM and its trading expense management. Here are few questions I have:

    1. Do the trading expenses have to be tied to a contract?
    2. If I am doing plant to plant movements via stock transport orders – where there is no contract or pricing – how does trading expense management handle logistics like pipeline tariffs associated with those movements.
    3. If I have deliveries associated with sales order and purchase orders and these have trading expenses – and then I want to delete those deliveries – do I have to reverse out the associated trading expenses first.

    Thanks in advance
    • Hi,

      Sorry for my delayed res.

      My answers for your questions are as follows;

      1. No, you can link your expenses with logistics documemnts like delivery or goods receipts, but prerequisite is that these logistics documents need to be created under the GTM Trading Contract.

      2. I think SAP has released new feature from EhP5 to support Stock Transfer Order (STO) under the framework of GTM Trading Contract.  If this is true, you may be able to use Trading Expenses.

      3. Reversing the expenses are based on business decision, so a human being need to handle this (there is no automatic process along with delivery deletion). To be honest, I have never tried this, but you can delete deliery logically not phisically and expenses does NOT reside inside delivery but under GTM framework (independent). You can delete delivery without reversing expenses, but you need to handle them separately, does this sound fair, doesn’t it?

      Thanks, Nob

  • Hi Mr GTM

    Thanks a lot for sharing your GTM knowledge with us. I am curious about the following:

    On trading expenses – Account key G01 – how do I attach different expense accounts (in obyc) based on the type of expense (eg pipeline tariff, demurrage, rail fee, inspection fee, etc etc).

    It appears I can only do it by valuation class which is tied to the material/stock/inventory. We need to determine it based on the type of expense.

    Thank you

  • Hi Nob (aka Mr GTM) 🙂

    Thanks a lot fir these informative blogs…

    One request from my side they say a picture is worth thousand words..It would be great if you could add a few more permissible screenshots, I liked this blog the most from the series more cuz it has more screenshots and enables me to relate and visualize the information much better…Hoping to see a few more screenshots added…

    Thanks again…

  • Hello Mr Nob, GTM experts:

    very appreciate your sharing and contribution. I am now working for a trading project,

    and I found most of its businiess requirment canbe fufilled by standard GTM functionalities.

    so may I ask some questions to you about it?

    thanks so much.


  • Super thanks for your kind help, regarding to  the GTM, I have some questions and help needed here:

    Some concrete technical issues, and some general questions about the functionalities.

    1, when I created a T/C, but when I release it, the following documents cannot be created due to errors, like below:


    I went through it and found: it’s not due to the incompleteness check.

    then I dive into the system logic by debugging, found that the error raised during the purchasing document creation.

    I guess the reason should be that the system try to create the following purchasing document with the accounting assignment category ‘E’, but the

    There is no sales order data<no sales order data in the account assignment parameter table > .

    So I want to know: when we release a T/C with both sides, which following document will be create first, sales order or purchase order?

    And the following documents can only be purchase order, sales order? Can it be purchasing contracts for example?

    2, GTM functionalities should be very stable now, right? Any consideration should be taken into when we decide to activate it?

    3, can you share some customizing materials of GTM to me, especially for trading expenses and TEW ? 

    • Dear Kody,

      1) In GTM we have in general 3 kinds of contract:

      • B – both sides – this means what you purchase is exactly what you want to sell to the customer. This kind of contracts ALWAYS generate purchase order AND sales order documents in MM resp. SD.
      • P – purchase contracts – with this you only purchase goods and only a purchase order is created.
      • S – sales contracts – with this you only sell good – only a sales contract is created.

      P & S contracts we also call single side contracts. A S-contract can be associated with n P contracts and vice versa.

      2) Yes GTM is stable and a full fledged standard module. To benefit most out of it you should use the latest version which is EHP 7. It has many BADIs, so that you are able to extend it to your individual needs. It has a high integration to other modules and thus needs a very good understanding of trading processes in general and the ECC system.

      3) Unfortunately there is no book or training. The online help gives a good overview of the functions available. The customizing transaction WB2B_CUS has a good documentation as well. I recommend to print it out to pdf to have a better reading experience. Set up a demo based on delivered customizing and the IDES environment.

      Get yourself a coach. E.g. from SAP, consultancies or independent consultants.


      • Hello Peter,

        thanks fot your guidance ery much. 3 questions more need your kind help.

        Regarding to the trade expenses functionality, there are 2 planned expenss tab in the screen.

        I found one is for planned expenses, and the second one is for planned expenses  with settlement. of course, there is another one upplanned cost.

        1,could you help me to differentiate them please?

        2,I think that the uplanned cost should be able to be maintained anytime, right?

        2, how will they<3 expenses tab> influence the sales price and purchase price in each item?  how many kinds of settlement for the expenses?

        thanks .

        Best regards,

        Kody Zhang

          • Hello Peter,

            sorry for disturbing you,

            One quesiton here about the trade expenses, I just want know, How the condition types

            specified in the trade contract link to the caculation schema assigned to the vendor billing


            Does the settlement request mean the vendor billing document of expenses?

            thanks in advance.


  • Hi Nob,

    We have a case where we would like to block a vendor from being used in Expenses.  Is this possible on the Create Expenses Screen prior to it trying to post to FI? We can see where it will fail to post in FI if the vendor is blocked but we’d like it to fail prior to trying to save the expense.



    • Hi,

      Sorry for my delayed response.

      There are a couple of things you can try for your requirement, but why don’t you implement some check logic in the BAdI: WB2_EXPENSE_ENHANCE, Method: AT_BEFORE_FI_RELEASE or AT_EXPENSE_SAVE for your vendor?

      They are called up either before saving or releasing the data to FI.

      Thanks, Nob