The cron poll committed only at the end; with ~100 created receipts and a 1s pause between Checkbox requests it hit arq's 300s timeout every run, so all status updates were rolled back and fiscalized receipts stayed "created". Now each run polls at most 30 least-recently-checked receipts and commits after each one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>