dmsforall
MIT, no paid editionRuns on your own server

Your garage, on your own server: repair orders

dmsforall is management software for Swiss garages and dealerships. Repair orders, invoices with a Swiss QR-bill, parts, time clocking and car sales, in one browser application that you run yourself.

OR-2026-0187 Blue hatchbackOld estate carCity carReceivedIn workInvoicedPaid
ComplaintStrange noise from the backRattle every time it brakesSmells like a bakery
Cause foundA tennis ball in the bootA garden gnome under the seatA croissant under the seat, since March
Diagnostic, 0.5 h60.00
Tennis ball removal, 0.2 hGnome rescue, 0.3 hCroissant recovery and cleaning, 0.4 h24.0036.0048.00
VAT 8.1%4.86
Total, CHF64.86

QR-bill Payment duePaid

Reference 21 00000 00003 13947 14300 09017

Decorative pattern, it cannot be scanned.

A car arrives with a complaint, and the workshop finds the cause.

Development is paused for now. The code, images and docs stay available, but do not expect new features or quick fixes.

How it works

From the first start to the first invoice.

  1. Install

    Clone the repository and run Docker Compose. The first start prepares the database.

  2. Set up the garage

    Create the garage account, its sites, its staff and the invoicing settings.

  3. Run the workshop

    Open repair orders, add labour and parts, clock time from the workshop terminal.

  4. Invoice

    Issue the invoice with a Swiss QR-bill, record the payment, correct with a credit note.

See all features

Limits

Honest limits

dmsforall is in alpha. Read this before you rely on it.

  • Alpha

    The data model, the configuration variables and the screens can still change between releases. Until version 1.0, an upgrade can require manual steps.

  • French, German and Italian

    The interface exists in these three languages only.

  • Designed for Switzerland

    Swiss law and VAT, QR-bill invoices, amounts in CHF centimes. It is not designed for other countries.

  • No tax or legal guarantee

    Have invoices, VAT figures and accounting exports checked by a fiduciary before you rely on them.

  • Third-party connectors

    Connectors to outside services, such as a vehicle reference data source or a parts catalogue, need their own licences or accounts.

Get dmsforall running

The first garage account is created with a command that is still being delivered. See Set up your first garage.

$ git clone https://github.com/selfhostr/dmsforall.git && cd dmsforall
$ cp .env.example .env  # optional for a first try
$ docker compose up -d  # then open http://localhost:8080