Ir al contenido

Managing Your Store

Esta página aún no está disponible en tu idioma.

This guide covers how administrators set up and manage the MakerVera store. You’ll need the manage_store permission to access these features.

Your makerspace is the seller and the merchant of record for its own sales: you set the prices, and payments go to your makerspace’s own payment-provider account.

Your store supports four types of products:

TypeDescriptionExample
PhysicalTangible items, optionally with inventory trackingT-shirts, stickers, safety glasses
DigitalDownloadable or virtual products (also used for gift cards)Design templates, gift cards
ServiceServices offered by the makerspaceTool sharpening, custom engraving
ConsumableItems consumed during use, with inventory trackingFilament spools, resin, wood blanks

Navigate to Admin > Store > Products and click Create Product.

FieldRequiredDescription
NameYesProduct name (up to 100 characters)
DescriptionNoRich text description (up to 5,000 characters)
CategoryNoAssign to a product category for filtering
Product TypeYesPhysical, Digital, Service, or Consumable
ImageNoProduct image URL
FieldDescription
PriceThe standard price for this product
Member PriceOptional discounted price for members. Leave blank to charge the standard price for everyone
TaxableWhether tax applies to this product. Gift cards are always non-taxable
FieldDescription
Track InventoryEnable to monitor stock levels
Current StockRequired when tracking is enabled. The system prevents purchases when stock reaches zero

Products follow a simple lifecycle:

StatusVisible to PublicCan Be Purchased
DraftNoNo
ActiveYesYes
ArchivedNoNo

New products start as Draft. Set a product to Active when you’re ready for members to see and purchase it. Archive a product to remove it from the store while keeping it for order history records.

The Danger Zone section at the bottom of the product detail page is the single home for end-of-life actions. It shows exactly the actions that are safe for the product’s current state and dependency footprint — you won’t see a destructive button if the system can’t safely run it.

GoalActionWhere to clickReversible?
Get rid of a product that has never been used (a test draft, a configuration mistake)Delete PermanentlyDanger Zone (only shown when there are zero references)No — gone forever
Retire a product but leave existing subscribers / order history intactArchive Without CleanupDanger ZoneYes — Restore brings status back to Active
Retire a product and clean up every plan / event link and cancel active subscriptions at the end of the current billing periodRemove from All & ArchiveDanger Zone (only shown when the product has dependencies)Partial — Restore reverses the status but does NOT re-link plans/events or reactivate cancelled subscribers
Bring an archived product back to ActiveRestore to ActiveDanger Zone (only shown when status is Archived)n/a

When you confirm the Remove from All & Archive dialog, the system runs four steps in order:

  1. Unlinks the product from every membership plan that lists it as an add-on (required, optional, included, or welcome gift).
  2. Unlinks the product from every event series that lists it as an add-on.
  3. Cancels every active subscription to the product at end of the current billing period through your payment provider.
  4. Sets the product status to Archived.

For each cancelled subscription, the affected member receives an email letting them know access ends on a specific date (their current period end). Members can opt out of these emails through the Membership Lifecycle category in their notification preferences.

If your payment provider fails to cancel one of the subscriptions (rare — usually an outage at the provider), that subscription’s ID appears in a partial-failure toast and the email for that member is NOT sent. You can re-run the action once the billing issue clears — the cleanup is idempotent and only processes leftover work.

If EVERY active subscription cancellation fails on the same run, the product is NOT archived (so you don’t end up with an archived product whose active subscribers still expect to be charged). Fix the billing issue and re-run.

Restore is intentionally a one-step status flip. It does NOT:

  • Re-attach the product to plans or events the cleanup pass unlinked. You’ll need to re-create those attachments from the plan / event pages.
  • Reactivate subscriptions the cleanup pass cancelled. Members who lost subscription access remain non-subscribed; they’d need to re-subscribe.
  • Send any notification to previously-cancelled members. There is no “restored” email.

The restore confirmation dialog calls these three points out before you confirm so there are no surprises.

Every Danger Zone action requires manage_store. The Danger Zone is hidden for users who don’t hold it. All actions are tenant-scoped — a cross-makerspace product is treated as not-found.

For active products attached as add-ons to membership plans or event series, you can suspend the product to temporarily block new sign-ups without losing the product’s configuration or its plan and event attachments. Suspending is non-destructive — it is the right tool when an add-on is back-ordered, the supplier is temporarily out, or you need a brief pause while you update materials.

ActionResult
SuspendThe product stays Active but cannot be enrolled as a required add-on. Existing subscriptions and registrations are unaffected. You’ll see a confirmation dialog listing every plan and event series that includes this product as an add-on.
ResumeThe product becomes available again. No confirmation dialog — resuming is always safe.

Find the Available for purchase toggle on the product detail page (visible only when status is Active and you have store-management permission). Toggling it off opens the confirmation dialog; toggling it on resumes the product immediately.

Availability badgeMeaning
AvailableActive and offerable as an add-on
SuspendedActive but temporarily paused — admin must resume to allow new add-on enrollments
ArchivedSoft-deleted; hidden from the storefront
DepletedInventory has run out (when inventory tracking is enabled)

When a product is suspended, any new attempt to enroll in a membership plan or event that requires it as an add-on is rejected with a clear “add-on unavailable” message. Existing members already enrolled with that add-on continue uninterrupted. See Add-On Products for how required add-ons block enrollment.

Get Warned Before You Run Out — Low-Inventory Alerts

Section titled “Get Warned Before You Run Out — Low-Inventory Alerts”

The depletion alert below tells you when a product has already hit zero. A low-inventory alert is the earlier warning: it tells you when stock is getting low — while there’s still time to restock before anyone hits a sold-out screen.

Setting it up. On any product with inventory tracking turned on, the create and edit form shows a Low-inventory alert field. Enter the level at which you want to be warned:

  • For stock products, this is the number of units remaining (for example, alert me when only 3 are left).
  • For capacity products, this is the number of slots available (for example, alert me when only 2 slots remain).

Leave the field blank to turn the warning off — no threshold, no alert. The configured level also shows on the product’s detail page so you can see at a glance which products you’re watching.

When it fires. Once a deduction (a sale, a subscription, an add-on grant) brings the available count below your threshold — but not all the way to zero — every store admin gets an email and in-app notification. Like the depletion alert, it fires once per dip: it won’t keep re-notifying while stock stays low. It clears automatically the moment you restock back to or above your threshold (or lower/clear the threshold), so the next time stock dips, you get a fresh warning.

When a Product Runs Out — Depletion Alerts

Section titled “When a Product Runs Out — Depletion Alerts”

When inventory tracking is on, MakerVera watches the moment your product hits zero and tells you immediately — before a member walks into a confusing “out of stock” message at checkout.

The depletion alert is sent to every store admin in your makerspace by email and in-app, the first time the product reaches zero. It fires once per depletion event: subsequent attempts while still depleted don’t pile up duplicate notifications. The alert clears automatically once you restock or raise capacity.

The alert tells you which product depleted and lists every membership plan and event series the product is attached to, split into two groups by whether the attachment blocks enrollment:

GroupWhat it means
Blocking add-onsNew signups for these plans and events are blocked until you fix it. Members trying to enroll see the “add-on unavailable” message. This covers required optional add-ons and Included per-cycle inclusions — both are part of what the member is paying for, so neither can be skipped.
Non-blocking add-onsNew signups still go through; the add-on simply doesn’t appear on the choice list (plain optional add-ons) or is quietly skipped at fulfillment (welcome gifts).

The alert closes with three off-ramps so you can act from one place:

  1. Restock or raise capacity — open the product edit page and adjust the inventory or capacity number.
  2. Suspend the product — flip the Available for purchase toggle to acknowledge the situation and unblock signups temporarily. Suspension keeps every configuration intact (plan and event attachments, pricing, descriptions) so resuming later is one click.
  3. Make a required add-on optional — on the affected plan or event edit screen, flip an individual attachment from required to optional. Signups for that plan or event resume immediately while you deal with the supply issue separately.

If three days go by and the product is still depleted and at least one blocking attachment (a required add-on or an Included inclusion) is still blocking enrollments, MakerVera sends a follow-up escalation notification. The escalation fires up to three times (every three days) before stopping — by that point a manual review is overdue.

The escalation stops automatically the moment any of these happen:

  • Inventory is restocked (or capacity raised) above zero
  • The product is suspended via the Available for purchase toggle
  • Every blocking attachment for the product has been cleared — required add-ons removed or flipped to optional, and any Included inclusion detached or its product made available again

Suspending the product is the explicit “I see this, I’ll handle it later” signal — escalations stop, but the initial alert stays in your inbox / in-app feed as the audit trail.

Categories help members browse your store. Navigate to Admin > Store > Categories to manage them.

  • Categories have a name, description, and sort order
  • Categories can be nested with a parent category
  • The public store shows category tabs for filtering products

Navigate to Admin > Store > Categories to view all your product categories.

ActionHow
CreateClick Add Category, fill in the name and optional fields, then click Save Category
EditClick a category row in the table to open the edit modal
DeleteClick Delete on a category row, then confirm. Products in the deleted category become uncategorized
SearchUse the search bar to filter categories by name
FieldRequiredDescription
NameYesCategory name (up to 100 characters)
DescriptionNoBrief description of what the category contains (up to 1,000 characters)
Parent CategoryNoSelect an existing category to create a nested hierarchy
Sort OrderNoControls display order — lower numbers appear first (default: 0)
  • Materials — Filament, Resin, Wood
  • Safety Equipment — Glasses, Gloves, Ear Protection
  • Merchandise — T-shirts, Stickers

Member pricing lets you offer discounts to logged-in members:

  • Set a Member Price on a product to give members a lower price
  • On the store and product pages, members see their discounted price with the regular price struck through and a Member Price badge
  • The cart and checkout use the member price, so the price a member sees is the price they are charged, and tax is calculated on it
  • Non-members and guests see only the regular price
  • Member pricing applies to one-time products only. Recurring products always bill the regular price, even for members
  • Regular price: $25.00
  • Member price: $20.00

Members save $5.00 per spool. The member price is shown as the primary price when a member is logged in.

Every product has an explicit billing model that determines how it is sold:

Billing modelWhat it meansMember-facing control
One-timeBilled once at purchase. Cart-eligibleAdd to Cart button
RecurringBilled on a subscription cadence (daily, weekly, monthly, annual)Subscribe button on the product detail page

The billing model is required at creation time. Recurring products are not cartable — they are sold through a dedicated Subscribe flow that opens your payment provider’s subscription checkout directly. See Add-On Products for the full guide to plan and event attachment, including the three attachment modes (Optional, Included, Welcome gift).

Items That Can’t Be Sold in Your Currency

Section titled “Items That Can’t Be Sold in Your Currency”

Your makerspace sells in one currency: the currency of your connected payment account (US dollars if you haven’t connected one yet). A product, add-on, gift card or fixed-amount discount code priced in a different currency can’t be sold. MakerVera pauses it instead of letting the purchase fail at checkout.

What admins see. A banner on the item explains that it’s priced in another currency than your makerspace sells in, so it can’t be sold. List pages show a banner counting the affected items, and the add-on catalog marks each one with a Can’t be sold badge. The banner appears on:

  • Store products (list and detail page)
  • Membership add-ons (catalog and add-on form)
  • Gift card settings
  • Discount codes (fixed-amount codes only)

What members and guests see.

WhereWhat happens
StoreThe product stays listed, but there’s no Add to cart or Subscribe button, and its page says it isn’t available to buy right now. If nothing in your store can be sold, the Store link is hidden.
CartA paused product is removed from the cart, with a message naming it.
Gift cardsThe purchase form is replaced by a notice that gift cards aren’t available to buy right now.
Event registrationPaused add-ons aren’t offered. If a required add-on is paused, registration isn’t open yet.
Membership signupPaused add-ons aren’t offered. If a paid required add-on is paused, the plan can’t be joined yet.
My membershipPaused add-ons can’t be added. Add-ons a member already has keep working.

If a purchase is attempted anyway, it’s refused before any payment is taken, with a message naming the item. Memberships, passes and event tickets always charge in your makerspace’s currency, so they’re never paused. Percentage and free discount codes have no currency of their own and keep working.

Any active product can be attached to a membership plan or event as an add-on. There is no separate “add-on toggle” on the product itself — the attachment lives on the plan or event. See the dedicated Add-On Products guide for plan and event configuration, including the recurring-inclusion and welcome-gift attachment modes introduced in May 2026.

When a product is purchased, an order is created automatically. Orders appear in Admin > Store > Orders and include:

  • Order number
  • Customer name and email
  • Items purchased with quantities
  • Subtotal, tax, fees, and total
  • Payment status
  • Refund history (if applicable)

The buyer receives an order confirmation email as soon as the order is paid, with the total shown in the order’s currency and in the buyer’s language.

The following features are planned but not yet supported:

  • Guest checkout — Purchases currently require a logged-in account.
  • Bulk product import — Products must be created individually through the admin interface.
  • Add-On Products — Attach products to plans and events, including recurring inclusions and welcome gifts
  • Gift Cards — Set up gift card products
  • Donations — Create donation campaigns
  • Overview — Return to the billing overview