165
A billing page in one glance: plan and seats, the next invoice with its cycle progress, a payment card that holds its colours in both themes, usage bars that warn near the limit, and invoices with a one-click retry.
akabilling·subscription·invoices
Run this in any project set up for the shadcn CLI. It copies the Billing Overview source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/billing-overview.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { BillingOverview } from "@/components/billing-overview";
export default function Page() {
return <BillingOverview />;
}A free React block in the Dashboards collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Billing Overview source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| title | string | "Billing" |
| subtitle | string | "Your plan, what you’ve used this cycle, and every invoice." |
| planrequired | BillingPlan | — |
| nextrequired | BillingInvoicePreview | — |
| cardrequired | BillingCard | — |
| billingEmail | string | — |
| usagerequired | BillingUsage[] | — |
| invoicesrequired | BillingInvoice[] | — |
| currency | string | "$" |
| onChangePlan | () => void | — |
| onUpdateCard | () => void | — |
| onAddSeats | () => void | — |
| onExport | () => void | — |
| onDownload | (invoice: BillingInvoice) => void | — |
| onRetry | (invoice: BillingInvoice) => Promise<boolean> | — |
| className | string | — |