Functioning of CO-PA in make to order scenario

SAP COPA (Controlling Profitability Analysis) has separate process to handle MTO (Make to Order) and MTS (Make to Stock) scenario in SAP. In this blogpost we will discuss how SAP separates these two process and how it impacts the processing of COPA Documents.

Not every time billing document post to the costing based CO-PA. One of the major reason behind this behavior is make to order scenario.

In MTO process the gap between sales order and billing is huge. As the name suggests, in make to order process, personnel need to wait for billing until the product is not manufactured. When we create the sales order it is considered that the revenue is going to generate in the near future but it will not appear in CO-PA until and unless billing is not generated. To fulfill these discrepancies SAP CO-PA provides us the option to post the values to CO-PA before the billing through sales order.


Sales order can be fulfilled by made to order process or made to stock process. In make to order scenario billing document does not posts to the CO-PA.

No CO-PA document generated

In this case we need to transfer the values to CO-PA from sales order by transaction code VA88.

Now how to differentiate MTO and MTS scenarios technically?

It is easy to understand MTS scenario because process is plain in make to stock scenario. But when we create MTO, in this case we have to produce material against specified sales order. Again this is in theoretical terms.

In technical terms to satisfy the MTO case, billing document will have an account assignment tab to a sales order in addition to the PA segment. (Refer attached screenshot of billing document)

Account assignment to sales order

In addition to this, on sales order level field VBAP-KZVBR = E is mandatory.

Also Read: Tips and tricks on Bank Reconciliation in SAP

How to meet above criteria’s?

Materials determine whether sales order is going to be considered as an MTO or MTS. From the material master the requirement type is determined and requirement class from requirement type. In requirement class we do all the necessary configuration, through which system understands or allows CO-PA documents to be posted from VA88 transaction instead of billing.

Requirement Class

Here we have consumption field E which means accounting via sales order.

Because of the above settings we can see on sales order level we get account assignment tab with below details:

Account assignment tab

We can see PA segment has collected characteristics to post into CO-PA documents.

We need to set the settlement rule through which we can settle the values to CO-PA

Change settlement parameter

Settlement parameter can be changes on sales order level as well. (Refer above snapshot)

Settlement Rule: Parameter

Here you can change the settlement profile and PA structure along with the Allocation structure. These changes will be specific to the sales order level.

Click on the settlement hierarchy to get the object number

Settlement hierarchy

Here the object number is 39234280, this number keeps changing when we make changes in sales order or in flow of the sales order. This object number makes sure the order is settled or need settlement. We can check how many times one sales order is settled with this in table AUAK.

Settlement Rule: Hierarchy

Read eBook: SAP DME – A Simplified Guide

How to settle sales order values to SAP COPA?

Until and unless you did not settle the sales order to CO-PA the values will not appear in profitability reporting. Now this seems to be an additional activity, but we have a solution for this too, just stay with us.

To settle the sales order in CO-PA –  go to transaction code VA88

Transaction code VA88 in SAP
VA88: Actual settlement of sales order

Enter the sales order details and execute first in test mode then in production mode and this way we can settle the sales orders to the COPA.

What if wrong values settled to COPA?

The way we settle the order to PA, the same way we can reverse the settlement from VA88.

VA88: Reversal of Actual sales order settlement

Fill the sales order details and click on Reverse from settlement menu.

And the sales order will be reversed.

What if I have to settle multiple sales order with more selection validations?

For the background processing or to settle sales order through background job there is one program which can be used.

RKO7VA88 is used for settling multiple order or scheduling background job for sales order settlement.

ABAP: Program Execution

Execute the program

Program RKO7VA88 in SAP

Here you can see you have a multiple options to select sales order by filtering with various criteria’s.

This program is useful in scheduling background jobs, in so many projects almost most of the clients go for automation in sales order settlement. To achieve this requirement you should have the knowledge of how to schedule a background job. You just need to simply create a selection variant with dynamic date in this program and use this variant in a background job.

What if I have to make the minor changes in CO-PA document?

You can also post the manual line items in CO-PA with the transaction codes:

KE21/KE21N – Create document

KE23/KE23N – Display document

KE21 – Create Document

KE21 Transaction code in SAP
KE21: Create line Item

Enter the reference document number and create line item, you can also post negative values in the CO-PA.

What if I have to change the data in CO-PA?

You have two options to change the existing data in CO-PA

  • Use transaction KE4S – this transaction reverses a COPA doc and repost it with reference to billing document.
  • Use KEND transaction – it simply changes the values w/o any repost. E.g. If customer 1001 is tagged to customer group XYZ from 1st Nov Onwards and you want all old data to get reassigned to XYZ instead of ABC, then you use KEND

You can also watch below video post of this blogpost:

Thanks for reading the blog, if you want to learn CO-PA more deeply and want know the tips and tricks, which will be helpful to solve or analyse CO-PA issues more efficiently, then you can read this amazing book Controlling – Profitability analysis (CO-PA): Comprehensive coverage of the SAP CO-PA module

If you enjoy the blogpost then you can stay connected with us on below platforms:


LinkedIn FICO Page

LinkedIn ABAP Page

LinkedIn Logistics Page


Also subscribe below to receive update of new blogpost

Read More
SAP College December 26, 2020 0 Comments

Everything about General Ledger account – Part 2

This is the second blog of the series read the first blog here.

Everything about General Ledger account – Part 1

We have already discussed about G/L accounts and pre-requisites to create it in first blog

In this second part of the blog, we will discuss about types of chart of accounts and their uses, fields in G/L account, and the importance of each field.

Let’s start with the type of chart of accounts -> almost everyone knows there are three types of Chart of Accounts, but that’s not enough to use them wisely, that’s why we will have more deeper look into it.

  • Global Chart of Account
  • Group Chart of Account
  • Country specific Chart of Account

The interesting part is all of the Chart of Account is created in transaction code OB13, then how one becomes Global COA and other Country specific COA -> it is decided on their assignment.

Let’s check with example:

Suppose I have created two Chart of Account in OB13 -> 1. COAG  2.  COAC

In the COAG chart of account I have assigned the COAC chart of account in the field group chart of account, then COAC will become group chart of account and COAG will be global chart of account.

Chart of Account

Similarly, if the Chart of Account is assigned in the transaction code OB62 as a country chart of account then it will become a country-specific chart of account.

Assign Chart of account to CoCd

Global chart of account is considered as an operating chart of account, various reports can be only run on this Chart of Account or with the G/L accounts created under Global Chart of Accounts. So it makes other COA less valuable. But still, in the companies which are spread internationally, country-specific chart of account used widely.

We can group the G/L accounts in Country spec. G/L accounts by assigning same G/L account to many operating G/Ls.

What is the need of Country specific G/L account?

In some countries, there is a legal requirement to prepare financial statements using specific G/L codes. In order to map this requirement SAP has provided the functionality of Country spec. chart of account.

When the country chart of account is assigned to Company code, then it becomes mandatory to assign every G/L account to the alternative G/L account.

Fields in G/L accounts and their use:

G/L is divided into the two parts, Chart of accounts and company code. In hierarchy chart of account is above company code. It is because fields or tabs available in the chart of account level, impacts all the company codes to which chart of account is assigned. In contrast company code level changes only impacts for that specific company code.

We will start with the first tab of G/L account. (as the below information may be too much common, you can skip the below parts of the blog and directly jump to the part which you want to know)

G/L Master data

The first tab Type/Description of G/L account is under chart of account, all the fields in this tab will be changed or modified for a chart of account.

Account Group: As we know, SAP only divides G/L account in the P&L account and Balance sheet account, but the G/L account should be grouped in deeper criteria.

P&L statement Account type: In order to explain the use of this field, we have to explore the concept of Retained earning Account in SAP

As we all know retained earnings of the current year are taken from the profit and loss statement and transferred to the balance sheet liability side. We can also call it net profit as an alternative.

How to set retain earing account?

Create a balance sheet G/L account and assign it in OB53 transaction with one representative symbol like X or Y

Now if you define two retain earning in customising for same chart of account then this option of P&L statement account type will be available for selection of retained earning account. (otherwise system will take retained earning account by default)

It is assigned to each and every P&L account. At the year-end balance of P&L accounts carried forward to the next year with retained earning account. Every account balance is cumulated in this account and then the net sum of debit and credit balance in retained earning account is transferred to the balance sheet.

Description: Name of the G/L account, the language of the description is considered as the language of chart of account maintenance.

Group chart of account: If the group chart of account is assigned to the Operational chart of account then this field becomes mandatory to fill. The G/L accounts created in the Group chart of accounts are available for selection in this field.

Control Data

G/L CoCd Data

This tab comes under company code level, hence all the changes done in this tab will affect only the relevant company code

Account Currency: If a currency other than the company code currency is specified, users can only post items in that currency to this account. If the company code currency is specified, users can post items in any currency to this account.

Tax Category: With this you can restrict the G/L accounts to be posted with wrong tax, you can specify if only output tax or input tax should be posted on the G/L account or all types of tax is allowed, if kept blank, the system will now allow to post the G/L account with tax.

Recon. Account for account type: (SAP text is enough to understand this)

An entry in this field characterizes the G/L account as a reconciliation account. The reconciliation account ensures the integration of a sub-ledger account into the general ledger.

E.g. G/L account 140000 is defined as a reconciliation account. In the customer account 4711, the G/L account 140000 is determined as a reconciliation account. In this way, all postings to customer account 4711 are also posted automatically to the G/L account 140000. The G/L account itself is not designed for direct posting. In this way, reconciliation between sub-ledger and general ledger is always guaranteed.

Alternative Account Number: The alternative account number field in the company code area is freely definable. You could use it to enter:

  • The account number from your legacy system or
  • The account number from a country chart of accounts if your corporate group uses a standard chart of accounts.

Exchange rate difference key: to determine G/L accounts to post valuation gain or loss. Instead of maintaining each G/L account with gain/loss accounts in customizing, you can create keys and assign them to multiple G/L accounts in the master data level.



This tab also correspond to the company code

Field status group: this is for the transactional data, which field should be mandatory/optional/suppressed while posting to this G/L account is determined here.

Reconciliation account ready for input: indicator which determines that the reconciliation account is ready for input when posting a document. The indicator is used in Financial Assets Management like when you make an initial load of the asset balances the balances are being posted to Asset Sub-Ledger but not to the GL Account.

Hence, in such cases, you are required to Reset the Reconciliation Accounts in OAMK and post the same entries into GL Account that you have loaded to Asset Sub-Ledger and then again make them as Reconciliation Accounts.

Note: On the other hand Reconciliation Accounts are only mean for posting by the System, but when you select the “Recon. account ready for input”, it would become like a normal account, it will allow you to post directly, this would invalidate the integrity of the data. Therefore, you should never put the checkbox Reconciliation Account ready for input for RECONCILIATION accounts.

House Bank & account ID: to determine the bank master data or bank account

Key word/translation:


Keyword helps to search the G/L account in F4 help

Translation is make description of G/L available in multiple logon languages.

 Chart of account information

This tab contains the information of created and changes made to the COA level

Company Code information

This tab contains the information of created and changes made to the company code level

Okay… And this brings us to the end of this blog.

If you have any suggestions or questions do let us know in the comment section or you can also write us directly.

Sign up with us to get an update of a new blog post. Till then you can have look at our ebooks.

Read More
SAP College July 17, 2020 1 Comment

Everything about General Ledger account

I can sense, after reading the title of this blog, half of the reader starts assuming the contents and topics should be discussed here, and probably not read this. So I have decided to give an overview of the topics at the start of the blog.

This post will be helpful for fresher to intermediates in the SAP FICO module along with a consultant from other modules, who want to fully understand the concept of the General Ledger account.

  • Prerequisites to create G/L accounts
  • Concept of Chart of accounts and their uses
  • How G/L accounts created in the international environment (Logic of number range and Groups)
  • What is the use of an Alternative G/L account or country-specific G/L account?
  • Use and impact of each field of G/L accounts
  • Importance of master data and Mistakes people often do
  • Retained Earning Account

This blog is divided into two parts:

Everything about General Ledger account – Part 1

Everything about General Ledger account – Part 2

Let’s start with the prerequisites for the G/L accounts:

G/L Account has two levels or let’s say G/L account is created on two levels:

  1. Chart of account (COA)
  2. Company code (CoCd)

Many will argue, G/L account is not created on company code level, it is just extended to company code from Chart of account, but then some will say, we don’t just extend, we expand the G/L account by adding extra views to it.

Chart of Account: A chart of accounts (COA) is an index of all the financial accounts in the general ledger of a company. In short, it is an organizational tool that provides a digestible breakdown of all the financial transactions that a company conducted during a specific accounting period, broken down into subcategories.    – by Investopedia

In simple language COA is a list of G/L accounts of a company.

A company can have multiple company codes.

The above statement shows the need of separately extending G/L accounts on company code level.

In the international environment, it is recommended to use a single Chart of Account for all company codes from different countries. (This means we can also have separate Chart of Account for each CoCd)

We will discuss more about ‘Concept of Chart of accounts and their uses’ in upcoming pages, now let’s understand the prerequisite to create G/L account.

From above we can assume now G/L account is created in two phase or it can also be created in one go with transaction FS00.

  1. To create G/L account in Chart of Account:

We will need one Chart of Account

Transaction code to do so -> OB13

Chart of Account

Name: Four digit alphanumeric names can be given to the chart of account

Maintenance Language: The language maintained here will be considered as a default language for the description of G/L accounts

Controlling Integration: Automatic creation of cost element, does not mean it will create cost element automatically, there is one prerequisite for this, we have to save the default cost element category for the G/L we are creating. How this works: In most of the cases G/L accounts ranges are fixed for one type of G/L accounts, so we can predict in which range Primary cost elements will be created, hence we can store the category for those G/Ls beforehand in customizing.

Group COA: In the same transaction Group chart of account is defined. Group Chart of Account is assigned when there are multiple Chart of Account used for different CoCd

Blocked: Set this indicator when the Chart of Account is not in used or not completed yet

Create Account group

After creation of chart of account, account group needs to be created for the same Chart of Account

Transaction code for Account Group: OBD4

G/L Account Groups

The account group determines the fields for the entry screens if you create or change a master record in the company code. The account group also determines in which number interval the account number must be.

Here we create different groups for G/L accounts (4 digit alphanumeric), Group controls the fields of G/L master record, because of this, you can notice some of the fields are not available while creating G/L accounts under some specific account group.

Mostly the account groups are created as below: G/L accounts are bifurcated in below groups:

Asset accounts

Balance sheet accounts

Profit and loss accounts


G/L accounts

Once the account groups are created we are ready to create G/L account in Chart of account

Create G/L account in Char of account:

Transaction code is FSP0

The tabs available in this transaction code can be called global views of G/L accounts

G/L Master Data

Whatever settings we make here will be applicable to all Company codes, who shares same chart of accounts.

That’s why the maintenance of master data becomes crucial because even if you think of changing the name of G/L account, you should keep in mind that it will be changed for all the users across the world provided their company code uses the same chart of account.

Below are the settings we make on Global/Chart of Account level

  • Account Number
  • Account group
  • P&L OR Balance sheet A/C
  • Name of the G/L account
  • Group Account number
  • Description in different languages

Key word/ translation tab:

G/L Master Data

In this tab you can maintain keywords in different languages, so that the keyword in user logon language will be used for search.

In translation tab the transaction of short and long text is saved.

  • Extend G/L account to Company code

In order to create G/L account centrally or to extend already created G/L to company code, we have to do one more step along with above i.e. create field status group and assign it to Company code

Transaction code for field status group à OBC4

Field Status Groups

Field status group determines the screen layout for document entry.

Fields can have the following statuses:

  • Optional entry – you can enter data in the field
  • Mandatory entry – you must enter data in the field
  • Suppressed – the field does not appear on the screen

Use: To make the value date field mandatory for bank G/L

Assign the created field status variant to Company code in transaction OBC5

After this basic set up you are ready to extend G/L account to company code level

Execute transaction code FSS0

The G/L account cannot be directly created in company code (in this transaction code), the G/L account you are extending should be created in COA (FSP0)

G/L Master Company code level

In addition to the previous three views, here we will extend or add three more tabs to the G/L account, but the settings on these tabs will be valid to the specified company code only.

If you look at the above screenshot you will notice the ‘open item management’ is not available. This is because the group, which is selected for this G/L in COA level and that group’s field status has suppressed the field open item management.

The same G/L account can be extended to the multiple company codes with different parameters in transaction code FSS0.

G/L account also can be created centrally with transaction FS00


Here we can notice all the tabs available to create or change G/L account.

Continue reading….

Everything about General Ledger account – Part 2

In the second part, we will be having a deeper look into the G/L accounts master data and answers the questions like what is the use of a Country chart of account, Valuation group, exchange rate difference key and etc.

Read More
SAP College July 17, 2020 2 Comments