> ## Documentation Index
> Fetch the complete documentation index at: https://docs.klantel.be/llms.txt
> Use this file to discover all available pages before exploring further.

# Timer & tijdregistratie

> Hoe de live timer en handmatige invoer werken, inclusief offline-modus

# Timer & tijdregistratie

Klantel registreert tijd per **project**. Je kunt een live timer starten of uren handmatig invoeren.

## Live timer

### Timer starten

1. Open een project.
2. Klik op **▶ Start timer**.
3. De timer toont de verstreken tijd in real-time.

De starttijd wordt **onmiddellijk opgeslagen** in de database. Als je browser crasht of je verbinding uitvalt, gaat de timer gewoon door.

### Timer stoppen

1. Klik op **⏹ Stop**.
2. Optioneel: voeg een **notitie** toe (wat heb je gedaan?).
3. De tijdregistratie wordt opgeslagen met begin- en eindtijd.

<Warning>
  Je kunt slechts **één timer tegelijk** laten lopen per account. Als je een nieuwe start terwijl er al een loopt, word je gevraagd de actieve eerst te stoppen.
</Warning>

## Offline-modus (PWA)

Klantel werkt als **Progressive Web App** en ondersteunt offline gebruik.

| Situatie                        | Gedrag                                                          |
| ------------------------------- | --------------------------------------------------------------- |
| Timer starten zonder verbinding | Start gebufferd in `localStorage`; gesynchroniseerd bij herstel |
| Timer stoppen zonder verbinding | Stop gebufferd in `localStorage`; gesynchroniseerd bij herstel  |
| Verbinding herstelt             | Gebufferde acties worden automatisch verwerkt; pagina ververst  |

### Installeren als app

Op mobiel of desktop:

* **Android/Chrome:** tik op de banner "Voeg toe aan startscherm" of gebruik het menu → *Installeer app*.
* **iOS/Safari:** tik op het Deel-icoon → *Zet op beginscherm*.
* **Desktop/Chrome of Edge:** klik op het installatieicoon in de adresbalk.

## Taaktype selecteren

Als er taaktypes zijn ingesteld (zie [Taaktypes](/handleiding/taaktypes)), verschijnt er een extra dropdown in het timerformulier. Selecteer het type werk voor de timer start — het bijbehorende uurtarief wordt automatisch toegepast bij de facturatie.

## Handmatige tijdinvoer

Als je vergeten bent de timer te starten, of je wilt historische uren invoeren:

1. Ga naar **Tijdregistratie** → **Handmatige invoer**.
2. Kies het project en optioneel een taak.
3. Vul **startdatum en -tijd** in en **einddatum en -tijd** (of het aantal uren).
4. Voeg een notitie toe.
5. Klik op **Opslaan**.

<Note>
  Handmatige invoer vereist een begin- én eindtijd. Klantel slaat altijd exacte tijdstippen op — dit is een vereiste van de Belgische wetgeving (zie [Wettelijke vereisten](/handleiding/wettelijke-vereisten)).
</Note>

## Weeknavigatie

Je kunt eenvoudig door vorige weken bladeren zonder naar het urenpport te gaan.

Bovenaan het weekoverzicht staan navigatiepijlen:

```
← Vorige week   |   26 mei – 1 juni 2026   |   Volgende week →
```

* Klik op **← Vorige week** om de uren van de vorige week te bekijken.
* De **Volgende week**-knop is uitgeschakeld als je de huidige week bekijkt.
* De URL bevat een `week`-parameter (bv. `?week=2026-W22`) — je kunt deze ook rechtstreeks invullen of bookmarken.
* Alle filters (klant, project, zoekterm) en totalen gelden voor de geselecteerde week.

## Overzicht van geregistreerde uren

In het **Tijdregistratie**-tabblad zie je alle registraties per project:

* Navigeer per week via de pijlknoppen
* Filter op klant of project
* Totalen per geselecteerde week
* Exporteer naar CSV (voor loonadministratie)

## Facturatiestatus van tijdregistraties

Elke tijdregistratie heeft een facturatiestatus die zichtbaar is in het weekoverzicht:

| Badge                          | Betekenis                                                 |
| ------------------------------ | --------------------------------------------------------- |
| **Gefactureerd** (groen)       | Opgenomen in een verzonden factuur — niet meer bewerkbaar |
| **Niet-factureerbaar** (grijs) | Uitgesloten van facturatie (interne uren, pauze, enz.)    |
| *(geen badge)*                 | Nog niet gefactureerd en factureerbaar                    |

### Factureerbaar in-/uitschakelen

Per tijdregistratie kun je de factureerbare status wijzigen zolang de uren **nog niet gefactureerd** zijn:

1. Open **Tijdregistratie** → overzicht van de week.
2. Zoek de registratie op.
3. Klik op **Niet-factureerbaar** (om uren uit te sluiten) of **Factureerbaar** (om ze terug op te nemen).

<Note>
  Eenmaal gefactureerde uren kunnen niet meer worden gewijzigd. De status "Gefactureerd" is definitief.
</Note>

## Tijdregistraties koppelen aan factuurregels

Bij het aanmaken van een factuur worden **factureerbare, nog niet gefactureerde** uren automatisch meegenomen:

1. Ga naar **Facturen** → **Nieuwe factuur** (of **Bundelfactuur** voor meerdere projecten).
2. Selecteer de klant en het project.
3. Klantel berekent automatisch het totaal op basis van de openstaande factureerbare uren.

Na het uitreiken worden de bijhorende tijdregistraties gemarkeerd als **Gefactureerd**.

## Offline gebruik en synchronisatie

Klantel werkt beperkt zonder internetverbinding:

* Een **lopende timer** blijft zichtbaar — de verstreken tijd wordt server-side bijgehouden, niet lokaal geteld. Je ziet altijd de correcte tijd, ook na het sluiten van de app, schermvergrendeling of een app-switch.
* Een timer **starten of stoppen** terwijl je offline bent, wordt lokaal opgeslagen en automatisch gesynchroniseerd zodra je opnieuw verbinding hebt.
* Bovenaan de app verschijnt een melding wanneer je offline bent.

<Warning>
  Andere functies (klanten, facturen, rapporten) zijn niet beschikbaar zonder verbinding. De offline-scope is bewust beperkt gehouden zodat de server altijd de bron van waarheid blijft.
</Warning>
