# Client approval

> Office guide: set up which clients must approve hours, send secure approval links, and handle corrections and rejections.

URL: https://timetracking.tech/developers/help/office/client-approval
Last updated: 2026-10-24

Some clients (hirers, "inleners") must confirm the hours of your workers. TimeTracking sends them a secure link: no account, no password. The client sees the hours per person per day and approves, corrects or rejects them with a signature.

Developer details: [Client approval links](https://timetracking.tech/developers/data-in/client-approval-links).

## 1. Set who approves

In "Opdrachtgevers" (Clients), edit the client and set "Wie keurt uren goed?" (who approves hours?):

| Option | Meaning |
|---|---|
| "Alleen kantoor" (office only) | Office approval is enough. No link needed |
| "Alleen opdrachtgever (link)" (client only) | The client's approval via the link makes the day approved |
| "Kantoor én opdrachtgever" (office and client) | Both must approve; order does not matter |

Under "Contactpersonen" (contacts), add the person who approves, with email address. The approver receives the link and a confirmation code. Without a contact you must send the link yourself, and no code is asked.

## 2. Send the link

1. Make sure the employees have submitted the week.
2. On "Overzicht" (Overview), in "Accordering door opdrachtgever" (client approval), choose the client and click to create the link ("Maak een veilige link (geen account nodig) voor deze week").
3. If the client has an approver contact, TimeTracking emails the link to that address immediately. Otherwise copy the link and send it yourself.
4. The link is valid for 14 days. Reminders are sent automatically.

## 3. What the client does

1. Opens the link and sees the hours of the period for all your workers at that client.
2. Requests a 6-digit code, which is emailed to the approver's mailbox (only when a contact is set). The code is valid 10 minutes; 5 wrong attempts block it until a new code is requested (at most one new code per minute).
3. Per day chooses: approve, correct (enter the right hours and a reason), or reject (with a reason).
4. Signs with name and signature, and submits.

## 4. What happens with the answers

| Client decision | Result |
|---|---|
| Approved | Client approval is recorded. Day becomes approved if the office already approved (or if the mode is client only) |
| Corrected | The client's hours become the day's value and count as client approval; the note shows "Opdrachtgever: <reason>" |
| Rejected | The day stays submitted, back in your queue, with the note "Opdrachtgever: <reason>". Talk to the employee and client, then correct |

A day in conflict cannot be approved by the client as-is; the client must enter the correct hours (correct).

## Common problems

| Problem | Fix |
|---|---|
| "This link is invalid or has expired" | Older than 14 days or replaced by a reminder. Create a new link |
| Client does not receive the code | Check the contact's email address under "Contactpersonen"; check spam; wait one minute before requesting again |
| Client sees no days | Hours are not submitted yet, or the placement does not fall in the period |
| Day still waiting after client approved | Mode is "Kantoor én opdrachtgever" and the office has not approved yet |
| Hours changed after the client approved | Any change resets all approvals; send a new link |

## Automate it

Create links over the API with [`POST /approval-links`](https://timetracking.tech/developers/api/reference#post-approval-links) or via the MCP tool `create_client_approval_link`. Note: the API emails the approver contact automatically when one exists.
