Costing Troubleshooting
Common inventory costing issues, their causes, and step-by-step solutions.
Quick Diagnosis
COSTING ISSUE DIAGNOSIS FLOWCHART
═══════════════════════════════════════════════════════════════════════════════
WHAT'S THE PROBLEM?
│
┌──────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Cost is │ │ Cost │ │ Status │
│ wrong │ │ is $0 │ │ stuck │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
▼ ▼ ▼
See: Wrong See: Zero Cost See: Stuck
Cost Issues Issues Status Issues
│ │ │
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ System │ │ Negative│ │ COGS │
│ COGS │ │ Invntry │ │ Adjust │
│ Adjust? │ │ Issue? │ │ Posted? │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
▼ ▼ ▼
See: System See: Negative See: System
COGS Adjust Inventory COGS Adjust
Issue 1: Stuck Pending/In Queue Status
Symptoms
- Cost Accounting Status shows "In Queue" or "Pending" for hours
- Costing not updating after transactions
- Period close warning about costing still running
Causes
| Cause | Description |
|---|---|
| High volume | Many items/transactions queued |
| Backdated transaction | Triggered extensive recalculation |
| System delay | Backend scripts not triggering |
| Assembly items | BOM recalculation takes longer |
Solutions
Step 1: Check if engine is running
Go to: Reports > Financial > Income Statement
Click: Display Title
Look at bottom: Shows if cost calculation running
Step 2: Check item status
Go to: Item Record > Purchasing/Inventory subtab
Find: Cost Accounting Status field
(May need to customize form to show it)
Step 3: Wait for processing
- Normal processing: Up to 1 hour
- Backdated: Hours to days
- Check again after scheduled run time
Step 4: If stuck for 24+ hours
Contact NetSuite Support
- Backend scripts may need restart
- Provide affected item internal IDs
Prevention
- Avoid backdating when possible
- Process transactions in chronological order
- Close periods promptly after costing completes
Issue 2: Zero Cost ($0) Inventory
Symptoms
- Item shows $0 average cost
- COGS posting as $0
- Inventory value is $0 despite having quantity
Causes
ZERO COST CAUSES
═══════════════════════════════════════════════════════════════════════════════
CAUSE 1: Received with no cost
┌─────────────────────────────────────────────────────────────────────────────┐
│ Item Receipt created with $0 unit cost │
│ → All subsequent transactions use $0 │
└─────────────────────────────────────────────────────────────────────────────┘
CAUSE 2: Negative inventory averaging
┌─────────────────────────────────────────────────────────────────────────────┐
│ Sold before received → Negative inventory │
│ Received with quantity but no value correction │
│ → Average diluted to $0 │
└─────────────────────────────────────────────────────────────────────────────┘
CAUSE 3: Adjustment without cost
┌─────────────────────────────────────────────────────────────────────────────┐
│ Inventory Adjustment added quantity │
│ But unit cost field left blank or $0 │
└─────────────────────────────────────────────────────────────────────────────┘
Solutions
Method 1: Find and fix the source transaction
Step 1: Create Saved Search
- Type: Transaction
- Criteria:
- Type = Inventory Adjustment OR Item Receipt
- Item = [affected item]
- Amount = 0
- Results: Find $0 transactions
Step 2: Edit the transaction
- Open the $0 transaction
- Update unit cost to correct value
- Save (triggers recalculation)
Method 2: Inventory Adjustment Worksheet
Step 1: Go to Transactions > Inventory > Adjust Inventory Worksheet
Step 2: Set the adjustment date
Step 3: Find the item, enter:
- Quantity: Same as current on-hand (no change)
- New Value: Correct total value (qty × correct cost)
Step 4: Save
- This sets new average cost
- Only affects this date forward
Method 3: Zero-out and re-enter (last resort)
Day 1:
- Create Inventory Adjustment
- Reduce quantity to 0
- Save
Day 2 (must be different calendar day):
- Create Inventory Adjustment
- Add correct quantity at correct cost
- Save
Result: Fresh cost history from Day 2
Prevention
- Always enter cost on Item Receipts
- Review receipts before saving
- Create validation workflow/script for $0 costs
Issue 3: Negative Inventory Problems
Symptoms
- Quantity on hand shows negative
- Unexpected COGS adjustments appearing
- Cost calculations seem wrong
Understanding the Problem
NEGATIVE INVENTORY COSTING ISSUE
═══════════════════════════════════════════════════════════════════════════════
WHAT HAPPENS:
Day 1: On Hand = 0, Sell 10 units
┌─────────────────────────────────────────────────────────────────┐
│ On Hand = -10 (negative!) │
│ COGS = Estimated (last known cost or preference setting) │
└─────────────────────────────────────────────────────────────────┘
Day 5: Receive 50 units @ $10
┌─────────────────────────────────────────────────────────────────┐
│ On Hand = 40 (now positive) │
│ │
│ SYSTEM AUTO-POSTS: │
│ "Cost of Sales Adjustment" │
│ = Difference between estimated COGS and actual COGS │
└─────────────────────────────────────────────────────────────────┘
The Preference Setting
Go to: Setup > Accounting > Inventory Costing Preferences
Use Cost Estimate for Negative Inventory:
| Option | Behavior |
|---|---|
| Last Purchase Price | Use last known purchase cost |
| Average Cost | Use current average (if exists) |
| Zero | Post $0 COGS (creates larger adjustment later) |
Note: This applies to FIFO, LIFO, Specific, Lot-Numbered only. Average costing handles differently.
Solutions
Step 1: Identify negative inventory
Go to: Transactions > Inventory > Review Negative Inventory
This shows all items currently negative
Step 2: Fix the root cause
- If receipt is delayed: Enter the receipt with correct date
- If data entry error: Correct the transaction
- If timing issue: Adjust processes
Step 3: Accept or adjust the COGS adjustment
- System COGS adjustments are automatic and correct
- They fix the estimated COGS to actual
- Usually no action needed if root cause fixed
Prevention Checklist
| Prevention | How |
|---|---|
| Warn on negative | Enable preference to warn when selling unavailable stock |
| Receive first | Create Item Receipts when goods arrive, not later |
| Same-day receipts | If receipt and sale same day, enter receipt FIRST |
| Review before close | Check Review Negative Inventory before period close |
Issue 4: System COGS Adjustments
What Are They?
System-posted Cost of Sales Adjustments are automatic corrections NetSuite makes when:
- Negative inventory becomes positive
- Estimated COGS needs adjustment to actual
- Backdated transactions change historical costs
Symptoms
- GL entries you didn't create appearing
- System Notes show no user (system-generated)
- COGS amounts changing on old transactions
Understanding the Entry
SYSTEM COGS ADJUSTMENT EXAMPLE
═══════════════════════════════════════════════════════════════════════════════
Original Sale (when inventory was negative):
COGS (estimated) $100 Dr
Inventory $100 Cr ← But inventory was negative!
Later Receipt reveals actual cost should be $120:
System posts automatic adjustment:
COGS Adjustment $20 Dr ← The difference
Inventory $20 Cr
Result: Total COGS = $100 + $20 = $120 (correct)
Is This a Problem?
| Situation | Is It a Problem? |
|---|---|
| One-time adjustment | No - system correcting itself |
| Frequent adjustments | Yes - indicates process issue |
| Large adjustments | Maybe - investigate root cause |
| Old period adjustments | Maybe - may need journal entry |
Solutions
If adjustments are correct (just unexpected):
- No action needed
- Document for audit trail
- Understand they're automatic corrections
If adjustments are in closed periods:
Option 1: Reopen period
- Allow adjustment to post
- Re-close period
Option 2: Manual journal entry
- Create JE in current period
- Match the adjustment that should have posted
- Note: May affect period comparisons
If frequent adjustments indicate process issues:
- Train users on proper transaction sequence
- Implement receipt-before-sale workflows
- Add validation scripts
Issue 5: FIFO/LIFO Cost Layer Problems
Symptoms
- Costs not matching expected FIFO/LIFO layers
- Unexpected average costs appearing
- Cost layers seem corrupted
The Critical Warning
⚠️ CRITICAL: INVENTORY ADJUSTMENT WORKSHEET BREAKS FIFO/LIFO ⚠️
═══════════════════════════════════════════════════════════════════════════════
If you use FIFO or LIFO costing:
┌─────────────────────────────────────────────────────────────────────────┐
│ │
│ DO NOT USE: Inventory Adjustment Worksheet │
│ │
│ This converts the adjustment to AVERAGE costing! │
│ Your FIFO/LIFO layers will be LOST for that item. │
│ │
└─────────────────────────────────────────────────────────────────────────┘
INSTEAD USE: Transactions > Inventory > Adjust Inventory
(The regular Inventory Adjustment transaction)
Solutions
If layers already corrupted:
Option 1: Accept and move forward
- New transactions will create proper layers
- Historical data affected but future correct
Option 2: Rebuild layers (complex)
- Zero out inventory
- Re-enter all receipts in order
- Very time-consuming, usually not practical
Prevention:
- Use only "Adjust Inventory" transaction for FIFO/LIFO items
- Train all users on this restriction
- Consider workflow to prevent Worksheet use for FIFO/LIFO items
Issue 6: Costing Mismatch After Bill
Symptoms
- Changed cost on Vendor Bill but inventory cost didn't update
- Variance in Accrued Purchases account
- Item cost still shows receipt amount
Understanding Why
BILL DOES NOT UPDATE INVENTORY COST
═══════════════════════════════════════════════════════════════════════════════
WORKFLOW:
Item Receipt ($10/unit) Vendor Bill ($12/unit)
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Inventory │ │ A/P │
│ Cost = $10 │ │ Liability │
│ │ │ │
│ THIS is the │ │ Variance │
│ cost used │ │ goes to │
│ │ │ Accrued │
└─────────────┘ │ Purchases │
└─────────────┘
Inventory cost = $10 (from receipt)
NOT $12 (from bill)
Solutions
Method 1: Edit the Item Receipt (preferred)
Step 1: Open original Item Receipt
Step 2: Change unit cost to correct amount
Step 3: Save
Result:
- Triggers forward recalculation
- Updates inventory cost
- May affect closed periods (caution)
Method 2: Adjust in current period
If closed periods involved:
Step 1: Create Inventory Adjustment Worksheet
Step 2: Set new value (don't change quantity)
Step 3: Use Accrued Purchases as adjustment account
Result:
- Fixes cost going forward
- Doesn't affect closed periods
Issue 7: Standard Cost Variance Issues
Symptoms
- Unexpected variance amounts
- PPV (Purchase Price Variance) very high
- Standard cost not updating after revaluation
Common Causes
| Issue | Cause |
|---|---|
| High PPV | Actual costs far from standard |
| Variance wrong direction | Standard set incorrectly |
| Cost not updating | Revaluation not processed |
Solutions
Check revaluation processed:
Go to: Item Record
Check: Current Standard Cost field
Verify: Matches expected amount
If revaluation pending:
Go to: Lists > Accounting > Inventory Revaluation
Check: Status of revaluation transactions
Verify: All completed
Reduce future variances:
Step 1: Analyze actual costs vs standard
Step 2: Update standard cost periodically
Step 3: Use Planned Standard Cost Rollup for assemblies
Period Close Checklist
Before closing a period, verify costing is complete:
Step-by-Step Verification
PERIOD CLOSE COSTING CHECKLIST
═══════════════════════════════════════════════════════════════════════════════
□ Step 1: Check for negative inventory
└── Transactions > Inventory > Review Negative Inventory
└── Fix any negative balances
□ Step 2: Verify costing complete
└── Reports > Financial > Income Statement
└── Display Title - should NOT show "cost calculation running"
□ Step 3: Check item statuses
└── No items should be "In Queue" or "In Process"
└── Use saved search if many items
□ Step 4: Review COGS adjustments
└── Understand any system-posted adjustments
└── Document for audit if unusual
□ Step 5: Reconcile inventory
└── Inventory Valuation report matches GL
└── Investigate discrepancies before closing
□ Step 6: Close period
└── Only after all above complete
└── Set preference to prevent edits
Prevention Best Practices
Process Controls
| Control | Implementation |
|---|---|
| Receipt before sale | Train users, add workflow validation |
| Same-day sequence | Receipts first, then sales |
| Cost entry required | Validate non-zero cost on receipts |
| No worksheet for FIFO/LIFO | User training, workflow block |
| Timely receipts | Enter when goods arrive |
System Settings
| Setting | Location | Recommendation |
|---|---|---|
| Closed period edits | Accounting Preferences | Disable |
| Negative inventory warning | Item settings | Enable |
| Cost estimate for negative | Costing Preferences | Last Purchase Price |
| Costing schedule | Costing Preferences | Based on volume |
Quick Reference: Error Solutions
| Error/Issue | Quick Solution |
|---|---|
| Stuck In Queue | Wait up to 1 hour; if 24h+, contact support |
| $0 cost | Find source transaction, edit with correct cost |
| Negative inventory | Enter missing receipt, check Review Negative Inventory |
| System COGS adjustment | Usually correct - verify, document |
| FIFO/LIFO broken | Don't use Worksheet; use Adjust Inventory |
| Bill cost not updating | Edit Item Receipt, not Bill |
| Standard cost wrong | Check Inventory Revaluation processed |
| Can't close period | Wait for costing, check Income Statement |
Next Steps
- Cost Engine & Recalculation - How the engine works
- Average Costing - Understanding average cost
- Costing Overview - Compare all methods