Hi Siva,
In Lay man Term, On Account baiscally means posting to a suspense account when the system is not able to identify against which document the payments have ben received from the customer. Eg, the customer just transfer X amount to your account without any details as to against which billings the paymemt has been made. Then you can seek a clarification from the customer and based on that, you will be able to identity the payments where made against which billings and clear them accordingly.
Your Posting rule definition seems to be correct. But if you want the system to post 'on account' to a customer, it should be in a position to first identify the customer. So, in the step, 'Assign External transactions types to posting rules' you should assign the posting rule to a BAI code (or any external code depending upon the file format you use for Bank statement). In this step you also assign the correct algorithm (01-Standard Algorith or 31-Document number search or your custom algorithm).
Then while uploading your bank statement in FF_5 or FF.5 (you have to give the document number range against BELNR number interval in the box titled 'Algorithms' or XBELNR number interval. Now the system will identify the customer by Invoice number or XBELNR number. Then if the invoice number and amount matches it will clear the open item and post. If the Invoice number or amount does not match, it will post on account.
Even after doing all the above the system might not be in a position to idenfity the customer because it could not find the invoice number or the XBELNR. In such cases you can use search string functionality and try to identify the customer based on the information sent by the bank in the 88 record (note to payee information). Normally wires come with customer name in the 88 record and they will not give invoice details because the number of invoices would be so much that it might not fit into the 88 record. Then you post 'on account' and later clear it manually.
Cheers
Vivek