Skip to main content

Pricing Model

Equa uses a three-tier subscription model with per-holder usage-based pricing. Billing is managed through Chargify with annual billing cadence and daily reconciliation of member count changes.

Subscription Tiers

Source: Tier definitions from equa-web/src/modules/payments/payments-plan.tsx (lines 5-27). Exact copy of codebase strings.

SCALE Plan Consultation

Organizations interested in the SCALE plan are directed to schedule a consultation with an Equa expert at drift.me/sten1/meeting.
Source: equa-web/src/modules/payments/pages/select-your-plan-page.tsx (line 105).

Per-Holder Billing Mechanics

The GROWTH plan uses a per-holder pricing model where the subscription cost scales with the number of shareholders/members in the organization’s cap table.

How It Works

  1. Base subscription: A Chargify product defines the base plan
  2. Member component: A usage-based Chargify component tracks holder count
  3. Quantity = holder count: The component quantity is set to getHolderCount(db, organization) — the number of shareholders in the organization’s cap table
  4. Price tiers: Pricing varies by holder count range (e.g., 1-10 holders at one rate, 11-50 at another). Tiers are fetched from Chargify and displayed as “Number of Holders” vs “Annual Pricing” in the price breakdown UI
  5. Auto-update: When shareholders are added or removed, the subscription member count is automatically updated via updateSubscriptionMemberCount()
Source: Member count update logic in equa-server/modules/billing/src/writing.ts (lines 275-294). Price breakdown UI in equa-web/src/modules/payments/components/price-breakdown.tsx (lines 79-84). Holder count function: getHolderCount(db, organization) at line 187.

Billing Cadence

  • Annual billing: Subscriptions are billed annually at the date of purchase
  • Auto-renewal: Subscriptions automatically renew annually; the default payment method is charged automatically
  • Daily reconciliation: Changes to the organization that affect billing are reconciled daily
  • Immediate charge: The “Due Today” amount is charged immediately at checkout
Source: Billing terms from equa-web/src/modules/payments/components/cart-summary.tsx (lines 164-168).

Cancellation

Subscriptions can be cancelled at any time by contacting support@equa.cc. Cancellation is processed via the Chargify subscription API.
Source: Cancel endpoint at equa-server/modules/billing/src/writing.ts (lines 226-230). Support link in cart-summary.tsx (line 170).

Feature Gating

Subscription status controls access to premium features. The gating logic is binary: any active subscription unlocks all gated features.

Gated Features

Gating Logic

Organizations on the START plan (no subscription) see an upgrade prompt when attempting to use transfer functionality: “Upgrade your organization to transfer shares. Transferring shares is a premium feature.”
Source: Feature enum: equa-server/modules/billing/src/responses.ts (lines 51-58). Gating logic: equa-server/modules/billing/src/reading.ts (lines 142-159). Upgrade prompt: equa-web/src/modules/captable/pages/captable-page.tsx (lines 126-155).

Equa Cash Credit System

Equa Cash is an internal credit currency that can be applied toward subscription purchases. Credits are earned through the referral program and stored per-organization.

How Equa Cash Works

  1. Earning: Credits accumulate in the organization’s Referrals record (equaCash field)
  2. Applying: During checkout, users enter an Equa Cash amount to deduct from the subscription total
  3. Validation: The system verifies the requested amount does not exceed the available balance
  4. Settlement: A Chargify service credit is created for the amount, and the balance is deducted from the organization’s referral record
  5. Transaction record: Each Equa Cash redemption creates a Transaction record with currency: 'equacash', currencyType: CurrencyType.usd
Source: Equa Cash application logic: equa-server/modules/billing/src/writing.ts (lines 176-209). Cart UI: equa-web/src/modules/payments/components/cart-summary.tsx (lines 113, 142-146).

Promo Codes

Equa supports promotional discount codes validated against the Chargify coupon system.
  • Validation: Codes are validated via the Chargify coupons API, optionally filtered by product family
  • Discount types: Percentage-based or fixed-amount discounts
  • Application: Applied at checkout and deducted from the “Due Today” total
  • Error handling: Invalid codes return “This promo code is not valid!”
Source: Promo validation: equa-server/modules/billing/src/reading.ts (lines 161-183). API endpoint: POST /promo/validate in equa-server/modules/api/src/endpoints/billing-endpoints.ts (line 72).

Payment Methods

Payment profiles are managed per entity (organization or user) through the Chargify payment profile API. Multiple profiles can be stored, with one designated as default for auto-renewal charges.
Source: Payment type enum: equa-server/modules/billing/src/types.ts (line 11): creditCard, bankAccount. Profile endpoints: equa-server/modules/api/src/endpoints/billing-endpoints.ts (lines 85-142).

Add-On Services

The following services are not included in any base subscription tier and are available as separate add-on purchases:
Source: equa-web/src/modules/payments/components/features-and-additional-services.tsx (lines 102-107). These entries have no for plan array, rendering as “Add On” in the UI.

Billing Infrastructure

Source: Configuration: equa-server/modules/billing/src/utility.ts (lines 3-8). Service initialization: equa-server/modules/api/src/lib/services.ts (lines 6, 34, 200).