Tuesday, November 13, 2012

Automatic Payments

SAP provides a standard program to run automatic payments to vendors.

Having in the system vendor invoices to be paid, you can pay them with the payment program generating checks, transfers, bill of exchange or other payment methods.

Usually the payment method is defined in the invoice or vendor. In order to print those payment forms, there are standard programs for that purpose (they are specified for each payment method in the configuration).

It is important to have configured in the system our house banks, accounts, payment methods and payment forms.

House bank (bank id) is the bank where the company code has accounts. Note that each banks account is associated to a GL account in the system (it is defined in customizing, transaction FI12).

This first block explained in the post is related to the configuration. Transaction to configure the payment program is FBZP. The configuration is done at several levels:

  •  Button “All Company Codes” (paying company code, cash discount, etc).
  • Button “Paying Company Codes” (specifying how the payment is done). 
  • Button “Pmnt methods in country” (configuring payment method at country level). Double clicking on a specific one, you can set all the parameters, included the Payment medium program. 
  • Button “Pmnt method in company code”. Double clicking on a specific one, you can set all the parameters. 
  • Button “Bank determination”. The payment program will determinate the house bank to perform the payment based on this configuration. The algorithm to determinate it is the following ( if any problem found during the sequence it is shown in the log of the payment run): 
    • Selection of the house bank (bank id) based on payment method and currency.
    • If not found, selection of the house banks based on payment method (without currency). 
    • Selection of the account id based on bank id, payment method and currency. 
    • Selection of the available amount based on bank id and account id. 

This second block of the post is related to the payment run. Once the automatic payment program is correctly configured, it’s time to run the process with SAP transaction F110. You have to follow these steps:
  • Parameters. In the tab “Parameters” you enter the payment parameters. You use these parameters to define what you want to pay. If you go to the main tab “Status”, you will see in green the status “Parameters have been entered”. 
  • Creation of the Proposal. Once you have saved the parameters, you have to click on button “Proposal”. In the tab “Status” you'll see the status “Payment Proposal has been created”.
  • Visualization of the Proposal. Clicking on button “Display Proposal” you will see the payments to be done according to the parameters entered. You can modify the proposal, but if the selection doesn't meet your expectations and you need to delete it, from tab “status”, go to menu “Edit->Proposal->Delete”. After that, if you go to menu “Edit->Parameters->Maintain Parameters” and you could start the process entering again the parameters. 
  • Payments run. Once the proposal of payment is ok for you, you will run the payment clicking on button “Payment run”. This process will create payment documents and prepare the data for printing. If everything is ok, the status will be as you see in image below. Note that paying Bank account is determined by the configuration step for Bank determination. To see the payment documents created go to Edit->Payment->Payment list
  • Printout. After creating the payments, the payment medium is created (checks, banks transfer file, etc). It’s important to know that a Variant has to be created for the payment medium (using the transaction SE38) and assigned in the tab “Printout/data medium”. Also note that the payment media printout could be generate automatically during the payment run, or clicking on the proper button.

Monday, November 12, 2012

Display Vendor Line Items

For Vendors is available in SAP a transaction to display open and/or cleared items, the transaction is FBL1N.

Also you can follow the path:

SAP Menu-> Accounting->Financial Accounting->Accounts Payable->Account->FBL1N Display/Change Line items 

Double clicking on displayed documents you obtain the details, including if the invoice is blocked for payment.

If you want to know the related material document, you could navigate to Environment->Document Environment->Original Document



Saturday, October 20, 2012

Copy Cost Center Plan

Yesterday I had the needed of coping the cost center plan data from one version to another. For this purpose I used SAP Transaction KP97.

The first execution of the transaction should be done in test mode (there is a checkbox for this purpose) selecting proper version, periods and year to be copied.

Is important to know that we have the possibility of overwriting target data selecting the check box “Reset and overwrite” in the selection screen.

After review the output log in test run, we are ready to execute the transaction in real mode coping data from a specific plan version to another.

Note that errors listed in the output log can be reviewed in detail clicking on button “Messages”.


Wednesday, October 17, 2012

Park FI Document

Don’t you have permissions to post a FI document? It’s usual in a company the existing of employees not authorized to enter FI documents without previously the document is revised by a proper reviewer.

In those occasions, you can enter the FI document using the transaction to park a document, F-65. You will enter all the information in the document and later, when a supervisor reviews the document, will post it.

The path to follow is the following:

SAP menu->Accounting->Financial Accounting->General Ledger->Posting->F-65 General Document Parking


Later, as approver, if you like to post the parked document you should use transaction FBV0.

Friday, October 12, 2012

What is a Vendor Invoice?

Following with basic financial concepts, what is a Vendor Invoice?

Easy, a Vendor Invoice is an accounting document.

Yes, but what it represents? It’s a “request” for payment of whichever thing we received from a provider.

There are two types of Vendor Invoices:

- Non-purchase order based invoices.

In this case, we have not any purchase order created previously. We have to pay to the provider for some service, for example the rent. The invoice is posted directly in General Ledger, debiting in the expense account and crediting in the vendor Account.

SAP Transaction to create the Non-PO-Based Invoice is FB60 or following the path:

SAP Menu->Accounting->Financial Accounting->Accounts Payable->Document Entry->FB60 – Invoice

Before save (post) the invoice you can simulate with button ‘Simulate’.


- Purchase order based invoices.

In this case, we have a previous purchase order requesting some good or services. Also, that service or good has been received against the purchasing order creating the “Good Receipt” document in MM module, debiting in the Inventory Account and Crediting GR/IR clearing account (this account is used to post goods/services which have not been invoiced.

Once we have received the goods/services we can create the Vendor Invoice referencing the purchase order previously created, debiting the GR/IR clearing account and crediting the Vendor Account.

SAP transaction to create the PO-Based Invoice is MIRO or following the path: 

SAP Menu->Logistics->Material Management->Logistics Invoice Verification->Document Entry->MIRO-Enter Invoice



When you enter de invoice data including the purchase order and post the document, the invoice number document is created. If that document has the status “Blocked for payment”, it is blocked for payment and has to be released before proceed with the payment.

That blocking is performed by the invoice verification process, consisting on match the price and quantity of PO, GR and Invoice (taking into account tolerances). If they do not match, SAP will block the invoice for payment.

To unblock the invoice you can use SAP transaction MRBR or following the path:

SAP Menu->Logistics->Material Management->Logistics Invoice Verification->Further Processing->MRBR-Release Blocked Invoices

Entering the proper data you will able to select the correct invoice to unblock. With the invoice selected, click on the flag button to release it. The status will change to “Released”.

Exchange Rates

This is a brief posting about Exchange Rates in SAP.

Exchange rates are maintained in transaction OB08.

Take into account that is possible to have several exchange rates for a specific date using the Exchange Rate type. Standard Average rate type (M) is used in accounting to convert document currency to local currency if apply.

With transaction OB22 you can change this setting and with transaction OC47 you can set up exchange rate types.

Monday, October 1, 2012

SAP Query

It’s time to extract data from our SAP System. How do it? It’s easy, with SAP Queries you have the possibility of creating your own extractions to manage the information you need.

To create a query you should follow 3 simple steps:

Step 1 – Create Infoset

The infoset is the set of tables where you will extract the data. Infoset is created in SAP with transaction SQ02 or following this path:

SAP Menu->Tools->ABAP Workbench->Utilities->SAP Query->SQ02 Infosets




When you are creating the infoset, data source is chosen as logical database or not (specifying directly the tables to extract).



If you choose the option of not using logical database, the selected table is shown in the screen and new ones could be inserted with the corresponding button ‘Insert table’.

Joins, link conditions, etc, also could be defined from this screen.


Once you have included all the required tables and their joins, is time to return to the previous screen with the back button. The system asks you about which field you want to be available for the later query creation.

Please note that if you want to use a particular table twice, SAP gives you the possibility using Alias. Click on ‘Alias’ button, specify the table (already used) and its alias, and then click on button ‘Insert Table’ and instead of specify a table, specify the alias created before.

It’s time to select the fields, save and generate the infoset. Now you have the Infoset ready to be used.

In SAP when you are creating queries, you have to take into account the Work Area. In SAP exists 2 type of Work areas, Standard Area (client-specific) and Global Area (cross-client).

Queries created in Standard Area won’t be transported to any client, however, queries created in Global Area could be transported, for example from development client to production one.

Note: A query created directly in production environment always must be created in Standard Area.

If you need to change the work area of a query, you could use SQ02 transaction, going to Environment->Query Areas and choosing the correct one.

Step 2 – Create User Group

The user group is set of authorized users for using the created query.

User Group is created with transaction SQ03, or following the path:

SAP Menu->Tools->ABAP Workbench->Utilities->SAP Query->SQ03 User Groups

In this menu, you create the user group with button ‘Create’ and Assign the users with the button ‘Assign users and Infoset’.


In the screen where you are assigning users to the user group, you can navigate to menu ‘Goto’ and ‘Assign Infoset’ (or visible button) and assign the Infoset to that user Group.

Step 3- Create Query

Is the query creation, based in the infoset (set of table) already defined.

The transaction to create the query is SQ01 or following the path:

SAP Menu->Tools->ABAP Workbench->Utilities->SAP Query->SQ01 Queries

The query is created for a specific user group, so the first step is choosing the proper user group, using the button ‘Other user group (Shift+F7)’.


Now is the moment to click on ‘Create’ button. The first thing the system is requesting is the name of the infoset where you want to select data.

In the following screen you specify the characteristics of your query, format, attributes, etc.

If you click on button ‘Next Screen (F6)’ you’ll see the list of fields available according to the selected infoset. You have to mark the fields you want to output in the query.

Clicking again on button ‘Next Screen (F6)’ you’ll see again the fields, in this case to select the fields you want to appear in the selection screen.

Also you can go to previous screen with the Menu ‘Goto’ and the proper submenu.

With Menu ‘Goto’->’Basic List’->’Structure’ you choose the extract layout of the query output, is the layout design (header, footer, etc…). If you have a look to the screen, button ‘Test (Ctrl+F8)’ and button ‘Check (Ctrl+F6)’ are available for your use.

At this moment you have created the query. It’s time to execute it. From SQ01, you can click on button ‘Execute (F9)’.

There is a second way to execute the query. When you create a query, an internal program is being created. That internal program also can be executed as a normal ABAP program, with SE38 transaction or with menus, jobs, etc.

But, how do you know the name of the program? It’s easy, from SQ01 select the button ‘Execute in Background (Shift+F6)’ and in the first screen you’ll see the name of the ABAP program generated with the query.

Query – QickViewer

There is another possibility of creating queries. Is with transaction SQVI or following the menu:

SAP Menu->Tools->ABAP Workbech->Utilities->SQVI QuickViewer


When this option you can create a basic query, selecting the tables where you want to extract the info and the corresponding layout. By this way is not necessary to create infoset as you saw in the explanation about SQ01.

When you click on button ‘Create’ the first screen is to choose data source. If you want a query to join tables, please select in Data Source ‘Table Join’.


A new window will appear in order to insert the tables you want and their relationship. Button ‘Inset Table (Shift+F1)’.

Clicking on ‘Back (F3)’ button, you navigate to the main screen where you have access to different tabs: Tab to select the list of output fields, tab to select the selection fields, tab to select the data source and tab to select the sort.

Please note that if you want to use a specific table twice, SAP gives you the possibility using Alias. Click on ‘Alias’ button, specify the table (already used) and its alias, and then click on button ‘Insert Table’ and instead of specify a table, specify the alias created before.

The way to execute is analog that the previous one. From SQVI clicking on ‘Execute’ button, or with the ABAP program generated (you can obtain the name clicking on button ‘Execute in background’) through SE38 (or whichever way you use an ABAP program, i.e. creating a job).