Skip to content

The fundraising model

A UnitTally fundraiser runs through five stages: set up a campaign, members share links, supporters buy, the treasurer reconciles, and the organization fulfills. This page walks through each stage at a concept level and links to the page that covers it in depth.

A campaign is the fundraiser itself — a wreath sale, a spring gala, a spirit-wear drive, a ticketed performance. Inside a campaign, the treasurer or admin adds products. A product can branch two ways: variants are priced SKUs (a wreath in three sizes, each its own price and stock count), and, separately, options are selectable attributes (a bow color, an engraving line) that can carry their own price adjustment and stock effect. A campaign can also define a fundraising goal and, if pickup happens in date-bound waves, one or more fulfillment blocks.

See Campaigns, products, variants & options for the full data model, and Your first campaign for a walkthrough.

A treasurer builds the organization’s roster by inviting each member — a scout, a player, a student — by email to join. That invitation creates a member account; for a member under 13, it goes to a parent or guardian instead, who manages the account on the member’s behalf (COPPA-conscious, with a privacy review pending ahead of the broader public launch). One person can belong to more than one organization under a single login, and each organization they join gives them a separate, organization-specific link.

Signed in, a member opens their own member page and gets their sharing link and a matching QR code for that organization. When a supporter buys through it, the order is credited to that member automatically — the supporter needs no account of their own, and the treasurer gets a running per-member sales tally without asking anyone to keep their own count.

Member accounts, the member-invite flow, the member share page, and QR codes are part of the member experience UnitTally is building for the broader public launch — they aren’t live in a public account during the closed alpha. The attribution mechanism underneath — a per-member link that credits orders back automatically — already works today.

See Attribution for how the link and credit mechanism works.

A supporter checks out using either of two payment paths, and the two paths carry genuinely different costs. Keep them distinct — they are not the same story with different numbers.

Story 1 — cash, check, or any manual payment. The treasurer records the payment directly. There is no processing step and no UnitTally fee: $0, on every tier.

Story 2 — online card payment. The charge runs through the organization’s own Stripe account (Stripe Connect Standard), so the money lands directly with the organization — UnitTally never holds it. Because checkout uses Stripe’s hosted Checkout page, supporters can also pay with Apple Pay or Google Pay where their device supports it; that’s a Stripe capability the organization’s account enables, not a separate UnitTally feature. The cost on this path is Stripe’s processing fee plus a UnitTally platform fee — two separate line items. The UnitTally fee is capped per transaction, so it doesn’t scale linearly on big-ticket sales — Stripe’s processing fee isn’t capped and still moves with the sale price. Supporters can also choose to cover both fees themselves at checkout — an optional, off-by-default checkbox — so more of the listed price reaches the organization. See Fees and caps for how the estimate works.

See Fees and caps for the exact numbers and Payment methods for how the two methods work under the hood.

Every payment — card or manual — lands in one ledger. The treasurer doesn’t reconcile a spreadsheet against a Stripe dashboard against a stack of checks; card settlements and manual entries sit side by side against the same campaign and the same member credit, so the running total is always current.

Once a campaign closes (or a fulfillment block inside it closes), the organization hands out or delivers what was sold. Campaigns with distinct waves — a fall batch and a spring batch, for example — use fulfillment blocks with their own order window (and an optional pickup window) and stock caps. Low-stock alerts flag a variant before it runs out mid-campaign.

See Fulfillment for how blocks, pickup windows, and stock alerts fit together.

  • Your first campaign — set one up at a concept level.
  • Fees and caps — start of the Core Concepts section: the full depth on fees, payment methods, the data model, attribution, and fulfillment.