> ## Documentation Index
> Fetch the complete documentation index at: https://developers.opencard.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Digital Receipts

> How OpenCard delivers digital receipts from Receipt provider partners — and which webhooks send receipt, VAT, and line item data to your EMS.

When `receiptable: true` on a transaction, a digital receipt exists for that purchase at one of OpenCard's Receipt provider partners. OpenCard fetches it and delivers receipt, VAT, and line-item data to your EMS via webhooks.

***

## What you receive

Three separate webhooks, in any order:

| Event                    | Contains                               |
| ------------------------ | -------------------------------------- |
| `receipt.fetched`        | PDF/image URL (expires — download it!) |
| `transaction.true.vat`   | Correct VAT breakdown from merchant    |
| `transaction.line.items` | Individual purchase items              |

Subscribe to all three in your webhook config for the full picture.

***

## Receipt URL handling

```json theme={null}
{
  "url": "https://api.opencard.io/files/receipts/abc123",
  "content_type": "application/pdf",
  "expiration_time": "2022-10-02 11:12:14",
  "purchase_merchant": "Coop",
  "original_amount": 109.38,
  "original_currency": "SEK"
}
```

Sample file: [Coop receipt (109.38 SEK)](https://api.opencard.io/files/receipts/abc123) — same purchase as in [Webhook events](/ems/webhooks/events).

1. Download immediately when webhook arrives
2. Store in your system
3. Don't hotlink — URLs expire

***

## When there is no digital receipt

If `receiptable: false`, no Receipt provider partner has a receipt for this transaction — don't wait for `receipt.fetched`.
