Summarizing, third of your assumption is not valid. But if there is any scenario when assumptions 1,2, or 4 seems still not work, we have aug which should be fixed.
Number 3 is also important, since the Bank Account is technically a supplier of service to you, and you pay VAT on Bank transaction Costs, Aditional serves, and Bank Account fees and any other fees that the bank would charge. These services carry service Input Tax that needs to be part of the claim back against your invoice, Supplier and Customer Credit Notes VAT payble.
Part of payments through the bank account might be cash transaction with till slips wher some amounts are VAT claimable. These are normally done through the Cash Payment or Petty Cash Paymnts, since you are not setting up a supplier account for every shop where you are going to buy stuff for the business, but they do issue a Cash Till VAT Receipt (Invoice).
Must I now setup the Bank as a supplier, Issue Supplier Invoices for each line item that is Vatable on the bank statement, and then make a supplier payment. This is tons of extra work that is not neeeded.
When you write Customer payments off as bad debt, you cannot use the Customer Credit Note so that you can claim back the VAT. I created a Bad Debt recon Account as a "Bank Account" so that the process against a Customer with bad debt is easier, but under 2.4 that did not pull through to the Tax report.
If in other areas they d not use GL accounts or Banking and General Journa to write back VAT, then they will have no such line transaction. It should only display where youve the folliwng:
Bank Cost: $2.00
Then this transaction will be displayed in the tax report as INPUT VAT. this is not happening with the current 2.4 reports, but was displaying in the 2.3 report709. So something clearly changed between 2.4 and 2.3 report709.
@Braath changes did address this issue in report709.
I did not specifically noticed the problem in the beginnig but had to resubmit the bank cost and cash payments in the Petty Cash after noticing the issue.
Trust this will help.