Bill your clients. Run it anywhere.

Tidemark Billing is an open-source billing system and client portal. Invoices, quotes and recurring billing are built in; payment providers, hosting panels and your own automations are plugins. It runs on ordinary PHP hosting or in Docker.

  • Open source (MIT)
  • PHP shared hosting or Docker
  • REST API and signed webhooks
  • Plugins for payments and hosting
Why Tidemark Billing

The billing you need, and a door for the rest.

A small core that does the job, and a plugin system for everything that differs from one business to the next.

Invoices and quotes

Automatic numbering, taxes by country and region, partial payments and refunds. PDFs download from the portal and attach to emails, and pay links work without signing in. A quote turns into an invoice and its services when the client accepts.

Recurring billing that runs itself

Cycles from monthly to every three years, setup fees and multi-currency prices. A daily billing run raises renewals, sends reminders, and suspends or terminates what stays unpaid. Free trials, prorated plan changes and usage-based pricing are built in.

A client portal

Customers order, pay invoices, accept quotes, manage and change their services, save payment methods, open support tickets and create API tokens, under your logo and brand colour.

Payments and autopay

Stripe and PayPal are bundled, with refunds and webhooks. Customers can save a payment method, and failed autopay charges are retried on a schedule with an email to the customer.

Plugins for everything else

Payment gateways, provisioning modules, routes, views, menus and event listeners, all from a folder you drop in or a zip you upload. cPanel, DirectAdmin, Enhance and a license server are bundled.

An API for your own front end

A REST API for customers and staff with an OpenAPI description, token abilities and rate limiting, plus outbound webhooks signed with HMAC-SHA256.

Every feature, in detail

Up and running in minutes.

Docker or a zip on ordinary PHP hosting. Either way you finish in a web installer that checks your server, connects a database and creates your admin account.

  1. Install it

    Upload the release zip, or run one Docker container with the scheduler and queue worker built in.

  2. Open /install

    SQLite needs no setup; MySQL, MariaDB and PostgreSQL work too.

  3. Add email and a payment plugin

    Enter your SMTP details, switch on Stripe or PayPal, and add your first product.

Install guide
docker-compose.yml
services:
  billing:
    image: ghcr.io/tidemark-apps/billing:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - billing-data:/data
    environment:
      APP_URL: https://billing.example.com
volumes:
  billing-data:

Build on it.

Create a token in the admin area or the client portal, and the API is yours. The reference and the OpenAPI file are in the repository and served by every install.

Read the API guide
terminal
$ curl -H "Authorization: Bearer $TOKEN" \
    https://billing.example.com/api/v1/me

Questions

Is it really free?

Yes. Tidemark Billing is open source (MIT). You run it on your own PHP hosting or server, with no licence fee and no account with us.

Where can I run it?

On ordinary PHP shared hosting (PHP 8.3 or newer, with SQLite, MySQL, MariaDB or PostgreSQL), or in Docker. You do not need SSH or Node. It needs one cron job that runs every minute, or a secret URL you can call from a cron service if your host has no command-line cron.

Which payment providers does it support?

Stripe and PayPal plugins are bundled: customers pay by hosted checkout, and refunds and webhooks are handled. Customers can save a payment method for autopay, with scheduled retries when a charge fails. Other providers are added as plugins.

Can it set up hosting accounts for my customers?

Bundled plugins for cPanel and WHM, DirectAdmin and Enhance create, suspend, unsuspend and terminate accounts. They follow each vendor’s published API documentation but have not been tested against live servers yet, so try them on a test account first.

Can I build my own front end?

Yes. A REST API (v1) covers customers and staff, with an OpenAPI description, tokens that carry only the abilities you give them, rate limiting and webhooks signed with HMAC-SHA256.

Is the interface translated?

Not yet: the interface is in English. Invoices and quotes can print Chinese, Japanese and Korean text once you install an optional font pack.

How do I update it?

With Docker, pull the newer image and recreate the container; it applies new migrations when it starts. On PHP hosting, replace the files with the new release, keeping your .env and storage folder, and run php artisan migrate --force.

More answers are in the install guide and the docs.

Run it on your own server.

Open source (MIT) and yours to change. Install it in about ten minutes.