Hello everyone,




In the last few weeks was released notes 2092366 and 2083799 which might be important for the parking using BAPI scenario. 


Document parking with accounting BAPIs could only be achieved using a custom enhancement (BTE or BAdI implementation). 


With note 2092366 SAP now officially support the functionality of parking documents using the accounting BAPI, but only under the restrictions listed in the notes 2092366 and 2021422 With this scenario no manipulation of TCODE allowed and only for object type BKPFF.


The official solution in note 2092366 will only be delivered in support packages! A manual implementation using SNOTE is not intended to guarantee that all previous notes regarding this functionality are available in the customer system.


The more important note for you might be 2083799. This SAP Note describes various posting processes and specifies which data must be transferred to the
BAPI to post the relevant process. The idea is document all possible posting scenarios supported by the BAPIs in this note. The developers still working in this note so if a customer wants to post another scenario which is not yet documented in the note, it does not mean the BAPI does not support this.


Related notes:

2092366               Parking with BAPI_ACC_DOCUMENT_POST

2083799               Composite SAP Note: Postings with Accounting BAPIs

2021422               Vorerfassung über RWIN mit unerlaubtem TCODE oder AWTYP (not translated yet)




I hope it helps! Any sugestions please let we know!





Hi all,


We already have new notes just released for 1099 reporting, where Print Forms Layouts in Smartforms and PDF format are available.


Two mainstream notes are available:



2074358 - US TAX REPORTS - PRINT FORMS LAYOUTS 1099-MISC, 1099-G, 1099-INT, 1099-K, 1042-S




2074359 - US TAX REPORTS - PRINT FORMS LAYOUTS 1099-MISC, 1099-G, 1099-INT, 1099-K, 1042-S

for customers who are in releases 46C, 470 and 500.


According to those notes which are announcements, it will be updated by the time final notes with corrections and updated forms and files would be released.


Those would be the main channel where new corrections and notes related to 1099 that are released will be maintained.


Please follow up on those notes for latest updates about 1099 Print Form layout updates for the Tax Year 2014 to be submitted in 2015.





I hope it helps to address you your concern about this subject.


Danton Prestes

Head Office and Branch Accounts


In some industries,branches of a company sell their goods independently but the accounting for these sales is performed centrally (at the head office). You can represent this type of organizational structure in the R/3 System by using head office and branch accounts.

First you need to create head office and branch accounts. The sales orders are managed in the branchaccount. The sales and transaction figures, however, are not posted to this account but rather automatically to the head office account. Payments are cleared centrally by the head office, meaning that outgoing payments can be made for several branches in one step, using the head office account.




Link between Branch Accounts and Head Office Account

To link branch accounts to a head office account, you must enter the number of the head office account in the Head office field in the branch account master record. This field is contained in the company code area of the master record.

The head office account can be any vendor account except one-time accounts or branch accounts themselves. Branch accounts and head office accounts must belong to the same company code.










Line Item Display

When you are entering the parameters for line item display, you should note the following: for head office accounts, enter the key 004 in the field Sort key. This instructs the system to display the line items for the head office account sorted by branch. This key is defined in the table for allocation rules.

Invoice posting to branch vendor






Document gets posted in the head office with branch in assignment field



FBL1n shows in head office account



FBL1n for branch account gives below message




FBL1n for all branches under the headoffice



Payment run



FBL1N after payments



You can set up your system to cater for written correspondence with vendors a) for the head office, broken down per branch or b) for each branch individually. If you want to create correspondence (such as dunning notices and account statements) for the individual branches instead of the head office, you have to select the Local processing field in the vendor master record of the head office on the Create Customer: Correspondence screen.


You can also define payment methods in the master records of the branches and head offices. For example, if you want to have certain payment methods for particular branches, enter these in the master records of the branches concerned and do not enter any payment method in the head office master record. If you enter payment methods in both head office and branch master records, all payment methods are possible.



Head office customer



Branch office


Invoice posting to branch customer




Posted successfully to the headoffice customers with branch details



Dunning run for headoffice customer


Headoffice customer successfully dunned


Important Notes :


> At Branch accounts system will not allow you to check clearing with customers or vendors. This has to be done at headoffice level


> All the dunning notices related to the branch go to the head office account and the payments (both incoming & outgoing) are made by the headoffice. However if you want the make the dunning and payment programs use the branch account instead, you need to select  "decentralized processing" field in
"correspondence" tab in the head office master data.

1) Different types of Processing Types in FF68.

2) How to delete statement record saved in FF68.


1) Different types of Processing Types in FF68.

Below are the different types of processing types in Manual entry, I am going to show its controls and system behavior.

1: Further processing as batch input (generate online)

2: Further processing as batch input (generate as batch)

3: Further processing as background job

4: Further processing online

Image 001.gif


1: Further processing as batch input (generate online): in this process when you click on save system will show message (statement/list posted) and creates a batch input session, shows the statistics.

Image 002.gif

Next step> Execute batch process to post a document.

Image 003.gif

2: Further processing as batch input (generate as batch): in this process when you click on save system will show message (statement/list posted) and creates a batch input session, it will not show the statistics.

Image 004.gif

Next step> Execute batch process to post a document.

Image 005.gif

3: Further processing as background job: in this process when you click on save system will show message (statement/list posted).here system posts document through background.

Image 006.gif

If you check in FEBA_CHECK_DEPOSIT you can find document number highlighted.Image 007.gif

FB03 Document number

Image 008.gif


4: Further processing online: in this process when you click on save system creates document and shows the statistics.

Image 009.gif


2) How to delete statement record saved in FF68

Note: Delete the manual entry list before running batch process, don’t delete after created accounting document.

Below is the process to delete, we can delete list entered in ff68 using program RFEBKA96.


  Save a statement record in ff68 below screen is an example

Image 010.gif

Go to SE38 and program RFEBKA96 and Execute

Image 011.gif

In the below screen select 0002

Image 012.gif

Select your Group number ‘2222’

Image 013.gif

Image 014.gif

Select the tick box at left hand side

Image 015.gif

Click on yes

Image 016.gif

Now you can see details the record has deleted from the tables.Image 017.gif


Sada Bandla

This is the first time I am writing any blog in my life, so please bear in case its not in a structured manner.
Pre requisite: The reader should be aware of the use of Search strings in the Electronic bank statement (preferable MT940 file format).
A couple of years back when I started learning the configurations of Electronic bank statement, I bumped into this sap node in the SPRO path called, " Define Search String for Electronic bank Statement". I was amazed with the use of this functionality and the power it provides to the functional consultant to meet the basic requirements with no involvement of ABAP developer.
While going through the SAP help document for this node I found various usage of this search string and how we can populate the required value in the target fields of any accounting document. There are some basic frequently used fields like cost center, profit center which are provided as default target fields in configuration step of 'Search string use'. In case the required field is not available then you can use the option of BDC fields as the target field.
While reading the details on the use of BDC fields in the help document (see below snapshot) I realize that it only talks about identifying a string of data from the Bank statement and then passing a fixed value to the required BDC field.
But, then I asked myself, " What if my data in the file is not the same always and I need to get this dynamically varying data from the bank statement to fill the same BDC field?".
Do I need to create 'n' number of search strings based on each value that appears in the bank statement? or Is there any other option?
After a few trial and error methods, I found the below solution or work around or whatever you would like to call it out..
Lets take a scenario that based on some identifiers appearing in your bank statement, you need to populate the Reference key 3 (XREF3) field of the accounting document with some data from the bank statement itself.
Lets assume we are using MT940 file format for the Electronic bank statement and below is a sample data of tag 61 and tag 86.
Now, in the above example we are doing some FOREX transactions (like hedging) with the bank for which the reference contract number is as highlighted above. If we want to populate this contract number in the XREF3 field or another field of the SAP accounting document then we can do it with the below trick ,
Assumption: the contract number (length 6 digits) always follows after /SR/CONTRACTXXXXXX in the tag 86 of the file. This acts as an identifier for us. In case you are not able to identify a fixed value then you can consult with your respective bank or ask them to add a fixed identifier before the required data.
Step 1: Define first search string say 'String1'
Srch strg name: String1
Description: Identify data sequence from the file.
Search string: /SR/CONTRACT######
Mapping: empty, empty.... empty (i.e. you need to keep the mapping value as empty).

Step 2: Define another search string say 'String2' whose search string definition is same as the first one but with slight change in the mapping value.
Srch strg name: String2
Description: Getting the contract number from the file.
Search string: /SR/CONTRACT######
Mapping: empty, empty.... empty,#,#,#,#,#,# (i.e. you need to only map the # digits as it is and rest keep it empty).
Step 3: Assign the Search String 'String1' defined in step 1 to the correct target fields.
In this step add your required details like company code, house bank, account ID, etc. with Search string as 'String1', corresponding target field as 'BDC field name 1’ and in the Mapping Prefix enter the field name i.e. BSEG-XREF3 in our case.
Step 4: Assign the Search String 'String2' defined in step 2 to the correct target fields.
In this step add your required details like company code, house bank, account ID, etc. with Search string as 'String2', corresponding target field as 'BDC field value 1’. The Mapping Prefix field will be blank in this case as the value would be determined from the file itself based on the search string definition.

That's it you are ready to dynamically get the value from the file.

Didn't you realize the trick..  
No... well below is the explanation,

In case you read the SAP help document (see the first snapshot) then it asks to maintain the target field as 'BDC field name 1' and 'BDC field value 1' for the same search string and thus we are only able to pass a fixed value via mapping prefix to the BDC field of the accounting document.

In my case, we define two search string which is having the same definition but different mapping rule. Here, the first search string is used to identify the sequence in the tag 86 of the bank statement and if its successful then it will fill the target field 'BDC field name 1' with BSEG-XREF3 (as per our example). While the second search string (having the same definition) will be used to identify the dynamic value from the file and then to fill the target field 'BDC field value 1'  as 'XXXXXX' (from the file) i.e. value for the BDC field BSEG-XREF3.

As the definition of both the search string is same, then either both will be successful or both will be failed. There won't be any case were either of them is successful and this is the Trick which I have used to identify the BDC field name with first search string and then the BDC field value with the second search string.

This really works. Try it out and let me know your results

Please share your suggestions, corrections or any other pointers in the comments section.

Thanks again for reading this blog

Disclaimer: The above work around mentioned is based on my personal experience and is not copied or referred from anywhere else.

You use this program in new General Ledger Accounting to perform closing and opening entries for a change in fiscal year.




For classic General Ledger Accounting, you use the program: Year-End Postings (RFSUMB00).




This program creates the following postings:

    • Postings for year-end closing of the profit and loss statements for the fiscal year result

Account Selection  Parameter:      E      1st Run: P&L Accounts


    • Postings for closing and opening the balance sheet accounts for the new fiscal year

                        Account Selection  Parameter:      P      2nd Run: Balance Sheet Accounts


In this program, the postings are created in real time using the interface to Accounting (with reference transaction AWTYP Reference procedure      = GLYEC          Year-End Closing Doc).


The totals records resulting from the closing and opening entries are updated with RRCTY Record type = 5 to be able to distinguish them in reporting from totals
records from operational postings (record type 0). The postings are made using the account assignments in the totals record table.


To summarize balances using specific account assignment characteristics, you can use the Business Add-In (BAdI)

Summarize Balances Using Account Assignment Characteristics.



Validation is not performed for transferred account assignment characteristics.

You can choose between the following country versions of the program:

    • Italy        SAP&ITALY      Standard Variant for Italy
    • Slovakia SAP&SLOVAKIA Standard Variant for Slovakia
    • Turkey    SAP&TURKEY              Standard Variant for Turkey
    • Portugal  SAP&PORTUGAL      Standard  Variant for Portugal
    • Romania SAP&ROMANIA          Standard      Variant for Romania
    • France  SAP&FRANCE  Standard Variant for France
    • Colombia  SAP&COLUMBIA    Standard Variant for Columbia


When creating your own report variants, always use the respective system variant SAP&* as a template.
Parameters that are set in the background in these system variants influence how the report performs postings. To ensure that the posting logic meets the
legal requirements for the respective country, you should always start the report with the respective system variant or with a modified copy. The standard
delivery corresponds to the posting logic for Italy.





You must fulfill the following prerequisites before you can execute the program:

  • The accounting  reconciliation of last fiscal year has been printed out.
  • The posting periods for posting the year-end closing and for opening the current fiscal year is open.
  • The last transaction for the balance sheet has been performed.
  • Apart from the special periods for closing entries, the posting periods of the last fiscal year are closed.
  • The accounting reconciliation of current fiscal year has been printed out and the totals have been validated.



Customizing prerequisites: 

Closing/Opening Postings (Specific Countries Only)    
Define Account Determination

Table: TABKT


You need entry’s in table TABKT before you can start the report we need dummy account for Vendor end Customer postings

For the account determination, you have to assign a dummy customer or vendor account to your reconciliation accounts. Your closing/opening postings are posted to these accounts.

For reconciliation accounts for special G/L transactions you have to enter the special G/L indicator.



Before you can assign a ummy customer or vendor account to a reconciliation account, you must have reated this dummy account with master data in the required company code. You ust be able to post to the account directly.



To assign a dummy ustomer or vendor account to a reconciliation account, proceed as follows:

            1. Choose New Entries.
            2. Enter the company code for which you ant to make the assignment.
            3. In the field G/L Account, enter the umber of the reconciliation account, and in the field Account Type, enter the account type for the reconciliation account (customer or vendor).
            4. In the field Customer or Vendor nter the account number of the dummy customer or vendor account.
            5. In the field Sp.G/L, enter the indicator for a special G/L transaction.
            6. In the fields Debit and Credit enter the posting keys for the debit and credit postings to the dummy customer or vendor account.
            7. Save your assignment.









Year-end closing entries for profit and loss statements

The program saves the annual net profit or loss in table FAGL_TRVOR as the comparison value for closing the balance sheet accounts.



In Turkey, you have to close account group 7 separately. To do this, use the program Turkey: Closing Account Class 7 (RFIDTRCLACCL7).

Since the postings are made using the reference transaction GLYEC, you can make postings directly to G/L accounts for which the Post Automatically Only
indicator is selected. You cannot enter any other characteristics or account assignments.


Before performing the program in an update run, ensure the following:

  • No other postings are made in your system at the same time.
  • For  the postings with this program, you use a separate document type with its own document number range. This enables you to clearly identify this type
          of posting in reporting (document journal).


Run the  Program with the following Parameters for opening postings 2013

Select your company code - fiscal year 2012 base for the opening postings 2013






Accounts Tab





The procedure is as follows regarding to the P&L Accounts:


  • 1st Step: Closing balances of revenue accounts are 'moved' to  REA (retained earnings account) defined in the customizing OB53. Closing
    balances of expenses accounts are moved also to REA.
  • 2nd Step:  The total debit balance of REA is moved to CLosing PL account - defined as paramater  1 in the tab Accounts of the report. The
    total credit balance of REA is moved to debit side of the  Closing PL account.
  • 3th Step: The total balance from the Closing PL account is moved to  Net Result Account defined as parameter  2 in the tab Accounts.




Go in tab Postings use two Document Types 

One for the Closing and one for the Opening 




Start the report and generate the postings.

In the Log you can see the selected accounts with the total amounts and the totals what the program would post.

As a functional consultant, we might have seen SPRO screen day in and day out. But, many of us may have missed to notice, there are many additional functionalities available in SPRO. Usually, we just run to the node where we wish to do the changes, complete required changes and rush for testing.


Through this blog, I would like to bring to the notice of fellow community members about many unnoticed functionalities available in SPRO.


1. How to find the list of tables that are updated through particular SPRO node?


Place cursor on the node where changes are being done and go to below path in SPRO.


In next screen, double click on underlying view.

Note: Usually last 4 letters of IMG activity ID is transaction code for that node.


Select other view and double click on Piece list option.


Next screen shows the list of tables that are updated under this node.


2. How to Search in SPRO?


Looks pretty straight forward option right? I am sure everybody must have already used this option.


But did you notice “Text Index info” in the search popup?


SAP search engine uses Indexing concept. We can correlate this to normal text book index. Index have the address number of a topic like page number. Similarly, SAP stores the database address of the nodes of SPRO. When search is done, system would first go to this Index data and find the position of the node in SPRO path. Then respective node would be pointed out. If multiple addresses are found for the search word, complete list is displayed in popup. We can further navigate by selecting appropriate item.


System has the information on when was last index generated. If we have implemented some patches/upgraded system to next version, we may face issues with search engine. In this case, just regenerate the Index. It is suggested to do this activity in background with the support of BASIS team.



3. Expand all:


This option will expand all the sub-nodes of a particular parent node.


4. Position:


This helps in scrolling down a node to topmost row. Place the cursor on the node and click on position. This action moves the node to topmost row.


5. Change logs:


Precondition for this functionality is, change logs are active in system. For the reasons related to performance and database optimization, change logs are usually activated in development system only.


This displays list of all changes done in the node with details like date, time, change done by user ID etc.


Enter appropriate selection parameters in next screen and execute.


If the node has multiple tables (How to find was discussed earlier), select the required object in the popup and proceed. Output would show the changes done in the selected period and object.


6. Additional information:


Document name: This is the name of the documentation key with which IMG documentation is stored.


IMG activity: Each node of SPRO is stored with the key field as IMG activity name. This is the unique key to identify a particular node in SPRO.

Attributes: Each SPRO node has different attributes. These attributes are stored with key field attribute key.

E.G.: If a node is critical/non-critical, mandatory/optional, is it country specific etc.


Maintenance object: This shows the name of the maintenance object which has the information of list of tables/views which are updated through that node.

Enhancement ID: This is used to enhance SPRO/add any custom paths in SPRO.


E.G: If you want to add some custom add-on to SPRO paths, you can enhance it with this option. Check t-code S_IMG_EXTENSION for more details.

Release notes: By selecting show notes, we would see small ‘i’ Icon beside the SPRO node. Clicking this would list the component names and respective release version through which this node was created/changed.


Other attributes:


Below attributes are self-explanatory. Name itself says what that option stands for.


BC Sets:

BC sets (Business configuration set) are used for collecting the customizing settings. They can also be used for a group  rollout, where the customizing settings are bundled by the group headquarters and passed on in a structured way to its subsidiaries.
SAP has delivered BC sets for some standard industry processes. We can create custom sets as well. Please check out below WIFI which has detailed information about this.



Business add-ins: This option would display, if there are any BADIs available for a node.


Translation: This is used for maintaining translations for the text fields available in a node (If applicable).


Hope you enjoyed reading this and got to know some new things


Please feel free to share your feedback.




Note: Assuming that reader is aware of MM-FI integration concepts. You can go through below blog  as well to understand the MM-FI integration concepts.

MM-FI integration: A conceptual understanding


Now we know how MM and FI are integrated and how the account determination happens. If we want to test inventory account determination, neither you need to do actual material posting in the system nor go through master data and customization to identify the accounts. SAP has delivered account determination simulation tool.


This helps to find how an account is determined while posting stock related transactions. We just need to input plant, material, movement type and select the transaction we would like to check say GR for purchase order, GR for process order etc. Based on above inputs, system would read customization, master data and simulate the account determination process. Apart from above, system would also identify missing account assignments for a given transaction. This would further help to analyze issues in an easy manner.


Go to T-code OMWB and close the initial popup. Click on Simulation button.


Fill in plant, material , movement type and enter. Transaction list would be automatically refreshed based on the movement type. Double click on required type of transaction to be checked say GR and click on Account assignments.



In next screen, we can see the list of all available transactions possible for this movement type, plant and material combination. Some fields like material type, valuation class etc. are derived from material master data. Some fields like valuation area, valuation grouping code etc. are derived from customization of the plant.


In this screen, we can see what all accounts are determined for different kind of transactions.


EG: For Inventory posting, you can see Debit/Credit posting keys and respective G/L accounts. If there are any missing account assignment for a given transaction, this is also highlighted with text as “Missing”.


In above example, you can see this happened for Purchase account and purchase offsetting account. We don’t have any account assignments here as we are not using this scenario. By this way, we can clearly identify the gaps in account assignment without even doing the actual posting.


We can change to different movement types and transaction combinations and see how account determination happens and based on what fields it happens. You can try this in your system for various permutations and combinations.


Second feature available with this tool is, to check the screen layout. This would help to identify any conflicts in screen layout rules for the inventory G/L account item during material document posting.


Screen layout for the inventory account item is determined at two levels.

  1. From field status group of movement type
  2. From field status group of inventory G/L account.


Click on “Check screen layout” button. In Next screen, we can see what is the field status set at movement type level and G/L account level. We should ensure that, there is no conflict between these two field status exist.


EG: We can’t have a field mandatory in one FSG and suppressed in other FSG. Posting would fail in such cases.


Sample output:


Just hover on the small ICON to see if a field is Mandatory/Optional/Suppressed/Display only. Any conflicts found should get reported in the error log in tool bar.


In case of conflicts, priority would be given in the sequence below with the exception of Required and suppressed combination which is not allowed.


  1. Suppressed
  2. Display
  3. Required
  4. Optional


Third option provided by this tool is, “where used list of G/Ls”. This would help to Identify in what all scenarios a G/L has been configured in the system.


From the main screen of OMWB, click on where used list of G/L.


Enter company code and valuation area in next screen and execute.


Sample output:


This output shows the list of valuation classes and transaction keys a G/L has been assigned to.



Hierarchy is as below.


Chart of accounts

                |-G/L account

                                |-Valuation class

                                                |-Transaction event key

                                                                |-Account grouping code


Hope this information would be helpful in your projects


Your valuable feed back/comments are much appreciated.




Vinod Vemuru

How to search BTE???

Posted by Vinod Vemuru May 13, 2014

Are you facing difficulties in finding out correct BTE to implement for your custom requirements? Doing extensive search over net/SCN? Not required now!!!


Yes, SAP has already given awesome “BTE search tool” which many people are unaware. I came across this interesting tool during my R&D and found it very helpful.

Hence, sharing this with the community.


Before we go on how to use this tool, let us go through little basics of BTE.


Business transaction event is delivered by SAP to code customer specific requirements during predefined standard processes. Call points are already defined by SAP. All we need to do is just plug in our code in the BTE based on our requirements and SAP would play it during standard process


Business transaction events are of two types.


Process BTE:


Process BTEs are called at a fixed, predefined points during the standard SAP program flow at which the system can process user defined/custom function modules instead of the standard function module. The pre-conditions/rules for calling up alternative processes are defined in the  customization of BTEs in t-code FIBF. There would be standard function module OPEN_FI function module assigned by default by SAP. If there are no custom function modules assigned in FIBF, standard function module is processed. Data and process flow of standard SAP can be changed in BTE.


OPEN_FI function module select the FM to be processed for P/S BTE.


Function module PC_FUNCTION_FIND determines the function module to process from the following tables (equal priority):


a) TPS34 Customer-Specific Function Modules

b) TPS32 Partner Function Modules

c) TPS31 SAP Function Modules

d) TPS01 Standard Function Module



Publish & Subscribe (P/S) BTE:


P/S BTEs are called at a fixed, predefined points during the standard SAP program flow. Data can only be published to another application through P/S BTE i.e. we can only export the data to P/S BTE. Changes to program flow or data can’t be performed here. The pre-conditions/rules for calling up alternative processes are defined in the  customization of BTEs in FIBF.


OPEN_FI function module select the FM to be processed for P/S BTE.


Function module BF_FUNCTIONS_FIND which is called inside OPEN_FI function module determines the function modules to process from the following tables:


a) TBE34 Customer-Specific Function Modules

b) TBE32 Partner Function Modules

c) TBE31 SAP Function Modules


(Source: Partly from F1 help)


How to search BTE:


Assume you have business requirement to implement a custom functionality to send an SMS alert to customers when dunning run is done. Since standard SAP does not have such functionality,

You can look for BTE for this.


Go to below t-codes

BERP: To search for process BTE

BERE: To search for P/S BTE


Both t-codes have same selection fields.


Select the attribute type A (Application component) and click F4 on selection attributes field.



In the next popup, drill down to the process area you are looking for. The paths displayed here are similar to SPRO path.

Select appropriate node. In this case it is DUNNING.


Path would come as shown below.


You can further restrict the search by entering other selection parameters which are self-explanatory. Now execute the program.

Output would show the list of available BTEs for the given node. Most of the times, description of the BTE says functionality.



Select appropriate BTE and use below tool bar options to explore further. We can see the sample FM delivered by SAP, interface of the BTE, Documentation etc.


Custom FMs can be created with the same interface as of sample FM. One common error seen while implementing the BTE is, custom FM interface may differ than standard FM interface.

In this case, the process would go for dump. This is because, SAP determines the FM name during run time (Dynamic call).


Similarly, search can be done based on other parameters like based on Business object name, IMG nodes etc.


You are welcome to post your comments and feedback on this blog




Most of us are comfortable with SD-FI-COPA integration concepts as it is easy to correlate and understand. But, when it comes to MM-FI integration, many of us find difficulties in understanding the concepts and account determination process. When I was trying to analyze my first issue related to how a stock account is determined in a valuated transaction, I was lost in OBYC. Let us try to understand few terminology used in MM-FI integration concepts. Once we are familiar with the concepts, we will further discuss account determination process in a stock movement related transaction.


Valuation area:


Stock of a material owned by a company is an asset to the company. Valuation area defines the organization level at which materials are valuated.

SAP has provided two options for valuation.


1.     Valuation at plant level: All materials are valuated at plant level.

2.     Valuation at company code level: All materials in all plants of a company are valuated at company code level.


This setting is defined in t-code OX14.


Valuated stock:


Total valuated stock = Stock in unrestricted use + Stock in transit between storage locations/warehouses of a plant + Stock in quality inspection.


Material type:


This defines the type of material.


EG: Raw material, Finished goods etc.


Material type is defined during material master data creation.


Movement type:


This defines the type of material movement from one place to other. Movement type enables the system to find predefined posting rules determining how the stock and consumption accounts are to be posted. All possible goods movements are already defined by standard SAP


EG: Movement type 101 refers goods receipt


Movement type is entered while posting stock movement related transactions. Most of the time, standard SAP automatically derives the movement type based on transaction code.


EG: If we go to MIGO, default movement type 101 is displayed by system.


Valuation class:


Valuation class is defined for the combination of plant and material (In Accounting 1 view of material master).


Valuation class allows posting of stock values of


1.     Materials of same material type to different G/L account (Different valuation class is assigned in different plants for the same material)

2.     Materials of different material type to same G/L account (Same valuation class is assigned to materials of different material type)


Note: G/L accounts can be defined at valuation class level along with other parameters.


Valuation grouping code:


Valuation grouping code combines the valuation areas having same business properties for the account determination. This reduces number of entries to be created for automatic account determination for the stock postings.


EG: Valuation area 1 and 2 are required to be posted to same G/L account, these are grouped to valuation grouping code ABC and G/L is determined based on valuation grouping code and valuation class.


Before using valuation grouping code, it needs to be activated in OMWM.


Valuation grouping code is assigned to valuation area in t-code OMWD.


In below example, five valuation areas are assigned to same valuation grouping code.


Account modification/General modification:


This key is used to determine different G/L account for the same kind of goods movement based on origin and target.


EG: During Goods issue, offsetting G/L is determined from transaction key GBB. If business wants to post to different G/Ls for goods issue for cost centers (Movement type 201) and good issues to orders (Movement type 261) for the same material and plant, Account modifier can help here. To understand this better, let us go to t-code OMWN where we define the transaction key and account modification for the movement type.


Transaction key which we see in OBYC is determined based on the movement type. In below screenshot, you can see all parameters are same for movement type 201 and 261 except account modification.

Please read F1 help on different fields in this screen to know more about functionality of each field.


T-code OMWN:


When material document is posted with these movement types, offsetting account is determined from transaction key GBB based on account modifier and valuation class.

From below screenshot, you can see that, different offsetting G/L account can be determined for the same transaction key and valuation class.


By Default, Standard SAP defines account modification keys for below transaction keys. User defined keys can also be defined and respective account determination settings can be maintained.

  • GBB (offsetting entry for inventory posting)
  • PRD (price differences)
  • KON (consignment liabilities)


Below are the modification keys defined by SAP (Extracted from F1 help).

Modifiers for GBB

For the transaction/event GBB (offsetting entry for inventory posting), the following account groupings have already been assigned to the relevant movement types:

  • AUF: for goods receipts for production orders with account assignment
  • BSA: for initial entries of stock balances
  • INV: for expense/revenue from inventory differences
  • VAX: for goods issues for sales orders without account assignment object
  • VAY: for goods issues for sales orders with account assignment object
  • VBO: for consumption from stock of material provided to vendor
  • VBR: for internal goods issues (e.g., for cost center)
  • VKA: for consumption for sales order without SD
  • VNG: for scrapping/destruction
  • VQP: for sampling
  • ZOB: for goods receipts without purchase orders
  • ZOF: for goods receipts without production orders

Modifiers for PRD

If you also activate account grouping for transaction/event PRD (price differences) when you make the settings for automatic postings, the following account groupings are already assigned to the relevant movement types in the standard:

  • none for goods receipts and invoice receipts for purchase orders
  • PRF: for goods receipts for production orders
  • PRA: for goods issues and other goods movements


Modifiers for KON

If you also activate account grouping for transaction/event KON (consignment liabilities) when you make the settings for automatic postings, the following account groupings are already assigned to the relevant movement types in the standard:

  • none for consignment liabilities
  • PIP: for pipeline liabilities

How are the account determination attributes determined for each transaction key/event?

Did you observe different set of fields appears for different transaction keys in OBYC while maintaining G/L account? Yes. This is defined in Rules for the transaction key.

EG: Select transaction key AUM in OBYC and click on "Rules" in toolbar.


You can see that general modification and valuation modifier is active.


If you go to G/L account maintenance for this key, you would see the same fields.


Quick snap of MM-FI Integration process:


When we do material posting for a valuated material, below flow happens.


1. Movement type and other attributes like special stock indicator, movement indicator etc are determined based on business transaction like goods                       receipt for PO, production order etc.(OMWN). This is defined by standard SAP.

2. Transaction key/event and account modifier is identified based on movement type and other standard attributes in step 1 (OMWN)

3. Valuation grouping code activation is checked from OMWM

4. If active, for the given valuation area, valuation grouping code is identified from OMWD

5. For the identified transaction or event, check if valuation grouping code is active or not in OBYC (Click the rules button for the transaction key)

6. Valuation class is determined from material master.

7. Based on the above identified attributes, select the G/L account from OBYC.


If system can’t find any account for the found attributes, stock posting can’t be done and system through clear error stating for which combination of attributes, G/L account is missing. Such errors are mostly seen during go live/while posting to new materials due to missing G/L account maintenance or due to incorrect valuation class in material master data.


Now you know the process, here is the short cut to find out G/L.

Account determination details are stored in table T030. If you want to know based on what details XXX account is determined, simply give that G/L in T030 table in field KONTS. This gives the possible combination of entries where this G/L is assigned. We can further drill down based on the filtered entries.


Please share your valuable feedback, thoughts and add additional information/corrections if any


Check out the next blog in this series.


MM-FI integration: Account determination simulator



Over the last few months, I have been facing an issue whenever I try to create a TR request. All of us know that for most of our SAP configurations, SAP automatically prompts for a TR number and includes all the relevant data on the TR request.


SAP best practice says that we should not tamper with the TR request contents, meaning, no manual changes to be done to the TR. But, I have seen people have issues with this. They are never ready to leave the poor TR request contents alone, the reasons may be different.


SAP expects that the configuration in our Production client is the same as the one in our Configuration client. This is to be 100% adhered and so does not encourage manual tampering of TR’s. The reason being, when the set up is same, irrespective of the TR contents, the config remains same throughout the landscape once the TR reaches production.


People have reservations because, they are not sure that Prod and Dev configuration is the same or in case of substitutions and validations, where a whole lot of other data along with your changes are also included in the TR (since TR is not created at the step level).


There may be other reasons for manual TR need. Say, a Z table does not prompt for TR when changed. In such a case also you would need a manual TR.

I have heard different approaches for creating this manual TR with the desired entries only. But, recently I came across the easiest one.


In case of say transporting fields to be restricted to be not used in Validation or substitution creation as explained in my document (Restricting/Unrestricting Fields for Substitutions and Validations), the TR SAP prompts for has only the changed entries. So, if we say we have changed or created 2 entries in the table, even if the table has 100 entries, only the 2 are included in the TR.


But, in some cases like OBYC settings, the TR created by SAP tends to include all the entries present for that transaction. Say, for BSX, we have 20 entries and we have added 2 more, all the 22 entries are included in the TR which SAP creates. In such cases, to get people off your back who are concerned about the TR contents, you can easily create a manual TR using SE16 or SE16N.


CATCH: To create a manual TR, you should be aware of all the underlying tables for the config to move correctly. Also, you need to take a call which tables are required and which are not. For OBYC, both T030 and T030R are included in an SAP TR. But, T030R is not required unless you make changes in rules for that transaction. To know the underlying tables, one way is to let SAP create a TR and then you can look at what tables are being included and take the call.


Go to SE16 transaction code and enter the table name.



Hit enter. Then input the relevant criteria to get the desired entries.



In the output screen, select the required entries by clicking on the first column(Use Ctrl + Click for multiple separate entries as shown in the screenshot or use select all button). Go to Table Entry -> Transport Entries



The next screen prompts you for a TR number. Create a TR from here or enter an already existing TR number.



The resulting TR from here has only the 4 entries we selected from the table to transport.


The same process can be done from SE16N as well.


Go to SE16N transaction code and enter the table name.



Hit enter. Then input the relevant criteria to get the desired entries.



In the output screen, select the required entries by clicking on checkbox in the first column (Use Ctrl + Click for multiple separate entries as shown in the screenshot or use select all button). Go to Table Entry -> Transport



The next screen prompts you for a TR number. Create a TR from here or enter an already existing TR number.



The resulting TR from here has only the entries we selected from the table to transport.


P.S: The intent of this blog was to make aware if someone is not aware of the process. I still recommend SAP created TR’s without manual intervention wherever possible

Assumption: Reader is aware of basic "Automatic Payment Process" concepts.


Most of us are familiar with online banking transactions. There would be thousands of bank transactions happening 24/7. Did you ever think, how does payment reaches a bank/payee, if it is done on a bank holiday or on a Sunday (Global holiday in most of the countries)? Usually banks refer to value date while making  a payment to payee instead of transaction date. In case of real time transfers, value date and transaction date are same. In case of payments with say check, value date may be in future as well. Aligning this kind of requirement to SAP, usually payments are handled in SAP through automatic payment program (F110) or manual payments (F111). To understand the complete process in a better manner, first we need to understand few terminology used in payment process.


Payment media: This is the means of communicating the payment related information to bank. This would have information like payee details, bank account, amount to be paid etc.


E.g.: Payment media can be sent to bank through payment IDOC, flat file, XML file etc.


Value date: This is the date on which bank has to dispatch the money to payee account. Please note that payment media is sent in advance to the date on which payment is to be made to payee. How many days before a payment media should be sent to bank is controlled through configuration.


Payment advice: This is the communication sent to payee/accounting clerk (In some cases where vendor doesn't have e-mail address) stating with the details of the payments done (List of paid invoices, amount, payment currency etc.) and to which bank account payment is made. This helps the payee to stay updated about the payment progress.


Usually, F110/F111 is run on a weekday and payment media is generated immediately and sent to bank. But, bank will start the payment process on the value date mentioned in the payment media.


Value date configuration and calculation logic:


Value date can be calculated in two different ways.


  1. Without bank calendar
  2. With bank calendar


Value date calculation without bank calendar:


Go to below path in FBZP.



Enter required company code and proceed. In the next screen, you can assign the number of days to be added to value date.

By default, value date is same as posting date entered in the payment run. Number of days can be assigned at payment method, House bank, account ID, Amount and currency level.

We can assign different number of days for different amount limit for the same account , currency and payment method


E.G: All checks (Check payment method) up to 100000 USD should be paid on 1 day after the payment run and 100001 USD onwards, should be paid 2 days after the payment run. This feature helps to manage the cash flow and funds in a better manner and won’t cause sudden plunge of bank account balance due to unexpected huge payments. Business will have enough

time to analyze the funds situation at any point in time.



Value date calculation with bank calendar:


This has two steps.


Configuring value date rules:


Go to value date rules from FBZP as shown below. Enter the company code and proceed.


Enter the house bank, account ID, Transaction name(Free field).


Reference date for determining the value date: This can have below options.


1          Document date

2          Posting date

3          Due Date


Most of the cases, posting date is selected as value date base line date (Reference date).

Calendar 1: This is the factory calendar ID used for calculating the value date. Bank holidays defined in this calendar are considered while calculating value date.

+ or – sign indicates weather the number of days mentioned is to be added/subtracted.


E.G: If the value date reference is posting date, Payment run Posting date = 01.04.2014


Considering above screenshot,

If 1st April is a holiday as per calendar EC, then value date base line would be 02.04.2014.

If 1st April is a working day as per calendar EC, then value date base line would be 01.04.2014.


Deviation from reference date in days: Number of days mentioned here are added/subtracted based on the sign column to the value date base line date.


From above example, value date calculation happens as below


If 1st April is a holiday as per calendar EC, then value date base line would be 02.04.2014, value date = value date base line + 2 days = 04.04.2014

If 1st April is a working day as per calendar EC, then value date base line would be 01.04.2014, value date = value date base line + 2 days = 03.04.2014


Once transaction name with the value date calculation rule is configured, next step is to assign this transaction to payment method.


Go to below path in FBZP. Enter company code and continue.


Enter the payment method, Transaction, House bank, account ID and the transaction name created above.Untitled.png

Don’t get confused with the transaction entered in second column with the one in sixth column. The one in second column is used for distinguishing different types of transactions for the same payment method. Below values are allowed here.


Space    Transaction not relevant

1           Bill/exch. for discount

2           Bill/exch. for collection

3           Check deposit at same bank

4           Check deposit in same region

5           Check deposit (general)


This allows to configure different value date rule for same payment method.


EG: If payment method A is used for check payments, check at same bank might need lesser time compared to check in different bank in same region.

Usually transaction in second column is maintained as blank. The one in sixth column is used for determining value date rules (Configured in previous step).


These steps completes the configuration of value date calculation. These rules would be used when payment media is generated and during value date calculation.


Note: Custom logic can be written in payment user exits if standard customization doesn't meet the requirement.


Your valuable comments and addition of more information on this blog is most welcome

You can also check the connected blog on Bank/Factory calendar creation.

Bank/Factory calendar creation: Step by step process




Process of JAPAN to create new consumption tax codes at module wise


In General:


Define a new tax on sales/purchases codes and you must not change the percentage rates for existing tax on Sales/purchases codes.


In principle, you have to create new codes that have not been used in the system up to now.


There are some reasons why the new codes have to be created.


Tax codes cannot be defined as time-dependent. If you directly change (overwrite) the percentage rates for existing tax codes, after the change, the new rate is immediately effective.


If document items have the same tax code with the different rates, we cannot distinguish between the old rate and the new rate. As another reason, if there is any program to do certain Procedure by using the tax rates at the point when this procedure is executed, we cannot do this procedure by the old rate but the new rate, after the rates are changed.


For example,


     The solution of “Invoice Summary", which is one of localization solutions for Japan, has the function to adjust the VAT amount and post it when monthly invoices are created. When this function calculates the VAT amount to be adjusted, the program uses the rate set in the tax code at the point when this function works.


     Thus, if you directly change (overwrite) the rate and Accounts Receivable posted with the old rate exists and the VAT recalculation is executed after the tax code has the new rate, the calculated VAT amount to be adjusted becomes the unexpected values.


      To create the new codes, go to SAP Customizing Implementation Guide: Financial Accounting -> Financial Accounting Global Settings -> Tax on Sales/Purchases -> Calculation -> Define Tax Codes for Sales and Purchases set "JP" in the country field, by copying the (old) code to the new code and adjust them to the new percentage rate.


      Please transport the new tax codes with the export/import programs in transaction FTXP (tax code customizing: function: Tax code - Transport - Export / Import). Please import the specially generated transport request in the production environment and check that the percentages have been transported. Because the numbering rule of VAT code seems different among customers,


SAP decided NOT to deliver the new tax codes as default in the higher support packages and the higher releases. The customizing changes for the new tax codes will not be delivered by SAP.

1. FI Module


      1. Need to create the new tax code:A2(Sales) and V2(Purchase) in Development in transaction FTXP and transport the new tax codes with the export/import programs in transaction FTXP (tax code customizing: function: Tax code - Transport - Export / Import) in quality system.


      And finally need to transport with new tax transport number to production environment, once transport to new tax codes and need to run the following program: RFTAXIMP


     2. In order to activate the new tax codes, please use report RFTAXIMP.


          About this program:


           I. We need entered the country is proposed and the transport number which contains tax codes while running the RFTAXIMP program.

          II. This program is used for importing the tax percentage rates along with GL account for respective new tax codes which already imported to quality and in Production environment.

               Note: Here we can use Old GL accounts for new tax codes which are already maintained for old tax code: V1 and A1 respectively.

          III. Program RFTAXIMP generates a batch input session with the name.

          IV. Processing this batch input session creates the tax percentage rates and GL accounts for the imported tax codes in the corresponding country

          V. Check the status at SM35 whether the batch run successfully. 


          Note: To run the above program, need to open change Flag in quality and production environment (SCC4)

                   Please make sure the access has been taken or not in Production environment before performing the above activities that is like Client open,       table update access and SM35 access


        Screen shots: T code SE38 and How to run the program       





     SM35 status at after run the above program.


3. Need to main the new tax code for Bank charges using – OBVU T code




Note:  New tax codes for bank charges better to maintain before 1 week of new fiscal year start.


4. Cash journal:


   Need to main the new tax code (V2) for Cash Journal using – FBCJC2 T code


Note:  New tax codes for Cash journal better to maintain before 1 week of new fiscal year start.



2. Material Management:


Action Points for Master Data


Tax code in Purchase Order defaults from the Info record and need to change old tax code to new tax code like below.


Menu: Material Management  Purchasing  Master Data  Info Record - T-code: ME12


Before change:



Based on above screen, we need to change the new tax code from V1 to V2


After changes:


Tax code V1  (5 %) should be replaced with new tax code V2 (8 %) on 31st March, 2014 or April 1st 2014. 



    Action Points – Transaction Data


           A) If any Purchase Order is to be created before 1st April, 2014 with consumption tax as 8 %.




           B) Open Purchase Order created before 1st April, 2014 and GRN has to be carried out after 1st April, 2014.


               The following steps have to be carried out:


          Before the change:


           Purchase Order (T-code - ME21N)


           After the change:


           Change the ‘Tax code’ from V1 (5%) to V2 (8%) through ME22N 



3. Sale and Distribution


          Action Points for Master Data


          Here we need to maintain the conditions records at new tax code level


          Before changes:


          T code: VK13 (Display condition records)


          This activity needs to do in production environment directly which is not transportable:


       After changes:


      This activity needs to do in production environment directly for Tax code: A2 which is not transportable


       T code: VK12 (change of condition records)


      Change ‘Valid To ' date from 9999/12/31 to 2014/03/31 and Tax code A1 (5%)


     T-Code: VK11 (Creation of condition records)


     Maintain Valid on date - 04/01/2014 to date 12/31/9999 and New Tax code A2 (8 %).



     Action Points – Transaction Data


     A) If any Sales Order is to be created before 1st April, 2014 with consumption tax as 8 % and the following process is to be follow:         


      Sales Order Creation: T-code: VA01


          • Before entering the material number, change the ‘Req. delv. Date ‘to actual delivery date.

            Let us take for example - On 04/02/2014, material is to be delivered to the customer.



          •  Now, you can enter Material No: quantity and other details at the line item.


     B) If any open Sales Order created before 1st April, 2014 with consumption tax as 5 % and delivery has not made , following steps has to be followed :


       T-code – VA02 - Sale order change:


      Before the change:


    After the change:


     • Manually change the ‘Reg. delv. Date’ and ‘first date ‘for each line item and save.



4. Shipment Cost:


Action Points Master data


Before change:


T-Code: TK12



     T-Code: TK11


     Maintain ‘Valid on ‘date - 2014/04/01 ‘To’ date 9999/12/31 and new Tax code V2 (8 %).



Please  find some of the important links for your needful about Japan consumption tax and hope this blog will helps to all.


IMP Link: https://websmp101.sap-ag.de/~form/sapnet?_SCENARIO=01100035870000000202&_SHORTKEY=01100035870000754660&_OBJECT=011000358700001267742012E


                                                 - Document End -


     Wish You All the Best.



Sudharsana Vamsi

When there are multiple line items in a single document need to remove payment blocks for all line items at a time .below is the process how to remove block using Mass Change option in FBL1N.


Note:payment block will come from payment terms below are the setting for default payment block

Image 10.png



If the document is related to Vendors use -FBL1N, Customers use-FBL5N and GL use –FBL3N.

Here I am showing Vendor related document.


Execute FBL1N:

Go to Dynamic selection screen select document number

Image 001.png

Click on Execute. you will see the list of document line items posted to different parties.


Got to ‘EDIT’ select all option.

Image 6.png

System will select all line items

Image 002.png

Now Click on mass change buttonImage 7.png then You will see a pop-up window

Image 003.png

To remove the block click F4 for payment block field and select free for selection

Image 004.png

And then click on execute Image 8.pngchanges button .

After changing you will get a messageImage 9.png.


Sada Bandla

I would like to introduce you to the SAP ERP Financial Accounting Learning Room, a key feature of the new and expanded SAP Learning Hub offering from SAP Education.

The SAP Learning Hub gives you access to a wealth of materials a lifetime is hardly enough to go through. And it is expanding as technology develops. As immensely useful and important it is to have access to knowledge, it is equally important to have guidance and help when navigating the materials, it is also much more engaging to have others to learn with and from. Enter the Learning Rooms.

Learning Rooms are special on-line sites (think enhanced forums) dedicated to a particular class, curriculum or topic. A Learning Room moderator with expert knowledge (in this case me) will post the room’s objectives* and guide participants through achieving them. The learning rooms are an offering tied to the SAP Learning Hub. This means that when you subscribe to SAP Learning Hub  you can subscribe to Learning Rooms as well (yes, for no additional fees).

There is a plethora of Learning Rooms you can subscribe to. I will be the instructor/facilitator for the Financial Accounting Learning Room. Financial Accounting with the SAP ERP Application is a cornerstone of almost all SAP ERP implementation projects. The fact it’s been around almost since the beginning doesn't mean that it hasn't evolved and improved and it certainly doesn’t mean it is less important than ever. Whether you want to gain a foothold, refresh your knowledge or learn about the new functionalities of Financial Accounting with the SAP ERP Application, this learning room is relevant to you. We will be covering all material needed to achieve the C_TFIN52_66 SAP Certified Application Associate - Financial Accounting with ERP 6.0 EhP6 certification.

Watch the video below to find out more, and read these key related resources right here in SCN:

·         Learning Rooms: Social Learning with SAP Learning Hub

·         SAP Learning Hub FAQ


*Financial Accounting Learning Room Objectives:

•  Gain a fundamental understanding of the financial accounting functionality in SAP ERP, with an ultimate objective to apply this knowledge as a solution consultant in a team setting.

•  Ask SAP ERP Financial Accounting related questions and complete relevant assignments to help you better understand this topic and course materials.

•  Interact with online instructors from SAP and other learners.

•  Prepare for taking the C_TFIN52_66 SAP Certified Application Associate - Financial Accounting with ERP 6.0 EhP6 certification.


Filter Blog

By author:
By date:
By tag: