Perhaps I should have been clearer
Single supplier or customer per transaction data entry mode
In the mode where the customer or supplier applies to the whole transaction ie not displayed or selectable at the line item level. I practice it covers by far the majority of all receipts and payments, and requires less user data entry, so should be the default mode in Manager. This mode must cover the transaction where there is a unique customer for all line items or a unique supplier for all line items. This case includes when one of the line items is a return or refund. Thus
Receipt: all line items tax is of type sales (independent of the sign of the line item amount)
Payment: all line items tax is of type purchase (independent of the sign of the line item amount)
Doing so maintains consistency between cash transactions and invoice transaction
If an actual supplier or customer is added to the entire receipt or payment then all line items continue to be applied to just one of sale or purchase never a mixture of both.
In my opinion, to simplify selection of a contact in the transaction level specification mode, payments should link to suppliers and receipts should link to customers. Cash returns / refunds should be entered as negative line item amounts either when part of a larger cash transaction or when entered on their own.
Line item level supplier or customer data entry mode
This data entry mode in Manager requires the customer / supplier be selected for each line item. It allows different line items to be linked to a different customer or supplier
In barter transaction / Counter trade / Recipient-created tax invoices there are always line items with different customer or supplier.
Counter trade transactions will always require the entry mode where customer or suppler is specified at the line item level.
In a counter trade transaction it is never possible to set the supplier or customer once per transactions and have it apply to all line items.
As a result the data entry mode where customer or supplier is specified at the line item level exists purely to support barter transaction / Counter trade / Recipient-created tax invoices.
I theory in the line item customer / supplier data entry mode, line items could default to sale or purchase based on the sign of the amount. In my opinion that would be confusing but it is a way of maintaining compatibility with old data.
Given the function of line item level specification of customer / supplier, the options should be called “Counter trade exchange” and perhaps default to on for old data on off for new data.
If that is the option chosen, for users who never use counter trades, it would be very useful if a simple recode option was available to change all old receipts and payments
from “Counter trade exchange” / line item customer / supplier mode
to “transaction level” customer / supplier specification with all line items in payment assumed to be purchases, and all line items in receipts assumed to be sales