Since 5.2 the kind field was moved to Account Type using several boolean fields.
Currently payable and receivable fields (to put a couple of examples) can only be checked to balance accounts.
AFAIK those fields should only be used as filters to help the user choose among a set of valid accounts, however we’re considering as a customer customization to allow them to check payable/receivable to income accounts because in some cases the supplier paid something in the name of somebody else and not being able to use this kind of accounts forces the use of bridge account.
Is there a reason why the account module has such a strict restriction and does not allow these boolean fields to be selected in non balance types?
Do you envision any problems with such a customization?
PS: I meant expense/revenue, yet the general idea applies the same: why being so strict here (there’re even domains preventing some situations)
But AFAICS the Balance of Non-Deferral accounts is based on the “deferral” field of accounts which in turn checks the “statement” field of its type.
So it looks like the “statement” field of account type defines how the account behaves while the asset,payable,receivable,etc flags are only used as filters to help the user select the right accounts. Right?
Related to this topic, I found that there’s a boolean field named “assets” in account/account.py yet account_asset module adds its own fixed_asset boolean. Is that an error? Or otherwise what is the rationale behind account’s module ‘assets’ boolean?
There’s still another use case in which a balance account must be used in customer or supplier invoice lines: When you create an invoice to a customer for paying a work in advance.
In that case the invoice line can not be put in an income account because in fact you owe the money to the customer until you deliver the goods or the service to the customer.