Large Volumes and Limits
This article brings together the limits that matter when you receipt large numbers of gifts, for example at year-end: how much each run can handle, the daily caps, and the settings that control speed. It is written for Salesforce administrators planning large receipting runs.
How Large Runs Work
Every large job runs in the background in small steps. Each step handles Receipt Batch Size records (20 by default), within the limits Salesforce sets for one step. A run of 50,000 gifts is simply many steps, one after another. The Batch Receipt Logs and Background Jobs article explains how to follow a run.
Limits at a Glance
| Limit | Value | What happens when you reach it |
|---|---|---|
| Receipts created per rolling 24 hours (Daily Receipt Limit) | 200,000 when blank. Installed as 100,000. | The insert is refused with an error. The gifts stay eligible. |
| Receipts emailed through Salesforce per day (Daily Email Limit) | 5,000 by default | The group isn't sent: "You've reached the daily limit for sending emails. You can continue tomorrow without loss." The receipts stay "To be Emailed". |
| Salesforce's own daily allowance for emails sent by automation | 5,000 in Enterprise, Unlimited and Performance editions | Same message as above. The allowance is shared with all other automated email in your org. |
| Recurring donation receipts per Batch Receipts run | 50,000 recurring donations | The rest stay eligible. Run Batch Receipts again. |
| Records shown in a selection table (Table Record Limit) | 100 by default | Above it, the table is skipped and all matching records are processed after a confirmation. Printing asks you to merge first. |
| Preview report (Preview Report Limit) | 10,000 by default | At or above it, the Create Preview Report button isn't shown. |
| Opportunities per click of the New Receipts button on a list view | 200 | You're asked to select fewer. |
Opportunities and payments (single and consolidated receipts) have no per-run cap in Batch Receipts: every matching gift is receipted, within the Daily Receipt Limit.
Settings That Control Speed
| Setting | Default | Effect |
|---|---|---|
| Receipt Batch Size | 20 | Records per step for creating receipts, .pdfs, the scheduled job and creating missing .pdfs. Lower it (for example to 5–10) if jobs fail with CPU-time or heap-size errors. |
| .pdf Segments | 3 | How many .pdf jobs run in parallel. Values above 5 are treated as 5. |
| .pdf Merge Batch Size | 100 | Receipts combined into each merged .pdf for printing. If merges often time out, try a lower value. |
| Batch Threshold | 100 | Only for your own automation that uses the "Create Receipts for Opportunities" or "Create Receipts for Payments" actions: above this many records, a background job is used. |
| Enable Index Optimization | "No" | For very large data volumes only. Keeps indexed copies of Receipt Status and Payment Date on Opportunities so that receipting queries stay fast. See the Receipt Settings article. |
Note: Raising .pdf Segments speeds up .pdfs, but leaves fewer of Salesforce's batch slots for other jobs in your org. Keep it at 3 unless .pdfs are your bottleneck.
Planning a Year-End Run
- Check eligibility first. Turn on Enable Preview Report to see which gifts will be receipted before you create anything (up to the Preview Report Limit).
- Refresh indexed fields. If Enable Index Optimization is on, run App Utilities > Refresh Indexed Fields for the date range you receipt, so the indexed copies match the formulas.
- Split by Receipting Account for consolidated receipts, if you use Receipting Accounts.
- One run at a time. Batch Receipts doesn't stop two runs of the same kind from overlapping. Check Batch Receipt Logs before you start, and pause the scheduled job if it could run at the same time. The scheduled job skips its run while a "Create Receipts" or "Create .pdfs" job from that day is still running.
- Plan email over several days through Salesforce: at 5,000 a day, 12,000 receipts take three days. Dryad Mailer isn't limited by Salesforce's allowance or the Daily Email Limit.
- Merge before printing. Above the Table Record Limit, receipts are merged into .pdfs of .pdf Merge Batch Size receipts each, then printed from the Print merged receipts option.
Which Records a Run Can See
Batch Receipts only selects gifts and receipts that the person running it can see in Salesforce. The scheduled job only sees what the person who scheduled it can see. For a complete year-end run, use someone who can see every gift, such as a System Administrator or a user with Receipt User View All.
Troubleshooting
| Symptom | Check |
|---|---|
| Creating receipts fails with a daily limit error | The Daily Receipt Limit was reached in the last 24 hours. Continue later, or raise the limit. |
| "You've reached the daily limit for sending emails." | The Daily Email Limit or Salesforce's allowance is used up. Run the email step again tomorrow, or use Dryad Mailer. |
| .pdf steps fail | Lower Receipt Batch Size, then run the Create Missing .pdfs button. Very long templates or large images make each .pdf heavier. |
| Batch Receipts screens are slow to count or list gifts | With millions of gifts, consider Enable Index Optimization. See the Receipt Settings article. |
| Not every recurring donation was receipted | More than 50,000 recurring donations matched. Run Batch Receipts again for the rest. |