Also, as an API design it seems to leak abstractions that the client should maybe not worry about. If the goal is to help applications do proper double-entry accounting, then it should provide means to add transactions without knowing the gritty details specific to entries.
Aside: I worked on API side of double entry accounting program once, long ago. In college I was an intern on Microsoft Small Business Accounting (which was renamed/rebranded towards the end of while I was there to Office Accounting). It's a shame that product was cancelled, as it was good product with proper double-entry, good reports, and a great API (even despite my major attempted improvements never making it into the product before it was cancelled ;).