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 set | Give it to |
|---|---|
| Receipt Admin | The people who run receipting and manage its setup: settings, field mappings, templates, scheduled jobs. Usually one or two people, often the Salesforce administrator. |
| Receipt User | Staff who create, email, print and void receipts day to day, and run Batch Receipts. |
| Receipt Editor | People who only design receipt templates. |
| Receipt User View All | Receipt Users who need to see and work on receipts created by other people. Add it on top of Receipt User. |
| Receipt User Lite | Users with very limited access, such as guest or community users, who only need to create receipts. |
| Email Guest User | Only 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.
| Object | Receipt Admin | Receipt User | Receipt Editor | Receipt User Lite | Receipt User View All |
|---|---|---|---|---|---|
| Receipt | Full, View All | Read, Create, Edit | Read | Read, Create | Read, Edit, View All |
| Receipt Assignment | Full, View All | Read, Create, View All | Read | Read, Create | From its receipt |
| Receipt Template | Full, View All, Modify All | Full | Full, View All | Read | |
| Receipt Field Mapping | Full, View All, Modify All | Read | Read | ||
| Batch Receipt Log | Full, View All, Modify All | Read, Create, Edit | Read, Create | Read, Edit, View All | |
| Email, Email Recipient, Email Event (Dryad Mailer) | Full, View All | Full, View All | |||
| Account, Contact, Gift Commitment | Read | Read |
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 permission | Included in | Allows |
|---|---|---|
| Receipt User | Receipt User, Receipt User Lite |
|
| Receipt Admin | Receipt Admin |
|
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
| Role | Assign |
|---|---|
| Receipting manager or Salesforce administrator | Receipt Admin |
| Staff member working on their own receipts | Receipt User |
| Staff member in a team that shares the work | Receipt User, plus a sharing rule or Receipt User View All |
| Communications or design person who maintains templates | Receipt Editor, plus Receipt User View All or a sharing rule if they need to preview with real receipts |
| Guest or community user who creates receipts | Receipt User Lite, plus the object access their site needs |
| Dryad Mailer site guest user | Email Guest User |
Assigning a Permission Set
- Go to Setup > Users > Permission Sets and click the permission set.
- Click Manage Assignments, then Add Assignment.
- Select the users and click Assign.
Users may need to log out and back in, or refresh, before new tabs and actions appear.
Troubleshooting
| Symptom | Check |
|---|---|
| "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 page | Settings need Receipt Admin. |
| Batch Receipts doesn't find receipts to email, merge or print that a colleague created | Receipts 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 colleagues | Receipts are private. See Record Visibility above. |
| Salesforce won't assign Receipt User Lite to a site's guest user | Older 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 Transactions | The 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 editor | The user lacks field access to it. Grant it through a profile or your own permission set. |