Why batching exists
Email providers cap how many messages an account can send per day. Send too many too fast and the provider can block all sending from that account — including your personal email — for up to 24 hours. To prevent that, TaxReceipt.app tracks a daily sending budget per connection and, when a send is larger than that budget, splits it automatically into daily batches instead of risking a lockout.
By default the budget is 60% of the provider's estimated cap:
| Account | Estimated cap | Default daily budget (60%) | |---|---|---| | Gmail (personal) | ~500/day | 300/day | | Google Workspace | ~2,000/day | 1,200/day | | Outlook.com / Hotmail (personal) | ~300/day | 180/day | | Microsoft 365 | ~2,000/day | 1,200/day |
You can adjust the budget per connection under Settings → Data Sources, where the account type and recommended limit are shown alongside the field.
How the schedule works
Before a send goes out, you see a preview showing how many days it will take and confirm before it starts. The budget is a rolling 24-hour window: it counts every email accepted for sending in the last 24 hours by its send time — including ones that later bounced and receipts re-pended by a resend — not just what's currently marked sent, so it always reflects the true load placed on your provider.
Monitoring and control
Once a send is running, a schedule card on the Distribute page's Email tab shows progress and lets you Pause, Resume, or Cancel remainder at any time. It refreshes every 5 seconds while a batch is actively sending, or every 30 seconds when idle, so progress stays current without constant polling. A Send now button pulls the next scheduled batch forward immediately instead of waiting for its window; it's disabled with a tooltip once today's budget is already spent.
Resending is subject to the same budget: a resend larger than what's left in today's window is refused up front with an error stating how many are left and when the next window opens, rather than sending part of the batch and silently stalling. Test runs are unaffected by daily batching — sends still count toward the budget, but the existing 10-recipient test cap means the split never actually engages.
What happens on failures
If your provider reports that today's quota is exhausted partway through a batch, the remainder continues automatically the next day without failing any receipts. Other transient throttling errors are retried in place. If a schedule's continuation breaks — for example after a server restart — it self-heals automatically within about 25 minutes. After 3 failed heal attempts, the schedule pauses with a visible reason on the card so you're not left guessing why sending stopped.
Related
- Email Setup — connect a provider and see the same sending-limit table
- The Distribute Hub — where the schedule card and Email tab live
- Delivery Status & Resending Emails — resend behavior and its interaction with the daily budget