A new build of Ledgeron
Ledgeron has a new build. It replaces the one the earlier entries in this feed describe, and it keeps the name. The product status now describes the new build, and the older entries carry a note saying which build they were written about.
Some areas the old status called implemented are planned again, because the new build does not have them yet. Staff accounts and permissions, re-authentication before sensitive actions, and the communications foundation are among them.
Three databases
The new build runs on MySQL, MariaDB or PostgreSQL. Every change is tested on MySQL 8.4, MariaDB 11.8 and PostgreSQL 18, and older supported versions are tested nightly. It is written in PHP 8.3 to 8.5.
Billing came first
What is implemented today: clients, the product catalog, pricing and exchange rates, promotions, ordering, services, billing documents, automation, payments through Stripe, and an audit log. Issued tax invoices can’t be changed, and the database enforces it. Numbering has no gaps, and credit notes are the only correction. Payments have not yet run against live Stripe. Tax is in development now.
No screen exists yet. The admin and client screens are planned, after the REST API and staff permissions. Provisioning modules for cPanel/WHM, Plesk, DirectAdmin and Virtualizor/Proxmox are being designed, with more to follow soon.
How it is tested
- Over 5,300 automated tests, run on each of the three databases for every change.
- Money is kept as whole minor units (cents), never floating point, and the money rules have property tests.
- Each rule is proved by breaking it on purpose and checking that a test fails.
- Every task gets an independent review before it merges.
- Concurrency is tested under load, with several clients’ work running at once.
The roadmap lists the stages from here to controlled early access in 2027.