Send your first receipt
Once you have a partner token, describe the business unit in the receipt body. Kivra will create or resolve the owning chain and store from that information. Include a verified customer identifier when available so Kivra can match the receipt to a user.
curl -X POST https://sender.sandbox-api.kivra.com/dr/v1/receipts \ -H "Authorization: Bearer $KIVRA_ACCESS_TOKEN" \ -H "Content-Type: application/json;profile=https://se.receipts.kivra.com/schemas/json/retail/v2.0" \ --data-raw '{ "business_unit": { "organization_number": "556838-8200", "name": "Example Retail AB", "external_id": "EXAMPLE-STORE-001", "contact": { "address": { "street_address": "Example Street 1", "locality": "Stockholm", "postal_code": "11122", "country_code": "SWE" } } }, "sales_recording_system": {"id": "POS-1", "name": "Example POS"}, "receipt_identifier": {"sequence_number": 123456}, "time_of_purchase": "2026-09-01T10:30:00+02:00", "currency": "SEK", "totals": { "gross": {"amount": 125}, "vat": { "amount": 25, "sub_totals": [{"amount": 25, "taxable_amount": 125, "net_amount": 100, "tax_percentage": 25}] }, "paid": {"amount": 125, "received": 125, "returned": 0} }, "items": [ { "sale": { "identifiers": [{"identifier_type": "pos", "value": "ITEM-001"}], "description": "Example product", "quantity": {"value": 1, "unit": "ea"}, "regular_sales_unit_price": 125, "extended_amount": 125, "tax_percentage": 25, "tax_amount": 25, "sequence_number": 1 } } ], "payments": [{"amount": 125, "amount_applied_to_bill": 125, "tender": {"cash": {}}}], "customer": {"id": {"phone": "+46700000000"}} }'The response includes x-dr-storeid and x-dr-chainid, containing the store
and chain resolved or created for the receipt. Reuse the returned store ID as
business_unit.service_id only when you need to route later receipts
explicitly.
See Receipt validation logic for the validation checks, finding fields, and response handling.
Preview the final payload in Merchant Toolbox before using it in your POS system.