Everything it takes to get paid.
A small, complete set of tools for billing clients and running recurring services, with a plugin system for the rest.
From first quote to renewal.
The documents and the schedule, without a spreadsheet in between.
-
Invoices
Automatic numbering, taxes by country and region, and partial payments. Refund part or all of a payment.
Download invoices as PDFs, which are also attached to the emails. Pages print cleanly, and each invoice has an unguessable pay link that works without a login.
-
Quotes
Send a quote that the client accepts online with one click. It converts straight into an invoice and the services it orders.
-
Products and recurring services
Prices in several currencies, setup fees, and billing cycles from monthly to every three years. A daily billing run raises renewal invoices, sends reminders, and suspends and terminates unpaid services. Customers can cancel at the end of the term.
-
Usage-based billing
Give a product meters priced per unit, in tiers or in packages. Usage is billed in arrears on the renewal invoice.
-
Free trials
Set a trial length on a product and customers get the service straight away with no invoice. The first invoice is raised when the trial ends, with a reminder email beforehand. A trial is once per customer per product, can require a saved payment method, and staff can extend or end it early.
-
Plan changes
Upgrades, downgrades and billing-cycle changes, from the portal or the admin area, with the unused time credited and the rest charged by the day on one invoice. Downgrades wait for the next renewal by default, and every change is recorded on the service.
-
Cancellations you control
Choose whether customers cancel at the end of the billing term, immediately, or pick for themselves. If you allow immediate cancellation, you can refund the unused days automatically.
-
Internal accounts
Mark your own team or test customers as internal: their services are free, and they are left out of revenue, outstanding and overdue figures on the dashboard and in the API.
Get paid without chasing.
Payments that fit the way your customers already pay.
-
Stripe and PayPal
Hosted Stripe Checkout and PayPal checkout come bundled, with webhooks and refunds. Other payment providers are added as plugins.
-
Saved payment methods and autopay
Customers can save a payment method and let renewals charge it. When a charge fails it is retried on a schedule, and the customer is emailed each time.
A portal your customers will use.
Self-service for the common questions, under your brand.
-
Client portal and order form
Customers order from a catalogue with plan cards, pay invoices, accept quotes, manage and change their services, and create API tokens. Staff can open any account with “view as client”.
-
Support tickets
Optional, and off until you switch them on. Departments, email in through IMAP or piping, custom fields, internal notes, assignment, and secure attachments that are stored privately and checked by content.
Replies only thread onto a ticket from its own customer, so quoting a ticket number cannot inject a message.
-
Knowledge base
Optional articles written in Markdown, in categories that nest to any depth, published at /kb with search, a table of contents and a helpful yes/no vote. Guests can read them or only signed-in customers, as you choose.
-
Your logo, name and colour
The sign-in pages, client area and public pages show your business name or logo. Pick a brand colour and the app, emails and PDFs use it; if the colour would be hard to read, it is nudged to the closest accessible one for each theme. Light and dark themes are built in.
An API and a plugin system.
The core stays small; your business logic goes in a folder.
-
REST API and webhooks
A REST API (v1) for customers and staff, with an OpenAPI description, tokens that carry only the abilities you give them, and rate limiting. Outbound webhooks are signed with HMAC-SHA256 so you can verify them.
Read the docs -
Plugins
A plugin is a folder with a plugin.json and a class. It can register payment gateways, provisioning modules, routes, views, menus and event listeners, and run its own migrations. Install, upgrade and remove them from a zip in the admin area; a failed upgrade rolls its migrations back.
-
Bundled plugins
Stripe, PayPal, cPanel and WHM, DirectAdmin, Enhance, and a license server that issues license keys with a public verify and activate API and offline-verifiable signatures.
The control-panel plugins follow each vendor’s published API documentation but have not been tested against live servers yet, so try them on a test account first.
Protect the accounts.
Sign-in security for your staff and your customers.
-
Two-factor sign-in
An authenticator app and recovery codes for staff and customers, with trusted devices. You can require it for staff.
-
Staff and departments
An administrator-only Staff page. Staff see the tickets in their departments and the ones assigned to them; administrators see everything.
Runs where you already have hosting.
No platform to adopt.
-
PHP hosting or Docker
Upload a zip to ordinary PHP hosting with no SSH, or run one Docker container for amd64 or arm64. It works with SQLite, MySQL, MariaDB or PostgreSQL, and the web installer sets it up.
Tidemark Billing is open source (MIT), so the code and the docs are yours to read.
See how to install it
Run it on your own server.
Open source (MIT) and yours to change. Install it in about ten minutes.