---
title: "Permissies"
space: "Frappe Framework"
url: "https://www.prilk.com/nl/docs/frappe-framework/permissies"
updated: "2026-05-14"
---

## Permissies

Frappes permissiemodel is **rolgebaseerd**, met optionele overrides op recordniveau. Doe dit vroeg goed — permissies achteraf aanpassen op een live site is pijnlijk.

### De drie lagen

| Laag | Granulariteit | Plek |
|---|---|---|
| **Role Permissions** | Per DocType per rol | Role Permissions Manager |
| **User Permissions** | Beperk een gebruiker tot records gekoppeld aan specifieke masterwaarden | User → User Permissions |
| **Share** | Eenmalige per-document toekenning | Document → Menu → Share |

### Role Permissions
Open **Role Permissions Manager**, kies een DocType en stel per rol in: read, write, create, submit, cancel, delete, plus levelgebaseerd velden verbergen. Frappe combineert permissies over alle rollen — de meest toegestane wint.

### User Permissions
Stel: gebruiker `alice@x.com` mag alleen Verkoopfacturen van **Klant A** zien. U wijzigt niet de rol — u voegt een User Permission toe: `Customer = A`. Frappe filtert dan klant-gelinkte documenten server-side. Combineerbaar (alice kan meerdere klanten hebben).

### Permission Levels (kolommen verbergen)
Elk veld heeft een `permlevel` (standaard 0). Rollen kunnen per level toegestaan/geweigerd worden. Gebruik dit om gevoelige velden (kostprijs, salaris) voor bepaalde rollen te verbergen, terwijl het document zichtbaar blijft.

### Sharing
Voor een eenmalige uitzondering — "laat Bob deze ene Verkoopfactuur zien" — gebruik **Share** vanuit het documentmenu. Lichter dan een rol maken; niet voor systemisch gebruik.

### Permission Query Conditions (ontwikkelaar)
Voor dynamische regels ("zie alleen documenten die u zelf maakte" of "alleen records van uw regio") registreren apps een `permission_query_conditions` hook die een SQL-fragment retourneert. Server-side filteren, niet alleen UI verbergen.
