Where you sit
- You continuously collect receipts from merchants in your network
- OpenCard receives a card transaction marked
receiptable: true - OpenCard sends you the transaction details to match against your receipts
- When you find a match, you POST the receipt to OpenCard
- OpenCard stores the receipt, extracts VAT + line items
- EMS apps receive
receipt.fetched,transaction.true.vat, andtransaction.line.itemswebhooks
What you deliver to OpenCard
| You send | OpenCard does | EMS receives |
|---|---|---|
| Receipt file (PDF, image, XML) | Stores file, generates URL | receipt.fetched |
| VAT breakdown in receipt | Creates TrueVAT records | transaction.true.vat |
| Line items in receipt | Creates LineItem records | transaction.line.items |
Onboarding checklist
- Receive client secret from OpenCard
- Endpoint ready to receive match requests from OpenCard
- Implement outbound callback to OpenCard (
POST /v1/service/marcet/callback/{referenceId}) - Handle
CallbackRequestResolvedandCallbackRequestDeleted - Sign every payload with HMAC-SHA256

