How to handle journal entries probably depends on a program design philosophy, or more particularly what journal entries should be used to do in Manager. To illustrate the the two approaches which have been discussed above
Line item purchase sales identification would enable
Journal entry Supplier labeling would enable:
(Selecting type “Receipts” would result in customers being selectable. Analogous to what could be done in Receipts & Payments. Selecting from a combined list of suppliers & customers would achieve similar functionality as described above.)
The advantage of the first approach is it provides direct flexible low level control. The disadvantage is supplier / customer reports will not include JE transactions. Where that functionality was required a JE to a bank account with distribution there would need to be done.
The advantage of the second is transactions could be associated with a customer/supplier. Useful for sole traders performing transactions from a personal account (effectively from retained earnings). It has the disadvantage that line items may relate to different or multiple customers/suppliers so transactions level labeling may not provide sufficient granularity in some use cases.
Personally I think both are reasonable approaches, and both are better than not being able to specify sale/purchases at all.
Edit
I suppose a third option is to use the account type to determine sales/purchase tax code component. As sales are posted to income accounts and purchases are posted to expense accounts. I’m not sure what would be optimal when balance sheet posts are made. There may also be use cases when this assumption is not correct.
Edit 2
Thinking about it more, specifying Purchase / Sale per transaction with the option to label the transaction with a customer / supplier (the second option above) is better in my opinion because:
-
It is simpler for most user transactions, maintaining the same mode of operation across invoices / Payment & Receipts / Journal entries
-
It would enable reversal of a transaction by simply entering a transaction identical to the original but with a negative amount/quality. The same procedure applying to invoices / Payment & Receipts / Journal entries.
-
It is more powerful enabling correction / labeling of entries by customer / suppler. Possibly enabling journal entry transactions to also be included in customer / supplier reporting.
-
The only people with cause to use journal entries with line items containing both purchases and sales are likely to be those with an in depth accounting understanding, such as accountants correcting a users records. Someone with those abilities can achieve an arbitrarily complex journal entry by splitting it across two journal entries if requires (all purchase tax codes in one JE, all sales tax codes it the other JE, and items with no tax code to bridge between where appropriate).
Edit 3
On reflection it would be clearer if the transaction level type was “Sale” / “Purchase” not “Payment” / “Receipt” as shown in the screen mock up.