Invoice distribution fails with error when processing large batches

We’re experiencing invoice distribution failures in Oracle Fusion Cloud 23B when processing large batches (500+ invoices). The error message is ‘Invalid distribution: data integrity constraint violated’ but doesn’t specify which constraint.

Our distribution set configuration has been working fine for smaller batches (under 200 invoices). The batch size limits were recently increased to handle month-end processing more efficiently, but now we’re hitting these failures consistently. The error occurs about 60% through the batch processing.


Error: ORA-02291: integrity constraint violated
Failed at distribution line 312 of 523
Batch ID: AR_DIST_20250208_001

The data integrity issue is blocking our month-end close. Has anyone dealt with similar distribution errors when scaling up batch sizes?

Also verify your AutoAccounting rules for the new business unit. If the AutoAccounting isn’t properly configured, the system might be generating invalid account combinations dynamically during distribution. This would only surface in larger batches where you hit edge cases. Run the ‘Validate AutoAccounting’ process specifically for the BUs in your failed batch.

Your issue stems from a combination of distribution set configuration gaps and batch size limits exceeding system capacity. Here’s the comprehensive solution:

1. Distribution Set Configuration: Navigate to Receivables > Billing > Distribution Sets. For each distribution set used in your large batches:

  • Verify all account segments have explicit values (no defaulting to runtime derivation)
  • Ensure account combinations are pre-validated and enabled across ALL business units in your batch
  • For the new BU, create BU-specific distribution sets rather than relying on cross-BU defaults

2. Batch Size Limits Optimization: The 500+ invoice batch is exceeding optimal processing thresholds. Adjust these settings:

  • Profile Option ‘AR: Batch Size’ - reduce from current value to 250 invoices per batch
  • Concurrent Program ‘Invoice Distribution’ - set parameter ‘Commit Every’ to 50 records
  • This prevents the partial commit scenario causing your constraint violations

3. Data Integrity - AutoAccounting Rules: Address the AutoAccounting warnings immediately:


Setup > Financials > Accounting > AutoAccounting
For new BU: Define explicit rules for:
- Revenue accounts
- Receivable accounts
- Tax accounts
- Freight accounts

Don’t rely on default fallbacks for production processing.

4. Concurrent Processing Configuration: Increase resource allocation for AR processes:

  • Concurrent Manager: Increase ‘Accounts Receivable Manager’ processes from 2 to 4
  • Set ‘Cache Size’ parameter to 1000 for distribution workers
  • Adjust ‘Transaction Timeout’ to 600 seconds (up from default 300)

5. Validation Process: Before processing large batches:

  • Run ‘Validate Distribution Sets’ for all sets in use
  • Execute ‘Validate AutoAccounting’ and resolve all warnings
  • Test with 100-invoice batch first, then scale to 250

6. Month-End Processing Strategy: For ongoing month-end efficiency:

  • Split your 500+ invoice volume into three batches of 200 each
  • Schedule batches 30 minutes apart to prevent resource contention
  • Use ‘Invoice Distribution Parallel Processing’ with degree of parallelism = 3

The root cause is that batch size limits beyond 250-300 invoices trigger concurrent processing behaviors that expose underlying data integrity issues (incomplete AutoAccounting rules and cross-BU distribution set gaps). By fixing the AutoAccounting configuration, optimizing batch sizes, and enhancing concurrent processing capacity, you’ll eliminate the constraint violations and improve overall throughput for month-end close.

Good point. I reviewed the failed invoices and they do span multiple business units. Some are from a recently added BU. However, I’ve verified that all the account combinations in the distribution sets are valid and active in the chart of accounts. The same invoice types process fine in smaller batches.

I suspect this is related to batch size limits causing a timeout or resource constraint rather than pure data integrity. In 23B, there are concurrent processing limits that can cause partial commits. When the batch is too large, some distribution records may commit while others roll back, creating orphaned references. Check your ‘Accounts Receivable Batch Size’ profile option and the concurrent manager queue settings. You might need to split your batch into smaller chunks or increase the transaction timeout values.

I ran the AutoAccounting validation and found some warnings (not errors) for the new BU. The warnings indicate that certain transaction types don’t have explicit rules defined and are falling back to defaults. Could this be causing the constraint violations under load?