Billing SDK/Billing SDK
Billing & Usage AnalyticsUpcoming Charges

Upcoming Charges

The Upcoming Charges component displays information about upcoming billing cycles, including the next billing date, total amount, and a breakdown of individual charges.

Playground
Upcoming Charges
Your upcoming charges for the next billing period

Next Billing Date

November 1, 2025

Total

$149.99

Breakdown

Enterprise Plan (Annual)Recurring
$119.99

Nov 1, 2025

Additional Team Seats (5 seats)Prorated
$30.00

Nov 1, 2025

src/components/upcoming-charges-demo.tsx
'use client';

import { UpcomingCharges } from '@/components/billingsdk/upcoming-charges';

export function UpcomingChargesDemo() {
   return (
      <UpcomingCharges
         title="Upcoming Charges"
         description="Your upcoming charges for the next billing period"
         nextBillingDate="November 1, 2025"
         totalAmount="$149.99"
         charges={[
            {
               id: 'ch_001',
               description: 'Enterprise Plan (Annual)',
               amount: '$119.99',
               date: 'Nov 1, 2025',
               type: 'recurring',
            },
            {
               id: 'ch_002',
               description: 'Additional Team Seats (5 seats)',
               amount: '$30.00',
               date: 'Nov 1, 2025',
               type: 'prorated',
            },
         ]}
      />
   );
}

Installation

npx shadcn@latest add @billingsdk/upcoming-charges
pnpm dlx shadcn@latest add @billingsdk/upcoming-charges
yarn dlx shadcn@latest add @billingsdk/upcoming-charges
bunx shadcn@latest add @billingsdk/upcoming-charges
npx @billingsdk/cli add upcoming-charges
pnpm dlx @billingsdk/cli add upcoming-charges
yarn dlx @billingsdk/cli add upcoming-charges
bunx @billingsdk/cli add upcoming-charges

Usage

import { UpcomingCharges } from '@/components/billingsdk/upcoming-charges';
<UpcomingCharges
	title="Next Billing Cycle"
	description="Your upcoming charges for the next billing period"
	nextBillingDate="Oct 15, 2025"
	totalAmount="$39.50"
	charges={[
		{
			id: '1',
			description: 'Pro Plan (Monthly)',
			amount: '$29.00',
			date: 'Oct 15, 2025',
			type: 'recurring',
		},
		{
			id: '2',
			description: 'Additional Storage (10GB)',
			amount: '$5.00',
			date: 'Oct 15, 2025',
			type: 'prorated',
		},
	]}
/>;

Props

PropTypeDescription
classNamestringAdditional CSS classes to apply to the component
titlestringTitle for the upcoming charges section
descriptionstringDescription for the upcoming charges section
nextBillingDatestringDate of the next billing cycle
totalAmountstringTotal amount for the next billing cycle
chargesChargeItem[]Array of upcoming charges

ChargeItem Object

PropertyTypeDescription
idstringUnique identifier for the charge
descriptionstringDescription of the charge
amountstringAmount of the charge
datestringDate of the charge
type"prorated" | "recurring" | "one-time"Type of charge
<UpcomingCharges
	title="Upcoming Charges"
	description="Charges for your next billing cycle"
	nextBillingDate="November 1, 2025"
	totalAmount="$149.99"
	charges={[
		{
			id: 'ch_001',
			description: 'Enterprise Plan (Annual)',
			amount: '$119.99',
			date: 'Nov 1, 2025',
			type: 'recurring',
		},
		{
			id: 'ch_002',
			description: 'Additional Team Seats (5 seats)',
			amount: '$30.00',
			date: 'Nov 1, 2025',
			type: 'prorated',
		},
	]}
/>

Credits