Appearance
Memberships
A member buys a plan, and the plan decides what they may post: "5 properties or rentals," "1 free listing," "unlimited events." FluentCart does the billing. Plans, allowances, counting, and what happens to posts are VX Modules'.
Turn it on: VX Modules → Modules → Memberships. It needs FluentCart active; the switch says so if it is not. A Memberships item appears in the submenu, with a Plans tab and a Members tab.
One plan, both jobs
Voxel splits this in two: Paid Members gates who someone is but limits nothing, and Paid Listings holds every "N posts" limit, and the two cannot talk to each other. Here a plan does both, so one subscription is the membership and the listing package.
Who does what
| FluentCart | VX Modules |
|---|---|
| Checkout, Stripe or PayPal, taxes, coupons | Plans and what each allows |
| Renewals, failed-payment retries, receipts | Counting posts, and refusing the one over the limit |
| The customer portal: cancel, update the card | Pausing and restoring posts when a plan ends or returns |
| Upgrade paths and proration (FluentCart Pro) | The pricing table, the membership panel, tags, rules, and emails |
Everything works on the free version of FluentCart. FluentCart Pro adds one thing: members can switch between plans with prorated billing. Without Pro, a member cancels one plan in FluentCart's portal and buys the other. See Switching plans.
How it fits together
A plan is sold by one or more FluentCart subscription prices — usually its monthly and yearly price of the same product. Each price sells exactly one plan.
An allowance is a row on a plan: one or more post types sharing one limit. "5 properties or rentals" is one allowance with both post types in it. A post type sits in at most one allowance per plan.
A membership is one plan held by one person. It is created when FluentCart activates the subscription, or when you grant a plan by hand.
"No plan" is what anyone may post without a membership. It is empty by default, which means:
| Post type | Without a membership |
|---|---|
| Covered by any plan | Members only, until you give "No plan" an allowance for it |
| Covered by no plan | Never limited — memberships do not touch it |
So turning the module on changes nothing until you add a plan.
Several plans at once
A member can hold several plans, and their allowances add up: Basic (3 properties) plus Agent Pro (10 properties) is 13. "No plan" only applies to post types none of their plans cover, so a member is never told "5 of 6" because of a free listing they do not need.
Each counted post belongs to one of the member's plans. A new post takes a slot on the plan that will last longest, so posts sit where they are safest when something ends.
Counting
Each plan counts its own way, chosen on the plan:
| Setting | What uses a slot | When it frees up |
|---|---|---|
| Live posts | Every post that is published, pending, scheduled, or private | When the post is unpublished, trashed, or deleted |
| Per billing period | Each post published during the current period | When the subscription renews and a new period starts |
| For good | Each post ever published on the plan | Never — or on deletion, if Deleting a post gives the slot back is on |
Posts waiting for review count, so a member cannot queue up more than they are allowed.
Where the limit is enforced
Only the move into a counted status is checked. Editing a post that already holds a slot never is.
| Where the post is saved | At the limit |
|---|---|
| A VX Modules post form | Refused before anything is written, so the form stays filled in, with the limit in plain words |
| The block editor, and anything using REST | Refused with the reason |
| The classic editor, Quick Edit, the Sheet, bulk edit, MCP, an import | Saved as a draft instead, with a notice saying why |
People in the Never limited roles (administrators and editors by default) post as much as they like, and can publish a member's post even when the member is over their allowance.
When a plan ends
A canceled plan keeps working until the period that was paid for runs out. A failed renewal payment puts the plan in payment trouble, and it keeps working through FluentCart's retry period.
When the plan does end:
- Its posts move to free room on the member's other plans, and on "No plan."
- What does not fit gets the plan's When the plan ends setting. The default pauses them: a Paused status the author still sees in their list and the site does not show.
- When the member starts a plan again — buying one, reactivating one with FluentCart Pro, or being granted one — paused posts come back on their own, newest first, as far as the new plan has room.
See Members, switching, and ending for the details.
Perks and field limits
Each allowance can also give its posts something:
- a Featured badge
- a Verified mark
- a priority from 0 to 100, which can put better plans first on archives and search
- an expiry after a set number of days
And each plan can leave a field out, or cap how many files a gallery holds: "3 photos on Basic, 20 on Pro." See Setting up plans.
What to read next
| Page | What is on it |
|---|---|
| Setting up plans | Every setting on the Plans tab, from a first plan to perks and field limits |
| Members, switching, and ending | The Members tab, granting a plan, switching, lapses, and posts from before |
| The pricing table and member panel | What members see, in all three builders, plus the Query Loop options |
| Tags, rules, and emails | @membership(...), @post_plan(...), five visibility rules, and ten notifications |

