diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py
index d382db1b85b4712dae00f40db1519ace068b6ea1..42d9367d763c81ae63a8eec6a1c5bd3c42e6a33c 100644
--- a/addons/account/models/account_move.py
+++ b/addons/account/models/account_move.py
@@ -2809,7 +2809,10 @@ class AccountMove(models.Model):
             ('date', '<=', fields.Date.context_today(self)),
             ('auto_post', '=', True),
         ])
-        records._post()
+        for ids in self._cr.split_for_in_conditions(records.ids, size=1000):
+            self.browse(ids)._post()
+            if not self.env.registry.in_test_mode():
+                self._cr.commit()
 
     # offer the possibility to duplicate thanks to a button instead of a hidden menu, which is more visible
     def action_duplicate(self):