Home
Softono

Kms

Open source Ruby
12
Stars
0
Forks
7
Issues
1
Watchers
4 months
Last Commit

 About Kms

Web application for time tracking and invoicing.

Platforms

Web Self-hosted

Languages

Ruby

Links

Need Help Installing Kms?

We provide expert installation service for this software. Our team will install, configure, and secure Kms on your server. plans start at just $30.

KMS logo

GitHub release License: GPL v3 Build Status

A web application for time tracking and invoicing.

Initially created for the Koster Consulting AG and in productive use since multiple years.

Features

  • Time & absences tracking
  • Time & invoice reports
  • Generate invoices based on tracked time
  • Send invoice by e-mail
  • Manage invoice payments
  • and many more...

Getting Started

Use docker for development, testing and production.

Start Locally

Install dependencies with mise:

mise install

Make sure direnv is installed.

Enable corepack and install JS dependencies:

corepack enable
yarn install

Start postgres database:

docker compose up postgres

Edit configuration file .env.development if necessary.

Start rails server:

bundle exec rails s

Access web application: http://localhost:3000

Run Tests Locally

To run the tests locally, ensure that postgres is running.

docker compose up postgres
bundle exec rspec

Build

docker compose -f docker-compose.prod.yml build kms

Run Production

Change values in .env accordingly.

Start server with:

docker compose -f docker-compose.prod.yml up kms

Access web application: http://localhost:3000

Configuration

See .env.example for example configuration.

Hints

Invoice Configuration

The invoice parameters are configured with env variables:

  • INVOICE_IBAN
  • INVOICE_VAT_NUMBER
  • INVOICE_SWIFT
  • INVOICE_MAIL_FOOTER (use \n for newlines)

To use a company template for the invoices, set the path to the corresponding PDF as INVOICE_COMPANY_TEMPLATE_PATH, e.g.

INVOICE_COMPANY_TEMPLATE_PATH='/home/kms/invoice_template.pdf'

Mails in development

In development no emails will be sent. One can access all emails here: http://localhost:3000/letter_opener For more details, see https://github.com/fgrehm/letter_opener_web

Questions?

For any questions drop me a mail: [email protected]

License

GPL-3.0