Mixing receivable, payable... fields with different statement values in Account Type

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)

A payable/receivable can not be considered as an income because at the end of the fiscal year the payable/receivable stays but not the income.

This should probably managed by Invoice delegation

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?

Yes but both are correlated:

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?

Fixed asset is a specific usage for deprecation while assets is a generic type defined for completeness but not yet used.

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.

This is supported by sale_advance_payment module.

Didn’t know that.

Guess then we miss the supplier case.

1 Like