# JD Edwards GL Post: Batch in Error or Out of Balance

> Source: https://netray.co/erp-help/jde-gl-post-batch-in-error-out-of-balance-fix
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

A JD Edwards journal batch fails to post when the General Ledger Post program (R09801) finds a problem in the batch header (F0011) or its detail (F0911), such as an out-of-balance document, an invalid account, a closed period or an inactive business unit. Read the post report errors, fix the offending journal lines in Journal Entry, then repost the batch from Batch Review.

## Kind

error

## System

jd-edwards

## Erp

JD Edwards EnterpriseOne

## Module

General Ledger / Post (R09801)

## Query

JD Edwards GL post batch in error out of balance R09801

## Alternate Queries

- JDE batch status E in error cannot post
- JD Edwards journal entry batch out of balance
- R09801 post report errors how to fix
- JDE unposted batch stuck posting status P

## Applies To

JD Edwards EnterpriseOne 9.x (Tools 9.1 and later); concepts also apply to World GL post. Menu names vary slightly by release.

## Steps

### How to clear a batch in error and post it

**Items:**

Open Batch Review (P0011) and filter by batch type (G for general accounting, V for vouchers, R for receipts) and batch status to find the batch. Note the status shown for the batch: in error, posting or approved.

Open the post report output (R09801) from the Work With Submitted Reports view (WSJ). Read the error section: it lists the document number, line and the reason, such as invalid account, business unit not found, or period closed.

Fix the data cause. Invalid account: add it in Revise Single Account or correct the line. Closed period: have the controller reopen it in the company constants or change the G/L date. Out-of-balance document: correct the line amounts so the document nets to zero.

Open Journal Entry (P0911) or Standard Voucher Entry (P0411) in inquiry mode, locate the document through Work With Journal Entries, and correct the failed lines. Do not edit F0911 with SQL as a first resort.

Return to Batch Review, select the batch, and if its status is in error, use the row exit to approve it if your site requires manager approval before posting.

Choose Post by Batch from the row exit, or run the GL Post to run R09801 for that batch, and watch the report for new errors.

Verify in Account Ledger Inquiry that the lines now show posted, and check the trial balance for the account in question.

If the batch status shows posting but no job is running, treat it as a stuck batch and see the reset notes below.

## Sections

### What the post program actually checks

**Body:**

The post program reads unposted rows in the Account Ledger table (F0911), validates each one against the Account Master (F0901), Business Unit Master (F0006) and the fiscal date pattern for the company, and then writes summarized balances to Account Balances (F0902). The batch header lives in Batch Control Records (F0011), which is what Batch Review shows. If any row in a batch fails validation, the whole batch is flagged in error and none of it posts, which is why one bad line blocks a batch of hundreds.

The most common causes are an account that was valid on entry but later made inactive or deleted, a business unit whose posting edit code blocks posting, a G/L date in a period that has since closed, and a document that does not balance because an automatic offset (AAI item) was missing at entry time. Intercompany documents add a further check: each company within the document must balance on its own, so an out-of-balance message can come from a single company inside a multi-company journal.

**Code:**

-- read-only: unposted detail rows for one batch (replace batch number)
SELECT GLKCO, GLDCT, GLDOC, GLLNID, GLAID, GLMCU, GLAA, GLPOST
FROM F0911
WHERE GLICU = 123456 AND GLICUT = 'G'
ORDER BY GLKCO, GLDCT, GLDOC, GLLNID;

### Out of balance versus in error

**Body:**

These are different situations. A batch can be out of balance at the control level when the batch total entered at header time does not match the sum of the detail, which happens when batch control (manual batch entry of expected total) is turned on in the processing options of Journal Entry. In that case the fix is to correct either the control total or the detail. A document can also be out of balance in its own right, where debits and credits do not net to zero for a document number, company and ledger type.

A batch in error is a status outcome of posting, not a type of imbalance. It tells you the post run found problems and stopped. Always start from the post report rather than from the batch header, because the report names the document and line while the header only tells you something failed.

**Code:**

-- read-only: documents that do not net to zero in a batch
SELECT GLKCO, GLDCT, GLDOC, SUM(GLAA) AS NET
FROM F0911
WHERE GLICU = 123456 AND GLICUT = 'G' AND GLLT = 'AA'
GROUP BY GLKCO, GLDCT, GLDOC
HAVING SUM(GLAA) <> 0;

### A batch stuck in posting status

**Body:**

If the post job was killed, the server restarted, or the UBE crashed mid-run, the batch can sit in a posting status with rows flagged as being processed. Repost attempts are then refused because the system believes another job owns the batch. First confirm no R09801 job is actually running in Work With Servers or WSJ for that batch. If none is, the usual route is to reset the batch status through the supported Batch Review function or, if your release does not expose a reset, to raise it with your Oracle support analyst before touching F0011 directly.

Direct updates to F0011 and F0911 flags are a last resort that should be done in a copy-tested environment, with a backup of the rows, because a half-posted batch may already have written some F0902 balances. A good rule is to compare F0911 posted rows to F0902 balances for the affected accounts before and after any manual change.

## Pitfalls

- Fixing the batch header and ignoring the post report: the header status never explains the cause, only the report does.
- Reposting repeatedly without reading the error. Each failed run adds log noise and can mask the original problem.
- Editing F0911 with SQL to force a document to balance. That bypasses automatic offsets and audit fields, and the subledger (F0902 balances) will not agree.
- Reopening a closed period for one batch and forgetting to close it again, which lets other users post into it.
- Changing a G/L date to dodge a closed period without telling the controller. Reports by period will shift.
- Assuming a stuck posting status means the job is still running. Check for a live UBE process first.

## Ai Angle

ERPray, connected read-only to the JDE database, can answer which batches are in error, list the failing documents with the reason, and show the exact query it ran so the controller can verify. It does not post or reset batches. Any correction goes through a human in Journal Entry, and a write-back suggestion would need explicit approval under the user's own JDE security.

## Faq

### Why does one bad line stop an entire batch from posting?

**Answer:** The post program validates the batch as a unit and flags the batch header in error if any detail row fails. That protects balances from partial updates. You fix the failing lines, then repost the whole batch.

### Can I post a batch that is out of balance?

**Answer:** No. A document must net to zero for each company and ledger type before it will post. Correct the lines in Journal Entry, or add the missing offset, then repost.

### Where do I find the post errors?

**Answer:** Open the submitted job in Work With Submitted Reports (WSJ) and view the PDF output of R09801. The error section lists document, line and reason. Batch Review only shows the resulting status.

### What if the period is closed but I must post?

**Answer:** Ask the controller to reopen the period or approve a different G/L date. Posting into a closed period should be a deliberate accounting decision, not a technical workaround.

## Search terms

JD Edwards GL post, R09801 post report, JDE batch in error, JDE batch out of balance, P0011 batch review, F0911 unposted, JDE post by batch, JDE journal entry will not post, F0011 batch control, JD Edwards closed period posting

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
