A costing rule can be applied during cost calculation. Each costing rule requires a costing algorithm and a valid from date to properly calculate the cost of material's transactions. The "Warehouse" can be configured as a dimension to take into account while calculating costs.
Notice that "Costing Rules" is a feature implemented by the new Costing Engine, therefore a costing rule can be created and validated within an Openbravo instance managing costs only if it has been migrated to the new "Costing Engine".
Openbravo recommends to migrate instances using the "legacy" costing engine to the new costing engine.
Please review the Costing Migration Process article.
Note that the new costing engine is included in Openbravo 3 starting from MP13.
New Openbravo instances or instances which did not calculate cost do not need to migrate to the new "costing" engine but just to create and validate the corresponding "Costing Rules".
In those cases it is possible to set the "Starting Date" as desired by having into account that:
- entering a blank date means that all the existing material transactions are going to be cost calculated
- entering a given date (i.e. January 1st 2012) means that the material transactions dated on January 1st, 2012 and later on are going to be cost calculated
The costing rule window allows to define and validate costing rules.
As shown in the image above a "Costing Rule" can be defined and assigned to an organization for which the cost of the transactions need to be calculated.
There can only be one rule valid at a time for an organization which besides needs to be a "Legal Entity" organization type. The valid time period of the costing rule is set by the Starting Date entered.
Once assigned the costing rule applies to every product transaction recorded on the Legal Entity and all its children.
The main property to set in a costing rule is the Costing Algorithm to used while calculating costs.
The Standard and the Average algorithms are available by default. Additional algorithms such as FIFO, LIFO can be implemented by extension modules.
Moreover, costs are calculated at organization level by default, however it is also possible to have the costs calculated for each Warehouse's organization.
This can be achieved by using the Warehouse Dimension flag of the costing rule.
Costing rules need to be validated to start using them. That is done by using the button "Validate Costing Rule".
Once a Costing Rule is validated it is not possible to modify or delete it.
If a costing rule needs to be change that is get by creating a new costing rule with the new setup required.
Let's imagine that an organization requires a new costing algorithm to be used for cost calculation. In that case a new costing rule needs to be created.
The new rule overwrites the existing one starting from a new and later "Starting Date".
In this case:
- it is necessary to close the existing costing rule, that means to close the inventory valuated at the "old" rule
- and to initialize the inventory which will be valuated at the "new" costing rule starting from a given date
The closing and initialization inventory balances are managed as Physical Inventories in the new costing engine.
Two physical inventories are created for each organization and warehouse the costing rule applies to:
- the closing physical inventory empties the stock of products, therefore the Quantity Count is set to 0.
The cost of the products is the one calculated using the costing rule configured so far, regardless it is not shown in the physical inventory.
- The opening inventory fills in again the stock, therefore the Quantity Count is once again set to the Quantity on-hand.
The cost of the products is shown and it is the one calculated using the costing rule configured so far.
Note that the cost of the new transactions of those products will be calculated by using the new costing rule.
The costing rule validation process does several checks:
- for instances managing cost which have not been migrated to the new costing engine will not be able to validate costing rules
- for instances do not managing cost do not need to migrate therefore will be able to create and validate costing rules
- and finally, for instance already managing cost under the new costing engine infrastructure:
- in the case of products included in transactions which were cost calculated using a rule, if a new rule is configured all their transactions need to be calculated first according to that previous rule.
- in the case of products included in transactions which were not cost calculated by any rule, if a new rule is configured all their transactions must not be cost calculated.
The initialization tab is a read-only tab which allows to review the "Closing" / "Opening" physical inventory created to validate a costing rule. Every time that a costing rule is validated a new record is created for each Organization and Warehouse. This record contains links to the physical inventories created.
Full list of Costing Rules window fields and their descriptions is available in the Costing Rules Screen Reference.