Proudly Canadian 🍁 Coast to Coast Support

Web321 RMA Manager for Gravity Forms

This plugin turns any Gravity Form into a Return Material Authorization (RMA) workflow. It works on top of your existing WordPress site and Gravity Forms installation — no separate hosting, no external services, all data stays on your server.

What the plugin does

  • Declares any Gravity Form as an RMA form with a single toggle.
  • Auto-enables Save and Continue so customers can resume submissions securely.
  • Lets you mark individual fields as Public — Editable, Public — Read-Only, or Admin Only.
  • Tracks each request through a state machine: New → Under Review → Approved / Issues Returned / Denied → Resolved.
  • Assigns unique RMA and PO numbers with live AJAX validation and next-number suggestion.
  • Sends state-specific email notifications with merge-tag support.
  • Keeps an activity log for every entry — submissions, state changes, number assignments, memos, and notifications.
  • Provides an RMA Dashboard with state counts and recent activity per form.

Activation & Setup

  1. Install and activate Gravity Forms.
  2. Upload and activate Web321 RMA Manager.
  3. On activation the plugin creates a baseline RMA form for you (Forms → Baseline RMA Form). Use it as-is or duplicate and brand it.
  4. Visit Forms → RMA Settings and enter your license key.

Declaring a form as an RMA form

Open any Gravity Form, go to Form Settings → RMA Settings, and tick “This is an RMA form”. Configure your number prefix (e.g., RMA-), zero-padding, PO prefix, and uniqueness scope.

RMA Field Access

On any field, open the field settings in the form editor. A new setting called RMA Field Access appears with three options:

  • Public — Editable: standard behaviour. Customer can edit; admin can edit.
  • Public — Read-Only: customer sees the field and its value but cannot edit it. Admins fill it in from the entry screen. Use this for fields like RMA Number and PO Number.
  • Admin Only: customer does not see the field at all. Admins fill it in from the entry screen.

Workflow & states

Every RMA entry flows through these states:

  • New — just submitted, awaiting admin review.
  • Under Review — admin has opened the entry.
  • Issues Returned — admin needs more info; a secure resume link is emailed to the customer.
  • Denied — request declined; customer receives a reason and (optionally) an out-of-warranty link.
  • Approved — RMA number assigned; shipping instructions sent.
  • Resolved — physical return received and processed (internal terminal state).

Notification merge tags

Any notification template for an RMA form supports the standard Gravity Forms merge tags plus these plugin-specific ones:

  • {rma_number} — assigned RMA number.
  • {po_number} — assigned PO number.
  • {rma_state} — current state (human-readable).
  • {rma_reason} — text reason from the most recent state change.
  • {rma_resume_url} — Save-and-Continue resume URL.
  • {rma_out_of_warranty_url} — form-configured out-of-warranty URL.
  • {rma_submission_date} — original submission date.

Troubleshooting

  • RMA Settings tab is missing — ensure Gravity Forms is active and you have the manage_options capability.
  • Baseline form was not created — deactivate and reactivate the plugin. The activator is idempotent and will re-check.
  • Next-number suggestion returns the same value twice — this usually means two admins were assigning numbers simultaneously. The plugin validates uniqueness on save, so one of the saves will be rejected with a clear error.

FAQ

Can I use this with my existing Gravity Forms setup? Yes — the plugin opts forms in one at a time. Non-RMA forms are unaffected.

Does it require Gravity Flow or Fillable PDFs? No. The RMA workflow is self-contained.

Does data leave my server? No. All RMA data is stored in your own database. The only outbound traffic is the license check to web321.co and the emails you configure.

Copyright 2026 Web321 Marketing Ltd.
All Rights Reserved