Ballmac UI home

Billing 2: change plan with proration

A change-plan flow: billing interval, plan cards as radios, a seat stepper that respects the current team, and a sticky summary that works out the prorated charge, the credit and what is due today.

Open in v0 (opens in a new tab)

Installation

$ pnpm dlx shadcn@latest add @ballmac/billing-2

Usage

Example: billing-2-demo.tsx
import { Billing2 } from "@/components/ballmac/blocks/billing-2/billing-2"

export default function Billing2Demo() {
  return <Billing2 />
}

Dependencies

Use with AI

Upgrade and downgrade flow. Pass plans=[{ id, name, monthly, yearly, description, features }], currentPlan, currentSeats, today and renewsOn (ISO dates, so server and browser agree) and onConfirm({ plan, seats, interval }) (throw to show an error). With the shadcn MCP server set up (guide), ask your agent:

Add the Ballmac UI Billing 2: change plan with proration (@ballmac/billing-2) to this project with the shadcn MCP, then use it where it fits.

Use it for

  • In-app plan changes
  • Seat-based products with prorated billing

Not for

  • Public pricing pages (use pricing-2 or pricing-3)

Registry JSON: https://ui.ballmac.com/r/billing-2.json

Free to use in personal and commercial projects.