Role-Based Access Control (RBAC)
Role-Based Access Control (RBAC)
Role-Based Access Control (RBAC)
Mercoa provides out-of-the-box Role-Based Access Control (RBAC) across its Accounts Payable (AP) experience.
This feature allows administrators to customize the experience on a user level based on the roles and permissions assigned to that user. You can precisely control what different users can see and do within Mercoa. Thoughtful configuration ensures security, adherence to your organization’s processes, and operational efficiency.
RBAC controls are managed within the Developer Settings of Mercoa. Here, administrators can define custom Roles and assign the specific Permissions that constitute each Role.
By assigning Permissions to Roles, and Roles to Users, you create a tailored experience reflecting your operational needs.
.all unless absolutely necessary for administrative roles.*.view.* permissions across relevant resources (Invoices, Counterparties, Payment Methods, Users) for audit purposes.invoice.update.APPROVED) are separate from roles that can schedule payments (invoice.update.SCHEDULED).The detailed list of currently available RBAC permissions in Mercoa, categorized by resource, is provided.
(Note: Most permissions granting creation, update, or deletion capabilities implicitly require corresponding view permissions to allow the user to select or identify the target resource.)
invoice.*)invoice.all: Full control over invoices. Grants all other invoice.* permissions. Use with caution.invoice.view.all: View all invoices, regardless of status.invoice.view.[STATUS]: View invoices only when they are in the specified [STATUS] (For example: DRAFT, NEW, APPROVED). Multiple statuses can be granted.invoice.create.all: Create invoices or update existing invoices into any status.invoice.create.[STATUS]: Create invoices or update existing invoices into the specified [STATUS].
invoice.create.NEW is specifically required to enable the assignment of approvers during invoice creation or update.invoice.create.SCHEDULED is specifically required to enable setting the scheduled payment date and payment source/destination details.invoice.delete: Delete invoices that are typically in a non-processed state like DRAFT. Usually for cleanup before processing begins.invoice.comment.view: Allows viewing comments associated with an invoice.invoice.comment.create: Allows adding new comments to an invoice. Often granted alongside invoice.comment.view.invoice.approver.override: Allows changing or removing assigned approvers on an invoice, even after initial assignment. This is a powerful permission for managers or administrators.invoice.check.print: Allows initiating the printing of a physical check when using check payments with PRINT delivery method.approvals.*)approvals.all: Full control over approval policies (viewing, creating, updating, deleting).approvals.view: View the currently configured approval policies.users.*)users.create: Add new users to an entity within the organization.users.view: View the list and details of users within an entity.users.delete: Remove users from an entity.notificationPolicy.*)notificationPolicy.view: View the current notification policy settings.notificationPolicy.update: Change the notification policy settings. Requires notificationPolicy.view.paymentMethod.*)paymentMethod.view: View configured payment methods (For example: bank accounts, cards) associated with an entity.paymentMethod.create: Add new payment methods to an entity.paymentMethod.update: Change existing payment methods. Requires paymentMethod.view.paymentMethod.delete: Archive or delete payment methods. Requires paymentMethod.view.counterparty.*)counterparty.all: Full control over counterparties (vendors/customers). Grants all other counterparty.* permissions.counterparty.create: Create new counterparties or link existing ones to an entity.counterparty.edit: Change details of existing counterparties. Requires counterparty.view.counterparty.view: View the list and details of existing counterparties.The following example, based on a common invoicing workflow, illustrates how different roles can be configured using specific permissions. Note: Effective roles often require combinations of permissions (For example: an ‘update’ action usually requires a corresponding ‘view’ permission to find the item first).
invoice.view.draft: To view invoices in draft status.invoice.create.draft: To create new invoices and save them as drafts.invoice.view.draft: To see the invoices needing editing.invoice.view.new: To assign approvers. The permission list notes link this capability specifically to the NEW status permission.invoice.update.draft: To change details of an invoice while it’s still in draft status.invoice.update.new: To update the invoice status to NEW (or a similar pending status) after editing and assigning approvers, signifying it’s ready for approval.Responsibility: Reviews invoices submitted for approval and makes an approval decision.
Actions Shown: Views invoices that are Ready for Review, approves the invoice. Cannot schedule payments.
Required Permissions (Example):
invoice.update.approved: To update the invoice status to APPROVED after review.invoice.view.new: To view invoices that are in the NEW status (or relevant pending status) awaiting approval.invoice.view.approved: To view invoices that are approved (perhaps for reference or if needing to comment post-approval).invoice.update.new: To change invoice details while it is in the NEW status (e.g., add comments or minor corrections before approval/rejection). (Note: May not be needed depending on workflow rules).invoice.view.approved: To view invoices that are ready to be scheduled.invoice.update.scheduled: To set the deduction date, payment source/destination, and update the status to Scheduled. The permission list notes link this capability to the SCHEDULED status permission. Requires view permission for the invoice being scheduled.invoice.view.scheduled: To view invoices that have already been scheduled for payment (For example: for tracking or reporting).This example demonstrates how combining specific permissions creates distinct roles, guiding users through the workflow according to their responsibilities.
Mercoa’s RBAC system offers significant flexibility and control. By leveraging Roles and the comprehensive list of Permissions thoughtfully, and following best practices like the principle of least privilege, you can precisely define user capabilities, streamline workflows, and enhance the security of your AP operations. Careful role design is key to maximizing the benefits of this system.