ginger-tek/faktura

Simple, self-hosted, flat-file invoicing web app, with invoice templating and user access control

Maintainers

Package info

github.com/ginger-tek/faktura

Type:project

pkg:composer/ginger-tek/faktura

Transparency log

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.4 2026-07-28 00:57 UTC

This package is auto-updated.

Last update: 2026-07-28 00:57:43 UTC


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

  1. Create new instance in current directory:
    composer create-project ginger-tek/faktura .
  2. Run setup script (if not using OS env vars, local .env file will be generated):
    composer run setup
  3. Create first admin user (see create new user):
  4. 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