The possibility to get information about which entries were matched (and unmatched!) is exactly what we need.
Have you done anything more to cover these needs?
For our integration needs, we need to read a stream of payments on customer invoices (the payment could actually be either a real payment or any other credit entry). Currently we only support the simple scenario: a payment is registered with the invoice number. The problem is if the invoice is not known at the time of payment, or the payment is actually for several invoices etc., we simply leave it out.
I consider the best / most general purpose solution would be to have a method "GetMatchesBySerialNumber" which returns an object with:
- An array of all the involved entries (with balance before, assigned amount, balance after)
A less abstract way of describing (and possibly solving) our needs would be to say that we need to have a stream of the balance on each single customer invoice. Currently we could go and ask for the balance on all invoices, but that would take quite some time if there are many invoices. Since we need to know the delta of the balance (i.e. what is "paid"), we would have to store the previously known balance and calculate the difference. It would of course be much more convenient to get a "serialized stream" of events, including the deltas, from Economic (as described above).
I would love to hear your thoughts about this, and when such a function could be added to the API.