Tracing transactions: a first draft at an extension

(Rory Scott) #1

Motivation & Context

I recently worked on some data that was, in essence, one activity which had multiple incoming funds transactions, each of which linked to several disbursements by a reference, in a 1:M relationship.

I realised that although there isn’t a formal way to link them in the standard (and there are plenty of good reasons not to want there to be), it might be interesting to link these transactions within one activity, rather than having to break them out into different activities and hierarchies, which is the convention.

The idea is that by looking at even just one activity, you could do some analysis and find out the internal financial workings of an activity, and plot something like this:

This could simplify things quite a bit, and could make it easier to mitigate double counting.

This use-case is in addition to linking transactions between activities from one publisher, and linking transactions between publishers.

First go at an extension

I decided to detail these use-cases alongside the technical implementation of an extension to the IATI standard in this gist. I don’t expect there to be a huge amount of usage, but I’d be interested to hear what people think.

  • Do we as a community anticipate being serious desire for something like this at some point, either from ourselves or from our users?
  • Have I missed anything obvious about how this would work? If so, suggestions are welcome.

Add related-transaction element (excluded 2.03)
(Andy Lulham) #2

Cool! I need to think about your two discussion points a bit more carefully!

But in the meantime, one minor thing: I’m not sure about the trans_id naming… Did you consider making the naming more consistent with equivalent elements/attributes in the standard? I’d understand this as something like a related-transaction/@ref… So maybe something reflective of that might be more intuitive?

(Rory Scott) #3

Thanks Andy - I did, but decided against it as a kind of signposting: I wanted it to be clearly not part of the standard. Ultimately though I’m not particularly committed to that, so if people actually wanted to use the extension and felt strongly about it, I’d be happy to change it.