---
title: "Understanding Costing Methods in Frameworks"
canonical: "https://kb.myframeworks.com.au/space/FRAM/28390208/Understanding%20Costing%20Methods%20in%20Frameworks"
format: markdown
---
Frameworks can be configured to value inventory using either **Standard (std) Costing** or **Average (avg)** **Costing**. The costing method determines how product costs are calculated, how stock is valued in the General Ledger, and how variances between purchase costs and product costs are handled. The choice between standard and average costing affects inventory valuation, financial reporting and how costs are tracked across all modules.

Beyond the base costing environment, Frameworks offers two additional costing capabilities that build on top of the standard or average foundation. **Product Costing Methods** allow individual products to be assigned a specific method for deriving their base cost (such as Preferred Supplier Cost, Last Receipt Cost or Market Cost) with optional variance percentages. **Components of Cost** allow additional expenses (such as freight, handling and customs) to be defined and tracked at the product level, contributing to a more accurate landed cost. Both capabilities are enabled by the `InvUseProdCostingMth` system flag.

> ⚠️ Before choosing a costing method, discuss the available options with your accountant. Your accountant will be the best guide as to what suits your business.

## Key Definitions

Understanding the following terms is essential when working with costing methods in Frameworks.

**Product Cost** refers to either the **Branch Cost** defined under the **Product Branch Pricing** section within the **Product Maintenance** screen, or if not defined, the Standard Cost defined under the product's **Key Details** section within the **Product Maintenance** screen.

**Stock** refers to either the **Stock Account** defined under the **Branch Settings** section within the **Product Group Maintenance** screen, or if not defined, the default **Stock** General Ledger (GL) control account under the **GL Control Account** section within the **Company Maintenance** screen.

**Base Cost** is the product cost before any components of cost are added. When product costing methods are enabled, the base cost is derived from the assigned costing method (for example, Preferred Supplier Cost plus a variance percentage).

**Landed Cost** is the base cost plus all applicable components of cost. The landed cost represents the true cost of bringing the product to the branch.

## Standard Costing

Standard costing assigns a predetermined cost to each inventory item. The predetermined cost remains constant throughout the accounting period, regardless of the actual cost incurred to purchase the item. The difference between the predetermined cost and the actual purchase cost is recorded as a variance (gain or loss) in the General Ledger.

Standard costing is typically used for items with a stable cost structure and high-volume products with predictable costs. It provides a straightforward method for staff to understand product costs and is the easiest costing method to reconcile in the financials.

### How Standard Costing Works

- Stock is receipted at the Product Cost.
- Variations between purchase order cost and Product Cost are posted to gains/losses GL accounts.
- Sales reduce GL Stock at Product Cost. Cost of Goods Sold (COGS) is posted at Product Cost unless there is a variation due to length cost surcharge, special buy-in, contract or promotion.
- Changes to Product Cost are posted to stock and stock adjustment accounts to maintain alignment between the GL and the Inventory Subledger.
- All stock movements, adjustments and production are posted to the GL at Product Cost.

> 📝 **Example:** The Product Cost is $10 and SOH is 10, giving a current valuation of $100. The GL Stock balance is $100.
> 📝 
> 📝 10 units are receipted at a purchase price of $15 (a loss of $5 per unit). The GL movement debits Stock for Product Cost multiplied by quantity ($100), leaving a new Stock balance of $200. The difference between the receipt cost ($150) and the Product Cost ($100) is posted to the Purchase Loss GL account. The Inventory Subledger valuation is SOH multiplied by Product Cost (20 x $10 = $200), which remains in balance with the GL.

### Standard Costing Flag Settings

- Company Maintenance: **Average Costing** = Disabled
- System Settings - Flags: **InvStdCst** = Enabled
- System Settings - Flags: **InvStdAvg** = Disabled
- Stock Value = SOH x Product Cost as per Stock GL

---

## Average Costing

Average costing calculates the average cost of all inventory items in stock at the time of each receipt. The average cost is recalculated with every stock receipt, providing a rolling cost that adjusts automatically based on purchase prices. Average costing provides the most accurate inventory valuation in the General Ledger when the business maintains current stock receipting and supplier invoice processing.

Average costing is typically used for items with a fluctuating cost structure. It provides the most accurate COGS reporting, as the cost of goods sold reflects the actual average cost of inventory at the time of sale.

### How Average Costing Works

- Frameworks maintains average cost through receipting goods or approving stock invoices.
- Stock is receipted at Purchase Cost. A higher purchase price raises the average cost. A lower purchase price lowers the average cost.
- Any receipts or adjustments result in a recalculation of the average cost.
- Processes affecting the average cost include Stock Receipting, Stock Invoice Approval, Stock Adjustments and Bill of Material processing.
- All stock sold reduces GL Stock at Average Cost, and Sales post COGS to GL at Average Cost.
- Customer pricing and GP seen by sales operators can be based on standard cost while maintaining a rolling average for sales and financial reporting (by disabling the **SopStdAvg** flag).

> 📝 **Example:** The Average Cost is $10 and SOH is 10, giving a current valuation of $100. The GL Stock balance is $100.
> 📝 
> 📝 10 units are receipted at $15 each. The GL movement debits Stock for $150, leaving a balance of $250. The product is re-averaged by taking the current valuation ($100), adding the value of the stock receipt ($150) and dividing by the new SOH: ($100 + $150) / 20 = $12.50. The current valuation is SOH multiplied by Average Cost (20 x $12.50 = $250), which remains in balance with the GL.

### Average Costing Flag Settings

- Company Maintenance: **Average Costing** = Enabled
- System Settings - Flags: **InvStdAvg** = Enabled
- System Settings - Flags: **InvStdCst** = Disabled
- Stock Value = SOH x Average Cost as per Stock GL

---

## Product Costing Methods

When the `InvUseProdCostingMth` system flag is enabled, products can be assigned individual costing methods that determine how their base cost is derived. Each costing method specifies a cost base with an optional variance percentage, allowing the system to automatically calculate a product's cost from the selected source.

### Available Cost Bases

**Preferred Supplier Cost** derives the product cost from the preferred supplier's cost. The Preferred Supplier costing method is not available for products where the **Prevent Supply Price** option is enabled in **Product Maintenance**.

- **Average Cost** derives the product cost from the weighted average cost. The Average Cost base can only be selected if all companies in the system are flagged as average cost environments.
- **Last Receipt Cost** derives the product cost from the cost recorded on the most recent receipt of the product.
- **Last Purchase Order Cost** derives the product cost from the cost recorded on the most recent purchase order that has been invoiced by the supplier.
- **Market Cost** uses a manually entered cost value rather than a system-calculated cost.

Each costing method can include a **Variance Percentage** to adjust the derived cost. For example, a method configured as "Preferred Supplier + 3%" would take the preferred supplier cost and add 3% to arrive at the product's base cost.

Costing methods can be assigned at both the product master and branch product levels. A **Default Branch** can be specified on each costing method to determine which branch is used as the source for cost lookups. Default costing methods for new products are controlled by the **InvCostMethNorm** (normal products) and **InvCostMethSpec** (special products) general settings.

The **Apply Costing Method** scheduled task recalculates product costs based on the assigned methods. CDC (Change Data Capture) integration triggers automatic recalculation when product costs change through normal business operations.

> ✅ Refer to [Understanding Product Costing Methods](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/529661976) for detailed information on creating, configuring and assigning costing methods to products.

---

## Components of Cost

When the `InvUseProdCostingMth` system flag is enabled, additional cost components (such as freight, handling, customs and damage) can be defined and applied to products. These cost components are added to the base cost to arrive at a landed cost that more accurately reflects the true cost of goods.

Components of cost are defined as rules in the **Product Components of Cost Maintenance** screen, specifying which products or product groups are affected, which branches or regions the rule applies to, and whether the value is a percentage of the standard cost or a fixed amount per unit. The **Apply Product Components of Cost** scheduled task recalculates cost totals and stores the values on product and branch product records.

During stock receipting, Frameworks automatically posts cost component amounts to nominated GL clearing and expense accounts. The GL posting behaviour differs between standard and average cost environments.

> ✅ Refer to [Understanding Components of Cost](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/525991940) for a detailed explanation of how components of cost work, including the cost calculation model, effective dating and the apply cycle. 
> ✅ 
> ✅ Refer to [Understanding Components of Cost GL Movements](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/530382852) for detailed GL journal entries by costing environment.

> ✅ ## Related Information
> ✅ 
> ✅ - [Understanding Inventory GL Movements](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/551518209) for detailed GL journal entries for stock receipting, invoice approval, cost changes and selling transactions.
> ✅ - [Understanding Components of Cost GL Movements](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/530382852) for GL journal entries when components of cost are active during stock receipting.
> ✅ - [Configure Costing Method](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/390070273) for step-by-step configuration instructions.
> ✅ - [How to Calculate Average Costing](https://sterlandsupport.atlassian.net/wiki/spaces/fwksproau/pages/390168578) for detailed average cost calculations.
> ✅ - [Product Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28378114) for where product costs and costing methods are defined.
> ✅ - [Company Maintenance](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/28382666) for where the Average Costing flag is located.
> ✅ - [Understanding Product Costing Methods](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/529661976) for detailed information on creating, configuring and assigning costing methods to products.
> ✅ - [Understanding Components of Cost](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/525991940) for detailed information on defining and managing cost components.
> ✅ - [Components of Cost - Implementation Guide](https://sterlandsupport.atlassian.net/wiki/spaces/FRAM/pages/529891331) for the complete setup sequence.