Posting 10k accounting moves

Thanks — I understand the options (proteus / trytond-console, or adding the button to the list view) and I will implement one of them for generating asset depreciation lines after CSV import.

But I’m hitting a similar (and bigger) issue in accounting posting workflows: when I try to post a large number of moves (e.g. depreciation moves for a whole year, or other bulk operations), the SAO request often times out. In my case it was already >2,000 moves and SAO reported a timeout; for real usage it can be 10,000+ moves. After the timeout the UI connection is dropped and it looks like the server side processing may also stop (or at least it becomes unclear whether it completed).

From a user/automation perspective, this makes it hard to run large batch postings from the web client.

What is the recommended approach in Tryton for reliably processing such large batches?

  • Should we always rely on server-side scripts (proteus/console) or cron jobs for high-volume posting?
  • Is there any built-in “background job / queue / async” mechanism recommended for this kind of workload?
  • Or is the expected solution to implement custom batch wizards that process in chunks with intermediate commits, to avoid long single HTTP requests?

Any guidance on best practices (timeouts, chunk sizes, where to hook) would be greatly appreciated.

I do not understand what is this real usage?

I am evaluating Tryton’s capability for large-scale enterprise environments.

My use case involves a client in the distribution sector with high transaction volumes. They generate approximately 10 million accounting moves per year.

Due to the high volume of invoices and invoice lines, we may need to process and post up to 100,000 moves in a single day.

When attempting to post even smaller batches (e.g., 2,000+ moves) via the web client (SAO), I encounter timeouts because the server-side processing takes longer than the HTTP request limit allow. For such high-volume daily operations, what is the recommended architectural approach in Tryton? Should we avoid the web client for posting entirely and rely on cron jobs / internal workers, or is there a specific asynchronous workflow you recommend for processing 100k+ daily moves without timeouts?

It will be good to analyse if this number can not be reduced. It is better to have fewer moves with more lines.

For invoice posting, there is the post_batch which uses the queue to post the invoices.

In any way, for such system to work you must avoid to have big requests/transactions that last long but instead many small requests/transactions that are fast.

2k moves should not be that long to post but it all depends on the setup.