****** Design ****** The *Account Product Module* mainly extends existing accounting and product concepts. .. _concept-product: Product ======= The *Product* concept is extended with a set of methods that allow access to the product's accounting related properties. Many of these properties are set in the product's accounting category. The accounting category is a special type of `Product Category `. Unlike standard product categories, each product can only have a single accounting category. .. seealso:: The `Product ` concept is introduced by the :doc:`Product Module `. .. _model-product.category: Product Category ================ The *Account Product Module* allows some *Product Categories* to be marked as accounting categories. These product categories can have accounting properties such as `Taxes `, and revenue and expense `Accounts ` associated with them. When placing categories into a structure all the categories in the structure must be either standard categories or accounting categories. This means an accounting category cannot have a standard category as its parent or as any of its subcategories. .. seealso:: The `Product Category ` concept is introduced by the :doc:`Product Module `. .. _model-analytic_account.rule: Analytic Account Rule ===================== The *Account Product Module* extends the *Analytic Account Rules* allowing `Products ` and `Categories ` to be used as criteria by the analytic rule engine. .. note:: This feature is only available when the *Analytic Account Module* is activated. .. seealso:: The `Analytic Account Rule ` concept is introduced by the :doc:`Analytic Account Module `.