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.{rma_pdf_url}— generated cover-sheet PDF URL (only populated when a PDF is generated).{rma_pdf_upload_url}— public tokenized upload page URL for returned PDFs.{rma_pdf_filename}— generated PDF filename.
PDF cover sheets (fillable PDF workflow)
- Enable PDF attachment in your notification template (on approval this is enabled by default).
- Configure the form’s PDF template under Form Settings → RMA Settings → PDF Template.
- When the notification sends, the plugin generates a per-entry fillable PDF and embeds a signed token.
- The customer can return the filled document through the upload URL in the email or from the printed link on the PDF.
- On receipt, only fields marked Public — Editable are written back into the entry.
PDF troubleshooting
- Upload says token invalid or expired — generate a fresh PDF from the entry screen and resend the customer link.
- Returned PDF did not update certain fields — only fields configured as Public — Editable can be changed by customers.
- Attachment missing on email — confirm the notification template has PDF attachment enabled and the form has a saved PDF template.
- Upload works but data is blank — some PDF tools flatten fields; ask customer to use a viewer that preserves AcroForm field values.
Troubleshooting
- RMA Settings tab is missing — ensure Gravity Forms is active and you have the
manage_optionscapability. - 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.
Can customers edit every value in the PDF? No. Admin-only and public read-only fields are protected and cannot be overwritten on return.
Can customers return the form without Adobe Reader submit? Yes. The upload-page flow is the primary universal path.