paddle-billing-history
SKILL.md
Render the user's billing history in Next.js
When to use this skill
Use this skill when adding a "Billing history" or "Invoices" section to the authenticated user's account page. The user expects to see their past transactions with dates, amounts, and the ability to download invoices. This skill covers a Next.js 15 (App Router) Server Action that lists transactions for the authenticated customer with proper pagination, status filtering, and currency display.
This is the read side of transaction data. Pair it with:
subscription-sync— provides thecustomerstable you join on to find the user's Paddlecustomer_id.webhooks— populates thecustomerstable fromcustomer.createdevents.customer-portal— an alternative if you want Paddle to host the entire billing UI (see "Should you build this yourself?" below).
Should you build this yourself?
The Paddle customer portal already provides a hosted billing-history view (see customer-portal). Build your own when:
- You want the billing surface to live inside your dashboard, with consistent navigation and styling.
- You want to combine billing data with app-specific context (e.g. usage details, custom invoice fields).
- You want to control what gets shown — the portal shows everything; a custom view can omit, group, or relabel transactions for your audience.