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​