How to Post Customer Incoming Payments in SAP F-28
โก Smart Summary
Posting Customer Incoming Payments in SAP FI uses transaction code F-28 to clear open Accounts Receivable invoices. This walkthrough explains the header data, open-item selection, and posting workflow so finance teams can apply receipts accurately and reconcile customer balances.

What Are Customer Incoming Payments in SAP FI?
Customer Incoming Payments in SAP FI represent the receipt of money from customers against outstanding Accounts Receivable (AR) invoices. The standard transaction code F-28 records these receipts, debits the cash or bank G/L account, and clears the matching open items on the customer sub-ledger. The result is a synchronized posting between the General Ledger and the AR sub-ledger that reflects the actual cash position of the company.
This process is a core part of the order-to-cash (O2C) cycle. Once a customer pays an invoice, the cashier or AR accountant uses F-28 to apply the cash, settle the open invoice, and reduce the customer’s outstanding balance. The posting also updates downstream reports such as customer line items (FBL5N), aging analysis (S_ALR_87012178), and bank reconciliation views.
Why Use Transaction F-28 for Posting AR Receipts?
Transaction F-28 is the recommended entry point for manual incoming payments because it provides built-in open-item selection, partial payment handling, and residual item creation in one screen. It enforces double-entry accounting by linking the bank debit with the customer credit, which keeps the General Ledger and the AR sub-ledger reconciled.
F-28 also supports multiple clearing scenarios, including standard full payments, partial payments that leave the invoice open, and residual items that split the original invoice. The transaction is preferred over journal entry tools such as FB50 because it preserves the link between the receipt and the original invoice, which is essential for audit traceability and dunning logic in FI-AR.
Steps to Post Customer Payment tcode in SAP
Follow the sequence below to post an incoming customer payment using transaction F-28. Each step builds on the previous one, so make sure the company code, currency, and customer master data are correctly maintained before starting.
Step 1) Open Transaction F-28
Enter the transaction code F-28 in the Command Field and press Enter to launch the Post Incoming Payments screen.
Step 2) Enter the Header and Bank Data
In the next screen, enter the following data in the header and Bank Data sections:
- Enter the Document Date
- Enter the Company Code
- Enter the Payment Currency
- Enter the Cash/Bank Account the Payment is to be posted
- Enter the Payment Amount
- Enter the Customer Id of the customer making the Payment
Step 3) Process Open Items
Press the Process Open Items button to display the list of pending invoices for the selected customer.
Step 4) Assign the Payment to the Invoice
Assign the payment amount to the appropriate invoice so as to balance the payment with the invoice amount. Make sure the “Not Assigned” amount at the bottom of the screen reads zero before posting.
Step 5) Post the Incoming Payment
Press Post from the Standard Toolbar to post the incoming payment. SAP will validate the entry and write the document to the AR sub-ledger and General Ledger simultaneously.
Step 6) Verify the Document Number
Check the status bar for the document number to be generated. This confirms the receipt is recorded and the open invoice is cleared in FI-AR.
You have successfully posted the Incoming Payment in SAP using F-28.
How to Verify the Posted Customer Payment
After posting, you should always verify the result so that the AR sub-ledger and the bank G/L account remain reconciled. Use transaction FB03 to display the document, confirm the debit to the cash/bank account, and confirm the credit to the customer reconciliation account. Cross-check the cleared open items in FBL5N by switching the line item status to “Cleared items” and filtering on the customer ID.
For aging and DSO impact, refresh the aging analysis report (S_ALR_87012178). For bank reconciliation, the posted document should appear in the bank statement matching view (FF67 or FEBAN), which closes the loop between the customer receipt and the bank ledger.
Common Errors and Troubleshooting Tips
Several validation messages can appear when posting through F-28. The most frequent are listed below along with the typical resolution:
- “Posting period is not open”: The period in the document date is closed for posting; open the period through OB52 or change the document date.
- “Customer XXXX not maintained in company code YYYY”: Extend the customer master to the company code using XD01/FD01 before posting.
- “Difference is too large for clearing”: The unassigned amount exceeds tolerance; either fully assign the receipt or post the difference as a residual item.
- “Tax code missing”: Maintain a default tax code on the G/L account or enter one manually in the line item.
Best Practices for Customer Receipt Postings
Apply the following practices to keep AR clean and audit-ready. They reduce manual rework, speed up the month-end close, and improve cash-application accuracy.
- Always use F-28 (not FB50) for customer receipts so the open-item link is preserved.
- Use reference fields such as Reference and Assignment to record the bank statement ID for easy reconciliation.
- For partial receipts, decide between Partial Payment and Residual Item with the controller; partial payments preserve the original invoice, while residual items create a new open item.
- Maintain tolerance groups (OBA3 and OBA4) so small differences clear automatically without manual write-offs.
- Schedule daily clearing through F.13 to auto-clear matched debits and credits on the customer account.




