Automatic allocation of payments against invoices in Sage Lien 50, a wide variety of rules to
allow for matching if balances match, or only if references as well as amounts
match, if the balance is zero and so on.
There is even a simply first invoice based matching option.