web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Suggested Answer

High-Volume Customer Ledger Applications – Operational Best Practice?

(3) ShareShare
ReportReport
Posted on by 9

We're looking for advice from anyone managing high-volume Accounts Receivable payment applications in Business Central.

We have several large customer accounts that generate approximately 400 sales orders per day, resulting in a significant number of invoices over a relatively short period. When payment is received, our Credit Control team may need to apply a single payment against 1,500+ open customer ledger entries.

Our customer payments are automatically created and posted through the Bank Account Reconciliation process. However, at the time the payment is posted, we do not have the customer's remittance advice, so the payment cannot be applied to the relevant invoices.

Once the remittance advice is received, our Credit Control team manually reviews it and applies the payment to the specific invoices identified by the customer. As a result, the payment application process takes place separately from the payment posting process.

During these large payment application processes, we're experiencing database deadlocks that impact other users, including our warehouse team, who are then unable to ship orders while the locks are in place.

We've investigated the issue and understand Microsoft's guidance to minimise the number of ledger entries processed in a single transaction. However, this isn't operationally practical given the transaction volumes we process.

We're already engaging with our Microsoft partner, but I'd be interested to hear how other organisations manage this scenario.

  • Has anyone experienced similar locking or deadlock issues when applying high-volume customer payments?
  • Have you found an ISV or custom solution that improves the application process?
  • Have you adopted a different approach for allocating payments when remittance advice is received after the payment has been posted?

Any advice or experience would be greatly appreciated.

I have the same question (0)
  • Suggested answer
    Khushbu Rajvi. Profile Picture
    23,136 Super User 2026 Season 1 on at

    I would suggest avoiding applying 1,500+ entries in one go. A better approach would be to import the remittance into a staging table and apply the payment in smaller batches through a controlled process or Job Queue, preferably outside peak hours. I do not think there is a simple standard setup switch for this. It may need an operational change or a small custom solution.

     
  • Assisted by AI
    Hardik Gupta Profile Picture
    669 on at
    Hi Sharon, 

    This is common with high-volume AR. Applying 1,500+ entries in one transaction locks the database. Here's what works:

    Practical Solutions:

    1. Batch Application - Split into batches of 100-200 entries. Massively reduces lock time.

    2. Scheduled Job Queue - Run applications off-peak (evenings). Warehouse won't be blocked.

    3. Automated Application Rules - Set FIFO/LIFO rules. BC applies automatically based on customer agreements. Faster, fewer locks.

    4. Custom Application Engine - If needed, AL extension to optimize the application logic and reduce lock escalation.

    5. Database Indexing - Ensure Payment Batch and Customer Ledger Entry tables are properly indexed.

    What We Did:

    Similar scenario with a distribution company (300+ orders/day). Solution: Batch application (200 entries per batch) + off-peak scheduling. Lock issues resolved.

    Key Point:

    Don't apply all entries at once. Break it into chunks. The process adapts.

    If you want to explore custom optimization for your volumes, happy to discuss.

  • Gerardo Rentería García Profile Picture
    27,507 Most Valuable Professional on at
  • Suggested answer
    YUN ZHU Profile Picture
    102,540 Super User 2026 Season 1 on at
    Microsoft has been addressing issues of this type in recent releases, but they haven't gotten around to customer ledger entries yet...
    You might want to submit this idea to Microsoft.
     
    Thanks
    ZHU
  • Suggested answer
    OussamaSabbouh Profile Picture
    18,449 Super User 2026 Season 1 on at
    Hello,
    Yes, this scenario can cause locking/deadlocks because applying 1,500+ customer ledger entries in one transaction means Business Central may hold locks for a long time, and Microsoft specifically recommends limiting transaction size and the time locks are held. Since your payment is already posted before the remittance arrives, I would keep that process but avoid applying all invoices in one transaction: apply the same posted payment in smaller batches, for example 100–300 invoices at a time, or build a small custom remittance-import process that stages the invoice numbers and applies them in controlled batches using the standard customer application routines. This keeps the accounting result the same but reduces the lock duration and impact on warehouse users. I am not aware of a standard Business Central setting that makes a 1,500-entry application non-blocking, so for this volume, a batching/custom automation approach is usually the most practical direction. I would also use Database Locks/telemetry to confirm exactly which tables and processes are involved before finalizing the customization.
     
    Regards,
    Oussama Sabbouh
  • Suggested answer
    Grigorios Mavrogeorgis Profile Picture
    2,841 Super User 2026 Season 1 on at
    Hi,
    yes we hit this on a client with similar volumes. The usual killer is the Detailed Cust. Ledger Entry table and the SIFT/flowfield maintenance behind it — when you push 1,500 entries into one Applies-to ID, SQL tends to escalate from row locks to a table lock, and then everyone waiting on that table stalls, warehouse included if their posting touches the same shared keys or G/L.
    What helped us was not one giant apply. The team still reviews the whole remittance, but the actual posting we split in chunks of a few hundred through a job queue, off peak. Same outcome on the customer side, much shorter locks each time. I would also check for redundant SIFT keys on the ledger tables, that maintenance is often the real cost you don't see.

    I know chunking isn't ideal operationally, but the split can be technical, not manual. Are you cloud or on-prem? On-prem you get more room to look at the lock escalation and key setup.
     
    Glad to help - follow up if anything is unclear.  
    ►  If this solved it, marking it verified helps others too.      
    Regards,
    Grigorios Mavrogeorgis
    Business Central Consultant & AL Developer

    Work: Gmsoft Limited
    Blog:  insidebusinesscentral
    LinkedIn: linkedin.com/in/gregorymavrogeorgis

     
     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 690 Super User 2026 Season 1

#2
YUN ZHU Profile Picture

YUN ZHU 545 Super User 2026 Season 1

#3
Khushbu Rajvi. Profile Picture

Khushbu Rajvi. 304 Super User 2026 Season 1

Last 30 days Overall leaderboard

Featured topics

Microsoft Training Manuals

Product updates

Dynamics 365 release plans