However, you might ask, is it also the right primitives to express accounting IT systems or could we think of a better domain model, and then derive the double entry ledgers from that?
This is an important and profound question.
If you would like to dive in, I suggest looking at the REA (resources, events, agents) model, a set of abstractions and patterns for expressing accounting in business systems.
The Model-Driven Design Using Business Patterns book by Hruby et al. is a great starting point. [1][2]
Also, the POETS (Process-Oriented Event-driven Transaction System) research from DIKU (Copenhagen University) is super interesting, offering some ideas for next-generation ERP systems.[3]
[1] https://link.springer.com/book/10.1007/3-540-30327-2
[2] http://phruby.com/book/index.html
[3] Fritz Henglein, Ken Friis Larsen, Jakob Grue Simonsen, Christian Stefansen. POETS: Process-Oriented Event-driven Transaction System. Journal of Logic and Algebraic Programming (JLAP), Invited submission to special Issue on Contract-Oriented Software, 78(5):381-401, 2009.
Jesper Andersen, Ebbe Elsborg, Fritz Henglein, Jakob Grue Simonsen, Christian Stefansen. Compositional specification of commercial contracts. International Journal on Software Tools for Technology Transfer (STTT), 8(6):485-516, November 2006.
There are more papers from DIKU on this, see e.g. prof. Henglein’s publication list :
http://hjemmesider.diku.dk/~henglein/bib/author/Fritz.Hengle...