Skip to main content

Receipt Settings

Before You Change Anything​

Dryad Receipting keeps its organization-wide configuration in one hierarchy custom setting, Receipt Settings. This page explains every field in it: what the code actually does with the value, the default set at install, what happens when the field is blank, the allowed values and recommended ranges, and which records and features it affects.

The sections follow the order of the app's Receipt Settings page: Charity Information, General Settings and Advanced Settings, then the Templates and App Details pages, and finally the system fields that don't appear on any page. At the top of each explanation, a short grey line lists the options, the install default and any recommended range. "Default" always means the value set when the app is first installed.

Where the Settings Live​

  • The Receipt Settings page (the Receipt Settings tab in the Dryad Receipting app) is the normal place to edit settings. Its navigation lists the setting groups (Charity Information, General Settings, Advanced Settings) and then the Templates, Field Mappings, Scheduled Jobs, App Utilities and App Details pages. Only the groups and the Templates page edit Receipt Settings fields. The other pages manage field mappings, scheduled jobs and maintenance actions.
  • Setup > Custom Settings > Receipt Settings > Manage shows the underlying record. Use it only to check that there is a single organization-level record, or to look at the system fields that aren't on the Settings page.
  • The organization-level record is created when the app is first installed, with the defaults listed on this page. Errors during that step are silently ignored. If the Settings page shows no values after installation, check in Setup that the organization-level record exists.
  • The Settings page has no validation. Minimums, maximums and recommended values appear only in the help text, so the page accepts any value. Stay within the ranges on this page.

Required Permissions​

  • The Settings page is shown only to users with the Receipt_Admin custom permission, which comes with the Receipt Admin permission set. Other users see "You don't have permission to view this page."
  • Anyone who creates, emails or prints receipts also needs read access to the Receipt Settings custom setting, because the app reads it with security enforced. The Receipt Admin, Receipt User and Receipt User Lite permission sets grant this access. Receipt Editor and Receipt User View All don't, so give those users one of the other permission sets as well if they run receipting.

Keep a Single Organization-Level Record​

Receipt Settings is a hierarchy custom setting, so Setup lets you add values for individual profiles and users. Don't. The app assumes there is exactly one record, at the organization level:

  • The Apex code reads "the first Receipt Settings record" without checking whose it is. With several records, background jobs may use a profile or user record.
  • The settings groups edit the organization-level record. The Templates page edits "the first record", which may be a different one.
  • Formula fields read settings through $Setup, which returns the running user's value. A user-level record would make eligibility, templates and charity details look different depending on who is viewing.
  • Receipt and acknowledgment counters are written back to whichever record the code read. Several records can lead to duplicate receipt numbers.

If Setup shows any profile or user records under Manage, delete them and keep only the Default Organization Level Value.

Settings That Formulas Read Live​

The following settings are read directly by formula fields on Gift Transaction, Gift Commitment and Receipt. A change takes effect immediately for every record, including receipts that were already issued:

  • All Charity Information fields (charity name, registration #, address, phone, website, logo, authorized name, title and signature)
  • Sender Email Address
  • Date Format
  • Minimum Receipt Amount and Enable All CRA Rules (gift eligibility)
  • All six template settings (template selection and eligibility)

A .pdf that already exists doesn't change. A .pdf created later uses the new values, and the app re-creates a receipt's .pdf automatically when the receipt is voided. So if you change the charity's details or the date format, a receipt voided afterwards gets a voided .pdf showing the new details.

Don't Edit Settings While Receipts Are Being Created​

When you click Save, the Settings page saves every field in the group, using the values that were loaded when you opened it. The General Settings group includes Next Receipt # and Next Acknowledgment #, which the app increases every time a receipt is created. If receipts were created while the page was open, saving puts the counters back to their old values, and the next receipts reuse numbers that were already issued. Before you edit General Settings, make sure no receipt jobs or scheduled jobs are running, then reload the page. Never set either counter lower than a number that has already been used.

After Changing Eligibility Rules​

Minimum Receipt Amount, Enable All CRA Rules and the template settings feed the Receipt Status formulas on gift transactions and gift commitments. There is no recalculation job: statuses change everywhere as soon as you save. After a change:

  1. Check the effect with a report or list view of gift transactions grouped by Receipt Status before creating any receipts.
  2. Discard any preview report built before the change. Run Batch Receipts again and click Create Preview Report to build a new one.
  3. Gifts that have just become eligible but have older transaction dates won't be picked up by the scheduled job, which only looks at single gifts (not part of a gift commitment) dated yesterday or later. Receipt them with Batch Receipts.
  4. Receipts already issued don't change. To correct one, issue a replacement receipt, which voids the original.
  5. Turning Enable All CRA Rules off also allows receipts to be emailed again and marked as emailed or printed again (see below).

How Receipting Accounts Override These Settings​

When a gift names a Receipting Account (another registered charity, stored as an Account), the account's values take priority over Receipt Settings. The fallback works differently for different fields. This happens whenever a gift has a Receipting Account, whether or not Enable Receipting Account is turned on.

SettingHow It Works
Charity name, registration #, phone, websiteTaken from the Receipting Account's Name, Charity Registration #, Phone and Website. No fallback: a blank value on the account stays blank on the receipt.
Charity street, city, province, postal code, countryTaken from the Receipting Account's billing address, with no fallback for blank parts. The location printed on the receipt as where it was issued is built from the city and province.
Logo, authorized name, title and signatureField-by-field fallback: the account's value if it's filled in, otherwise the value in Receipt Settings.
Sender email addressField-by-field fallback for emails sent through Salesforce: the account's Receipt Sender Email, otherwise Sender Email Address. Dryad Mailer (Amazon SES) ignores the account and always sends from Sender Email Address.
Receipt and email templatesField-by-field fallback for each language and type: the gift's own template, then the account's template, then Receipt Settings.
Receipt numberingThe account's Receipt Prefix and Receipt Next # are used only if the account's Receipt Next # is filled in. Otherwise the receipt uses the Receipt Settings prefix and counter (the account's prefix is ignored). Account numbers are never padded. Acknowledgments always use the Receipt Settings acknowledgment numbering.

Charity Information​

The main charity's details, printed on every receipt that doesn't have a Receipting Account. None of them are filled in at install. All of them are read live by formula fields on the Receipt (see Settings That Formulas Read Live). A blank field prints as blank. Because the address formulas join the parts with commas, missing parts leave stray commas.

Charity Name​

SettingHow It Works
NameFree text. Default: blank.
The charity's full legal name, shown on receipts. If the receipt has a Receipting Account, the account's Name is used instead, even if it's blank.
Registration #Free text, up to 30 characters. Default: blank.
The registration number from the tax authority, which CRA requires on official receipts. If the receipt has a Receipting Account, the account's Charity Registration # is used instead, with no fallback to this value.
PhoneFree text, up to 20 characters. Default: blank.
The charity's main phone number. If the receipt has a Receipting Account, the account's Phone is used instead, with no fallback.
WebsiteFree text. Default: blank.
The charity's main website. If the receipt has a Receipting Account, the account's Website is used instead, with no fallback.
LogoAn image chosen from Files. Default: blank.
Click Select Image to choose an image from Files. The app makes the image available to all users and stores a link to that file version, then shows a preview. Templates show the logo with the Charity Logo URL merge field. A Receipting Account's own logo is used if it has one; otherwise this logo is used. The link points to one specific file version, so uploading a new version of the image doesn't change the logo. Select the image again instead.

Charity Address​

For receipts with a Receipting Account, the whole address comes from the account's billing address instead, with no fallback to these values.

SettingHow It Works
StreetFree text. Default: blank.
Street line of the charity's address.
CityFree text. Default: blank.
City. It also forms part of the location the receipt was issued (city, province), which CRA requires on official receipts.
Province/StateFree text. Default: blank.
Province or state. Also part of the location the receipt was issued.
Postal Code/Zip CodeFree text, up to 10 characters. Default: blank.
Postal code or ZIP code.
CountryFree text. Default: blank.
Country.

Authorized Individual​

The person who signs receipts. For a receipt with a Receipting Account, each of these falls back separately: the account's value if it's filled in, otherwise the value here.

SettingHow It Works
NameFree text. Default: blank.
Name of the individual authorized by the charity to acknowledge gifts.
TitleFree text. Default: blank.
That person's job title.
SignatureAn image chosen from Files. Default: blank.
The signature image, chosen with the Select Image button in the same way as the logo. Templates and the template editor show it with the Authorized Signature URL merge field.

General Settings​

Numbering, receipting rules and email. Remember that saving this group also saves the receipt counters (see Don't Edit Settings While Receipts Are Being Created).

Receipt Settings​

Receipt numbers are assigned by a trigger as each receipt is inserted. Once assigned, a number can't be changed: a validation rule blocks edits to the Receipt #.

SettingHow It Works
Receipt PrefixFree text, up to 20 characters. Default: blank (no prefix).
Text placed in front of every receipt number, for example 2025-. Doesn't apply to acknowledgments, or to receipts numbered by a Receipting Account. The full receipt number is cut to 80 characters.
Next Receipt #Whole number. Default: 1. Blank: 1.
The number given to the next receipt. The trigger increases it by one for each receipt and saves it back to Receipt Settings after each batch of inserts. Used for all receipts except acknowledgments and receipts from a Receipting Account that has its own Receipt Next #. Never lower it, and don't save this group while receipts are being created (see Before You Change Anything).
Receipt # LengthWhole number. Default: blank (no padding).
The length of the number part (not counting the prefix). Used only when Receipt # Padding is also filled in. The number is padded on the left up to this length, and a longer number is never cut short. Applies only to Receipt Settings numbering, not to Receipting Account or acknowledgment numbers.
Receipt # PaddingOne or two characters. Default: blank (no padding). Typical value: 0.
The character used to pad the number. With Receipt # Length 6 and Receipt # Padding 0, receipt 123 becomes 000123. Ignored unless Receipt # Length is also set.
Minimum Receipt AmountCurrency amount. Default: 20.00. Blank: no minimum.
The smallest amount a tax receipt can be issued for. It's applied in three places:
• Single gifts: the Gift Transaction Receipt Status formula shows "Ineligible - Receipt amount is below minimum" when the Receiptable Amount is lower. Acknowledgments are exempt, and so are gifts that will be consolidated.
• Consolidated receipts by donor: when the app groups a donor's gifts, it skips the group if the total receiptable amount is below the minimum, unless one of the gifts is an acknowledgment. No receipt and no error is produced for a skipped group.
• Gift commitment receipts: the commitment's total is checked in the same way before the receipt is created.
Read live by formulas, so changes take effect immediately (see After Changing Eligibility Rules).

Acknowledgment Details​

SettingHow It Works
Acknowledgment PrefixFree text, up to 20 characters. Default: ACK-.
Text placed in front of every acknowledgment number. All acknowledgments use this numbering, including those issued by a Receipting Account. Blank means no prefix.
Next Acknowledgment #Whole number. Default: 1. Blank: 1.
The number given to the next acknowledgment, increased by one for each acknowledgment. Acknowledgment numbers are never padded. The same warnings apply as for Next Receipt #.

General Settings Section​

SettingHow It Works
Date FormatOptions: "yyyy-mm-dd", "dd/mm/yyyy", "mm/dd/yyyy", "mmm dd, yyyy". Default: "yyyy-mm-dd". Blank or any other value: "yyyy-mm-dd".
Controls the formatted date fields on the Receipt (Receipt Issue Date, Transaction Date including the date range on consolidated receipts, and Receipt Voided Date) that templates print. The sample templates also use the formatted issue date in the .pdf file name. Month names in "mmm dd, yyyy" are always English (Jan, Feb …), even on French receipts. Read live: existing receipts show the new format immediately, but existing .pdfs don't change.
Enable All CRA RulesOptions: on or off. Default: on.
When on:
• Gifts and gift commitments whose donor is missing a street, city, province or postal code are "Ineligible - Donor address incomplete". Person accounts are checked on their mailing address and organizations on their billing address. Country isn't checked. On gift transactions, acknowledgments are exempt. The gift commitment status doesn't make that exception.
• The Email Receipt button refuses to email a receipt that has already been emailed (acknowledgments excepted).
• The Set as Emailed and Set as Printed buttons refuse to act on a receipt that's already emailed or printed.
When off, none of these checks apply. Read live by the status formulas.
Enable Receipting AccountOptions: on or off. Default: off.
Turns the multi-charity features on in the user interface:
• The Set Receipting Account Details button on accounts works only when this is on. When it's off, the action shows a "not enabled" message.
• The Batch Receipts screens add Receipting Account as a way to select gifts.
• The Email Receipt button's confirmation screen also shows the sending organization (charity name, sender email and address), so users can check which charity the email comes from.
It does not switch the overrides off. Any gift or gift commitment with a Receipting Account still uses that account's details, templates and numbering when this is off.
Enable Preview ReportOptions: on or off. Default: off.
When on, the Batch Receipts screens for creating receipts show the Create Preview Report button under "There are N eligible …", as long as the number of eligible records is below Preview Report Limit. Nothing is built until the user clicks it:
  • A background job creates a Batch Receipt Log with the action "Preview Report" and stamps the eligible gift transactions or gift commitments with that log. It uses the same rules as receipt creation, so the report lists exactly the records that would be receipted.
  • A progress ring shows the job. While it runs, the Create Receipts button is blocked. When it completes, a View Report link opens the report (Gift Transactions or Gift Commitments Eligible in Batch) filtered to this preview, in a new tab.
  • When all eligible records are being receipted (the screen without a table), clicking Create Receipts after a completed preview receipts exactly the previewed records. On the screen with a table, the report is for viewing only: the selected rows are receipted.
  • The preview is optional. If the user doesn't click the button, receipts are created from the filters as usual. Going back to an earlier screen discards the preview, and the button shows again.
If the button shows "The preview report wasn't found in the Receipt Reports folder.", the report has been moved, renamed or deleted.
Concatenate DesignationsOptions: on or off. Default: off.
When on, each new single or consolidated receipt created from gift transactions gets its Designations (the designation names, sorted and separated by commas) and Designations with Amounts (each name with its total amount, one per line) from the gifts' Gift Transaction Designations. Amounts are formatted in the donor's Receipt Language. Each field is limited to 255 characters and ends with "..." when shortened. It overwrites any field mapping to Designations. Receipts for gift commitments and receipts already created aren't affected. See the Designations on Receipts article.
Receipt File RepositoryOptions: "Salesforce". Default: "Salesforce".
Shown on the page but not used. The code never reads it, and receipt .pdfs are always stored in Salesforce Files.

Email Settings​

SettingHow It Works
Send Emails UsingOptions: "Salesforce" or "Amazon SES". Default: "Salesforce".
Chooses how the Batch Receipts > Email screen sends receipts:
• "Salesforce": emails are sent by Salesforce from an organization-wide email address, and Daily Email Limit applies.
• Any other value, including blank: Dryad Mailer. The app creates an Email record with one Email Recipient per receipt and sends through Amazon SES using Named Credential and Configuration Set Name.
Only the Batch Receipts email screen reads this setting. The single-receipt Email Receipt button and scheduled jobs that email receipts always use Salesforce email.
Sender Email AddressAn email address. Default: blank. Required for emailing.
The From address for receipt emails.
• Salesforce email: the sender is the receipt's Sender Email: the Receipting Account's Receipt Sender Email if it has one, otherwise this address. It must exactly match a verified organization-wide email address, or the email fails with "The sender email address is not specified or not found in the Organization-Wide Email settings." Make the organization-wide address available to all profiles, as the help text says. The Set Receipting Account Details button only offers addresses available to all profiles.
• Dryad Mailer: this address is copied to each Email record and used for every message, even for receipts that have a Receipting Account. It must be verified in Amazon SES.
Read live by the Receipt's Sender Email formula.
Configuration Set NameText, the configuration set name in Amazon SES. Default: blank. Amazon SES only.
The Amazon SES configuration set sent with every Dryad Mailer email. Its event destination is what reports deliveries, opens and bounces back to Salesforce as Email Events. The help text says to leave it blank when you don't use Amazon. When you do use Amazon, treat it as required: the app always includes it in the request and doesn't handle a blank value, so the emails fail.
Named CredentialText, the API name of a Named Credential (for example, Amazon_SES_NC). Default: blank. Amazon SES only.
The Named Credential the app calls to reach Amazon, as callout:<name>. It's used for Dryad Mailer sends and also by the Validate Email buttons on accounts, which call Amazon's email address insights service. Those actions need it even if Send Emails Using is "Salesforce". A blank or wrong name makes those callouts fail.

Advanced Settings​

Batch sizes, thresholds and limits. Several of these have no fallback in the code, so don't leave them blank.

Advanced Settings Section​

SettingHow It Works
Table Record LimitWhole number. Default: 100. Recommended range: 10 to 1,000 (100 recommended). Blank: 100.
The maximum number of records shown in a selection table on the Batch Receipts screens:
• Batch Receipts screens (create receipts, email, merge, print): up to this many eligible records, you pick records in a table. Above it, the table is skipped and all eligible records are processed after a confirmation.
• Batch Receipts > Print: above this number, receipts can't be printed individually. The screen asks you to merge them first.
• The selection tables show at most this many rows, and the bar above the table reads "Showing X of N records" when more match.
It only affects the screens. Batch Receipts always creates receipts in a background job, however many records are selected.
Preview Report LimitWhole number. Default: 10,000. Recommended range: 10 to 50,000 (10,000 recommended).
The cut-off for preview reports. The Create Preview Report button shows only when Enable Preview Report is on and the number of eligible records is below this value. Above it, receipts are created without a preview. If it's blank, the button never shows.
Daily Receipt LimitWhole number. Default: 100,000 (set at install). Blank: 200,000. Recommended range: 1 to 500,000 (100,000 recommended).
The maximum number of receipts created in any rolling 24 hours. Before each insert, the app counts the receipts created in the last 24 hours, including deleted ones. If the insert would go over the limit, the whole insert is rejected with "You've reached the daily limit for creating receipts. You can continue tomorrow without loss." Nothing is lost: the gifts stay eligible. Blank means 200,000.
Daily Email LimitWhole number. Default: 5,000. Recommended range: 1 to 5,000 (2,500 recommended). Blank: 5,000.
The maximum number of receipts the app emails through Salesforce per day. Before each group of emails, the app reserves space against this limit and adds to Daily Email Total. If the group doesn't fit, it fails with "You've reached the daily limit for sending emails. You can continue tomorrow without loss." The count starts again each calendar day. Dryad Mailer (Amazon SES) emails don't count. Keep it at or below Salesforce's own daily limit for emails sent from Apex.
Batch ThresholdWhole number. Default: 100. Recommended range: 10 to 200 (100 recommended). Blank: 100.
The number of gifts above which single receipts are created by a background batch job instead of immediately. It applies only to single receipts created by your own automation with the Create Receipts for Gift Transactions action: more gifts than this runs a batch job (check Batch Receipt Logs). Batch Receipts and the New Receipts button on a list view aren't affected: they always use a background job and show its progress. Consolidated receipts aren't affected. How many records the selection tables show is set separately by Table Record Limit.
Receipt Batch SizeWhole number. Default: 20. Recommended range: 2 to 20 (20 recommended).
The number of records each step of a background job handles. It's used by almost every job: creating receipts from gifts and gift commitments, building preview reports, creating .pdfs, the scheduled job, re-creating the .pdf when a receipt is voided, and App Utilities > Create Missing .pdfs. Each .pdf is rendered within the job's limits, so values above 20 risk failed steps. There's no fallback: if it's blank, these jobs can't start.
.pdf Merge Batch SizeWhole number. Default: 100. Recommended range: 2 to 100 (100 recommended).
The number of receipt .pdfs combined into each merged .pdf for printing. Each group is sent to the Dryad merge service in one call, and the merged file is attached to the Batch Receipt Log. Smaller values give more, smaller files. There's no fallback: if it's blank, merge jobs can't start.
.pdf SegmentsWhole number. Default: 3. Recommended range: 1 to 5 (3 recommended). Blank: 3.
The number of background jobs that create receipt .pdfs in parallel. Large runs are split into up to this many parts that run at the same time, so the .pdfs are ready sooner. Salesforce runs at most 5 batch jobs at once, so values above 5 are treated as 5. A blank value, or a value below 1, uses 3.
API KeyText. Set at install. Don't change.
The key that identifies your org to Dryad's web services. It's sent with every call to merge .pdfs, to remove merged files from the service afterwards, and to check the app edition. If it's blank or wrong, merging .pdfs fails. Change it only when Dryad support asks you to, and don't share it.

Templates​

The Templates page sets the default receipt and email templates, with one panel for English and one for French. The template choices are the active Receipt Templates. The email template choices are email templates related to Contact (the 1,000 most recently modified, sorted by name). "None" clears a setting.

When the page isn't in edit mode, each selected template name is a link. Click it to open the Receipt Template or email template record in a new browser tab.

The template formulas on Gift Transaction and Gift Commitment read these settings live. For each gift they pick, in order: the gift's (or commitment's) own Receipt Template, then the Receipting Account's template for the right language and type, then these settings. The language is the donor account's Receipt Language ("French", or English for anything else). If no receipt template is found, the gift is "Ineligible - No receipt template".

Templates (EN)​

SettingHow It Works
Receipt Template - GiftOptions: any active Receipt Template, or "None". Default: Sample Receipt Template (EN).
The default template for English donation receipts. It's also the code's last-resort template: when a background job creates a .pdf and the receipt's own template can't be found, it uses this one, whatever the receipt's language. The Create Missing .pdfs button and the re-created .pdf for voided receipts use the same fallback. If it's blank, English gifts with no other template are ineligible.
Receipt Template - AcknowledgmentOptions: any active Receipt Template, or "None". Default: blank.
The default template for English acknowledgments. It isn't set at install. Until you set it, English acknowledgments are "Ineligible - No receipt template", unless the gift or the Receipting Account names a template.
Email TemplateOptions: any Contact email template, or "None". Default: Receipt Sample Email Template (EN).
The default email for English receipts. It's copied to each receipt when the receipt is created. A receipt without an email template counts as "To be Printed", and the Email Receipt button refuses it with "No Email Template". Changing this setting doesn't affect receipts that already exist.

Templates (FR)​

SettingHow It Works
Receipt Template - GiftOptions: any active Receipt Template, or "None". Default: Sample Receipt Template (FR).
The default template for French donation receipts (donors whose Receipt Language is "French"). Only the formulas read it; the code never uses it as a fallback. If it's blank, French gifts with no other template are ineligible.
Receipt Template - AcknowledgmentOptions: any active Receipt Template, or "None". Default: blank.
The default template for French acknowledgments. Not set at install, so French acknowledgments are ineligible until you set it, unless another template applies.
Email TemplateOptions: any Contact email template, or "None". Default: Receipt Sample Email Template (FR).
The default email for French receipts. It works the same way as the English email template.

App Utilities​

The App Utilities page runs maintenance actions. It doesn't show or edit any Receipt Settings field.

  • The Create Missing .pdfs button creates a .pdf for every receipt that doesn't have one (up to 50,000 per click), in a background job. It uses each receipt's template, with Receipt Template - Gift (EN) as the fallback. While the job runs, a progress ring under the button shows how many receipts have been processed and the job's status, and the button is disabled. When the job finishes, the ring keeps its final status (including any errors) and the button can be used again. If no receipt is missing a .pdf, the page shows "There are no missing .pdfs to create." and nothing runs. You can leave the page at any time: the job still finishes in the background, and its Batch Receipt Log shows the result.

App Details​

The App Details page is read-only. It shows your organization ID, the installed version and the licence expiration date, with a link to Dryad support. It doesn't show or edit any Receipt Settings field.

System Fields​

These fields aren't on any settings page. The counters are maintained by the app and can be seen only in Setup. Don't edit them by hand.

SettingHow It Works
Daily Receipt TotalWhole number, maintained by the app.
The number of receipts created in the last 24 hours, recorded after each receipt insert, including inserts rejected by the limit. It's for information only: the limit check counts the receipts again each time and doesn't rely on this field.
Daily Email TotalWhole number, maintained by the app.
The number of receipts emailed through Salesforce on the day in Daily Email Date. Checked against Daily Email Limit before each group of emails is sent.
Daily Email DateDate, maintained by the app.
The day Daily Email Total refers to. When the app sends emails on a different day, it resets the date to today and the total to zero.