You should review your design.
It is correct to have tblClients (Why do you need the word Master)
It is correct to have tblInvoices linked to ClietID as you have.
It is correct to have tblReceipts. (Why do you need the word Payments)
Get rid of tblPaymentsReceiptsInvoices. The Table Name is a bit big for me. Anything done here can be taken up in other tables.
Now we get a bit tricky. Hang a Table off tblInvoices for Allocations. This would be like a Journal Entry. Credit Receipts and Debit tblAllocations.
Accounting gets a bit confusing at times and I have replied without proper testing.
Please post back with anything I can help with.
tblAllocations
AllocationPK AutoNumber
InvoiceFK Number
AllocationDate
AllocationValue (Does not have to be the same as the invoice value)
Because you are dealing with other peoples money it would be good to lock the records after each entry. If you make a mistake reverse it and do it again.
Don't forget this is a double entry so you must make the opposite entry in tblReceipts.