SumUp Receipt Forwarder is a lightweight .NET worker service running inside a Docker container. It automatically retrieves transaction data from a connected SumUp account, downloads each transaction’s PDF receipt, and forwards them via SMTP to dedicated recipient addresses for cash and card payments.
Features and Configuration:
- SumUp account:
- account id
- API credentials
- Execution interval: Defines how often the worker runs to check for new transactions.
- SMTP settings: Configures the mail server used to send receipts.
- Target email addresses: Separate destination addresses for cash and card receipts.
SumUp receipt URL
https://sales-receipt.sumup.com/pos/public/v1/{account-id}/receipt/{receipt-guid}?format=pdf
services:
sumup-receipt-forwarder:
image: ghcr.io/mstroppel/sumup-receipt-forwarder:latest
restart: unless-stopped
environment:
- WORKER_DELAY=15
- SUMUP_ACCOUNT_ID=your-account-id
- SUMUP_API_KEY=your-api-key
- SMTP_HOST=smtp.example.com
- SMTP_PORT=587
- SMTP_USERNAME=your-username
- SMTP_PASSWORD=your-password
- SMTP_USE_TLS=true
- SENDER_EMAIL=sender@example.com
- RECIPIENT_EMAIL_CASH=recipient-cash@example.com
- RECIPIENT_EMAIL_CARD=recipient-card@example.com
volumes:
- receipt-data:/app/data
volumes:
receipt-data:Parameters:
| Parameter | Description | Default |
|---|---|---|
WORKER_DELAY |
Polling interval in minutes | 15 |
SUMUP_ACCOUNT_ID |
SumUp merchant account ID | required |
SUMUP_API_KEY |
SumUp API key for authentication | required |
SMTP_HOST |
SMTP server hostname | required |
SMTP_PORT |
SMTP server port | 587 |
SMTP_USERNAME |
SMTP authentication username | required |
SMTP_PASSWORD |
SMTP authentication password | required |
SMTP_USE_TLS |
Enable TLS for SMTP connection | true |
SENDER_EMAIL |
Email address used as the sender | required |
RECIPIENT_EMAIL_CASH |
Destination email for cash payment receipts | required |
RECIPIENT_EMAIL_CARD |
Destination email for card payment receipts | required |
WORKER_DELAY=15
SUMUP_ACCOUNT_ID=your-account-id
SUMUP_API_KEY=your-api-key
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your-username
SMTP_PASSWORD=your-password
SMTP_USE_TLS=true
SENDER_EMAIL=sender@example.com
RECIPIENT_EMAIL_CASH=recipient-cash@example.com
RECIPIENT_EMAIL_CARD=recipient-card@example.com- The worker stores already-sent receipt IDs locally so receipts are not forwarded twice.
- Logging is done to the console in JSON format so issues can be seen in container log aggregators (e.g. Dozzle can create alerts).
- The worker uses the official SumUp .NET SDK for API communication and
IHttpClientFactoryfor receipt PDF downloads. - Receipts are downloaded as PDF attachments and sent via SMTP using MailKit.
Ensure the UID 1654 has write access to /app/data when mounted to the host file system.