Monday, April 13, 2020

How long does it take to import Dynamics GP SOP Invoices with eConnect? eConnect SOP Performance Benchmarks



By Steve Endow

Today I was asked how long it should take to import a bunch of SOP Invoices into Dynamics GP, with each invoice having a bunch of lines.



I wrote a previous post with benchmarks for importing large GL Transactions.

I've also benchmarked GL AA Transactions.

And tested performance of different GL batch sizes.


Here are some sample numbers for importing SOP Invoices.  Import times will vary significantly based on your specific environment and several factors, but it's a baseline to consider.



"Individual send" means each transaction is sent to eConnect as a separate request.

"Single send" means that all transactions are sent to eConnect as a single request.

These two methods are discussed in this blog post about Improving eConnect Performance.


100 invoices with 4 line items each

Individual send:  100 SOP Invoices imported in 31 seconds
Single send:  100 SOP Invoices imported in 9 seconds


50 invoices with 50 line items each

Individual send: 50 SOP Invoices imported in 59 seconds
Single send: 50 SOP Invoices imported in 34 seconds


100 invoices with 50 line items each

100 SOP Invoices imported in 91 seconds
100 SOP Invoices imported in 69 seconds


100 invoices with 100 line items each

Individual send: 100 SOP Invoices imported in 157 seconds
Single send: 100 SOP Invoices imported in 132 seconds



Steve Endow is a Microsoft MVP in Los Angeles.  He works with Dynamics 365 Business Central, Power Automate, Power Apps, Azure, Dynamics GP, SQL Server, and .NET

You can also find him on Twitter and YouTube

4 comments:

  1. It is also worth mentioning that the "Single send" process will start a SQL transaction in the database and while the transactions get imported it will lock pages or even whole tables that are affected (SOP10100, SOP10200, ...). This could impact GP users and freeze the whole system. For that reason, I would not recommend this technique in most cases.

    ReplyDelete
  2. Good point. I would agree that most customers don't need single send.

    However, I've worked with several customers that run imports and posting nearly 24 hours a day, so they need to squeeze every minute they can out of their imports and processing. But those tend to be more technically oriented customers who can manage the tradeoffs.

    ReplyDelete
  3. Thank you, Steve. I'm not getting anywhere near the times you are getting as a single send of an eConnect request. 100 Invoices with 100 line items each is a fast time you have. Perhaps the setup of my app running on my client machine and sending the transactions to the GP instance on the server. Either way, I will have to try it as individual eConnect requests because it does tie up the GP tables. Thank you for your help.

    ReplyDelete
    Replies
    1. Hi Karen, I am testing with the Fabrikam / TWO database, which will typically be pretty fast. The important value is not necessarily the absolute performance of single send, but the relative speed of single send vs transaction send.

      You can first get a baseline import time for 100 separate transactions, then see how much you can improve that time if you include 2, 5, or 10 transactions per submission. If the improvement is very small, it's not worth the hassle.

      But if you see a 20% improvement by sending 20 transactions at a time, it may be worth it if you have a limited window for your imports.

      If you have plenty of time for your imports and the performance doesn't necessarily matter, you can stick with individual transactions.

      Delete

All comments must be reviewed and approved before being published. Your comment will not appear immediately.

How many digits can a Business Central Amount field actually support?

 by Steve Endow (If anyone has a technical explanation for the discrepancy between the Docs and the BC behavior, let me know!) On Sunday nig...