With analytic_account (and analytic_*) it is possible to define that a given hierarchy is required and all lines in invoices, sales and purchases will force the user to define an analytic account for that hierarchy. The problem is that accounts in those lines may not necessarily be revenue/expense accounts.
One example is assets. Even if we should define an asset account as expense in order for it to be available in invoice lines, analytic account should not be required in those cases. Even more, if the final goal is that analytics and accounting match, we should also ensure that asset accounts do NOT have an analytic move. That said, recently a customer asked for analytics in cash accounts. Given that not always the analytics should be required for revenue/expense accounts but there may be other use cases I'm thinking that we need to improve that "required" meaning in analytic hierarchies. Maybe we should replace the 'required' boolean by a Many2Many to account.account.type so that the analytic move is only required for accounts of the given types. Opinions?
