Configure your R/3 or mySAP ERP Central Component (ECC) system so that you can select a vendor’s bank from multiple bank accounts for automated payments. See three methods for creating a vendor invoice — manually with or without a purchase order, and automatically using Electronic Data Interchange — and how to use transaction F110 to conduct an automatic payment run for selection of the vendor’s bank account
Key Concept
Automated vendor payment functionality (transaction F110) allows you to send payment details to your bank for making payments directly to your vendor. Vendor bank detail forms an integral part of the payment information. Transaction F110 selects the vendor bank data from the vendor master (transaction FK03). A vendor may keep bank accounts with several banks depending on business requirements, such as receiving payments from multiple countries or in multiple currencies. You can maintain the details for all such accounts in the vendor master in your SAP system using the partner bank type field. The SAP system can deduce the bank information by using partner bank information in the vendor invoice.
A vendor may have multiple bank accounts and may want you to make payments to its accounts on the basis of certain rules. The rule-based selection of the vendor’s bank account may depend on a simple rule based on company code currency and bank account currency — for example, if a vendor supplies materials to multiple company codes. Alternatively, it may be a complex rule related to the nature and currency of payment (e.g., cross-border transfer, domestic funds transfer, and the ability of the vendor’s bank account to receive such payment).
If you could store the vendor’s bank details in the vendor invoice, then you could also use it while making automated payments. However, you can’t key vendor bank information directly into an invoice that you create in your SAP system. This would lead to sub-optimal use of master data (vendor’s bank account information) in transactional data (vendor invoice) from the database viewpoint, because you would have to store the bank account information in each invoice. Your SAP system has an optimal way of addressing the issue by providing a bank identifier — partner bank type — that you can associate to the bank details in the vendor master and then use in the vendor invoice. With this method, the bank identifier provides a relationship between bank details in the vendor master and vendor invoice, allowing for the use of bank details with the vendor invoice during automated payments.
I’ll look at how to assign multiple bank accounts in the vendor master and how to include bank identifier information in manual vendor invoices both with and without reference to a purchase order. (You can create an invoice without reference to a PO if you are buying a very low value item on an ad hoc basis. When you do create a PO for a purchase, you have to create an invoice with reference to PO.) I’ll also show you how to update this information after go-live if you didn’t use multiple bank accounts before go-live with the mass maintenance process. I’ll explain what to do in the case of vendor invoicing through EDI. This article covers two methods of manual invoice creation and one method of automatic creation of the invoice from an EDI message. I’ve developed these approaches from experience, and did so on an R/3 4.7 system, though it applies to mySAP ERP Central Component (ECC) as well. Much of the documentation on this subject is incomplete.
For all three types of invoicing methods, you need to carry out the assignment of multiple bank accounts in the vendor master to the partner bank type, which I’ll explain in the next section.
Assign Multiple Bank Accounts in the Vendor Master
Your SAP system provides the functionality to store and use information from multiple vendor bank accounts in the Payment transactions screen of the vendor master general data via transaction FK03 (Figure 1).

Figure 1
Bank details vendor master
Table 1 shows the bank type determination logic that I’ve used in the vendor master in Figure 1. I have chosen the three-digit International Organization for Standardization (ISO) currency code (international standard for currencies) to use as the Bank type.

Table 1
Determination of bank type
You can use the BnkT (bank type) field in the vendor master to enter text differentiators for identifying the vendor’s bank accounts. If you leave the bank type field blank against a bank account in the vendor master, then it serves as the default bank if bank type information is missing in the vendor invoice. You may want to leave this field blank if the vendor has only one bank account and you want the system to select that bank account for all payments.
If the bank type is blank for multiple bank accounts, then the system looks for the first bank account with the blank bank type in the vendor master to use as the default. You are not required to define the text values -- in my example, INR, SGD, and USD -- elsewhere in your SAP system. The field allows any value up to a length of four characters. I’ll demonstrate the use of bank type with vendor invoice later on.
The system performs a check at the time of invoice creation on the bank type value used in the vendor invoice against the bank type values used in the vendor master. If you have not defined the bank type value in the vendor master prior to using it in the vendor invoice, the system shows an error message. The system performs the check to ensure that you are using a bank type value in the vendor invoice against which it can find a bank account in the vendor master. Otherwise, the system cannot determine a bank account for making payments to the vendor.
Note
Bank type is known as partner bank type in the vendor invoice and maps to the field BSEG-BVTYP.
Prerequisites for Vendor Bank Selection
You need to take care of a few configuration prerequisites before you can use vendor bank selection in the automated payment functionality.
1. Check the Bank details check box (Figure 2) in the payment method as defined at the country level in transaction FBZP. This ensures the selection of the bank details from the vendor master at the time of the automatic payment run. If you don’t do this, the system does not copy the bank details into the payment IDoc that is created as a result of the automated payment run (transaction F110).

Figure 2
Select Bank details from the vendor master
2. Make the Bank Business Partners field optional in the field status group attached to the vendor’s reconciliation G/L account (Figure 3) by selecting the button under Opt. Entry for this field. This field maps to the Part.bank type (partner bank type) field in the vendor invoice. If the Bank Business Partners field is not optional and is in a suppressed state, then you cannot input the partner bank type field in the vendor invoice.

Figure 3
Field status group
You can maintain the field status group through SPRO > Financial Accounting > Accounts Receivable and Accounts Payable > Business Transactions > Incoming Invoices/Credit Memos > Carry out and check document settings > Maintain Field Status Variants.
You can create a vendor invoice in the system in multiple ways. I’ll address the three methods of vendor invoice creation and the ways to use the partner bank type functionality in the following sections so you can make the payment to the selected bank of the vendor if the vendor has multiple bank accounts.
Method 1: Without Reference to a PO
You can create a vendor invoice manually without reference to a purchase order using transaction FB60. Once you enter transaction FB60, you need to fill in the details related to the invoice in the Basic Data tab, including the vendor number, invoice date, posting date, and reference and amount details.
You can see the Payment tab in Figure 4, which shows fields for payment terms (Pmnt terms), payment method (Pmt Method) and partner bank type (Part. bank). Fill the Part. bank field with the appropriate value. You already maintained the bank type in the vendor master data (Figure 1). Provide the offsetting G/L account information in the bottom pane in the FB60 screen to create the invoice. Save to post the document.

Figure 4
Create a vendor invoice using transaction FB60
The invoice posted through FB60 makes a CR entry against the vendor and a DR entry against the offsetting expense G/L account. Figure 5 shows the vendor line item containing the bank type information. At the time of the payment run, the system uses bank account 22222 because I used bank type INR in this invoice (Table 1).

Figure 5
Example accounting document created using transaction code FB60
Method 2: With Reference to a PO
You also can create the vendor invoice manually with reference to a purchase order by using transaction MIRO. I have created a new invoice with reference to a PO for services provided by the vendor, as opposed to the pure accounting document in the first example. You generally procure goods and services by raising a PO against a vendor, so you would create the invoice with reference to the PO. (If you are procuring very low value items on an ad hoc basis without a PO, then you may have to create the vendor invoice using FB60, as discussed earlier.) MIRO creates an invoice document, which you can see using transaction MIR4 (Figure 6), and an accounting document, which you can see using transaction FB03 (Figure 7). You can fill in the appropriate value in the Part. bank field in the Payment tab in transaction MIRO, as in Figure 6. I used a blank value in the bank type field. I already maintained it in the vendor master data before I created the vendor invoice document.

Figure 6
Create a vendor invoice using MIRO

Figure 7
Example accounting document created using transaction code MIRO
After entering transaction MIRO, enter the company code in which you are going to post the invoice using menu path Edit > Switch Company Code, or by pressing the F7 key. Provide the invoice date, posting date, and reference in the Basic data tab. In the PO reference tab on the bottom pane of the screen, provide the purchase order details (Figure 6). Provide the partner bank type details in the Payment tab. Click on the save icon to post the documents. I left the Part. bank (partner bank type) field blank in this example to demonstrate the use of the default bank account later on. I’m using default bank account 33333 from Table 1 here. You need to use transaction MIRO to create this invoice in this method because you are creating it with reference to a PO. The accounting document contains the payment information in the Part. bank field.
You can use mass maintenance of the partner bank type field if the vendor provided multiple bank accounts only at a point after go-live and if the invoices created before need to be paid to these multiple bank accounts. See the sidebar, “Mass Maintenance of Partner Bank Type in Vendor Invoice” for a detailed description.
Mass Maintenance of Partner Bank Type in Vendor Invoice
The functionality I’ve discussed in methods 1 and 2 assumes that you’ve been using the partner bank type functionality from the time the vendor went live in your SAP system. However, a practical situation may demand that a vendor provide single bank account details at the time of go-live, and later on provide the details of the other bank accounts. A robust solution thus should address the issue related to mapping of all open documents (vendor invoices pending payment) to the respective partner bank types. If you don’t map the open documents, then the system picks up the default vendor bank account (the one with the blank bank type in the vendor master) when you use transaction code F110 to create the payment IDoc. If you have not maintained a default bank in the vendor master, then it does not pick up a bank at all. In either case, you may end up making a payment to the wrong bank account. In such a case, you need to perform mass maintenance on the Part. bank field to populate the correct bank type value in all open invoice documents.
I’ve created an example of a vendor invoice created with a blank partner bank type to demonstrate how you can perform mass maintenance on the Part.bank type (partner bank type) field even after you have posted the vendor invoice (Figure A). I created the invoice using transaction code MIRO. Note that in Figure 1 I left the Part. bank field blank intentionally to demonstrate the mass maintenance functionality. This case is similar to the one shown in Figure 7 in the main article in terms of the creation of the invoice. However, I changed the bank type value in this case from blank to SGD using mass maintenance, so I can use bank account 44444 for payment (Table 1 in the main article).

Figure A
A vendor invoice with a blank partner bank type
To perform mass maintenance, use transaction code FBL2N. Enter the selection parameters in transaction code FBL2N to select those documents for which you need to maintain the partner bank type field. Follow menu path Environment > Mass Change > New Value, which produces a pop-up window (Figure B). Enter the new value of the partner bank type SGD in the Part.bank type field and click on the Execute changes button.

Figure B
Mass maintenance of the Part.bank type field in the vendor invoice
Select the invoice document (Figure A) using the selection parameters upon entering transaction code FBL2N. Then provide the value for the partner bank type field that you found in the New Values pop-up window. The partner bank type field acquires the new value in the vendor invoice document (Figure C).

Figure C
Vendor invoice post-mass maintenance of partner bank type
You need to carry out mass maintenance only for those invoices that you created before updating the vendor master with all the bank account details along with the bank type values. Once you’ve updated the vendor master, you can populate the bank type value when creating the invoice.
User Exit Option
An alternative to the mass maintenance method I just described is a user exit, which I discuss in the next section “Method 3: Automatic Creation from 810 EDI message.” Note that the mass maintenance approach requires manual intervention, so it is best for methods 1 and 2. You can find the suitable user exit to make changes through transaction SMOD or CMOD. I don’t discuss this option in the article as it is beyond the scope of this article. The mass maintenance approach is at best sub-optimal for method 3, which is why I have described the user exit method as an alternative.
Method 3: Automatic Creation from 810 EDI Message
So far I have discussed two methods to create a vendor invoice manually in the SAP system. While these methods are useful, organizations that have matured in their SAP use prefer to automate tasks such as the posting of vendor invoices, thereby reducing manual intervention and effort. Vendors also benefit from automation as they receive money directly into their bank accounts and don’t have to spend resources on collecting and depositing payments to their bank accounts.
You can automate vendor invoicing by using EDI. The vendor sends the 810 EDI message to the SAP system. The system provides the INVOIC01 standard IDoc that you can use to map to the 810 EDI signal to post the vendor invoice (Figure 8). Now I’ll take you through an example to demonstrate the use of the partner bank type with the automated selection rule of the vendor’s bank account.

Figure 8
Illustrative vendor invoice IDoc in SAP
You can process the vendor invoice IDoc through the standard function module IDOC_INPUT_INVOIC_MRM. You first specify the function module in the partner profile of the vendor via transaction WE20. The INVOIC01 IDoc doesn’t contain any segment that can carry the partner bank type information. However, the function module provides access to user exits through which you can code the customized rules for vendor bank selection to populate the appropriate partner bank type in the invoice.
Use the Customer Function ‘014’ (Program ZXM08U25) (Figures 9 and 10) to populate the partner bank type in the invoice. You can populate the partner bank type field using the change table field E_RBKPV-BVTYP.

Figure 9
Custom table to store rule-based value of partner bank type

Figure 10
User exit ZXM08U25
Step 1. Check for conditions in which you want to populate the partner bank type. My example makes the bank account selection based on company code currency, so a simple check here would be to ensure that the vendor master exists in multiple company codes. If the vendor master doesn’t exist in multiple company codes, then you don’t need to use the bank type field.
Step 2. If the check in Step 1 is met, lay down the rules that determine the partner bank type. Figure 9 shows the custom table that contains records illustrating the rules used in this article for determination of vendor bank. I used the records maintained in the custom table to identify the partner bank type to use in the vendor invoice in step 3.
Step 3. Amend field E_RBKPV-BVTYP in the user exit (Figures 9 and 10) and write the partner bank type value to it. In Figure 11, you can see the ABAP code that I used to amend the E_RBKPV_BVTYP in the user exit to write the partner bank type value.

Figure 11
User exit code logic
The system has derived the partner bank type value using the user exit to create an accounting document (Figure 12).

Figure 12
An example of an invoice created using user exit ZXM08U25
Having created the invoices with the three methods discussed above, you then need to perform an automatic payment run to select and make payment against the open vendor items. This applies to any of the three invoice methods I described in the article.
Automatic Payment Run
I will now complete the process by using transaction code F110 to conduct the automatic payment run so I can show you the results and the selection of the vendor’s bank account for the four invoices that I have created.
Create a payment run manually using transaction code F110. The payment run selects the vendor bank on the basis of the partner bank type after cross-referencing the partner bank type in the vendor invoice against the data maintained in the vendor master. Payment run functionality saves you a lot of time as it automatically picks up all the open invoices to be paid depending on the parameters the user maintains. It is also efficient as it creates a payment IDoc having payment information (IDoc PEXR2002) that you can send through a secure connection directly to the bank for making payment.
Fill the Parameter tab using the vendor number and company code to restrict the selection of vendor invoices to those as created in this article (Figures 5, 7, and 13 in the main article and Figure 1 in the sidebar). Execute the proposal run to create a proposal for the payment against selected vendor invoices. Figure 13 displays all the invoices and their vendor bank account details. You can now use the partner bank type field to cross-check the invoices created in this article and the bank accounts selected in Figure 13 per the original requirement in Table 1.

Figure 13
Vendor bank selection during proposal run
Once you have confirmed the proposal run for accuracy of document selection and data, you run the payment run using the Payments button on the Status screen of transaction F110. This creates the payment documents in the SAP system. Then go to the Printout/ Data Medium tab via transaction code F110. Use the program RFFOEDI1 under the bottom pane Lists along with an appropriate variant, which you can create using transaction SE38. Create the variant with the combination of company code, house bank, account, and payment methods. That ensures that you can select all the invoice documents in the proposal list for processing so you can create the payment IDocs. Go to the Status tab to create the payment IDoc automatically, through menu path Edit > Payments > Schedule Print. Figure 14 illustrates sample payment IDocs I created.

Figure 14
An example of payment IDocs
Akhilesh Mittal
Akhilesh Mittal is a lead SAP consultant at Infosys Technologies Ltd. with eight years of consulting and industry experience. He has experience in FI and CO along with exposure to SD. Akhilesh is currently a consultant in the SAP space for a leading organization in the high technology domain. He has a degree in electronics and communication engineering from IIT Guwahati and an MBA in finance and systems from IIM Lucknow.
You may contact the author at akhileshmittal@yahoo.com.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.