federatedbookkeeping / research

Research notes about Federated Bookkeeping and related topics
https://federatedbookkeeping.org
MIT License
7 stars 2 forks source link

Website tips&trick section #34

Open michielbdejong opened 1 year ago

michielbdejong commented 1 year ago

The website has an 'advantages' section that explains the "Why" of Federated Bookkeeping.

May be can also add a 'tips and tricks' section that explains what we have found out so far about the "How". Some ideas:

gsvarovsky commented 1 year ago

Lookalike Groups

next-level formats

Digital signatures

michielbdejong commented 1 year ago

store the source system's key

Yes! That is definitely a useful thing to do whenever it's possible - i.e. if the source system exposes it, and if either the destination system or some third system has something like a database table for that. But if one of those two conditions fail then I think it can still be meaningful to sync the information about lookalike group member counts between two system, especially in situations where the data is immutable (such as entries in bank statements).

michielbdejong commented 1 year ago

a much better way is to have a conversation with the target system's owners, and get a ticket on their backlog to provide the structured field.

Yes, true! It would actually be interesting to experiment with that. Some systems (e.g. ones operated by startups) will probably prove to be more agile than others (e.g. SWIFT messages between banks).

Research question: to what extent can we convince operators of database systems to add hooks and/or custom fields into their schema, to accommodate linking with "foreign" data that their systems may not natively support?

michielbdejong commented 1 year ago

In the ideal world to which we aspire, systems should be agile!

Although I agree with that at face value, maybe it's a sovereign right of an information system not to have agility as a priority?

Suppose a new standard is published to link profile pictures to bank accounts. That way, when you receive a bank transfer you see a little picture (company logo or person's mug shot) next to the entry in the bank statement, similar to how a message is presented in a chat app like WhatsApp.

A nice idea, but some banks will probably not update their bank statements layout to display these profile photos because they're just not that hip. But through PSD2 ("OpenBanking"), a startup could create a "bank statement viewer app" that fetches the transaction data from your bank, so the choice of data viewer app is separate from the choice of data storage system.

There would need to be a hook that reliably connects data in the legacy system with data in a third-party database (in this case the IBAN account number could be used as a unique identifier). We can experiment with this.

Research question: Maybe connectedness can work around a lack of agility?

gsvarovsky commented 1 year ago

maybe it's a sovereign right of an information system not to have agility as a priority?

I agree with the principle of course. This is surely bit like languages and laws – to gain the advantage of collaboration you choose to adopt some conventions which technically erode your sovereignty. I think having 'agility' on that list will certainly make things very awkward for some, as you rightly argue – but should we try to have the right incentives in place?

a hook that reliably connects data in the legacy system with data in a third-party database

This is now a bit more like a conventional federated data system, in which queries are distributed; as opposed to the timesheets-style gossip-based protocol. I wonder if we should explicitly compare and contrast "federation-on-read" (distributed queries) with "distribution-on-write" (gossip).

michielbdejong commented 1 year ago

contrast "federation-on-read" (distributed queries) with "distribution-on-write" (gossip).

@mlesmenio this morning you asked this exact question, right?

mlesmenio commented 1 year ago

Yeah I talked about using distributed queries as an idea which would allow bypassing loss of information on translations, and also avoid storing a complete copy of data on all the nodes