Refund Approval Workflow

4 min read

Published April 12, 2026

Workflow Overview

Refunds follow a structured approval workflow to ensure financial oversight and proper authorization before inventory and financial adjustments are made.

  • Standard path: Cashier creates refund (Pending) → Admin or Manager approves (Approved) → Admin processes (Processed).
  • Rejection path: Cashier creates refund (Pending) → Admin or Manager rejects with reason (Rejected). The original sale remains unchanged.
  • Admin shortcut: Admin creates refund → automatically set to Approved → Admin processes (Processed). The Pending stage is skipped entirely.

Pending Stage

The Pending stage is where refunds wait for authorization from a senior team member.

  • All Cashier-created and Manager-created refunds start in Pending status.
  • A notification is sent to all Admins and Managers when a new refund is created.
  • The refund detail page shows the full refund request: items, quantities, restock actions, reason, and requested amount.
  • Two action buttons are visible to Admin and Manager users: Approve and Reject.

Note

Pending refunds do not affect inventory, finances, or commission records. No changes are made until the refund is approved and processed.

Approving a Refund

Approving a refund confirms that the request is valid and authorizes it for processing.

  1. Navigate to the refund detail page from the Refunds list or from the sale detail page sidebar.
  2. Review the refund details: type, items, quantities, restock actions, reason, and amount.
  3. Click the 'Approve' button. This button is visible only when the refund status is Pending and you have Admin or Manager role.
  4. The refund status changes to Approved. A Process button now appears on the detail page.

Rejecting a Refund

Rejecting a refund declines the request and preserves the original sale without changes.

  1. Navigate to the refund detail page.
  2. Review the refund details.
  3. Click the 'Reject' button. This button is visible only when the refund status is Pending and you have Admin or Manager role.
  4. Enter a rejection reason in the text field. The reason is required and will be visible on the refund timeline and sent to the creator.
  5. Confirm the rejection. The refund status changes to Rejected and no further actions can be taken on it.

Warning

Rejection is final. A rejected refund cannot be reopened or edited. If the refund should proceed, a new request must be created from the sale detail page.

Processing a Refund

Processing is the final step that executes all financial and inventory adjustments tied to the refund.

  1. Navigate to the refund detail page for an Approved refund.
  2. Click the 'Process' button. It appears only when the refund status is Approved and you hold the permission to pay a refund out, which is the shop owner by default.
  3. Confirm the action. Processing triggers the following: inventory restocking based on each item's restock action, serial number status updates, commission reversal with negative commission records, and credit note generation.
  4. The refund status changes to Processed. The customer is notified via email (if email notifications are configured).

Refund Detail Page Timeline

The refund detail page includes a timeline that provides a complete audit trail of the refund lifecycle.

  • Created, shows who created the refund and when.
  • Approved, shows who approved the refund and when (if applicable).
  • Rejected, shows who rejected the refund, when, and the rejection reason (if applicable).
  • Processed, shows who processed the refund and when (if applicable).

Tip

The timeline is valuable for auditing and accountability. Every action records the team member's name and timestamp, so you always know who handled each step.

Frequently asked questions

No. Cashier-created refunds always start in Pending status and require an Admin or Manager to approve them. Only Admin and Manager roles have the authority to approve or reject refunds. This is the default; the shop owner can change it in Settings, Roles and Permissions.

Admin-created refunds skip the Pending stage and are automatically set to Approved status. The Admin can then process the refund immediately without waiting for additional approval.

Rejected refunds cannot be resubmitted. If the refund should still be processed, a new refund request must be created from the original sale detail page.