Run the front officev4.1.1

Membora

A club register that knows who is in good standing, whether a meeting was quorate and what carried.

For clubs and associations. Often replaces ClubExpress, WildApricot or Join It.

Single license $59 · Extended license $129 · paid once, yours for good

Try the live demoNo sign-up. The demo resets itself, so click anything.

What it does

Standing decides the vote

Anyone at the meeting can be marked present; standing decides whether they may vote. Standing is worked out from what each member has paid.

Quorum before any motion

A motion cannot carry at an inquorate meeting; the refusal names the numbers and the motion stays open.

Roll call as it happens

Mark people present during the meeting and the quorum figure updates as you go. One definition of quorum serves the screen, API and assistant.

A record you can prove

Close a meeting and its minutes, roll and votes are sealed with a SHA-256 of the record. The PDF and CSV say whether it still matches.

Renewals that collect

The renewal email says what renewing costs and how to pay, by your payment link or bank details. Nothing sends until you switch it on.

Members sign up for events

Members register for events themselves with their member number and email, and capacity applies.

Digital membership cards

Each member carries a card link with a QR code that shows today's standing.

Household and organization memberships

A household or an organization holds one membership that covers its people. Leaving deletes nothing and keeps the paid-to date.

Receipts and payment requests

A PDF receipt for every payment, and payment requests that carry your payment link and bank details.

Your club's own fields

Add your own fields to every member. They appear in the export and can filter it.

Export exactly who you need

Filter the export by status, rate, people or organizations, lapsing soon, an overdue charge or your own fields.

Minutes, roll and tally

Minutes, the roll, the tally and the outcome export as PDF and CSV, ready to send round.

Also: a Send reminder button for arrears, a renewal follow-up, and role-checked REST writes.

Is it right for you?

What Membora deliberately doesn’t do.

  • **No card processing of its own** — members can pay dues by card on Stripe's own page when you switch on card payment with your own Stripe account; otherwise it records what was paid
  • **No member logins** — members register for events with their number and email and carry a card link; they are tracked, not users
  • **No online or remote voting** — it records votes taken at a meeting, it does not run ballots
  • **No accounting** — subscriptions are a membership fact, not a ledger
  • **Single-tenant: one organization per installation**
  • **Not legal advice** — what your constitution requires for quorum and eligibility is yours to set

What renting costs instead

ClubExpressPer member, billed monthly, by band: up to 200 members 42¢ (20¢ per secondary member), 201-300 38¢ (18¢), 301-500 34¢ (16¢), 501-1000 30¢ (14¢), each under a '$24 Minimum Monthly Hosting Fee'; larger clubs priced separately. No annual option; demos on request

3 months of ClubExpress costs what Membora costs once.

Read Sep 26, 2026 · source
WildApricot$66.00/mo at 100 contacts billed monthly; $59.40/mo prepaid yearly; $56.10/mo prepaid two years. Bands run to 50,000 contacts

1 month of WildApricot costs what Membora costs once.

Read Aug 22, 2026 · source
Join ItStarter $29/mo + 3.0% service fee on online transactions; Total $99/mo + 2.0%; Extra $199/mo + 1.5%

3 months of Join It costs what Membora costs once.

Read Aug 22, 2026 · source

The full comparison: every rival, what each does better, and who should stay with them →

Replacing one of these? ClubExpress alternative · WildApricot alternative · Join It alternative

Release history

Own It 4.1Dues by card, renewals by textOct 4, 2026

For Membora, 4.1 adds dues paid by card through your own Stripe account, and renewal reminders by text through your own SMS gateway. What’s new in 4.1 →

Own It 4.0It updates and backs itself upSep 29, 2026

For Membora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →

Own It 3.3Organizations as membersSep 27, 2026

For Membora, 3.3 meant memberships held by a company, school or group, covering the people added to its household, and a members export you filter by status, rate… What’s new in 3.3 →

Own It 3.2Renewals that collect, and a record you can proveSep 26, 2026

For Membora, 3.2 meant renewal emails that say what renewing costs and how to pay, PDF receipts and payment requests, members signing up for events themselves, digital…

Own It 3.1It writes to the people you serveAug 20, 2026

Membora was built after the 3.1 wave.

What’s in the zip

The tree as the zip ships it — the working leftovers the packager deletes are not listed

  • .htaccess
  • API.md
  • Dockerfile
  • LICENSE.txt
  • QUICKSTART.txt
  • README.md
  • assets/
  • bin/
  • config.sample.php
  • controllers/
  • cron/
  • deploy/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/Membership.php: a real module, the first 24 of 422 lines

Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.

<?php
/**
 * Membership.php — Membora's business core (fully covered by tests/run.php, offline).
 *
 * A club's membership desk lives and dies on one question asked hundreds of times a day:
 * "can this person walk in right now?" The answer depends on membership status, an
 * end date that may have quietly passed, and whether the member's standing lets them vote.
 * left. Getting that wrong means either turning away a paying member or letting an
 * expired one train for free.
 *
 * This class holds all of that logic as pure functions: the voting guard, status
 * transitions, term-date math, the expiring/arrears/revenue calculations that drive
 * the dashboard, and CSV export. Nothing here touches the database or the network,
 * which is exactly what makes it testable in isolation and trustworthy in production.
 *
 * Ownware conventions: money is integer cents; dates are "YYYY-MM-DD" strings;
 * "today" is computed by the caller in the business's configured timezone.
 */
declare(strict_types=1);

final class Membership
{
    /** Every status a member or a membership can hold. */
    public const STATUSES = ['active', 'frozen', 'expired', 'cancelled'];

Runs on: Web installer in about two minutes; plain PHP 8.1+ with MySQL/MariaDB (or SQLite for a trial), no Composer and no build step — Docker one-liner included. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.

Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- membora <your license key>

Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run

Which license do I need?

It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.

Single license$59
One (1) domain or subdomain · One business, running it on one site.
  • Install it on one domain or subdomain you own or operate
  • Change the source however you like for that installation
  • Run your own business on it commercially, client work included
  • Re-download the current build any time from your buyer portal
  • A second site, or an installation you hand to a client as theirs, needs the Extended license
  • No reselling, redistributing or sublicensing the source
  • Not for offering it to other people as a hosted service
Buy the Single license, $59
Extended license$129
Unlimited sites you own or operate, plus up to 10 client installations (white-label included) · Agencies, and anyone running it on more than one site.
  • Everything the Single license grants
  • Install it on as many domains as you own or operate — no cap on the number
  • Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
  • White-label: remove or replace the product name and logo in the screens of client installations
  • Still no reselling or redistributing the source itself
  • Running it as a multi-tenant service others sign up for needs a SaaS agreement
Buy the Extended license, $129

Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.

After you buy

Updates

The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.

Help

Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers

If it isn’t right

Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms

If we disappear

It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.

Questions

Does it take payments?
Only by card, and only if you switch it on with your own Stripe account: a member pays a charge or their renewal from their card page, on Stripe's own page, and Membora records it when Stripe confirms the payment. Otherwise it records what was paid and when, and derives standing from that. There is no direct debit, and no card number reaches your server.
Can members log in?
No member logins. Members register for events with their number and email and carry a card link showing today's standing; the people in the register are tracked, not users; the committee members who administer it have accounts, roles and 2FA.
Does it run online voting?
No. It records votes taken at a meeting, with the standing and quorum checks around them. It is not a ballot platform and does not run remote polls.
What happens if a lapsed member votes anyway?
The vote is refused and the refusal names the lapse date. Attendance is not blocked — being present and being entitled to vote are different facts, and the register keeps both.
Can it handle several clubs?
No. Single-tenant, one organization per installation.
Is it priced per member?
No. One payment covers the license, and your membership roll does not meter it.
Does a member in arrears get turned away at the door?
No, and that distinction is the heart of the product. The rule is applied at the ballot, never at the door: somebody in arrears is still recorded as present when they were present, and quorum counts them. Only the right to vote is withheld.
Are life members chased for renewal?
No. A life member never appears on the renewals list, which is the sort of small indignity that loses a club its oldest supporters.
Is a subscription due today already overdue?
No. Due today is due today — it becomes overdue when the day has passed, not while it is still running.
Better together
Front-Desk Suite: Visitora, Membora, Helpora and Loyalora
Sign-in, membership, loyalty and the request queue — the counter where an organization meets everyone it deals with, bought once.
4 tools for$159
$266 separatelySave $107

Covered in these guides

More about Membora

Self-hosted membership register for clubs and associations: who is in good standing, whether a meeting was quorate, and whether a motion actually carried.

The problem it solves

A club's records are fine until the year somebody disputes a vote. Then the questions arrive at once: who was a member on that date, were enough of them present, and was the person who moved it entitled to vote at all.

Those are three different questions, and a spreadsheet of names and payment dates answers none of them.

  • Membership, subscriptions and attendance kept in three places that disagree
  • Minutes that record a motion as carried without recording whether the meeting was quorate
  • Association software priced per member per month, for a register that changes a few times a year

Every feature

  • Standing gates the vote, not the door. Attendance is a record of fact: anyone who was there can be marked present, lapsed or not. Standing decides whether they may VOTE. Conflating the two is how registers end up unable to answer either question.
  • A motion cannot carry at an inquorate meeting. The refusal names the numbers — 4 present, 5 required — and the motion stays open. Withdrawing is still allowed, because withdrawal is not a decision the meeting takes.
  • Quorum has ONE definition. Computed in one place from the roll and the rule, and used by the screen, the REST API and the assistant tool alike. A quorum that means something different in two places is not a quorum.
  • Roll call as it happens. Mark people present during the meeting, and the quorum figure updates as you go. The fifth arrival is the moment the meeting becomes able to decide, and the screen says so.
  • Subscriptions and standing. Rates, periods, and what each member has paid — with standing derived from it rather than typed in. Good standing is a computed fact about a date, not a checkbox somebody remembered to tick.
  • The record afterward. Minutes, the roll, the tally and the outcome, exportable as PDF and CSV — the document you send round, and the one you produce when the vote is questioned a year later.
  • Renewal notices by email. A daily cron job writes to each member whose subscription is about to end, once per end date, through your own SMTP, with the amount and your own payment link or bank details. Nothing sends until you switch it on.
  • A meeting record you can prove. Close a meeting and its minutes, roll and votes are sealed with a SHA-256 of the record. The PDF and CSV carry the seal and say whether the record still matches, so a vote questioned a year later can be checked.
  • Renewals that collect. The renewal email says what renewing costs and how to pay: your own payment link and/or your bank details. One follow-up goes to members who have not renewed, and arrears have a Send reminder button. No platform fee, no percentage.
  • Your club's own fields. Your own fields on every member, and in the export.
  • Members sign up for events themselves. With their member number and email; capacity applies.
  • Digital membership cards. Cards that show today's standing, with a QR code.
  • Joint and family memberships. People in a member's household are covered by that subscription; leaving deletes nothing and keeps the paid-to date.
  • PDF receipts and payment requests. For every payment, with your payment link and bank details on a request.
  • Organization memberships. A company, school or group holds the membership, and the people added to its household are covered by it.
  • Export exactly who you need. The members export filters by status, rate, people or organizations, lapsing within so many days, an overdue charge, or one of your own member fields.
  • Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
  • Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
  • Dues by card. Switch on card payment with your own Stripe account and a member pays an unpaid charge or their renewal from their card page, on Stripe's own page. Membora records it when Stripe confirms the payment, and a renewal moves their standing. No card number reaches your server.
  • Renewal reminders by text. Texts through an SMS gateway the club already pays for, only to members with Texts OK ticked on their record: 14 and 3 days before the membership ends by default, inside your send window. Every text links to the member's card page, where one tap stops them.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Membora, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop, scheduled tasks that a browser could start and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0.2 — the installer opens on every host. For Membora, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.

Release notes in full

  • Own It 4.1: dues by card, renewals by text. For Membora, 4.1 adds dues paid by card through your own Stripe account, and renewal reminders by text through your own SMS gateway. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Membora to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0: it updates and backs itself up. For Membora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
  • Own It 3.3: organizations as members. For Membora, 3.3 meant memberships held by a company, school or group, covering the people added to its household, and a members export you filter by status, rate, lapsing date, an overdue charge or one of your own fields. Both are cards above.
  • Own It 3.2: renewals that collect, and a record you can prove. For Membora, 3.2 meant renewal emails that say what renewing costs and how to pay, PDF receipts and payment requests, members signing up for events themselves, digital cards with a QR code, joint and family memberships, your own member fields, and meeting records sealed so a questioned vote can be checked. Every REST write now checks the key holder's role. Each change is a card above.
  • Own It 3.1: it writes to the people you serve. Membora was built after the 3.1 wave. Its outbound path is the renewal notice: a daily job writes to each member whose subscription is about to end, once per end date, through your own SMTP — off until you switch it on.

Browse self-hosted: Front-office software · Charity, club & association software · Coworking & workspace software

Membora$59 once
Demo Buy