RCV_SHIPMENT_LINES — TRANSACTION_TYPE = UNORDERED, MATCH_FLAG = N (2 records)
Uninvoiced receipts for accrual, unmatched PO receipts, open POs past need-by date, pending change orders, unprocessed receiving transactions, and encumbrance liquidation completeness.
The Oracle EBS Purchasing period close requires that the Purchasing and Receiving sub-ledgers reconcile cleanly to the General Ledger before the period can be closed. The key reconciliation is between the PO accruals — goods received but not yet invoiced (GRNI) — and the receiving account in the GL. When goods are received in Oracle Receiving, an accrual entry debits the inventory or expense account and credits the AP Accrual (GRNI) account. When the AP invoice is matched and posted, the GRNI account is relieved. At period close, any remaining balance in the GRNI account represents goods that have been received but not yet invoiced.
Clearing account reconciliation is the primary technical complexity. Oracle EBS maintains a perpetual accrual in the AP Accrual account (GRNI) — every receipt creates an entry, and every matched invoice creates the relief. When a receipt is entered but the corresponding AP invoice is never matched — because the supplier has not sent the invoice, or because the invoice is on hold — the GRNI balance grows. At period close, the accounting team must report on this balance and explain every aged item. PO-05 identifies all open GRNI items with their age and the reason the invoice has not cleared.
The second period-close requirement is that the Purchasing module period is closed before the GL period can close. The Purchasing period close runs the Purchasing Period-End Accruals process, which generates journal entries for any goods received but not invoiced as of period end, and then closes the period in PO_SYSTEM_PARAMETERS. If this process has not run, the GL close will report that the Purchasing subledger is still open.
PO-05 runs a complete PO period-close readiness diagnostic — open GRNI items with age and invoice status, Purchasing period status and accrual program completion, open PO encumbrances that will carry forward, unfinalised receipts in PENDING status, unmatched unordered receipts, and the PO accrual account balance reconciliation to GL.
PO-05 systematically investigates every major condition that can cause the issue this diagnostic targets. Below is the complete coverage breakdown.
Representative output showing the diagnostic running against a real-world scenario. The script identifies every condition, states the root cause, and generates the fix.
════════════════════════════════════════════════════════════
ORACLE EBS R12 — PO PERIOD CLOSE READINESS DIAGNOSTIC
════════════════════════════════════════════════════════════
Period : FEB-2026
Operating Unit : US Primary OU
Case Number : PO-524820
Report Date : 25-FEB-2026 16:40:22
════════════════════════════════════════════════════════════
[ SECTION 1 — PURCHASING PERIOD STATUS ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
PO Period : FEB-2026 — OPEN — accrual program not yet run ✗
✗ FAIL: Purchasing period not closed — GL close will be blocked
[ SECTION 2 — OPEN GRNI ITEMS ] STATUS: ⚠ WARNING
────────────────────────────────────────────────────────────
Total GRNI Balance : $284,400 across 12 open items ⚠
Items > 30 days : 4 items — $92,100 — aged beyond 30 days
Oldest Item : PO-2026-003841 Line 2 — 45 days — $28,400
[ SECTION 3 — PENDING RECEIPTS ] STATUS: ✓ PASS
────────────────────────────────────────────────────────────
No PENDING receipts — all receipts finalized ✓
[ SECTION 4 — UNORDERED RECEIPTS ] STATUS: ✗ FAIL
────────────────────────────────────────────────────────────
✗ 2 unmatched unordered receipts — must be matched before period close
[ SECTION 5 — OPEN ENCUMBRANCES ] STATUS: ✓ PASS
────────────────────────────────────────────────────────────
All open encumbrances are for open approved POs — carryforward expected ✓
════════════════════════════════════════════════════════════
DIAGNOSTIC SUMMARY
════════════════════════════════════════════════════════════
PERIOD CANNOT CLOSE — 2 blocking conditions
1. Run Purchasing Period-End Accruals and close Purchasing period
2. Match or reject 2 unordered receipts
Advisory: 4 GRNI items aged > 30 days require management review
════════════════════════════════════════════════════════════
Every table touched by PO-05 data fixes is backed up before the first UPDATE fires. Backup is verified by row count. One script restores the original state if needed.
Backup happens before any DML. Script aborts if backup creation fails.
This article is produced automatically at the end of every PO-05 execution — written from actual run output. No manual documentation required.
The most common PO close blocker. Purchasing period-end accruals generate the GRNI journal entries that reconcile the receiving sub-ledger to GL. Period cannot close until this program completes. PO-05 provides the exact submission parameters.
Dock receipts entered without a PO reference — must be matched to a PO or rejected before the period closes. PO-05 identifies each unmatched receipt with the supplier and candidate PO lines.
Goods received over 30 days ago with no corresponding AP invoice. Indicates either a missing supplier invoice or a receipt that should be reversed. PO-05 produces the GRNI aging detail for the Controller's review.
Receipts initiated but not finalized — sitting in PENDING status. Cannot be reported in the period-end accrual until finalized. PO-05 identifies the receiver and the receipt date.
| Table | Module | Purpose |
|---|---|---|
| RCV_RECEIVING_SUB_LEDGER | PO | Receiving sub-ledger — GRNI accrual entries |
| PO_SYSTEM_PARAMETERS | PO | Purchasing period status and accrual configuration |
| RCV_SHIPMENT_LINES | PO | Unordered receipts — match status |
| RCV_TRANSACTIONS | PO | Pending receipts — finalization status |
| GL_BC_PACKETS | GL | Open encumbrances — carryforward analysis |
| AP_INVOICES_ALL | AP | Invoices matched to PO — GRNI relief status |
| GL_BALANCES | GL | GRNI account balance — reconciliation target |
| PO_HEADERS_ALL | PO | PO authorization status for encumbrance analysis |
| GL_PERIOD_STATUSES | GL | GL period open/close status |
Before any data is modified in a production Oracle database, AP-01 walks through a four-stage decision process. Every condition identified by the diagnostic maps to exactly one resolution path.
Oracle's own forms and concurrent programs are always the first option. If the condition can be corrected through Oracle's standard UI — a form, a concurrent program, a setup screen — that path is taken first. No consultant SQL required, no database risk, and the fix is fully supported by Oracle. The diagnostic identifies these conditions explicitly and states the exact front-end navigation path.
When the front-end path is unavailable or would require an unacceptable volume of manual steps, a direct fix is evaluated against explicit criteria. All of the following must be true before proceeding:
Certain table areas are never touched directly, regardless of how well the underlying structure is understood. The diagnostic flags these conditions and generates the Service Request documentation:
XLA_EVENTS, XLA_AE_HEADERS — incorrect changes corrupt the subledger audit trail in ways undetectable until period close fails or an auditor requests a reconciliationWF_ITEMS, WF_ITEM_ACTIVITY_STATUSES — ad-hoc DML can corrupt the workflow engine state instance-wideA timestamped backup table is created and row-count verified before the first UPDATE fires. Explicit parameter confirmation is required — the script will not self-execute. After execution, a verification query confirms the expected state. A complete change record — rows affected, before and after values, database username, timestamp — is written to the FIX_BACKUP_REGISTRY and becomes the primary artifact in the knowledge base entry for this incident.
| Condition Identified | Resolution Path | Notes |
|---|---|---|
| Purchasing period not closed — accrual program not run | Functional First | Submit the Purchasing Period-End Accruals concurrent program, then close the period via Purchasing > Setup > Financials > Accounting > Control Purchasing Periods. PO-05 provides the exact program parameters. |
| Unmatched unordered receipts at period close | Functional First | Match unordered receipts via Purchasing > Receiving > Match Unordered Receipts. PO-05 identifies each unmatched receipt with the supplier, item, and candidate PO lines for the match. |
| Aged GRNI items — goods received but invoice not arrived | Functional First | Controller review of aged GRNI items. Options: follow up with supplier for invoice, reverse the receipt if goods were returned, or accrue the liability manually. PO-05 provides the GRNI aging detail. |
| PENDING receipts at period close | Functional First | Finalize pending receipts via Oracle Receiving. PO-05 identifies receipts in PENDING status and the receiving team member who initiated the receipt. |
| GRNI account out of balance vs GL accrual account | Direct Fix | PO-05 calculates the variance between RCV_RECEIVING_SUB_LEDGER and the GL GRNI account balance. Generates the reconciling journal with full backup and Controller authorization. |
| Open encumbrances on cancelled POs — phantom budget consumption | Direct Fix | PO-05 identifies cancelled POs with active GL_BC_PACKETS entries and generates the reversal with full backup. Pre-flight confirms PO CANCEL_FLAG = Y. |
| Purchasing period close errors — period close program failing | Functional First | Review the period close program output log. PO-05 identifies whether the failure is a data condition (unmatched receipts, open accruals) or a program error requiring Oracle Support. |
| Invoice not matched before period close — aging liability | Functional First | Match open invoices before the period closes to relieve the GRNI balance in the correct period. PO-05 identifies open AP invoices that reference PO lines with GRNI balances. |
Before any data fix runs, the script verifies pre-flight conditions and creates a complete verified backup. If any check fails, the script aborts. There is no partial execution path.
Before the first UPDATE fires, the script creates a complete copy of every row to be modified. Tables are named CONS_BACKUP.<TABLE>_<CASE#> and persist permanently after execution.
INSERT from the backup table. No reconstruction required.The knowledge base article is generated automatically from the script's execution output. No manual documentation required. It becomes the institutional record — for the team, for auditors, and for every future engagement in the same environment.
References the Oracle public documentation for this diagnostic area. These links open directly on docs.oracle.com.
| R12 Guide (PDF) | Title & Chapter | Detail |
|---|---|---|
| 120poug.pdf | Oracle Purchasing User's Guide — Ch. 9: Receipt Accruals | pp. 9-89 to 9-120: Uninvoiced receipts accrual process and AP/PO reconciliation |
| 120poug.pdf | Oracle Purchasing User's Guide — Ch. 1: Controlling Purchasing Periods | pp. 1-80 to 1-82: Purchasing period control and period-end close sequence |
| 120glug.pdf | Oracle General Ledger User's Guide — Period Close | PO encumbrance year-end carryforward and GL period close for purchasing |
PO-05 is one of 65 diagnostic scripts covering every major Oracle EBS and Fusion module. William A. Green Consulting runs the script in your environment, applies guided data fixes, and builds the knowledge base that prevents the same issues from recurring.
See this script run autonomously — Oracle AI Platform →