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
- Install and activate Gravity Forms.
- Upload and activate Web321 RMA Manager.
- On activation the plugin creates a baseline RMA form for you (Forms → Baseline RMA Form). Use it as-is or duplicate and brand it.
- 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.