# FOSSBilling

Free billing and client management for hosting and other online service businesses.

FOSSBilling is a PHP app that automates invoicing, orders, payments and client support for hosting companies and other service sellers. It has a modular design with product-type modules, Twig themes and email templates. The Builder documents a JSON API for admin, client and guest roles, with an API key for the admin and client roles.

- Capabilities: adaptable, operable
- Vertical: invoicing-finance
- Shape: business-app
- Form factor: web-app
- Execution model: deterministic
- Provenance: mixed (recorded, never ranked)
- Repo: https://github.com/FOSSBilling/FOSSBilling (Apache-2.0), 1741 stars, last commit 2026-11-06
- Last activity: 2026-11-06
- Page: apps/FOSSBilling--FOSSBilling.html
- JSON: apps/FOSSBilling--FOSSBilling.json

## Use it when

- you run a hosting or digital-services business and want self-hosted billing and a client area
- you want an agent to issue invoices, manage orders and answer tickets through an API

## Gotchas

- README marks the project as beta with rough edges and limited support
- Needs PHP 8.3 or newer and a MySQL-compatible database; the zip PHP extension is required
- The API key is created in the admin or client profile; session-based browser calls need a CSRF token, key-based calls do not
- Rate limiter and api.allowed_ips in config.php can block automated callers

## Editions

- Free: Free, open source
  - source: https://github.com/FOSSBilling/FOSSBilling
  - container: docker run -d --name fossbilling -p 80:80 -v fossbilling:/var/www/html --restart unless-stopped fossbilling/fossbilling:latest
  - binary: https://fossbilling.org/downloads/

## Adaptable: make it yours

Effort: light-edit (7 things to edit), surface kind admin-ui

Business behavior is set in the admin UI and database: products, pricing, tax, email templates, payment gateways, branding. Themes override module Twig templates, with user customizations in themes/&lt;name>/html_custom/. config.php holds deployment settings (security, database, cache, locale, API rate limits), not business rules.

- Env vars: DB_HOST, DB_NAME, DB_USER, DB_PASS, DB_PORT
- Config files: config.php, themes/&lt;theme>/html_custom/
- Prompt files: none
- Accounts you'll need: A payment gateway account, for example PayPal or Stripe

## Operable: what an agent can drive

Operability: official. Interface: api at https://docs.fossbilling.org/extensions-and-development/api/ (published by the builder, local).

### Reach (partial coverage)

- Create and manage invoices: reachable. /api/admin/invoice: get_list, prepare, issue, refund, mark_as_paid, cancel (src/modules/Invoice/Api/Admin.php)
- Create and manage orders: reachable. /api/admin/order: create, activate, renew, suspend, cancel (src/modules/Order/Api/Admin.php)
- Manage clients: reachable. /api/admin/client: get_list, create, update, balance_add_funds
- Define products and add-ons: reachable. /api/admin/product: update, update_config, addon_create
- Payment gateways and transactions: reachable. /api/admin/invoice: gateway_install, gateway_update, transaction_create, transaction_process
- Taxes and promos: reachable. /api/admin/invoice: tax_create, tax_update; /api/admin/product: promo_create, promo_update
- Support tickets: reachable. /api/admin/support: ticket_create, ticket_reply, ticket_close
- Email templates and sending: reachable. /api/admin/email: template_update, template_reset, email_get_list; Massmailer module: create, send
- Currencies and exchange rates: reachable. /api/admin/currency: create, update_rates, set_default
- Theme template files and config.php: not reachable. /api/admin/theme can select a theme and preset, but Twig files and config.php are files with no write endpoint

## Code stack

- Languages: PHP, TypeScript, JavaScript
- Frameworks: Symfony components, Twig, Doctrine, RedBeanPHP
- Package manager: composer, npm
- Database: MySQL, MariaDB
- Hosting target: docker, LAMP/LEMP

## Skills

contributor: Skills are for maintainers handling security advisories. AGENTS.md at the root guides contributors.
- Paths: .agents/skills/security-advisory-fix/SKILL.md, .agents/skills/security-advisory-triage/SKILL.md

## Evidence and confidence

- formFactor: README and docs: LAMP/LEMP web app with a Docker image (confidence 0.9)
- executionModel: no model in the product (confidence 0.95)
- operability: FOSSBilling/docs api.mdoc: /api/admin, /api/client, /api/guest, HTTP Basic with API key; method lists from src/modules/*/Api/Admin.php (confidence 0.85)
- effort: docs creating-a-theme.mdoc: html_custom override order; docs config.mdoc and src/config-sample.php are deployment settings (confidence 0.65)
- editions: README and fossbilling.org: free, self-hosted, donation links only; no paid or hosted edition (confidence 0.9)
- active: Latest commit 2026-11-06 with feature work by a maintainer; release 0.8.9 on 2026-10-23, four releases since August. README still calls the project beta
- provenance: Search on the repo: 285 commits with a Copilot co-author, 13 with a Claude co-author and 100 PRs by the Copilot coding agent, on top of a long human-written history (confidence 0.85)
- reach:  (confidence 0.8)

## Sources

- https://github.com/FOSSBilling/FOSSBilling (sourcing:invoicing-finance:github)
- https://github.com/FOSSBilling/docs/blob/main/src/content/docs/extensions-and-development/api.mdoc (analysis)
