GDPR Records of Processing: Article 30 Template
Steven | TrustYourWebsite · 14 May 2026 · Last updated: May 2026
The Article 30 record of processing activities (often abbreviated ROPA) is the single document that turns "we comply with GDPR" into "we can prove we comply with GDPR". It is the inventory of every processing activity an organisation carries out, with enough detail to allow the supervisory authority to verify accountability without having to dig through individual systems.
This guide covers when the register is required, the differences between the controller and processor versions, the content each must contain, and a ready-to-fill template for a small organisation that does not yet have one.
The Article 30(5) exemption: read it carefully
A common misreading of GDPR is that businesses with fewer than 250 employees are exempt from the register obligation. The text of Article 30(5) is narrower: the exemption applies only when all three of the following are true:
- The processing is occasional
- The processing does not include special category data (Article 9) or criminal-offence data (Article 10)
- The processing is unlikely to result in a risk to the rights and freedoms of data subjects
The conditions are cumulative, not alternatives. Any business with regular customer interactions, regular employee data, regular newsletter subscribers or regular website analytics fails the first condition (occasional). Most fail at least one of the others as well.
In practice, the small-business exemption applies to vanishingly few real organisations. The European Data Protection Board has consistently read the exemption strictly. Plan to maintain the register; treat the exemption as an edge case rather than the rule.
Controller vs processor register
Article 30(1) sets out the content of the controller register. Article 30(2) sets out the shorter content of the processor register. An organisation that acts as controller for some activities (its own customers, employees, marketing) and as processor for others (handling data on behalf of a client) must keep both.
Controller register (Art. 30(1))
For each processing activity, the controller register must contain:
- Name and contact details of the controller (and, where applicable, of the joint controller, the controller's representative and the data protection officer)
- Purposes of the processing
- Description of the categories of data subjects
- Description of the categories of personal data
- Categories of recipients to whom the personal data have been or will be disclosed
- Transfers of personal data to a third country or international organisation, including identification of the country and, for transfers under Article 49(1) second subparagraph, the documentation of suitable safeguards
- Envisaged time limits for erasure of the different categories of data, where possible
- General description of the technical and organisational security measures, where possible
Processor register (Art. 30(2))
For each processing carried out on behalf of a controller, the processor register must contain:
- Name and contact details of the processor and each controller on behalf of which the processor is acting (and, where applicable, of the controller's or processor's representative and the data protection officer)
- Categories of processing carried out on behalf of each controller
- Transfers of personal data to a third country or international organisation, including identification of the country and, for transfers under Article 49(1) second subparagraph, the documentation of suitable safeguards
- General description of the technical and organisational security measures, where possible
The processor register is shorter because the purposes, data subject categories and data categories are the controller's responsibility to document, not the processor's.
What a "processing activity" actually means
The GDPR does not define "processing activity" with surgical precision. The EDPB's working interpretation is that each distinct purpose-based grouping of operations is one activity. Examples for a small online shop:
- Customer purchase fulfilment
- Customer support enquiries
- Newsletter and direct marketing
- Employee payroll and HR
- Website analytics
- Server logs and security monitoring
Six processing activities, each with its own purpose, data categories, recipients and retention period. A larger organisation will have more; a sole trader with no employees will have fewer.
The mistake to avoid is collapsing distinct purposes into one row ("customers") or exploding one activity into dozens of micro-rows ("customer name", "customer email", "customer phone"). One row per purpose is the right grain.
Template: controller record
For each processing activity, fill in the following fields. A spreadsheet with one row per activity is sufficient.
| Field | Example content |
|---|---|
| Activity reference | C-01 |
| Activity name | Customer order fulfilment |
| Date created / last updated | 2026-05-14 |
| Controller | [Legal name + registration number] |
| Representative in EU (if applicable) | n/a |
| Data protection officer | [Name + email] or "not designated; not required under Art. 37" |
| Purpose | Process orders, deliver goods, handle returns and customer support |
| Legal basis | Art. 6(1)(b) contract performance; Art. 6(1)(c) for tax record retention |
| Categories of data subjects | Customers, prospective customers |
| Categories of personal data | Name, address, email, phone, order history, payment metadata |
| Special category data | None |
| Recipients | Hosting provider, payment processor, shipping carrier, accounting platform |
| International transfers | Payment processor (US, EU-US DPF); analytics (US, EU-US DPF) |
| Retention period | Order data 7 years (tax law); customer account until last activity + 2 years; payment metadata per processor policy |
| Technical and organisational measures | TLS in transit, encryption at rest, role-based access, MFA on admin accounts, daily backups, vulnerability scanning |
| Linked record of processing for processor side | n/a |
Repeat the row for every distinct processing activity.
Sample second row: newsletter
| Field | Example content |
|---|---|
| Activity reference | C-02 |
| Activity name | Newsletter and direct marketing |
| Purpose | Send monthly newsletter to subscribers who have opted in |
| Legal basis | Art. 6(1)(a) consent |
| Categories of data subjects | Newsletter subscribers |
| Categories of personal data | Email address, first name (optional), consent metadata (timestamp, IP, source) |
| Recipients | Email marketing platform |
| International transfers | If platform is US-based: EU-US DPF |
| Retention period | Until subscriber unsubscribes |
| Technical and organisational measures | Double opt-in, encrypted storage, admin MFA |
Template: processor record
For each engagement where the organisation processes data on behalf of another organisation.
| Field | Example content |
|---|---|
| Engagement reference | P-01 |
| Controller | [Customer's legal name and contact] |
| Categories of processing | Cloud hosting and storage of customer's personal data |
| International transfers | EU-only data centres; no transfers outside EEA |
| Technical and organisational measures | ISO 27001 certified DC, encryption at rest, network segmentation, SIEM monitoring |
| DPA reference | Signed 2026-03-15, archived at [location] |
| Sub-processor list reference | sub-processors-2026.pdf |
Common mistakes
Treating "Article 30 exempt" as the default. The exemption is narrow; most organisations are not in scope.
Mixing controller and processor activities in one register. The fields are different. Keep two sheets.
Listing systems instead of purposes. "Mailchimp", "Stripe", "Google Analytics" are not processing activities; they are recipients of data within an activity. The activity is "send newsletter", with Mailchimp as a recipient.
Retention periods missing. A retention period that says "as long as necessary" fails Article 13(2)(a) and surfaces in the register as well. Specific timeframes per category.
No update process. The register is correct at creation and stale six months later. Schedule a quarterly review and an update workflow whenever a new tool or supplier is added.
Special category data not flagged. Health, biometric, political opinion data require additional grounds under Article 9 and additional measures. Flag them explicitly in the register.
No transfer mechanism documented. A row that says "data goes to a US service" without naming the transfer mechanism (DPF, SCCs, BCRs) is incomplete. Document the mechanism, not just the destination.
How the register fits the wider GDPR programme
The register is the index that everything else points to:
- The privacy notice draws its content from the register (purposes, recipients, retention)
- The data processing agreement with each processor maps to a row in the register
- The data breach notification workflow uses the register to identify affected activities
- A data subject access request is fulfilled by walking the register and pulling data from each system mentioned
- A DPIA under Article 35 starts from the register entry for the activity being assessed
If the register is missing or stale, every downstream obligation becomes harder to perform. If the register is current and accurate, every downstream obligation becomes mostly mechanical.
For the broader compliance baseline, the GDPR compliance checklist covers the controls that surround the register.
Final checklist
- You have decided the exemption does not apply and you are maintaining a register
- You have separate sheets for controller and processor activities
- Each row represents one distinct purpose, not one tool
- Every required Article 30(1) field is populated for each controller row
- Every required Article 30(2) field is populated for each processor row
- Retention periods are specific timeframes per category
- International transfer mechanisms are named (DPF, SCCs, BCRs)
- Technical and organisational measures are described
- The register has a review owner and a quarterly review schedule
- The register can be produced in writing to the supervisory authority within the timeframe specified in any request
This is technical analysis, not legal advice. For complex group structures, joint controllership arrangements or active supervisory authority investigations, consult a lawyer who specialises in data protection.
Check your website now
Scan your website for GDPR & Privacy issues and 30+ other checks.
Start free checkWebsite Guides
Belgian GBA Cookie Enforcement: What They Check on Your Website
The Belgian Gegevensbeschermingsautoriteit (GBA) enforces cookie rules under the Wet van 13 juni 2005. Here is what they check and how to fix your cookie setup.
Cookie Banner Requirements for Belgium: What English-Speaking Businesses Need to Know
What your cookie banner must do in Belgium. GBA enforcement, equal reject button, no dark patterns and a checklist included.
Data Breach Reporting Under GDPR: 72-Hour Notification
Report a personal data breach under GDPR Article 33: the 72-hour clock, when notification is required, what to file and when to tell affected individuals.