This post covers customization for stock investments. It builds on some of the concepts that were explained in the Basic Customizing for Term Deposits post, I won’t restate what has already been covered in that post. If you haven’t read it yet, I suggest you do so now.
One of the most important differentiations between these two instruments is that a Term Deposit is self-contained; all the flows that impact the position are within a single financial transaction whereas stock positions are managed through a series of transactions. I.e. buying and selling shares. Most transactions related to stocks will be entered on a unit basis, for example, dividends are paid per-unit. Other security instruments can be percentage quoted, most interest bearing instruments fall in that category.
Stock investments can be classified one of 4 ways. Held for Trading, Available for sales, Significant influence (20% to 50%) and Control (>50%). Since stocks don’t have a maturity date they cannot be classified as held to maturity.
|Type of Investment||Classification||Accounting Treatment|
|Buy/Sell for Short Term Profit||Held for Trading||Fair Value to Operating Income|
|Equity Investment 20%-50% ownership||Significant Influence||Equity Method|
|Equity Investment Greater than 50%||Control||Consolidation|
|Other Types||Available for Sale||Fair Value to OCI|
This example will focus on stock investments classified as Held for Trading and Available for Sale. The equity and consolidation methods depend on the financial results of the company and in my opinion should no longer be a TRM concern.
Accounting for Investments in Stocks
From an accounting perspective, the entries are as follow for shares held for trading:
|Purchase Date||Share Purchase||Equity Investment||Cash|
|Month End||Balance Sheet FX Revaluation (loss)||Unrealized FX Gain/Loss||Equity Investment|
|Month End||Balance Sheet FX Revaluation (gain)||Equity Investment||Unrealized FX Gain/Loss|
|Month End||Price Gain||Equity Investment||Unrealized Price Gain/Loss|
|Month End||Price Loss||Unrealized Price Gain/Loss||Equity Investment|
|Sale Date||Share Sale||Cash||Equity Investment|
|Dividend Date||Dividend Received||Cash||Dividend Income|
|Dividend Date||Capitalized Dividend||Equity Investment||Dividend Income|
|Sale Date||Realized FX Gain||Equity Investment||Realized FX Gain/Loss|
|Sale Date||Realized FX Loss||Realized FX Gain/Loss||Equity Investment|
|Sale Date||Realized Price Gain||Equity Investment||Realized Price Gain/Loss|
|Sale Date||Realized Price Loss||Realized Price Gain/Loss||Equity Investment|
Notes: For shares that are Available for Sale, the unrealized price gains and losses will be recorded in OCI, exchange rate differences are recorded to P/L. Subscription rights are accounted for just like a share purchase.
For securities, the business processes are more fluid than transaction based instrument and are mostly driven from business events rather than a scheduled flow. In this example we will support the following processes.
- Buy or Sell Shares
- Create Corporate Actions
- Post Flows
- Post Corporate Actions
- Valuation (security and FX)
- Capitalize Dividends
- Manage Security Classes and Prices
- Manage Securities Account
To understand securities trading, the following key concepts have to be explained:
In this context, business partners are other parties involved in equity transactions. The relevant roles are:
Counterparty: The dealer/broker whom you purchase or sell shares from/to.
Depository Bank: The institution where your shares are held or your custodian.
Issuer: The issuer of the shares you are trading.
Securities accounts represent an account at a depository bank. Each company can have multiple accounts with a Depository Bank. The securities account and company code are the differentiation factors from external position management. i.e. For the securities held at a company in a single securities account, your depository bank expects flows to be consolidated even if you split the position internally due to different accounting treatments.
The security class represents the security you are trading. In our scenario, we will create a security class representing the common shares of the company we are investing in.
FSCM-TRM-TM-Securities-Basic Settings-Define Exchange
Our example will cover a stock that is traded on the New York (NYSE).
FSCM-TRM-TM-Securities-Basic Settings-Define Security Price Types
Based on your requirements, you may be asked to track different prices such a Bid, Ask and Last. In our scenario since we are only interested in getting the fair value of a position once trading ends so we need the Closing price.
FSCM-TRM-TM-Securities-Master Data-Product Types-Define Number Ranges for Security Classes
When dealing with most (if not all) securities, you have some kind of unique code such as a CUSIP, ISIN or a stock symbol that is easy to remember. In that case you will want to use an externally generated number range. External is in reference to SAP. i.e. the user enters the security number instead of having a system generated one. I can’t think of a good reason to let SAP generate security numbers since it is such a central concept in most business processes in this area.
FSCM-TRM-TM-Securities-Master Data-Product Types-Condition Types
Conditions are used to generate update types based on positions. For example, if a dividend of 10 cents a share is entered in a security class and a company holds the shares in 2 securities account. If account 1 has 10 shares and account 2 has 20 shares, TRM will expect the depository bank to credit the company’s bank account for 1$ and 2$ respectively. The existing condition types should be sufficient for the majority of use cases. For stocks, dividends and bonus issues are relevant. So we create a Condition Group and assign these 2 conditions to our group.
FSCM-TRM-TM-Securities-Master Data-Product Types-Define Product Types
Define Company Code-Dependent Settings for the Product Type
FSCM-TRM-TM-Securities-Master Data-Product Types-Define Company Code-Dependent Settings for the Product Type
You control, amongst other things, Cash Management and Accounting Integration in this activity. Cash Management is a subject for a subsequent post. The important settings for our scenario are the FI Posting and Posting Control field. Setting “FI Posting” to 4 will ensure that TRM does not post to a customer account. Setting “Posting Control” to 01 enables using the automatic posting transactions (FWSO) which is more straightforward to use than the manual transaction (FWZE) and unless a manual operation is required will result in the same outcome.
Define General Classification for Securities
FSCM-TRM-TM-Securities-Master Data-Product Types-Define General Classification for Securities
In this activity you define the possible values for the general classification attribute on the security class. This field is primarily used to link with the classification system but it can also be useful for reporting purposes. As an example, you could use this field to track if units are voting or non-voting.
FSCM-TRM-TM-Securities-Master Data-Specific Class Data
If you securities have more than one unique identifier, you can configure secondary indices that you can enter in the security class. ISIN and CUSIP are good candidates for our use case.
In the same section, you can also define Custody Types and Security Types. The standard configuration is sufficient for our purpose.
There are a lot of class attributes in the “Specific Class Data” menu section. These attributes can be used for reporting or to meet specific requirements. It’s worth reviewing what customization is available. Our example doesn’t call for anything specific so we’ll skip over this section.
Securities Account Categories
FSCM-TRM-TM-Securities-Master Data-Securities Account Management-Define Securities Account Categories
Since we will be investing in stocks, we must make sure we have at least one security account type with category “Asset Security Account” configured.
FSCM-TRM-TM-Securities-Master Data-Position Indicator-Define Generation of Securities Account Position Indicator
FSCM-TRM-TM-Securities-Master Data-Position Indicator-Define Generation of Subledger Position Indicator
These position indicators represent the external (securities account) and internal (Subledger) positions. That is to say, even though you hold securities at your depository bank and from their perspective they are all equivalent, internally, you can split the position so that you process each internal position individually. For example, you could issue a 100M bond so externally you would make 1 interest payment on each coupon date, internally, you may have a 30M and a 70M position each assigned to a different portfolio that may end up recording the liability and interest payable in different profit centers. As far as the customization is concerned, having the position indicator generated automatically is appropriate for our example.
Number Ranges for Transactions
FSCM-TRM-TM-Securities-TM-Transaction Types-Number Ranges-Define Number Ranges for Transaction
FSCM-TRM-TM-Securities-TM-Transaction Types-Define Transaction Types
For stock trading, our customization will support purchase and sale.
FSCM-TRM-TM-Securities-TM-Flow Types (Transaction)-Define Flow Types
As explained earlier, securities differ from other transaction as they are managed on a position basis. Transactions are used to increase or decrease a position and from that point, business events such as dividends and bonus issues drive further flows, calculated from the position. Flow types then must be defined for money movements related to the transactions themselves. The applicable flow types are Purchase, Sale and Commission (either capitalized or expensed).
Assign Flow Types to Transaction Type
FSCM-TRM-TM-Securities-TM-Flow Types (Transaction)-Assign Flow Types to Transaction Type
FSCM-TRM-TM-Securities-TM-Update Types-Define Update Types and Assign Usages
Update type is a core concept when it comes to securities. Update types control the integration with Financial Accounting through the assignment to a posting specification and the integration to the sub-ledger through the assignment to a position change category. In this specific activity, we will define update types to map our flow types to. As you will see, we will add many more update types as we proceed further in the customization activities.
Assign Flow Types to Update Types
FSCM-TRM-TM-Securities-TM-Update Types-Assign Flow Types to Update Types
Update Types for Securities Account Management
There are 3 transactions that allow posting for a position:
Automatic debit position (FWSO): This transaction posts a flow derived from a condition as it is defined in the security class.
Manual Debit Position (FWZE): This transaction allows you to do extra processing on flows derived from the conditions such as capitalizing a dividend.
Manual Postings (FWBS): this transaction allows you to manually post flows which are not part of the transaction or derived from conditions. As an example, you could manually post a fee that is received periodically from your broker but isn’t related to a specific transaction.
Creating the update types and assigning usages
FSCM-TRM-TM-Securities-PM-SAM-Update Types-Define Update Types and Assign Usages As you go through this activity, note that you can assign a single update type to multiple usages as is the case with our commission update types.
Specify Update Types for Securities Account Management
FSCM-TRM-TM-Securities-PM-SAM-Update Types-Specify Update Types for Securities Account Management
This step can seem redundant until you double click one of the customization lines and realize there are attributes to set on every update type.
Assign Update Types to Condition Types
FSCM-TRM-TM-Securities-PM-SAM-Update Types-Assign Update Types to Condition Types
For each condition type assigned to your transaction type you must assign update types. Asset (active) and liability (passive) positions can be configured to trigger different update types. In our scenario, we only need to consider asset positions as dividends and bonus issue would not be due if we are in a short position (Theoretically they would be reflected in the share price).
Specify Update Types to the Functions of Security Account Management
FSCM-TRM-TM-Securities-PM-SAM-Update Types-Assign Update Types to the Functions of Security Account Management
In this step we indicate which update types are posted by the debit position transactions (FWSO, FWZE) and which are posted manually (FWBS). We also indicate the update type for capitalization of dividends.
FSCM-TRM-TM-Securities-PM-SAM-Define Tax Rate
In this configuration step you can define a tax rate for each update type by company code and country. The tax rate is date effective so it is possible to update this table when the tax rates change.
Securities Account Transfer
FSCM-TRM-TM-Securities-PM-Securities Account Transfer
In cases where the shares are transferred from one depository bank to another or simply to another account at the same depository bank, the securities account transfer transaction (FWDU) can be used to move the shares from one account to another.
Corporate actions are business events initiated by the issuing company such as a stock split or share capital increase or decrease. As such they usually have an impact of the security itself, the number of shares the shareholders own and/or the price of the shares.
Define Number Ranges for Corporate Actions
FSCM-TRM-TM-Securities-PM-Corporate Actions-Define Number Ranges for Corporate Actions
Define Types of Corporate Actions
FSCM-TRM-TM-Securities-PM-Corporate Actions-Define Types of Corporate Actions
SAP supports a number of Corporate Actions through Corporate Actions Categories. The simplest (and probably best) approach to the step is to configure one Corporate Action type for each category.
Create Update Types for Corporate Actions and Assign Usages
FSCM-TRM-TM-Securities-PM-Corporate Actions-Update Types-Define Update Types and Assign Usages
Assign Update Types to the Corporate Action Categories
FSCM-TRM-TM-Securities-PM-Corporate Actions-Update Types-Assign Update Types to the Corporate Action Categories
For this step, the standard setting is to leave the corporate action category blank so that the update types apply to all categories.
Whereas Corporate Actions are initiated by the issuing company and the shareholders are impacted by their effect. Rights are given/sold with the security and it is the option of the shareholder whether to exercise the right or not. The rights applicable for stocks are stock swaps and subscription rights. Subscription rights are entered as a separate security class and transactions and can be traded independently of the underlying stock. The subscription rights are created as a separate product type and requires about just as much configuration as the equity security so that part is not covered in this post. Refer to standard product 03A for an example.
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Define and Assign Valuation Classes
As mentioned earlier in this post, the classifications we will support are Held for Trading and Available for Sale. We need 2 new General Valuation Classes and 2 Valuation Classes in our US GAAP Valuation Area.
Assign Valuation Class to Group
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Assign General Valuation Classes to Groups
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Define and Assign Differentiations
There are situations where a security position held by a company must be divided for internal purposes. As an example, a debt issue of 500M might be split across 3 different profit centers for management reporting purposes. For securities, TRM has the following differentiations pre-defined: Valuation Area, Valuation Class, Accounting Code and ID number. This step enables the configuration of additional differentiating factors for the creation of discrete internal positions. In our case we will define securities account as an additional differentiation.
Set the effects of the Update Types and the Position Components
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Set the effects of the Update Types and the Position Components
Key Date Valuation Procedures
At month end, our stock positions have to be revalued. For our example, we will separate the effect of the stock price changes from the effect of exchange rate changes for positions held in foreign currencies. We then need a Security Valuation Procedure and a Foreign Currency Valuation Procedure.
Security Valuation Procedure
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Key Date Valuation-Define Security Valuation Procedure
Foreign Currency Valuation Procedure
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Key Date Valuation-Define Foreign Currency Valuation Procedure
Position Management Procedure
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Define Position Management Procedure
Assign Position Management Procedure
FSCM-TRM-TM-General Settings-Accounting-Settings for Position Management-Assign Position Management Procedure
Key Date Valuation Update Type and Usages
FSCM-TRM-TM-General Settings-Accounting-Key Date Valuation-Update Types-Define Update Types and Assign Usages
You can read part 2 here.