Skip to main content

Permissions and Permission Sets

Dryad Receipting controls who can do what with permission sets that are installed with the package. This article explains what each permission set allows, which actions check for them, how receipt visibility works, and which combination to give each person. It is written for Salesforce administrators.

Permission Sets at a Glance​

Permission setGive it to
Receipt AdminThe people who run receipting and manage its setup: settings, field mappings, templates, scheduled jobs. Usually one or two people, often the Salesforce administrator.
Receipt UserStaff who create, email, print and void receipts day to day, and run Batch Receipts.
Receipt EditorPeople who only design receipt templates.
Receipt User View AllReceipt Users who need to see and work on receipts created by other people. Add it on top of Receipt User.
Receipt User LiteUsers with very limited access, such as guest or community users, who only need to create receipts.
Email Guest UserOnly if you use Dryad Mailer: the guest user of the Salesforce Site that receives email delivery events from Amazon.

The package also contains a permission set named Case Feed. Dryad Receipting doesn't use it. Don't assign it for receipting.

What Each Permission Set Grants​

Receipt Admin​

  • The Receipt Admin custom permission, which opens the Settings page and admin-only actions (see Custom Permissions below).
  • The Dryad Receipting app and its tabs: Receipts, Batch Receipts, Batch Receipt Logs, Emails, Receipt Templates and Receipt Settings.
  • Full control of Receipt Templates, Field Mappings and Batch Receipt Logs, and visibility of all receipts and Dryad Mailer emails.
  • Access to the Dryad Receipting fields on Accounts, Gift Transactions and Gift Commitments.
  • The template editor and image picker.
  • These system permissions: API Enabled, Customize Application, View Setup and Configuration, Manage Custom Permissions, Salesforce CRM Content Administrator, View All Custom Settings, View Roles, Send Email, Edit Tasks and Run Flows.

Receipt User​

  • The Receipt User custom permission, which allows all day-to-day receipting actions.
  • The Dryad Receipting app with the Receipts, Batch Receipts, Batch Receipt Logs, Emails and Receipt Templates tabs. There is no Receipt Settings tab.
  • Create and edit receipts and batch logs, and create receipt assignments; full access to Dryad Mailer emails; read field mappings.
  • Read Accounts, Contacts and Gift Commitments, and access to the Dryad Receipting fields on Accounts, Gift Transactions and Gift Commitments.
  • Create, edit and delete Receipt Templates, and use the template editor.
  • Send Email, Edit Tasks, Run Flows and View All Custom Settings.

Receipt Editor​

  • Create, edit and delete Receipt Templates, and use the template editor and image picker.
  • Read receipts (only those they can see; see Record Visibility below).
  • No custom permission, so it can't create, email or void receipts. The editor's the Preview button uses receipts the user can see, so an editor who has no receipts of their own needs access to some, for example through Receipt User View All or a sharing rule.

Receipt Editor includes powerful system permissions: Customize Application, View Setup and Configuration, Manage Custom Permissions, Salesforce CRM Content Administrator and View Roles. Only give it to people you would trust with that level of access in Salesforce.

Receipt User View All​

Overrides the private sharing of receipts. It lets the user see every receipt and every Batch Receipt Log in the org, whoever created them. It doesn't include the app, tabs or actions, so assign it together with Receipt User.

It doesn't allow deleting receipts. Because the app's actions update receipts in system mode, users with this set can void, email and print receipts created by other people. Editing another user's receipt directly still depends on your sharing settings.

Receipt User Lite​

The Receipt User custom permission with minimal access: create and read receipts, receipt assignments and batch logs, and read templates, field mappings, Accounts, Contacts and Gift Commitments. Users can't edit receipts or batch logs, use the template editor or work with Dryad Mailer emails. It is intended for guest and community users whose access is set up separately.

It grants no Edit, Delete, View All or Modify All access, so you can assign it to a Salesforce Site's guest user. Receipts, their .pdfs and batch logs are still created for these users: the app updates them in the background in system mode. Actions that change batch logs from the screen, such as the Abort Job button, aren't available to them.

Email Guest User​

Lets the Salesforce Site's guest user record email events (delivered, opened, bounced) sent back by Amazon for Dryad Mailer. It is assigned as part of the Dryad Mailer setup. Don't assign it to anyone else.

Object Access Compared​

"Full" means Read, Create, Edit and Delete. "View All" means the user can see every record, not only their own. "Modify All" adds editing and deleting every record. A blank cell means no access from that permission set.

ObjectReceipt AdminReceipt UserReceipt EditorReceipt User LiteReceipt User View All
ReceiptFull, View AllRead, Create, EditReadRead, CreateRead, Edit, View All
Receipt AssignmentFull, View AllRead, Create, View AllReadRead, CreateFrom its receipt
Receipt TemplateFull, View All, Modify AllFullFull, View AllRead
Receipt Field MappingFull, View All, Modify AllReadRead
Batch Receipt LogFull, View All, Modify AllRead, Create, EditRead, CreateRead, Edit, View All
Email, Email Recipient, Email Event (Dryad Mailer)Full, View AllFull, View All
Account, Contact, Gift CommitmentReadRead

Receipt Assignments always follow their receipt: anyone who can see a receipt can see its assignments. Gift Transactions aren't included in any of these permission sets; see What the Permission Sets Don't Cover below.

Receipt Settings are not a record you can grant access to. They are managed on the Settings page, which requires the Receipt Admin custom permission. Receipt Admin, Receipt User and Receipt User Lite also grant the read access to Receipt Settings that receipting needs.

Custom Permissions​

Dryad Receipting's actions and flows check for two custom permissions, which come with the permission sets above:

Custom permissionIncluded inAllows
Receipt UserReceipt User, Receipt User Lite
  • The New Receipt button (on a Gift Transaction or Gift Commitment) and the New Receipts button (on Gift Transaction and Gift Commitment list views)
  • Batch Receipts
  • The Create PDF button, the Email Receipt button, the Set Receipt as Emailed button, the Set Receipt as Printed button, the Void Receipt button
  • The Validate Email button (on an Account) and the Validate Emails button (on Account list views)
Receipt AdminReceipt Admin
  • Everything Receipt User allows
  • The Settings page: all settings, templates, field mappings, scheduled jobs and app utilities
  • The Set Receipt Details button on a Receipting Account

Users without either custom permission see the message "You don't have permission to perform this action." when they open a receipting action. The Abort Job button on Batch Receipt Logs, and the Send Email and Reset Recipients buttons on Email records, don't check a custom permission: they depend only on access to those records.

Record Visibility​

Receipts are private: by default, users see only the receipts they own (usually the ones they created) and those owned by people below them in the role hierarchy. Receipt Assignments follow their receipt. Batch Receipt Logs are private in the same way. Dryad Mailer Email records are visible to everyone with access to them.

  • Receipt Admins can see all receipts.
  • Receipt Users can only work with receipts they can see. This matters most in Batch Receipts: the email, merge and print steps only find receipts the user can see, so receipts created by a colleague, or by a scheduled job that runs as another user, aren't picked up. Batch Receipts also only selects gifts the user can see.
  • The app's actions, such as voiding a receipt, marking it as emailed or printed, or voiding the old receipt when a replacement is issued, update receipts in system mode. They work on any receipt the user can open.

To let a team work on each other's receipts, either:

  • add a sharing rule on Receipt (Setup > Sharing Settings) that shares receipts with a public group or role, or
  • assign Receipt User View All, which lets the user see every receipt and batch log.

What the Permission Sets Don't Cover​

  • Nonprofit Cloud records. Receipt User and Receipt User Lite give read access to Accounts, Contacts and Gift Commitments so receipting can work. Access to Gift Transactions, and creating or editing gifts, gift commitments and Accounts, comes from the user's profile or Nonprofit Cloud permission sets, as usual. Everyone who creates receipts needs at least read access to Gift Transactions.
  • Donor preferences. Changing a donor's Receipt Delivery, Receipt Occurrence, Receipt Language or Do Not Receipt needs edit access to Accounts, from the user's profile or permission sets.
  • Your own custom fields. Fields you add (for example to show on receipts) aren't included in the package's permission sets, and packaged permission sets can't be edited. Grant access through a profile or a permission set of your own.

Typical Assignments​

RoleAssign
Receipting manager or Salesforce administratorReceipt Admin
Staff member working on their own receiptsReceipt User
Staff member in a team that shares the workReceipt User, plus a sharing rule or Receipt User View All
Communications or design person who maintains templatesReceipt Editor, plus Receipt User View All or a sharing rule if they need to preview with real receipts
Guest or community user who creates receiptsReceipt User Lite, plus the object access their site needs
Dryad Mailer site guest userEmail Guest User

Assigning a Permission Set​

  1. Go to Setup > Users > Permission Sets and click the permission set.
  2. Click Manage Assignments, then Add Assignment.
  3. Select the users and click Assign.

Users may need to log out and back in, or refresh, before new tabs and actions appear.

Troubleshooting​

SymptomCheck
"You don't have permission to perform this action."The user has neither Receipt User nor Receipt Admin. Assign Receipt User (or Receipt Admin).
The user can't see the Receipt Settings tab or pageSettings need Receipt Admin.
Batch Receipts doesn't find receipts to email, merge or print that a colleague createdReceipts are private, and Batch Receipts only finds receipts the user can see. Add a sharing rule or Receipt User View All.
A user can't find receipts created by colleaguesReceipts are private. See Record Visibility above.
Salesforce won't assign Receipt User Lite to a site's guest userOlder versions of Receipt User Lite granted Edit on batch logs, which guest users can't have. Upgrade Dryad Receipting to the latest version.
The last screen of Batch Receipts or the New Receipts button, or the Create Preview Report button, shows an error about access to an Apex class instead of progress rings (System Administrators aren't affected)Older versions of Receipt Admin, Receipt User and Receipt User Lite didn't grant everything the progress rings, the preview report, the Email Receipts step and the Validate Emails button need. Upgrade Dryad Receipting to the latest version.
Receipting fails with an access error on Gift TransactionsThe user has no access to Gift Transactions. Grant it through their profile or Nonprofit Cloud permission sets.
A custom field is blank on receipts, or missing from the template editorThe user lacks field access to it. Grant it through a profile or your own permission set.