HeroJSON Specification
Merchant object
name
String
Company name
✅
companyID
String
Company's business id or VAT number
✅
Branch object
id
String
Unique identifier for a branch (e.g., cost center number or another identifier used to distinguish branches of a Merchant)
✅
posId
String
Logical cash register id
✅
name
String
Branch name
✅
subName
String
Freetext slogan etc, placed under branch name
String
Email address to branch / company support
phone
String
Phone number to branch / company support
websiteURL
String
Website URL of branch / company
address
Object
Address values
✅
String
Branch location street address
✅
String
Branch location city
✅
String
Branch location zip code
✅
String
Branch location country
✅
Products array
Products array contains all product on receipt
name
String
Product name
✅
EANCode
String
Product EAN code
quantity
String
Quantity of product
✅
productId
String
Merchants internal productID
quantityCode
String
Quantity code for product
✅
freeText
String
Product related text field
unitPriceIncVAT
Integer
Unit price including VAT in
fractional unit (Cents in Euros etc.)
✅
unitPriceIncVATDecimal
String
Unit price including VAT in main currency unit. Mainly used by petrol receipts
totalAmountExcVAT
Integer
Total price for product row without VAT in fractional unit
✅
totalAmountIncVAT
Integer
Total price for product row with VAT in fractional unit
✅
vats
Array
Product level VAT specifications
One object represents one VAT rate.
If product has multiple taxrates -> multiple objects
✅
String
VAT rate. Integer or Decimal
✅
Integer
VAT amount in fractional unit
✅
Integer
Amount without VAT in fractional unit
✅
Integer
Amount with VAT in fractional unit
✅
discounts
Array
Product level discount objects.
Integer
Amount of discount in fractional unit
✅
String
Discount percentage in decimal
String
Discount reason in free text
✅
customAttributes
Array
Key value pair for custom attributes on product
These key value pair will be shown on receipt as table under product.
String
Free key name
✅
String
Free value
✅
Product Categorization
main
String
Main category identifier
product
String
Product category identifier
✅
sub
Integer
Sub category identifier
tags
String Array
A list of custom tags, used for purposes such as marking a product's inclusion in a stamp card offer
Product Journey
When dealing with travel-related products such as bus, train, taxi, or other transportation services, it is possible to include structured journey details alongside the product line item. The journey object allows specifying relevant metadata such as the type of transport, schedule, distance, emissions, and location data for both origin and destination.
Journey Object
type
String
Type of Journey
✅
id
String
Journey identifier, such as train connection or flight number
distance
Number
Journey distance in meters
duration
Number
Journey duration in minutes
CO2Emissions
Integer
CO2 Emissions in grams
origin
Journey origin
✅
destination
Journey destination
✅
Journey Location Object
name
String
Journey location name
✅
city
String
Journey location city
country
String
Journey location country
latitude
String
Journey location latitude
longitude
String
Journey location longitude
datetime
String
Departure or Arrival time as ISO 8601 datetime with offset
Receipt VAT specification
vats
Array
Receipt total VATs as array of objects per VAT rate
✅
String
VAT rate. Integer or Decimal
✅
Integer
VAT amount in fractional unit
✅
Integer
Amount without VAT in fractional unit
✅
Integer
Amount with VAT in fractional unit
✅
VATCode
String
VAT identifier
Payments
HeroJSON supports a variety of payment types including card, cash, gift card, and online payments — see the full list of Payment Types for details. Payments are mapped as an array of Payment Objects as shown in the example below.
Payments Example
General Receipt Data
type
String
Type of Receipt
freeText
String
Freetext field to be displayed on receipt
receiptNumber
String
Merchant's internal receiptnumber
✅
receiptTimeStamp
String
ISO 8601 datetime with offset
✅
currencyISOCode
String
Currency code
✅
totalVATAmount
Integer
Total VAT amount in fractional unit
✅
totalPriceExcVAT
Integer
Total price excluding VAT
✅
totalPriceIncVAT
Integer
Total price including VAT
✅
customAttributes
Array
Key value pair list, to be show on receipt
String
Free text key
✅
String
Free text value
✅
Verifications array
Verification Object
type
String
Type of verification
✅
version
String
Standard version
✅
publicKey
String
Public key for verifying data
✅
transactionId
String
Transaction identifier
✅
currentType
String
Current type
✅
transactionBegin
Transaction Event Object
Transaction Begin event data
✅ *
transactionEnd
Transaction Event Object
Transaction End event data
✅
Transaction Event Object
signedData
String
Signed transaction event data for verification
✅
Attachments
Attachments such as entrance tickets and gift cards can be included.
This is a premium feature. To enable this option, please reach out to the ReceiptHero sales team.
type
String
Type of attachment
✅
kind
String
Kind represents the purpose of the attachment
✅
title
String
Title shown on top of the attachment
✅
data
String
Data encoded to the attachment according to the provided type
✅
description
String
Description providing more details on how this attachment is used
validUntil
String
ISO 8601 string with offset, representing the last moment the attachment is valid for use
Last updated