Skip to content

Overage: buy extra 50,000-email blocks for $10 #127

Open

Description

@clbotdev

Part of #126.

Goal

When an organization on Starter, Pro or Business reaches its monthly email limit, the owner can buy extra 50,000-email blocks for $10 each, instead of upgrading.

Work

  • Limit: add a monthly email limit override to organization_plan_policies (there are teams and contacts overrides today, but none for emails). The effective monthly limit is the plan limit plus 50,000 × the blocks bought for the current period, applied in resolvePlanPolicy and enforced in reserveSend (marketing, transactional and outbound mail).
  • Billing: a Dodo one-time product, $10 per block, added to the catalog as an add-on offer. Bought blocks apply to the current billing month only and reset with the email counter.
  • Dashboard: when the limit is reached, offer "Buy 50,000 more emails" next to Upgrade on the Plan tab. Show bought blocks in the Monthly sends card.
  • API, MCP, docs: the plan_limit_reached error says blocks can be bought; document the endpoint; update the pricing docs.

Acceptance criteria

  • An organization at its email limit can buy a block with a Dodo test payment, and sending resumes straight away.
  • The extra emails are gone in the next billing month.
  • Free can't buy blocks.
  • Tests cover the effective limit with 0, 1 and several blocks, and the monthly reset.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions