The latter is where real difficulty and liability lies; an event, such as a rental payment, triggers a series of transactions that must be financially sound and sufficient for meeting the expectations of an audit. There were a few other considerations but that really is the core framework. Where the real work begins is implementing the triggers, or events (like I mentioned above), that sets off a set of entries and making those financially sound. I've been able to achieve some basic rules exclusively for the self-storage space whose types of business transactions are very similar, but the truth of this can only be revealed by third party auditors. It leads me to believe that it's very difficult, if not impossible, to come up with a universal system for all businesses and industries since the events that trigger entries are specific to each system.
Happy to riff on this a little more if you're interested!
[1]: https://www.mathstat.dal.ca/~selinger/accounting/tutorial.ht...
[2]: http://www.austintek.com/gnucash/ncsa-gnucash-talk.html
[3]: https://docs.google.com/document/d/100tGcA4blh6KSXPRGCZpUlyx...
[4]: https://medium.com/@RobertKhou/double-entry-accounting-in-a-...