/kms

Web application for time tracking and invoicing.

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

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

Build containers:

docker-compose -f docker-compose.dev.yml build

Edit configuration file .env.dev if necessary.

Start app for development:

docker-compose -f docker-compose.dev.yml up kms_development

Access web application: http://localhost:3000

Run Production

Change values in .env.production accordingly.

Start server with:

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

Access web application: http://localhost:3000

Run Tests

Run tests inside docker container with:

docker-compose -f docker-compose.test.yml run --rm tests

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'

Questions?

For any questions drop me a mail: kms-opensource@use.startmail.com

License

GPL-3.0