Local Demo: See the Admin UI Without Wiring Stripe

Copy Markdown View Source

You want to see the billing admin UI your operators get — the customers, subscriptions, invoices, webhook ingest, and audit history — without first standing up a Stripe account or writing a line of integration code. The checked-in examples/accrue_host Phoenix app gives you exactly that: a realistic, seeded host backed by Accrue.Processor.Fake, so the whole story runs credential-free.

TL;DR

git clone https://github.com/szTheory/accrue
cd accrue/examples/accrue_host
make proxy      # once per machine — starts the shared local proxy
make up         # boots and prints a launch banner

Open http://accrue.localhost/admin, sign in as healthy@example.com with password accrue-demo-password. That's the operator surface.

1. Start it

From the repo, cd examples/accrue_host, run make proxy once (it starts a small shared reverse proxy), then make up. The demo comes up at a stable URLhttp://accrue.localhost — that never changes and never collides with your other running lib demos (each gets its own *.localhost name). make open jumps straight there once it's up.

2. Read the banner

make up prints a copy-pasteable launch banner: the stable http://accrue.localhost/admin URL (with a http://127.0.0.1:<port> fallback for when the proxy is off), the real mounted routes, and every seeded demo login with its password. You never have to guess a port or hunt for credentials — the banner is the single source of truth for this run.

3. Sign in

All five seeded accounts share the password accrue-demo-password. Each one is shaped to show a different billing state, so you can explore the admin UI against real lifecycle variety:

LoginWhat you'll see
healthy@example.comClean, subscribed — no dunning banner
past-due@example.compast_due with an active dunning campaign banner
canceled@example.comA canceled subscription
enterprise@example.comPremium plan with a JPY invoice showcase
trialing@example.comA trialing subscription

Sign in at /users/log-in.

4. Walk /admin

/admin is the mounted Accrue Admin UI. From there you can review customers, their subscriptions and invoices, inspect webhook ingest and replay events, and read the persisted audit history that billing changes leave behind. The mounted billing portal lives at /billing, and the host's own billing screens sit under /app/billing and /app/reports/advanced (entitlement-gated).

5. What you'll see

Everything here is Fake-backedAccrue.Processor.Fake stands in for Stripe, so no live keys are required and the seeded states are deterministic. Sent emails (like dunning notices) are captured locally and previewable at /dev/mailbox. This is the admin experience your operators get, end to end, before you connect a real processor.

Where to go next