zrsPOSLegal
HomePricingApps

zrsPOS — Data Processing Agreement (DPA)

Version 1.0 (draft for legal review) · 15 September 2026

Status. This is the operating draft the zrsPOS service is run under today. It is written to reflect what the service actually does. Before it is signed by a third-party merchant it should be reviewed by counsel qualified in Portuguese and EU data protection law. Until then, its commitments are honoured unilaterally by the Processor.

This Data Processing Agreement forms part of the zrsPOS Terms of Service between:

and applies to the processing of personal data by zrsPOS on the Merchant's behalf under Regulation (EU) 2016/679 (GDPR) and Portuguese Law 58/2019.

1. Subject matter and purpose

zrsPOS issues, corrects, prints and archives Portuguese fiscal documents (faturas, faturas simplificadas, faturas-recibo, notas de crédito, and Global Blue tax-free forms where enabled) for sales made through the Merchant's Shopify POS, by orchestrating the Merchant's own certified invoicing system (SAGE). Processing is limited to what that requires.

2. Nature and duration

Automated processing triggered by the Merchant's Shopify events (orders, refunds, returns) and by the Merchant's staff using the zrsPOS admin and POS extensions. Processing lasts for the term of the Merchant's subscription plus the retention period in section 9.

3. Personal data and data subjects

Data subjects: the Merchant's customers (buyers at the till), and travellers for whom a tax-free form is issued.

Categories of personal data:

Category Fields Source
Identity first and last name; tax identification number (NIF) Shopify order / POS capture
Contact email address; phone number Shopify order
Address billing address (full invoices only) Shopify order
Transaction order lines, amounts, payment method, store location, refunds Shopify order / refund
Fiscal the certified document data returned by SAGE (number, ATCUD, QR, totals) SAGE
Tax-free (optional feature) traveller name, nationality, passport number and expiry, country of residence, date of birth, refund method Traveller's passport (MRZ scan) / Global Blue

No payment card data, no special categories of data.

Legal basis available to the Controller: compliance with a legal obligation (Portuguese invoicing and VAT law) for fiscal documents; performance of a contract and the traveller's request for tax-free forms.

4. Controller's instructions

zrsPOS processes personal data only on the Merchant's documented instructions, which are: the configuration the Merchant sets in the zrsPOS admin, and the events the Merchant's Shopify store sends. zrsPOS will inform the Merchant if, in its opinion, an instruction infringes data protection law. zrsPOS does not use the data for its own purposes and never sells it.

5. Confidentiality

Only persons who need access in order to operate the service have it. Each is bound by confidentiality obligations. Access is reviewed at least every six months.

6. Security measures (Art. 32)

As set out in the zrsPOS Data Loss Prevention Strategy and Security Incident Response Policy, which form part of this DPA:

7. Sub-processors

The Merchant gives general authorisation to the following sub-processors. zrsPOS will notify the Merchant at least 30 days before adding or replacing one; the Merchant may object on reasonable data-protection grounds, in which case either party may terminate the affected service.

Sub-processor Purpose Location
Shopify International Ltd. The Merchant's store platform; source of order data; app billing EU / global (Shopify's own DPA applies to the Merchant directly)
Railway Corp. Application hosting EU (europe-west4, Netherlands)
Supabase Inc. Database hosting and backups EU (eu-west-1, Ireland)
Resend (Plus Five Five, Inc.) Transactional email (document delivery), when the Merchant enables it EU/US — data transfer under Standard Contractual Clauses
Global Blue SA Tax-free form issuing, only when the Merchant enables the Tax Free feature EU (Switzerland/EU; adequacy)
The Merchant's SAGE installation Certified issuing of fiscal documents Merchant's own infrastructure — not a sub-processor of zrsPOS

8. International transfers

Personal data is stored and processed in the European Union. Where a sub-processor processes data outside the EU/EEA, transfers rely on an adequacy decision or the EU Standard Contractual Clauses.

9. Retention and deletion

10. Data subject rights

zrsPOS assists the Merchant in responding to data subject requests. Through Shopify's mandatory compliance webhooks:

Requests received directly by zrsPOS are forwarded to the Merchant without undue delay.

11. Personal data breach

zrsPOS notifies the Merchant without undue delay, and in any case within 24 hours of confirming that a breach affects the Merchant's data, with the information the Merchant needs for its own notification to the CNPD (within 72 hours) and, where required, to data subjects. Handling follows the Security Incident Response Policy.

12. Assistance, audits and records

zrsPOS assists the Merchant with data protection impact assessments and prior consultations where the processing warrants them. zrsPOS keeps records of its processing activities and makes available the information necessary to demonstrate compliance. The Merchant may audit zrsPOS's compliance with this DPA once a year on 30 days' notice, or without notice following a breach, by written questionnaire in the first instance and by inspection where the questionnaire is insufficient.

13. Term and consequences of termination

This DPA lasts as long as zrsPOS processes personal data for the Merchant. On termination zrsPOS deletes or returns the data as described in section 9, except where retention is required by law.

14. Liability and precedence

Each party's liability under this DPA is subject to the limitation of liability in the Terms of Service, except that nothing limits liability for a party's own breach of the GDPR. In case of conflict, this DPA prevails over the Terms of Service on matters of personal data.


Annex A — Processing summary (Art. 28(3))

Item Detail
Subject matter Issuing, correcting, printing and archiving Portuguese fiscal documents for the Merchant's Shopify POS sales, by orchestrating the Merchant's own certified SAGE
Duration The term of the Merchant's subscription, plus the retention periods in section 9
Nature and purpose Automated processing triggered by Shopify order, refund and return events, and by the Merchant's staff using the zrsPOS admin, the POS extensions and the zrsTaxFree tablet app
Types of personal data Identity (name, NIF); contact (email, phone); billing address on full invoices; transaction data; the fiscal data returned by SAGE; where Tax Free is enabled, traveller passport and residence data
Categories of data subject The Merchant's customers buying at the till; travellers for whom a tax-free form is issued
Special categories None. No payment card data is processed
Controller instructions Section 4
Sub-processors Annex C
Deletion or return Section 9

Annex B — Technical and organisational measures (Art. 32)

The measures below are in force. They are described in full in the zrsPOS Data Loss Prevention Strategy and the Security Incident Response Policy, which form part of this DPA; a copy of either is provided on request to support@zrspos.com.

Area Measure
Tenant isolation Every record is bound to the Merchant's store. An automated test fails the build if any database query could reach another tenant's data. Credentials presented by printers and paired devices resolve the tenant themselves; no request may name a store it does not own
Encryption in transit TLS on every connection, including to the Merchant's SAGE and to Global Blue
Encryption at rest Database and backups encrypted by the hosting provider. Merchant credentials (SAGE key, Shopify token, Global Blue login) are additionally encrypted at the application layer under a per-Merchant key, itself sealed under a master key held only in the hosting environment
Access control No shared operator accounts; two-factor authentication on every infrastructure account; staff access to the super admin is role-based and every action is written to an audit log
Pseudonymisation Personal data is not used outside the documents that require it; development and testing use a separate database with synthetic data only
Availability Managed Postgres with point-in-time recovery; automated retries and a queue so a failure at SAGE or at a printer never loses a document
Logging Authenticated, tenant-tagged request logging. Credentials are redacted from logs, including secrets that appear in URLs
Resilience and testing Automated test suite on every change, including the tenant-isolation guard and the rules that keep legally required content on every document
Breach response Section 11 and the Security Incident Response Policy: assessment within 24 hours, notification to the Merchant without undue delay

Annex C — Sub-processors

The list in section 7 is the complete list of sub-processors authorised at the date of this version, reproduced here for signature:

Sub-processor Purpose Location
Shopify International Ltd. The Merchant's store platform; source of order data; app billing EU / global (Shopify's own DPA applies to the Merchant directly)
Railway Corp. Application hosting EU (europe-west4, Netherlands)
Supabase Inc. Database hosting and backups EU (eu-west-1, Ireland)
Resend (Plus Five Five, Inc.) Transactional email — document delivery and billing notices — when the Merchant enables it EU/US, under the EU Standard Contractual Clauses
Global Blue SA Tax-free form issuing, only when the Merchant enables the Tax Free feature EU / Switzerland (adequacy decision)

The Merchant's own SAGE installation is not a sub-processor of zrsPOS: it is the Merchant's own system, acting under the Merchant's control, and the certified issuer of the documents.

Changes to this Annex follow the notice and objection process in section 7.