Error fixOracle E-Business SuiteCost Management / Cost Manager

Fix Oracle EBS Uncosted Material Transactions Blocking Period Close

Error
EBS Cost Manager uncosted transactions COSTED_FLAG E period close blocked

Also searched as

  • Oracle Cost Management unprocessed material transactions period close
  • Cost Manager not running uncosted material transactions EBS
  • MTL_MATERIAL_TRANSACTIONS COSTED_FLAG N or E how to fix
  • Resolve uncosted transactions form EBS

Short answer

Uncosted material transactions are rows in MTL_MATERIAL_TRANSACTIONS whose COSTED_FLAG is N (waiting for the Cost Manager) or E (costing error). Use the Resolve Uncosted Transactions form to read the error, fix the cause in costing setup or item cost, then let the Cost Manager reprocess them. The inventory period will not close while these rows exist.

Applies to: Oracle E-Business Suite R12.1 and R12.2 Cost Management and Inventory with Standard, Average or FIFO/LIFO costing; the Cost Manager and uncosted transaction forms exist in 11i with older names

How to clear uncosted transactions

  1. 1Navigate to Inventory > Transactions > Material Transactions or Cost Management > Inventory Accounting Periods and run the pre-close checks. Open Resolve Uncosted Transactions (Inventory > Accounting Close Cycle > Resolve Uncosted Transactions).
  2. 2Query by organization and date range. Note which rows are Pending (waiting for the manager) and which are in Error.
  3. 3Check that the Cost Manager is running: Inventory > Setup > Transactions > Interface Managers, or Concurrent > Manager > Administer for the Cost Manager and its workers.
  4. 4For error rows, read the error text. Typical issues are a missing item cost, a missing or inactive cost type, an invalid account, or a closed GL period.
  5. 5Fix the root cause: update the standard cost via the Cost Update process, assign the cost type, correct the accounting rule, or open the GL period.
  6. 6In Resolve Uncosted Transactions, select the error rows and choose Resubmit. If the form is not available, use the Cost Manager program with the correct organization.
  7. 7Wait for the Cost Manager request to complete, then requery. Rows should show COSTED_FLAG null and have accounting rows in MTL_TRANSACTION_ACCOUNTS.
  8. 8Rerun the period close pre-checks. Close the period only after Uncosted, Pending and Unprocessed transaction counts are zero.

What COSTED_FLAG tells you

After the Inventory Transaction Manager posts a movement into MTL_MATERIAL_TRANSACTIONS, costing happens in a separate step run by the Cost Manager. Rows start with COSTED_FLAG = 'N' (to be costed), and on failure change to 'E' with ERROR_CODE and ERROR_EXPLANATION filled. Once costed, the flag is cleared and accounting entries are written to MTL_TRANSACTION_ACCOUNTS.

This split explains a common confusion: Inventory looks fine because on-hand updated, yet the period will not close, because the financial side lags. High volumes of N rows with no E rows point at a stopped or backlogged Cost Manager, whereas E rows point at data or setup.

SELECT organization_id, costed_flag, COUNT(*)
  FROM mtl_material_transactions
 WHERE costed_flag IN ('N','E')
 GROUP BY organization_id, costed_flag;

SELECT transaction_id, inventory_item_id, transaction_date,
       error_code, error_explanation
  FROM mtl_material_transactions
 WHERE costed_flag = 'E' AND organization_id = :org_id;

Common setup causes

Missing or zero item cost under a standard costing organization causes many errors. Check the Item Costs form for the cost type in use and confirm the Based On Rollup flag, the cost elements and the item's costing enabled and inventory asset flags. New items imported by a conversion often lack a cost until someone runs a rollup or a cost update.

Account problems are next. The Cost Manager builds accounts from subinventory and organization accounting setup (material, overhead, resource, outside processing, expense) and from the transaction type. If an account is end-dated, disabled or violates cross-validation rules, costing fails even though the transaction itself was valid. Closed GL periods or a missing GL calendar entry produce the same effect.

For average costing, negative on-hand history can cause a costing error or large variances. The average cost update logic depends on transaction order, so backdated transactions after later costed ones may trigger recalculation work that takes time but eventually resolves.

Cost Manager health and performance

The Cost Manager runs as a concurrent manager with a target number of processes. If it is deactivated, stuck on a long-running transaction or short of workers, rows pile up as N. Check its status, review the log of the last request, and consider raising the target processes or the number of cost worker processes in the profile controlling them if backlog is chronic.

Large bulk loads, such as a conversion with hundreds of thousands of transactions, can sit uncosted for hours. Schedule loads outside the close window and watch the count fall. A backlog that never reduces means an error loop, so inspect the Cost Manager log for repeated failure on the same transaction ID.

Before you close the period

Follow the period close order: process all pending transactions in the interface, resolve uncosted transactions, reconcile receiving to inventory, run the period close pre-checks and then close. Our inventory period close guide covers the sequence. If you cannot clear a handful of rows, escalate with the transaction ID and error text rather than forcing the period closed.

Do not set COSTED_FLAG directly in SQL to get past the check. That leaves inventory valuation without accounting entries and the subledger will not reconcile to the general ledger, which surfaces later as an audit finding.

Common pitfalls

  • !Updating COSTED_FLAG in SQL to unblock the close, leaving valuation without accounting.
  • !Fixing the item cost but forgetting to resubmit the errored rows.
  • !Ignoring the Cost Manager status when everything shows as N.
  • !Running large conversions inside the close window.
  • !Opening a closed GL period temporarily without telling finance, so accounting lands in the wrong period.

How an ERP-grounded AI assistant handles this

An assistant grounded in EBS through ERPray can count uncosted rows by organization and error text, point at the item or account behind each cluster, and show the SQL it ran against MTL_MATERIAL_TRANSACTIONS, all read only. The cost accountant still performs the cost update and resubmission, and approvals stay human. It does not replace the Cost Manager or your close checklist.

Frequently asked questions

What does COSTED_FLAG E mean?

It means the Cost Manager tried to cost the transaction and failed. ERROR_CODE and ERROR_EXPLANATION on the MTL_MATERIAL_TRANSACTIONS row give the reason. After you fix the cause, resubmit the row through Resolve Uncosted Transactions so the Cost Manager reprocesses it.

Why will the inventory period not close?

Period close checks for pending, unprocessed and uncosted transactions. Any such row in the period blocks the close. Resolve each class using the Pending Transactions and Resolve Uncosted Transactions forms, then retry the close.

How do I know if the Cost Manager is running?

Check Concurrent > Manager > Administer for the Cost Manager and its workers, and look at the status of its most recent request. If it is inactive or the log shows repeated errors, restart it and address the failing transaction.

Can I just delete uncosted rows?

No. They represent real inventory movements that already updated on-hand. Deleting them corrupts valuation and the reconciliation to GL. Correct the cause and let the Cost Manager cost them, or work with Oracle Support for a supported data fix.

Related

How-to

How to Close an Inventory Accounting Period in Oracle EBS

Before closing an Inventory period, run the Pending Transactions report to clear every uncosted or erroring material transaction, then close through Inventory > Accounting Close Cycle > Inventory Accounting Periods. Inventory will refuse to close while pending transactions remain, and any that get force-closed into the next period will misstate both months' costed inventory value.

How-to

Oracle EBS Month-End Close Checklist: GL, AP, AR

Close sub-ledgers before General Ledger: finish and account for all Payables and Receivables transactions, close the AP and AR periods, transfer journals to GL through Create Accounting, reconcile sub-ledger to GL, then close the GL period last. Closing GL before a sub-ledger is fully accounted is the single most common cause of a reopen.

Error fix

Fix Oracle EBS MTL_TRANSACTIONS_INTERFACE Rows Stuck With PROCESS_FLAG = 3

A row in MTL_TRANSACTIONS_INTERFACE with PROCESS_FLAG = 3 failed validation or processing in the Inventory Transaction Manager. The reason is written to ERROR_CODE and ERROR_EXPLANATION on that row. Correct the data (item, subinventory, locator, period, lot or serial), set PROCESS_FLAG back to 1 and let the Process transaction interface program or the Transaction Manager pick it up again.

Error fix

GL period will not close: unposted or unaccounted journal batches

Oracle EBS General Ledger blocks a period close whenever unposted journal batches, unaccounted subledger transactions, or pending mass allocations still reference that period. Run the Unposted Journals and Period Close Exceptions reports to find the offending batches, then post or reverse them before retrying the close.

Error fix

Fix FRM-40735: WHEN-VALIDATE-RECORD Trigger Raised Unhandled Exception ORA-06508

FRM-40735 with ORA-06508 almost always means a PL/SQL package used by the form was recompiled while your session still held the old cached state, or the trigger's own exception handling does not trap a real data error. Exit the form completely and re-enter it; if the error repeats for all users, recompile invalid objects on the database and check for a bad custom trigger.

Error fix

Oracle EBS Concurrent Manager Will Not Start: How to Fix It

A concurrent manager that will not start in Oracle EBS is almost always one of three things: the node registered in FND_NODES no longer matches the actual hostname (common after cloning), stale OS processes are blocking a fresh start, or the database and listener the manager connects to are unreachable. Check the internal manager log, verify the node name, clear stale processes, and restart with adcmctl.sh.

AI for ERP

AI for Oracle E-Business Suite, Without Leaving On-Prem

Add AI to Oracle E-Business Suite 12.2 without moving off-prem. Query concurrent programs, interface tables, and AP/PO data with a private LLM. See how.

AI for ERP

AI for Oracle EBS in Industrial Manufacturing: WIP, MRP, and BOM Questions Answered Directly

AI for Oracle E-Business Suite in industrial manufacturing: WIP jobs, BOMs, MRP, inventory and purchasing answered in plain English, private and read-only.

Stuck on Oracle E-Business Suite?

Talk to engineers who work inside Oracle E-Business Suite every week, and who build private AI that answers these questions from your own ERP data.