Yağızhan Burak YakarandAdam Daley f2ccbf491a Permission system improvements and new permission keys (#3396)
* Decouple hide_permissions and can_always_access

* Introduce 13 new permission keys for Client and Hook

* Create a new `has_permission` function in Twig and start using it

* Created 5 new permission keys for Currency

* Remove unused logMock

* Implemented per-request caching for staff permissions

* Decouple hide_permissions and can_always_access

* Introduce 13 new permission keys for Client and Hook

* Create a new `has_permission` function in Twig and start using it

* Created 5 new permission keys for Currency

* Remove unused logMock

* Implemented per-request caching for staff permissions

* Created 3 new permission keys for System

* Return a more helpful exception message

* Make permission errors return HTTP 403 instead of 401

* Created 2 new permission keys for Redirect

* Renamed the keys to keep in line

* Fixed tests

* Add manage_settings permission key to Redirect

* Refactor API authentication flow and improve token handling

* Enforce `client.view` and refactor staff cache

---------

Co-authored-by: Adam Daley <admdly@users.noreply.github.com>
2026-04-15 18:36:58 +01:00
2025-10-08 00:22:59 +01:00
2025-01-23 15:11:53 -08:00
2025-10-06 12:44:20 +01:00
2026-04-13 05:20:20 +00:00
2026-01-26 11:18:35 -08:00


FOSSBilling logo

Download button

CI Download Latest License CodeFactor Financial Contributors Crowdin Discord Stand With Ukraine Contributor Covenant

Note

FOSSBilling is under active development and currently considered beta. Expect rough edges and limited support.

FOSSBilling is a free, open-source billing and client management system. It helps online service businesses automate invoicing, payments, and client communication. While it’s popular with web hosting providers, it also works well for software licensing, digital downloads, and subscription services.

Features

  • Billing & Invoicing: automated invoices, reminders, and basic reporting.
  • Client Management: a central place for client data and communication.
  • Extensibility: extension-friendly architecture for integrations and custom features.
  • Payments: support for multiple gateways.
  • Translations: community-powered, multi-language interface.
  • Responsive UI: usable on desktop and mobile.
  • Security-focused: built with security best practices in mind.

Getting Started

Requirements

FOSSBilling runs on standard LAMP/LEMP stacks. For the latest system requirements (PHP version, extensions, database, etc.), see the official requirements.

Installation

Follow the step-by-step Getting Started guide.

Just exploring? Try the public demo.

Contributing

We welcome contributions from the community! We’re actively modernizing the codebase and there’s plenty to do.

If you prefer to start a conversation first, drop by the forum or say hello on Discord.

Star History

Star History Chart

Not a developer? Starring the repository helps others discover the project.

License

FOSSBilling is released under the Apache 2.0 license. See LICENSE for details.

This project includes third-party work:

Languages
PHP 77.6%
Twig 19.9%
TypeScript 2.1%
SCSS 0.2%