Diagnosing Posting Errors from the Journal Post Log
SyteLine logs posting failures in the Journal Posting Errors form and the posting_error table. trans_date DESC. Common error descriptions include 'Account not found in chart of accounts' (invalid GL account mapping), 'Period is closed' (transaction dated in a closed fiscal period), and 'Journal entry is out of balance' (debit/credit mismatch).
For each error, note the source transaction type, inventory, production, AR, or AP, to determine which sub-system generated the failing entry.
- Query posting_error table joined with journal_entry to get error descriptions and affected transaction details
- Filter by posted = 0 to isolate unposted entries; sort by trans_date to identify time-based patterns
- Categorize errors by source: inventory (matltran), production (job), AR (arinv), AP (aptrx) for targeted fixes
- Check for 'out of balance' errors indicating rounding issues in multi-currency or unit cost calculations
Fixing GL Account and Fiscal Period Issues
Account-related posting failures require validation of the GL account structure. chart_of_accounts WHERE acct = 'FAILING_ACCOUNT' to verify the account exists and is active. For product-line-based account mapping, check the Product Code form to ensure each product code has valid GL accounts assigned for inventory, COGS, revenue, and variance.
Period closure errors require either reopening the fiscal period in GL Period Maintenance or adjusting the transaction date to fall within an open period. For inventory transactions, use the Inventory Transaction Adjustment form to correct the date. For AR/AP, void and re-enter the transaction with a valid posting date.
- Validate GL accounts: SELECT acct, status FROM dbo.chart_of_accounts WHERE acct = 'TARGET_ACCOUNT', status must be Active
- Check product code GL mappings in Product Code form for inventory, COGS, revenue, and variance account assignments
- Reopen closed fiscal periods temporarily via GL Period Maintenance to post backdated transactions, then re-close
- For date-based failures, use Inventory Transaction Adjustment to correct transaction dates to open periods
Reprocessing Failed Transactions and Batch Recovery
After fixing the underlying data issues, reprocess failed postings through the General Ledger Posting utility. Select the specific journal IDs to repost rather than running a full repost, which can create duplicate entries for already-posted transactions. dm_exec_sessions).
Delete orphaned lock records and retry the posting. If the posting utility shows 'Batch in progress' but no active posting is running, reset the batch flag in the GL posting control table. After successful reposting, reconcile sub-ledger balances with GL balances using the Sub-Ledger to GL Reconciliation report to confirm all transactions posted correctly.
- Repost specific journal IDs through GL Posting utility rather than full repost to prevent duplicate entries
- Check for orphaned posting locks in tmp_post table from crashed sessions and delete stale records
- Reset batch-in-progress flags if posting utility reports active batch with no actual posting running
- Run Sub-Ledger to GL Reconciliation report after reposting to verify financial integrity across all sub-ledgers
Try it here, free
SyteLine Database Tables Reference
Searchable lookup of the main SyteLine SQL tables, what each holds and its usual business key, for writing queries and reports.
Frequently asked questions
How do I prevent posting failures from recurring?
Implement three preventive measures: First, run the GL Account Validation report monthly to identify unmapped product codes and inactive accounts before they cause failures. Second, set up a SQL Agent job that checks for unposted journal entries daily and alerts the finance team. Third, establish a period-close checklist that includes posting all sub-ledger transactions before closing the fiscal period.
Can I delete failed posting records instead of fixing them?
Deleting journal entries is not recommended as it creates audit trail gaps and may leave sub-ledger balances inconsistent. Instead, use the Void Journal Entry function which creates a reversing entry. For inventory transactions that generated invalid GL entries, use the Inventory Transaction Adjustment form to create correcting entries. Always maintain the full audit trail for financial compliance and period-end reconciliation.
Why do posting failures increase at month-end?
Month-end posting spikes occur because high transaction volumes create database lock contention, multiple users attempt period-close activities simultaneously, and last-minute transactions may reference periods being closed. Stagger posting operations: post inventory transactions first, then production, then AR/AP. Schedule the GL posting utility to run in 30-minute batches during off-peak hours to reduce lock conflicts.
Dealing with persistent posting failures in SyteLine? Netray's financial systems consultants can diagnose GL configuration issues and implement automated posting validation. Contact us for financial integrity support.