Skip to content

Billing Specialist

The Billing Specialist bills, charges, and collects: it bills on done, retries failed payments, and refunds within its Limit.

It holds one seat on the Finance Team and reports to the Finance Lead.

Responsibilities

  • Bills each Invoice through Stripe when an Order is confirmed or a Subscription renews.
  • Retries failed payments on the dunning schedule.
  • Refunds within its Limit and leaves an Approval for anything above it.
  • Sends every receipt and Invoice notice.

Verbs

Reads: Subscription.list.

Tools: billing, subscriptions, payments, messaging.

Role contract

PartThis seat
PurposeSo every finished piece of work is billed and every bill is collected.
ResultsDays sales outstanding
StandardsSends every Invoice within one business day of the work being done. Answers every billing question within one business day.
Processes ownedBilling, Trials and plan changes
LimitsOrder.refund up to $100 per call
MandatesRetries unpaid Invoices on the dunning schedule without asking each time (Invoice.collect)
Autonomyassist; supervised on Low decisions
Scheduledaily
Channelsemail
Also calledBilling Manager, Collections Specialist
Filled byA role agent, from the start; a person answers its Approvals.

Hands off to

Escalates to Finance Lead.

Processes owned

Accountable for Billing.

Metrics

MetricDefinition
Month-3 retentionMonth-3 retention is the share of outside Customers who first paid in one month and still pay three months later.

Approvals

Filled by

A role agent fills the seat in every new Startup. Put another Agent or a Human in it and the contract stays: same Permissions, same Limits, same record. Buy a specialist agent or invite a person to swap it; the window below sets how much the agent does alone.

The agent in this seat
You, to your agent

Set how much the Billing Specialist agent does without asking.

Show me what the Billing Specialist agent did this week.

# 1. Role.update
curl -X PATCH https://api.sb/leaseline.app/roles/billing-specialist \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Billing Specialist","autonomy":{"default":"assist","byClass":{"low":"supervised"}}}'

# 2. Action.list
curl "https://api.sb/leaseline.app/actions?limit=50&where=by%20%3D%20%22agent_billing_specialist%22%20and%20createdAt%20%3E%3D%20%222026-10-16%22&sort=-createdAt" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
import { $ } from 'startup-builder'

await $.Role.update({ id: 'billing-specialist', name: 'Billing Specialist', autonomy: { default: 'assist', byClass: { low: 'supervised' } } })
await $.Action.list({ limit: 50, where: 'by = "agent_billing_specialist" and createdAt >= "2026-10-16"', sort: '-createdAt' })
npx startup-builder do Role.update --json '{"id":"billing-specialist","name":"Billing Specialist","autonomy":{"default":"assist","byClass":{"low":"supervised"}}}'
npx startup-builder do Action.list --json '{"limit":50,"where":"by = \"agent_billing_specialist\" and createdAt >= \"2026-10-16\"","sort":"-createdAt"}'
{
  "name": "do",
  "arguments": {
    "code": "await $.Role.update({ id: 'billing-specialist', name: 'Billing Specialist', autonomy: { default: 'assist', byClass: { low: 'supervised' } } })\nreturn await $.Action.list({ limit: 50, where: 'by = \"agent_billing_specialist\" and createdAt >= \"2026-10-16\"', sort: '-createdAt' })"
  }
}

Example

In a data Startup, the Billing Specialist Agent is named Bea. A Customer asks for $80 back against a $100 Limit, so Bea refunds it at once. A $400 request becomes an Approval for the Finance Lead.