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
- Base subscription: A Chargify product defines the base plan
- Member component: A usage-based Chargify component tracks holder count
- Quantity = holder count: The component quantity is set to
getHolderCount(db, organization)— the number of shareholders in the organization’s cap table - 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
- 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
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
- Earning: Credits accumulate in the organization’s
Referralsrecord (equaCashfield) - Applying: During checkout, users enter an Equa Cash amount to deduct from the subscription total
- Validation: The system verifies the requested amount does not exceed the available balance
- Settlement: A Chargify service credit is created for the amount, and the balance is deducted from the organization’s referral record
- Transaction record: Each Equa Cash redemption creates a
Transactionrecord withcurrency: '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).