transactionline for the “human” details
transactionaccounting for the GL.
Either of these tables can be joined on the transaction.id field and the sequence numbers of both correspond to each other.
But like I said, normalized pretty much to 3rd normal form. You have to join to get the “description”. There is duplication in the quantity and rate are in transactionline and the extended amount is in transactionaccountingline.
There is a good reason behind breaking the normalization rules, separation of functions. Transactionline is for printing invoices, orders etc and transactionaccountingline is for querying the ledger.
Not saying this is the best example but it is from a successful in its own segment ERP system.