This is the first part is available here

Assign Update Types for Valuation

FSCM-TRM-TM-General Settings-Accounting-Key Date Valuation-Update Types-Assign Update Types for Valuation

29 Assing upd Typ for Valuation.png

29 Assing upd Typ for Valuation2.png

Derived Business Transactions Update Types and Usages

FSCM-TRM-TM-General Settings-Accounting-Derived Business Transactions-Update Types-Define Update Types and Assign Usages

30 DBT Upd Type and Usages.png

Assigned Update Types for Derived Business Transactions

FSCM-TRM-TM-General Settings-Accounting-Derived Business Transactions-Assigned Update Types for Derived Business Transactions

31 Assign DBT.PNG

Define Account Assignment References

FSCM-TRM-TM-General Settings-Accounting-Link to Other Accounting Components-Define Account Assignment References

Because we have a difference in accounting treatment for the price gains between our 2 security classifications, we need 2 account assignment references.

32 Define AAR.png

Define Account Assignment Reference Determination

FSCM-TRM-TM-General Settings-Accounting-Link to Other Accounting Components-Define Account Assignment Reference Determination (Securities/Listed Derivatives)

33 AAR Derivation.png

Indicate Update Types as Relevant to Posting

FSCM-TRM-TM-General Settings-Accounting-Link to Other Accounting Components-Indicate Update Types as Relevant to Posting

All of the update types created should be made relevant to posting except for DBN_E001 and DBN_E002 which TRM uses internally when calculating gains and losses.

Define Account Determination

FSCM-TRM-TM-General Settings-Accounting-Link to Other Accounting Components-Define Account Determination

Account Symbols

Business Definition Number SAP Definition
Equity Investment 1 Position
Cash 3 Bank Clearing
Dividend Income 4.1.4 Dividend Income
Unrealized FX Gain Increase FX
Unrealized FX Loss Decrease FX
Realized FX Gain Realized Gain FX
Realized FX Loss Realized Loss FX
Unrealized Price Gain Increase Titel
Unrealized Price Loss Decrease Titel
Realized Price Gain Realized Gain Titel
Realized Price Loss Realized Loss Titel
Technical Clearing 9.1.3 Technical Clearing
OCI – Unrealized Price Gain Valuation Titel (positive)
OCI – Unrealized Price Loss Valuation Titel (negative)
Commission Fee 4.2.2 Provision/Fee

Posting Specifications

Posting Spec Description Debit Symbol Credit Symbol
11100 Share Purchase 1 3
11200 Share Sale 3 1
11300 Position to Tech Clearing 1 9.1.3
11400 Tech Clearing to Position 9.1.3 1
11500 Tech Clearing to Bank Clearing 9.1.3 3
11600 Bank Clearing to Tech Clearing 3 9.1.3
12100 Realized Price Gain 1
12200 Realized Price Loss 1
12230 Price loss from unrealized to realized
12300 Realized FX Gain 1
12400 Realized FX Loss 1
13200 Dividend Received 3 4.1.4
13500 Tech Clearing to Dividend Income 9.1.3 4.1.4
14300 Fee Payment 4.2.2 3
15100 Price Gain (P/L) 1
15200 Reset Price Gain (P/L) 1
15230 Price gain from unrealized to realized
15300 Balance Sheet Revaluation (gain) 1
15400 Reset FX Gain 1
15430 Move FX gain from unrealized to realized
15500 Price Loss (P/L) 1
15600 Reset Price Loss (P/L) 1
15700 Balance Sheet Revaluation (loss) 1
15730 Move FX loss from unrealized to realized
15800 Reset FX Loss 1
22310 Move Realized Security Gain from OCI to P/L
33610 Move Realized Security Loss from P/L to OCI
23100 Price Gain (OCI) 1
23150 Reset Price Gain (OCI) 1
23200 Price Loss (OCI) 1
23250 Reset Price Loss (OCI) 1

Assignment of Update Types to Posting Specs

Update Type Posting Specification
SE1110 11100
SE2210 11200
SE3303 11100
SE3313 14300
SAM5113 13200
SAM8114 13500
SAM8115 11300
RHT0003 11300
RHT0004 11400
RHT0005 11600
RHT0006 11500
CA0001 No Posting Spec Required
CA0002 No Posting Spec Required
CA0003 No Posting Spec Required
DBN_B001 12100
DBN_B002 12100
DBN_B003 12200
DBN_B004 12200
DBN_B005 12300
DBN_B006 12300
DBN_B007 12400
DBN_B008 12400
DBN_E001 Not relevant to posting
DBN_E002 Not relevant to posting
DBN_E003 15230
DBN_E004 12230
DBN_E005 15430
DBN_E006 15730
DBNOE003 22310
DBNOE004 22610
NV200 15100
NV201 15500
NV202 15300
NV203 15700
NV250 15200
NV251 15600
NV252 15400
NV253 15800
NV200OCI 23100
NV201OCI 23200
NV250OCI 23150
NV251OCI 23250

Assignment of GL account to Account Symbol

Number AAR GL Account
1 STOUSGHFT 11310100
3 STOUSGHFT +++++++++5
4.2.2 STOUSGHFT 73410200
4.1.4 STOUSGHFT 73410100 STOUSGHFT 73310603 STOUSGHFT 73310603 STOUSGHFT 73210201 STOUSGHFT 73210201 STOUSGHFT 73310503 STOUSGHFT 73310503 STOUSGHFT 73210101 STOUSGHFT 73210101
9.1.3 STOUSGHFT 11119905
1 STOUSGAFS 11310100
3 STOUSGAFS +++++++++5
4.2.2 STOUSGAFS 73410200
4.1.4 STOUSGAFS 73410100 STOUSGAFS 73310603 STOUSGAFS 73310603 STOUSGAFS 73210201 STOUSGAFS 73210201 STOUSGAFS 73310503 STOUSGAFS 73310503
9.1.3 STOUSGAFS 11119905 STOUSGAFS 32320100 STOUSGAFS 32320100

Trying it out

For our demonstration, we will use IBM as the issuer and Bank of Montreal as our counterparty and depository bank. Use transaction code BP to enable them in these roles with your company code. The next step is to create a security account. Use transaction TRS_SEC_ACC to create the account.

34 Security account.PNG

We also need to create the security we will be trading using FWZZ

35 Security Class.png

At this point, we are ready to enter our first transaction in FTR_CREATE. In the initial screen, we have to specify our company code (1001), transaction type (100-purchase), our counterparty (BMO) and the ID number (IBM_CS).

36 deal entry.png

It is possible to add the commission (expensed or capitalized) directly in the deal by using the “other flows” tab. After saving the deal, we have to settle it in FTR_EDIT as the processing category we selected requires settlement. Once the deal is settled, use TBB1 to post the purchase transaction. Let’s add a manual fee with FWBS.


To be able to fair value our position at month end, we need a closing price. You can use FW17 to enter a price for the security class. Remember that our valuation step requires a closing price. Because we did not configure reset flows for valuation, we need to use the “Mid-Year Valuation with Reset” option in TPM1. Next, let’s pretend IBM declares a dividend of 25 cents per share. We first need to enter a dividend condition on the security class using FWZZ.

37 condition.png

Let’s also pretend that we participate in IBM’s DRIP but that they don’t support fractional share ownership. In order to capitalize the dividend, we have to use FWZE and enter the amount and number of shares to capitalize.

38 capitalize dividends.PNG

Whatever amount is left (3$ in our example) will be expected in the bank sub account. The next business process we will cover is Corporate Actions. Let’s assume IBM announces a 2 for 1 split effective Feb 12th. We must first enter the action using FWK0. We must also activate the action before we can post.

39 Corporate Action.PNG

To make the split effective in the sub-ledger, we must post it with FWKB. If you look at our position in TPM12 after posting, the number of units has doubled but the purchase value has not changed.

40 Position.PNG

To finalize this example, let’s sell all of our shares for a big profit. Once the deal is settled and posted with TBB1, we end up with the following entries in the posting journal (TPM20)

41 tpm20.png

Thanks for reading. I hope you have enjoyed this post and that you learned a thing or two in the process.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. prasad raju

    Hi Matt,

    Just want to understand few steps in the above post below are

    1. Do we need to run and post every month valuation (TPM1) until the stock sales process?

    2. For stock gain/loss do we use any special G/L like fair value adjustment account?

    3. under one ID number if we purchase multiple stocks in different dates , All stocks can we show as one position in TPM12 Report?



    1. Matthieu Larrivee Post author

      Hi Prasad,

      1. Yes, as long as you have a position, you run TPM1 to post the fair value and FX adjustments

      2. It is possible to post your adjustments to a GL separate from your position if you want. In that case, you need to associate your update types to positing specification that hit that account symbol instead of “position”. Using Post and Reset will also make that process work better as you’ll be able to bring the account balances to 0 if the position is sold off.

      3. as long as the purchases are made under the same valuation class. In our example we also had securities account as a differentiation. If all parameters are the same you are correct, TPM12 will show only 1 position.


    Hello Matthieu

    How do we calculate P&L for shares sold? I maintained in the customization node “Assign Consumption Sequence Procedure” FIFO method for my co code as below


    After the above customization, my simulation results show me profit as per AVERAGE costing, and not as per FIFO

    Is there some setting/simulation step missing?

    Appreciate your help



    1. Matthieu Larrivee Post author

      Did you enable single position management in “Define and assign differentiations”? I unfortunately don’t have the time to try it out right now but I believe this is a requirement for the consumption procedure to be taken into account as it will make SAP track the different purchases in different positions. Not having single position management enabled means SAP keeps track of only one qty/dollar value position hence the average cost P&L calculation on sales.

  3. prasad raju

    Hi Matt,

    I have done below configuration for stock investments.

    While doing valuation (TPM1) update types are not triggering properly and actual valuation not getting reset.Please request you to check the below configuration and advice any missing steps.

    Business scenario: Monthly basis we run valuation and it supposed to be get reset the valuation for next month.


    example scenario:

    Market price:250.00 INR as on 31.01.2016

    Market value: 625000.00

    market price: 220.00 INR as on 28.02.2016

    market price: 260.00 INR as on 31.03.2016

    TPM1 (security write down as on 28.02.2016)



    Security write up as on (31.03.2016)




Leave a Reply