I've had some experience with this kind of stuff. Normally the answers to your questions are decided by the accountant that is involved with the system.
In my systems:
1) Only real transactions are stored in a transactions table, if there is a queue or temp table, it is a copy and has "make real transaction" scripts to copy it over when it turns into a real transaction.
2) Usually several payments corresponding to one item indicates some sort of Invoice. IE I have an InvoiceID that has been paid with PaymentID from three transactions. Invoices are in their own table and Payments are in their own table.
3) Another thing you need to consider is conditional record locking. Most accountants will want a way to "close" out a set of transactions so they can not be modified by anyone in the system. If you have record locking, usually accountants do not need a separate table for auditing.
Some other tips:
-Make sure to have creation timestamp/account and modification timestamp/account fields that can not be edited for security purposes.
-Make sure your server/host has a backup strategy that meets your (or your clients') needs.
-Check out some "finance" verticals on the filemaker site: