Receipt API
The API behind the digital receipt.
The Middleware signs receipts at the counter. The Receipt API serves them afterwards: visualize each receipt in the format you need, share across channels and match transactions from your app.
Three access modes
Pick your depth
- End users – Follow the receipt-url, no setupno auth
- Third-party apps – Most endpoints, one extra headerAppId
- Raw data – Full receipt data for your backendAppId + AppSecret
- receipts per day
- Millions
- access modes
- 3
- receipt visualization, for everyone
- 0 €
- in, HTML or JSON out
- JSON
AUTHENTICATION
Three access modes. The first one needs nothing.
Access scales with your use case. Consumers need nothing. Apps add one identifier. Raw data requires credentials.
| Mode | Authentication | What you get | Receipt marking |
|---|---|---|---|
| End user | None | Receipt visualization via the receipt-url | Marked accepted and viewed on each call |
| Third-party app | AppId header or query parameter, requested via the fiskaltrust.Portal | Most endpoints, including visualizations in app context | Not marked, your app views stay out of the merchant trace |
| Raw data | AppId + AppSecret | Full receipt data for backend processing | Not marked |
VISUALISE
One receipt, HTML or JSON.
Retrieve any receipt through its global unique identifier and render the version your channel needs. The response returns HTML for display or JSON for your own rendering, per request.
- receipt-url
- Every digital receipt carries a link. Opening the link renders the visualization, free of charge, for everyone.
- accepted / viewed
- Each consumer call marks the receipt as accepted and viewed. Merchants trace when customers received their receipts.
- AppId context
- Calls with an AppId skip the marking. Your app renders receipts without touching the merchant trace.
SHARING AND MATCHING
Millions of receipts, open to your app.
Loyalty programs, expense tools and banking apps connect to the receipts fiskaltrust processes every day. Sharing moves receipts across channels. Matching links transactions to your records.
Sharing
Hand receipts to wallets, email, apps and other channels through the same interface.
Matching
Link card transactions and app records to the underlying receipt data.
One AppId to start
Request your AppId in the fiskaltrust.Portal and call most endpoints the same day.
One identifier in, the receipt out. HTML or JSON.
DESIGN AND VERSIONING
RESTful, predictable, versioned.
The Receipt API follows standard REST conventions, so your team starts without a learning curve.
JSON in
The API accepts JSON data on every call.Standard status codes
Responses use standard HTTP status codes, no custom error scheme.Semantic versioning
Breaking changes arrive only in major versions. Unversioned calls get the latest.Version in the URL
Pin a version explicitly in the URL once more versions ship.
The documentation and samples ship under the EUPL licence, in line with the open-source Middleware. Read them, fork them, build on them.
SELF-SERVE
Everything you need before a call.
Judge feasibility and fit on your own terms. The stack is documented, public and testable today.
Documentation
Read the docsFull API reference, integration guides and error semantics in English at docs.fiskaltrust.eu.
GitHub
Browse the reposThe Middleware source, launcher, devkit and demo implementations, in the open.
Sandbox
Get accessA near-full copy of the live system. Sign test receipts without legal obligation.
Academy
See the programStructured onboarding for your team, from first request to certified rollout.
FAQ
Before your first call.
Short answers, the reference carries the schemas.
Where do the receipts come from?
The Middleware creates and signs receipts at the counter through the POS System API. The Receipt API serves those receipts afterwards. A Middleware integration comes first.
Where do I get an AppId?
Request the AppId via the fiskaltrust.Portal. Add the AppId as a header or query parameter on each request.
How do I access raw receipt data?
Raw data requests authenticate with AppId and AppSecret. These credentials are invite-only, write to hello@fiskaltrust.eu with your use case.
Does rendering a receipt mark anything?
Consumer calls mark the receipt as accepted and viewed, giving the merchant trace information. Calls with an AppId skip the marking.
Is the visualization free?
Yes. Everyone follows the receipt-url free of charge. App integrations and raw data access follow the access modes above.
How stable is the interface?
Semantic versioning. Only major versions carry breaking changes, added fields never alter existing models. Unversioned calls receive the latest version.
Follow a receipt-url. Then read the reference.
The example receipt in the reference shows the visualization live. The reference carries every endpoint, mode and model.
You talk to real people