Skip to main content

Average Group Costing

Group Average Costing calculates a single weighted average cost across ALL locations for each inventory item, rather than maintaining separate average costs per location.


Overview

Average Group Costing Concept
═══════════════════════════════════════════════════════════════════════════════

┌─────────────────────────────────────────────────────────────────────────────┐
│ ITEM: Widget A │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Location A Location B Location C │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 100 qty │ │ 50 qty │ │ 75 qty │ │
│ │ @ $10 │ │ @ $14 │ │ @ $12 │ │
│ │ =$1,000 │ │ = $700 │ │ = $900 │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │
│ └───────────────────┼───────────────────┘ │
│ ▼ │
│ ┌─────────────────────────────┐ │
│ │ GROUP AVERAGE COST │ │
│ │ │ │
│ │ Total: 225 units │ │
│ │ Value: $2,600 │ │
│ │ Average: $11.56/unit │ │
│ └─────────────────────────────┘ │
│ │
│ ALL locations use $11.56 for COGS regardless of where item was received │
│ │
└─────────────────────────────────────────────────────────────────────────────┘

Group Average vs Location Average

AspectGroup AverageLocation Average
Cost CalculationOne cost for all locationsSeparate cost per location
FormulaTotal Value (all locations) / Total Qty (all locations)Location Value / Location Qty
Transfer ImpactNo cost change on transfersMay create cost variance
GL ComplexitySimpler - one cost rateMore complex - multiple rates
COGS ConsistencySame COGS regardless of ship locationCOGS varies by ship location
Use CaseCentralized purchasing, uniform pricingLocation-specific pricing, profit centers
ReportingEasier consolidated reportingBetter location profitability analysis
Multi-SubsidiaryCost shared across subsidiariesEach subsidiary has own cost

When to Use Group Average Costing

Ideal Scenarios

Best Fit for Group Average Costing
═══════════════════════════════════════════════════════════════════════════════

✓ Centralized Purchasing
└─ All locations buy from same vendors at negotiated prices
└─ Price differences are timing-related, not location-related

✓ Interchangeable Inventory
└─ Items can ship from any warehouse
└─ No location-specific customization

✓ Simplified Reporting Needs
└─ Focus on company-wide margins
└─ Less concern about location profitability

✓ Frequent Inter-Location Transfers
└─ Inventory moves regularly between locations
└─ Don't want transfer variances

✓ E-commerce / Fulfillment Centers
└─ Ship from optimal location
└─ Consistent COGS regardless of source

Avoid Group Average When

Location Average May Be Better
═══════════════════════════════════════════════════════════════════════════════

✗ Location-Specific Pricing
└─ Different vendors per location
└─ Significant regional price differences

✗ Profit Center Accounting
└─ Need accurate location-level margins
└─ Location managers accountable for profitability

✗ Import vs Domestic
└─ Some locations import (duties, freight)
└─ Other locations buy domestic

✗ Franchise/Consignment Models
└─ Each location has independent economics
└─ Different markup structures

Setup and Configuration

Enable Group Average Costing

Navigation: Setup > Accounting > Accounting Preferences > Items/Transactions

Costing Method Settings
═══════════════════════════════════════════════════════════════════════════════

┌─ Items/Transactions Tab ─────────────────────────────────────────────────────┐
│ │
│ Inventory Costing │
│ ───────────────── │
│ │
│ Default Costing Method: [▼ Average ] │
│ │
│ ☑ Use Group Average Costing ← Enable this checkbox │
│ │
│ ☐ Allow Per-Item Costing Method Override │
│ │
│ Cost Accounting: │
│ ○ Perpetual ← Required for Average │
│ ○ Periodic │
│ │
└──────────────────────────────────────────────────────────────────────────────┘

Prerequisites

RequirementDetails
Perpetual InventoryGroup Average requires perpetual costing system
Multi-Location FeatureMust have Multi-Location Inventory enabled
No Open TransactionsRecommend switching when inventory is low or at period-end
BackupAlways backup before changing costing method

Costing Preference Path

Setup Path
═══════════════════════════════════════════════════════════════════════════════

Setup
└─► Accounting
└─► Accounting Preferences
└─► Items/Transactions subtab
└─► Inventory section
└─► ☑ Use Group Average Costing

Item-Level Settings

Costing Method on Item Record

Navigation: Lists > Accounting > Items > [Select Item] > Accounting subtab

Item Record - Accounting Tab
═══════════════════════════════════════════════════════════════════════════════

┌─ Accounting Subtab ──────────────────────────────────────────────────────────┐
│ │
│ Costing │
│ ─────── │
│ │
│ Costing Method: [▼ Average - Use Preference ] │
│ │
│ Current Average Cost: $11.56 (Read-only when Group) │
│ │
│ ┌─ Location Costs (Read-Only) ────────────────────────────────────────────┐ │
│ │ Location │ On Hand │ Value │ Avg Cost │ │
│ │───────────────────┼─────────┼────────────┼─────────────────────────────│ │
│ │ Main Warehouse │ 100 │ $1,156.00 │ $11.56 (Group) │ │
│ │ East Warehouse │ 50 │ $ 578.00 │ $11.56 (Group) │ │
│ │ West Warehouse │ 75 │ $ 867.00 │ $11.56 (Group) │ │
│ │───────────────────┼─────────┼────────────┼─────────────────────────────│ │
│ │ TOTAL │ 225 │ $2,601.00 │ $11.56 │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────────────┘

Note: With Group Average, all locations show the SAME average cost

Key Behaviors

Cost Pooling

How Group Average Pools Costs
═══════════════════════════════════════════════════════════════════════════════

Transaction 1: Purchase Receipt at Location A
100 units @ $10.00 = $1,000

Transaction 2: Purchase Receipt at Location B
50 units @ $14.00 = $700

Transaction 3: Purchase Receipt at Location C
75 units @ $12.00 = $900

─────────────────────────────────────────────────────────────────────────────

GROUP CALCULATION:

Total Quantity = 100 + 50 + 75 = 225 units
Total Value = $1,000 + $700 + $900 = $2,600

Group Average Cost = $2,600 / 225 = $11.5556

Rounded: $11.56 per unit

─────────────────────────────────────────────────────────────────────────────

RESULT: All 225 units across all locations valued at $11.56 each
Regardless of original purchase price or location

Sales from Any Location

COGS Calculation - Group Average
═══════════════════════════════════════════════════════════════════════════════

Scenario: Sell 30 units

Location A Location B Location C
────────── ────────── ──────────
Sale from Location A: COGS = 30 × $11.56 = $346.80
Sale from Location B: COGS = 30 × $11.56 = $346.80
Sale from Location C: COGS = 30 × $11.56 = $346.80
▲ ▲ ▲
│ │ │
└─────────────┴─────────────┘

SAME COGS regardless
of shipping location!

SuiteQL Queries

View Group Average Cost

-- Get current group average cost for items
SELECT
i.itemid AS item_name,
i.displayname,
il.quantityonhand AS total_qty,
il.averagecost AS group_avg_cost,
il.quantityonhand * il.averagecost AS total_value
FROM
item i
JOIN inventoryitemlocations il ON i.id = il.item
WHERE
i.itemtype = 'InvtPart'
AND il.quantityonhand > 0
ORDER BY
i.itemid

Compare Costs Across Locations

-- View inventory value by location (all using group average)
SELECT
i.itemid AS item_name,
l.name AS location_name,
il.quantityonhand AS qty,
il.averagecost AS avg_cost,
il.quantityonhand * il.averagecost AS location_value
FROM
item i
JOIN inventoryitemlocations il ON i.id = il.item
JOIN location l ON il.location = l.id
WHERE
i.itemtype = 'InvtPart'
AND il.quantityonhand > 0
ORDER BY
i.itemid, l.name

Audit Cost Changes

-- Track group average cost changes over time
SELECT
t.trandate,
t.tranid,
tt.name AS tran_type,
i.itemid,
tl.quantity,
tl.rate AS unit_cost,
tl.amount AS line_value
FROM
transaction t
JOIN transactionline tl ON t.id = tl.transaction
JOIN transactiontype tt ON t.type = tt.id
JOIN item i ON tl.item = i.id
WHERE
i.itemid = 'WIDGET-A'
AND t.trandate >= ADD_MONTHS(SYSDATE, -3)
ORDER BY
t.trandate DESC

Important Considerations

Changing to Group Average

warning

Changing costing methods affects historical data and GL balances. Plan carefully!

ConsiderationImpact
Existing InventoryValues will be recalculated using group average
Open TransactionsMay need to be processed or voided
Historical ReportsPast COGS may look different
Cost EngineWill reprocess affected transactions

Multi-Subsidiary Environments

Group Average in OneWorld
═══════════════════════════════════════════════════════════════════════════════

Subsidiary A (US) Subsidiary B (UK) Subsidiary C (EU)
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 100 @ $10│ │ 50 @ £8 │ │ 75 @ €9 │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
│ (Converted to base currency - USD) │
│ │ │
└─────────────────────────┼─────────────────────────┘

┌─────────────────────┐
│ GROUP AVERAGE │
│ (in base currency) │
│ │
│ 225 units @ $11.56 │
└─────────────────────┘

Note: Currency conversion happens before averaging

Next Steps