LiveView admin UI for Accrue billing operations. Versioning tracks the accrue package—use the same ~> range for both. For a plain-language history of releases (instead of only GitHub release bullets), see Accrue release notes.

Quickstart

accrue_admin stays downstream of the core billing setup. Start with the checked-in Fake-backed demo or the Accrue First Hour guide, get the core billing facade and signed webhook path working, then mount the admin UI for operators.

Add accrue_admin to your host application and mount the package router where operators manage billing:

defp deps do
  [
    {:accrue_admin, "~> 0.2.0"}
  ]
end
defmodule MyAppWeb.Router do
  use MyAppWeb, :router

  import AccrueAdmin.Router

  scope "/" do
    pipe_through [:browser]

    accrue_admin "/billing"
  end
end

Run mix deps.get, finish the core billing and signed-webhook path, and then continue with the package guide on HexDocs for route session options, branding, and auth details:

Host setup

accrue_admin expects the host app to provide browser session state and an Accrue.Auth adapter that can resolve an admin-capable operator. The full router mount, branding config, and auth expectations live in the admin UI guide on HexDocs:

The first-time host setup path for the core package lives in the Accrue First Hour guide:

The canonical local demo path lives in the checked-in host app:

  • examples/accrue_host/README.md

Published accrue_admin releases resolve accrue ~> 0.2.0. Monorepo development keeps the sibling ../accrue path dependency unless ACCRUE_ADMIN_HEX_RELEASE=1 is set for release validation.

Assets

The package ships its own committed static bundle from priv/static/. Rebuild it locally with:

cd accrue_admin
mix accrue_admin.assets.build

No host Tailwind config or JavaScript bootstrap changes are required.

Browser UAT

The browser regression suite lives under e2e/ and runs against the package's test Phoenix endpoint:

cd accrue_admin
npm ci
npx playwright install chromium
npm run e2e

Guides

Project policies