Client approval
Office guide: set up which clients must approve hours, send secure approval links, and handle corrections and rejections.
Last updated: · Markdown version
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.
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
- Make sure the employees have submitted the week.
- 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").
- If the client has an approver contact, TimeTracking emails the link to that address immediately. Otherwise copy the link and send it yourself.
- The link is valid for 14 days. Reminders are sent automatically.
3. What the client does
- Opens the link and sees the hours of the period for all your workers at that client.
- 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).
- Per day chooses: approve, correct (enter the right hours and a reason), or reject (with a reason).
- 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: " |
| Rejected | The day stays submitted, back in your queue, with the note "Opdrachtgever: ". 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 or via the MCP tool create_client_approval_link. Note: the API emails the approver contact automatically when one exists.