How-toOracle E-Business Suite (EBS)Inventory / Cost Management

How to Close an Inventory Accounting Period in Oracle EBS

Question
how to close inventory period in oracle ebs

Also searched as

  • ebs inventory accounting period close
  • oracle inventory cannot close period pending transactions
  • ebs inventory period close checklist
  • how to fix pending transactions before closing inventory period

Short answer

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.

Applies to: EBS 12.1.3 and 12.2.x, standard and average costing

How to close an Inventory accounting period

  1. 1Confirm all receiving, shipping, and internal move transactions for the period have been processed - late transactions dated in a closed period get re-dated forward and distort cost.
  2. 2Run the Pending Transactions report (Inventory > Reports > Cost or Cost Management > Cost Comparison, depending on version - the report is also accessible from the Inventory Accounting Periods form itself) to find transactions stuck in an error or unprocessed state.
  3. 3Resolve each pending transaction: reprocess it from Inventory > Transactions > Pending Transactions, or investigate the specific error (commonly a missing standard cost, invalid account, or WIP resource cost not defined).
  4. 4If you run WIP, close the WIP accounting period first (or confirm it is aligned) since open WIP transactions can leave associated inventory transactions pending.
  5. 5Open Inventory > Accounting Close Cycle > Inventory Accounting Periods, select the period, and choose Close; the form re-validates that zero pending transactions remain before allowing the status to change.
  6. 6Review the Period Close concurrent request log for warnings even after a successful close - transactions that were force-moved to the next period will be listed there.
  7. 7Run Create Accounting for Cost Management (if using SLA) to transfer costed transactions to GL, and reconcile the Inventory Valuation report against the GL inventory account balance.

What a pending transaction actually is

A pending transaction is a material transaction (issue, receipt, transfer, cycle count adjustment, and similar) that has been recorded in the inventory tables but has not yet been costed - it has no completed cost accounting entry attached. Until every transaction in the period reaches a costed state, Inventory Accounting Periods will not allow the close, because closing with pending transactions would either lose the cost impact or silently push it into the wrong period.

The most frequent causes are a missing or zero standard cost on an item at the time of the transaction, a disabled or invalid GL account on a subinventory or account alias, and WIP resource or overhead costs that were never defined before a job transaction posted against them.

Finding and fixing the blockers

Run the Pending Transactions report first rather than attempting the close and reading a generic failure - the report lists the transaction ID, item, and the specific processing error, which is almost always enough to diagnose the root cause without opening a service request. A transaction failing for a missing item cost is fixed by defining the cost and resubmitting the Cost Manager (or Material Transaction Cost worker) so it reprocesses automatically.

For transactions failing on an account combination, correct the account in the source setup (subinventory, account alias, or the item's cost group) rather than editing the stuck transaction directly, then let the standard cost manager pick it up on its next scheduled or manual run.

SELECT transaction_id, transaction_type_name, error_explanation FROM mtl_material_transactions WHERE transaction_date BETWEEN :period_start AND :period_end AND transaction_id IN (SELECT transaction_id FROM mtl_transaction_accounts WHERE gl_batch_id IS NULL);

Average costing versus standard costing differences

Under standard costing, a pending transaction is almost always a costing setup gap - the item, category, or cost group is missing the cost it needs. Under average costing, pending transactions more often stem from negative on-hand balances or out-of-sequence transactions, since average cost updates depend on the running quantity and cost being processed in the correct order.

If you are on average costing and see repeated pending transactions tied to negative quantities, check for a transaction that was backdated after a later transaction already processed - Cost Manager needs strict chronological order to keep the average cost calculation valid, and a backdated entry forces a reprocess of everything after it.

Common pitfalls

  • !Attempting the period close before running the Pending Transactions report, then troubleshooting blind from the generic close failure message.
  • !Force-closing a period that still has pending transactions by moving the transaction date forward, which shifts real cost impact into the wrong month.
  • !Missing that a WIP job transaction is the true blocker because it shows up as an inventory-side pending transaction, not a WIP one.
  • !Defining a missing item cost but forgetting to resubmit or restart the Cost Manager so the pending transaction actually reprocesses.
  • !Closing Inventory before Cost Management's Create Accounting has run, leaving costed transactions stranded in the SLA interface instead of GL.

How an ERP-grounded AI assistant handles this

SyteRay-style grounded assistants built the same way for EBS can query mtl_material_transactions and the cost worker error tables directly, then hand the cost accountant a plain list of which items are missing a standard cost or which account alias is disabled - turning a pending-transactions troubleshooting session that normally takes a functional consultant an hour into a two-minute lookup.

Frequently asked questions

Why does Inventory Accounting Periods say I have pending transactions when the report shows zero?

The two checks are not always run at the exact same moment, so a transaction can complete costing between running the report and attempting the close. Rerun the Pending Transactions report immediately before closing, and rerun Cost Manager once more if any small gap remains.

Can I close Inventory before WIP for the same period?

You can if there are no open WIP jobs generating inventory-side transactions that period, but in practice most manufacturing sites close WIP first since job completions and scrap transactions feed inventory costing. Confirm with your cost accountant before assuming the order does not matter for your setup.

What happens if I never resolve a pending transaction and just leave the period open?

The period stays open indefinitely and every subsequent period close attempt will also fail its own pending-transactions check if the same underlying setup gap (like a missing item cost) keeps recurring. Fix the root cause rather than leaving periods open as a workaround, since open periods for months at a time complicate audits.

Does closing the Inventory period automatically send costed transactions to GL?

No, closing the accounting period only stops new transactions from being costed into it. You still need to run Create Accounting (or the legacy Cost Collector transfer, on older setups) separately to move costed transactions from Cost Management into the GL interface and then post them.

Related

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.

How-to

How to Import AP Invoices in Oracle EBS with Payables Open Interface Import

Load invoice header and line data into AP_INVOICES_INTERFACE and AP_INVOICE_LINES_INTERFACE, then run the Payables Open Interface Import concurrent program to create standard invoices in Oracle Payables. Rows that fail validation land in AP_INTERFACE_REJECTIONS with a specific reject reason you can query directly, without opening the Invoice Workbench.

How-to

SQL to Find Responsibilities Assigned to a User in Oracle EBS

Join FND_USER to FND_USER_RESP_GROUPS on USER_ID, then to FND_RESPONSIBILITY_TL on RESPONSIBILITY_ID and APPLICATION_ID to get the responsibility name, filtering the END_DATE columns to show only currently active assignments. This is the standard query DBAs and support teams use instead of clicking through System Administrator > Security > User > Define for every user.

Error fix

Fix ORA-01555: Snapshot Too Old in Oracle EBS Concurrent Requests

ORA-01555 in a concurrent request means the program tried to read data from undo that has already been overwritten, usually because the report or custom PL/SQL ran long enough, or committed often enough mid-cursor, that the undo tablespace could not retain the needed read-consistent image. Increase UNDO_RETENTION and undo tablespace size first, then review the program for commits inside open cursor loops.

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

Oracle ERP AI Consulting: What a Partner Should Deliver

What to demand from an Oracle ERP AI consulting partner across EBS, JD Edwards, NetSuite, and Fusion Cloud: interface tables, APIs, and buyer questions.

Stuck on Oracle E-Business Suite (EBS)?

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