Costing Engine

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

This page explains how to costing engine operates within ADempiere from a functional viewpoint.

Costing Methods

How the costing works is controlled by the costing method. The costing method can be set for the whole accounting schema (Accounting Schema -> Costing Method) or for a specific product category.

NOTE! At the moment the recommended costing methods to use are Standard Costing or AveragePO.

There is ongoing work to improve the costing.

Product Costs

Product costs (table M_Cost) contains the current costing price for a given product. The current cost is copied to a cost detail whenever needed. The cost detail in turn is used to update the current cost.

How and when this happens depends on the costing method.

If the current cost price is 0 (zero) you'll get an error from operations that need a product cost.

Cost Details

Cost details is a costing track of a specific product. You can view cost details by selecting the form:

  • Product Costs

and then choose the tab "Cost Details".

The cost details contain records for each combination of product, attribute set instance, accounting schema, cost element line, reference document (order line, movement line, invoice line, inout line, inventory line, or production line, cost collector), whether this is a sales transaction, amt, qty and delta amt and delta qty.

An entry is made in the table M_Cost_Detail when a relevant document is processed. Entries are created from:

Purchase Order Line

A record is added to Cost Details.

Movement Line

Invoice Line

Receipt Line

Move line

Inventory Line

When an inventory line is created, the Cost Detail is updated and the Accumulated Amt and Accumulated Qty is updated.

Project Issue

Standard Cost Update

Process: org.compiere.process.CostUpdate

Only relevant if you use Standard Costing.

Updates the standard cost in a batch process. Instead of updating the costs manually one by one you can set the standard cost from ie a pricelist or other calculated values such as Average PO.

Create Costing Records

Process: org.compiere.process.CostCreate

This process "processes" cost detail records for a specific product or if no product is selected, for a client.

When cost detail records are processed, it means that they are "consumed" to be included in the current cost value.

This process is normally run automatically.

Cost Collector

This document is producing cost details to track standard costing for the following cases:

  • material issue - standard costs of materials that are issued to manufacturing order (MO)
  • material receipt - standard costs of materials that are receipt from the MO
  • activity control - standard activity costs (labor, burden)