Skip to content
brandonharding.dev

AI / LLM

Billing Agent

Natural-language billing analysis

Role
Founder & Senior Software Engineer
Period
2024 – Present
Toddly Billing Assistant answering a revenue question beside the billing dashboard
Billing Assistant — monthly revenue, then why January was higher

Overview

I built an LLM-powered billing agent so school staff can ask questions about invoices, balances, and payment history in plain language. The agent uses application tools to retrieve live billing data, then summarizes aging, outstanding balances, and recent activity. It sits on top of the existing ledger rather than replacing it — retrieve, analyze, and explain, with the database remaining the source of truth.

Outcomes

  • Natural-language interface over production billing data
  • Tool-using agent that retrieves invoices, balances, and payment history
  • Designed to analyze and explain without writing a second source of truth
  • Built against the same multi-tenant billing model used by Toddly schools

Architecture

Interface

  • Natural-language chat
  • Staff workspace

Agent

  • LLM
  • Tool calling
  • Retrieval

Tools

  • Invoices
  • Balances
  • Payment history

Source of truth

  • MySQL billing data
  • Stripe events

A chat UI sends a question to an agent loop. The model calls application tools that query billing tables, then returns a grounded answer with the retrieved context.

Tech stack

  • Python
  • LLMs
  • Tool calling
  • Flask
  • MySQL
  • Stripe