Epicor Kinetic · Troubleshooting
Epicor Kinetic AR/AP posting stuck in process or in the Review Journal: a safe recovery guide
Applies to: Epicor Kinetic (cloud and on-premises) and Epicor ERP 10.2. Covers AR Invoice Entry, AP Invoice Entry, Review Journal, the PE Log Viewer, and invoice group locks. Menu paths are from the Kinetic menu; labels can differ slightly between releases.
Short answer
An Epicor Kinetic AR or AP invoice group that won’t post is almost always in one of two states:
- Posting failed validation and the journal was sent to the Review Journal, which Invoice Entry displays as "Reviewing" in red.
- The group is still locked by a user session that ended without closing the group.
For the first scenario, open Financial Management > General Ledger > General Operations > Review Journal, read the error message, and use Actions > Journal Entry Cancellation to return the invoices to Invoice Entry. Fix the root cause, run the Edit List, and post again.
For the second scenario, have the user who holds the lock open the group and close it properly.
Do not restart the AppServer, and do not update financial tables directly with SQL.
How the pieces fit
| Piece | What It Does | Where You Check It |
|---|---|---|
| Invoice group (InvcGrp, APInvGrp) | Holds unposted invoices until they post to the General Ledger | AR or AP Invoice Entry |
| Edit List | Pre-posting report that shows expected GL entries and flags missing accounts before posting | Invoice Entry, Actions menu |
| Posting Engine (PE) | Applies posting rules and GL controls to build the journal for each transaction | Runs during posting; diagnosed with the PE Log Viewer |
| Review Journal | Holds journals that failed validation so nothing unbalanced reaches the general ledger | Financial Management > General Ledger > General Operations > Review Journal |
| PE Log Viewer | Logs each step the Posting Engine takes to determine an account | Financial Management > General Ledger > General Operations > PE Log Viewer |
| System Monitor | Shows whether a background posting process is still running | Kinetic System Monitor |
When you post a group, the Posting Engine builds a journal for every invoice. If every debit has a matching credit and every account resolves through the GL controls, the journal posts and the group closes. If an account cannot be determined, or the entry does not balance, the journal is diverted to the Review Journal instead. The source invoices remain in "Reviewing" until someone cancels that journal (sending the invoices back for correction) or fixes and confirms it.
Step by step: Clear the stuck group safely
Work through these steps in order. Do not run SQL DELETE or UPDATE statements against InvcGrp, InvcHead, APInvGrp, or any journal table: posting touches customer and supplier balances, tax records, and the GL, and a direct edit can leave the subledgers and the General Ledger permanently out of step.
1. Check Whether Posting Is Still Running
- Open System Monitor and look for an active process for the group's posting.
- If it is still running, wait. Large groups, multi-site companies, and complex tax setups can take several minutes to post.
- If it has finished or errored, go to Step 2. Record any error message first.
2. Look for the Journal in the Review Journal
"Reviewing" in red on the group or invoice indicates that posting stopped and the journal was diverted to the Review Journal. The invoices are not posted.
- Open Financial Management > General Ledger > General Operations > Review Journal.
- Search for the journal that belongs to the group or invoice.
- Read the error in the tree view. The most common causes are:
- "Transaction does not balance": One side of the entry found a GL account and the other did not. This is usually a missing account on a new part class, product group, customer, or tax setup, or deferred revenue switched on without its accounts.
- Fiscal period cannot be determined: The invoice's apply date falls outside a defined fiscal period, often because next year's fiscal calendar has not been generated yet.
- Inactive account: A GL control points to an account that has since been deactivated in the chart of accounts.
3. Choose How to Recover
Option A: Cancel the Journal and Fix the Invoices (Recommended)
Use this when the problem is in the source data, such as a wrong part class, tax code, or apply date:
- In Review Journal, select Actions > Journal Entry Cancellation. This removes the pending journal and returns the invoices to Invoice Entry, unposted. It does not delete them.
- Open AR or AP Invoice Entry and correct the invoices, or fix the GL control or fiscal calendar that caused the error.
- Run the Edit List and confirm it shows no missing accounts.
- Post the group again.
Option B: Correct the Journal and Confirm It (Advanced)
Use this only when the invoices are correct and the journal just needs a valid account:
- In Review Journal, change the GL account on the affected lines, for example replacing an inactive or wrong account.
- If the period is closed, reopen it in the period-close screen first.
- Use Journal Entry Confirmation to post the corrected journal.
Option A is safer for most teams, because the fix lands in the source data and the GL controls, ensuring the next invoice does not fail the same way.
4. Release a Group Locked by a Dropped Session
If the group is not in the Review Journal but users receive an error that the group is locked by another user, a session ended while the group was open. This happens when a browser closes, a network connection drops, or the client crashes mid-edit. The lock is held in the group's ActiveUserID field.
Release it in this order:
- Have the locking user close it: Ask that user to sign in, open Invoice Entry, open the locked group, and close it with the Clear or close action. This is the supported way to release the lock.
- Call the unlock method: An administrator can call the group service's unlock method—for example,
UnlockGrouponErp.BO.InvcGrpSvc—through the REST API help page. Community reports indicate the call only succeeds when executed as the user who holds the lock. For AP, the method was renamed toUnlockAPGrouponErp.BO.APInvGrpSvcstarting in ERP 10.2.400, so check the exact method name in your release's API help. - Use the supported conversion for orphaned locks: If transactions are locked but have no entry in the Review Journal, Conversion Workbench includes a conversion named "Unlock transactions with no entry in the review journal", covering invoices and cash receipts. Its program number can differ between releases (often 10250), so search for it by name. If you cannot run it, open an EpicCare case.
- If none of these options work, contact EpicCare rather than editing the group record directly in SQL.
5. Find the Missing Account with the PE Log Viewer
When the Edit List or the Review Journal error does not specify which account failed:
- Open Financial Management > General Ledger > General Operations > PE Log Viewer.
- On the Transaction tab, turn logging on for the transaction type you are investigating, such as AR Invoice.
- Run the Posting Engine again, either by validating the journal in Review Journal or by cancelling it and posting again.
- Open the log. It records each step the Posting Engine takes to evaluate each account, showing exactly which GL control code or account failed resolution. The log file is saved in the directory defined on the Settings tab.
- Turn logging off when done, so log files do not accumulate indefinitely on the server.
The trap: Restarting services or editing tables mid-post
When posting seems to hang, it is tempting to recycle the IIS application pool or restart the AppServer. Do not take this step until System Monitor confirms that no background process is actively executing.
Stopping the server mid-post can leave the group in an inconsistent state. The group can remain flagged as in-process or locked with no process running, and transactions can stay locked with no Review Journal entry to release them. Epicor's "Unlock transactions with no entry in the review journal" conversion exists for exactly that case, and severe cases require a data fix from EpicCare.
Direct SQL edits carry catastrophic risk. Clearing a flag in the database does not reverse whatever partial posting updates were committed before the crash.
Symptom, Likely cause, and fix
| What You See | Likely Cause | Fix |
|---|---|---|
| Group or invoice shows "Reviewing" in red; cannot edit or post | Posting failed validation and journal was moved to Review Journal | Open Review Journal, read error, and use Actions > Journal Entry Cancellation |
| "Transaction does not balance" in Review Journal | One side of the entry has no GL account | Cancel journal, run Edit List to find unmapped line, and fix the GL control |
| Fiscal period error in Review Journal | Apply date is outside the fiscal calendar | Cancel journal, create or correct fiscal period, and fix apply date if needed |
| Group is locked by another user | A session ended while the group was open | Have that user open and close group, or call the unlock method as that user |
| Group stuck in "Posting" with no process running and nothing in Review Journal | Posting was interrupted mid-execution | Run the "Unlock transactions with no entry in the review journal" conversion |
| Capture COS/WIP Activity sends entries to Review Journal | A missing account on a COS or WIP transaction, often on make-to-order parts | Read Review Journal error and fix the GL control for that transaction type |
Edge cases to know
- Multi-book companies: A journal can enter the Review Journal because a secondary book cannot resolve an account, even when the primary book resolves cleanly. Check the error for every configured book.
- Deferred revenue: Enabling deferred revenue without configuring all required recognition and liability accounts is a frequent cause of AR invoice posting failures.
- Year end: Invoices dated in a new calendar year fail if that fiscal year has not been established in Fiscal Year Maintenance. Create the next fiscal year before the first invoices of that year are posted.
FAQ
Why does my invoice group say "Reviewing" in red?
Because posting failed validation and the journal was moved to the Review Journal. The invoices are not posted, and you cannot change them until the Review Journal entry is cancelled or corrected and confirmed.
What does Journal Entry Cancellation do?
It removes the pending journal from the Review Journal and returns the invoices to AR or AP Invoice Entry, unposted. It does not delete the invoices. You correct them and post again.
How do I find out why an invoice won't post?
Run the Edit List from Invoice Entry before posting. It shows the GL entries the invoice will create and flags missing accounts. If that isn't specific enough, turn on logging in the PE Log Viewer and post again to see exactly where the account search fails.
How do I unlock an AR invoice group that's in use by another user?
Have that user sign in, open the group, and close it properly. If they can't, call the group's unlock method through the REST API as that user, run the unlock conversion program in Conversion Workbench, or contact EpicCare.
Can I delete a stuck group or invoice directly in SQL?
No. Invoices are linked to customer and supplier balances, shipments, tax records, and the General Ledger. Deleting or updating them in SQL can corrupt those links permanently. Use Journal Entry Cancellation, the supported unlock options, or an EpicCare data fix.
References
Procedures should be verified against official Epicor documentation matching your release and hosting model:
- Epicor Kinetic Help: Review Journal Overview & Journal Entry Cancellation
- Epicor Kinetic Help: Posting Engine Architecture & PE Log Viewer
- Epicor Kinetic Help: Invoice Group Administration & Lock Handling
- Epicor Kinetic Documentation: Conversion Workbench Utilities
- EpiUsers: Journal Entry Cancellation and the "Reviewing" Status — https://epiusers.help/t/i-cannot-post-an-a-r-invoice-it-says-reviewing-in-red/44301
- EpiUsers: AP Unlock Method Renamed in 10.2.400 (
UnlockAPGroup) — https://epiusers.help/t/apinvgrpsvccontract-no-longer-has-unlockgroup-in-10-2-400/54652