ginger-tek / faktura
Simple, self-hosted, flat-file invoicing web app, with invoice templating and user access control
Package info
Type:project
pkg:composer/ginger-tek/faktura
1.0.4
2026-07-28 00:57 UTC
Requires
- firebase/php-jwt: ^7.1
- ginger-tek/routy: ^4.4
- parsedown/parsedown: ^1.8
README
Simple, self-hosted, flat-file invoicing web app, with invoice templating and user access control.
Requirements
- Caddy/Nginx/Apache etc.
- PHP 8+
- PHP Extensions:
- mbstring
- pdo_sqlite
Get Started
- Create new instance in current directory:
composer create-project ginger-tek/faktura . - Run setup script (if not using OS env vars, local .env file will be generated):
composer run setup
- Create first admin user (see create new user):
- Finally, serve app from
public/using preferred web server
CLI
List Users
composer cli list-users > [ { "id": 1, ... }, ... ]
Create New User
If permission bit value is not provided, default permissions is set to only view/list invoices/clients/expenses.
composer cli new-user {username} {password} {?permissions_bit}
Example, create admin user with all permissions:
composer cli new-user "admin" "mypassword" 131070 > { "id": 1, "username": "admin", ... }
Permissions
Show key-value list of permissions
composer cli list-permissions
Get a bit-sum of permissions by regex filter to set on a user, i.e. all invoice-related permissions:
composer cli filter-sum-permissions 'invoice_.*' > 62