We use one of two approaches, neither ideal
1. receive the full amount into a bank clearing account (DR clearing, CR AR). Enter a payment for the bank fees into the clearing account (CR clearing DR bank fees). Transfer the residual amount from the clearing account into the "real" bank account (CR clearing, DR real bank). Result: everything is right, but it's a bit transaction heavy
1. Receipt the actual amount received into the customer's account, and use the Discount function on payment application. Direct discounts to a bank fees account. Result: just one transaction, but the customer statement doesn't reflect what they've paid, and this doesn't work if you have "real" settlement discounts as you need to direct them somewhere else in the GL.