Skip to main content

Migration Guide

Mapping

Retailer ($.attributes.retailer)

Retailer (v2020-02)
{
"name": "ACME Global",
"branchName": "Wien Marxergasse",
"branchId": "85",
"legalName": "ACME GmbH",
"emailAddress": "wien1@acme.at",
"websiteURL": "https://acme.at",
"phoneNumber": "+43 660 1234567",
"vatId": "ATU88888888",
"postalAddress": {
/*...*/
},
"meta": {}
}
Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.retailer.name$.attributes.retailer.name
Not supported$.attributes.retailer.brand
$.attributes.retailer.branchId$.attributes.retailer.branch.branchId
$.attributes.retailer.branchName$.attributes.retailer.branch.name
$.attributes.retailer.postalAddress$.attributes.retailer.branch.address
Combined in $.attributes.retailer$.attributes.retailer.branch.contact
$.attributes.retailer.legalName$.attributes.retailer.companyName
$.attributes.retailer.emailAddress$.attributes.retailer.contact.email
$.attributes.retailer.websiteURL$.attributes.retailer.contact.website
$.attributes.retailer.phoneNumber$.attributes.retailer.contact.phoneNumber
$.attributes.retailer.vatId$.attributes.retailer.taxId
Combined in $.attributes.retailer.postalAddress$.attributes.retailer.address

Customer ($.attributes.customer)

Customer (v2020-02)
{
"customerId": "8e561e73-4664-56d6-a0ca-23a9d97e48b2",
"employeeId": "908f3317-c0da-4eb7-91d8-47182f465d0b",
"uid": "1673197c-5c8c-4148-99d1-f9bdb61af284",
"awi": "123456678",
"oti": "AZ6275cq1J",
"gs1_128": "Kassa 1",
"eid": "0hpThs_iew3D"
}
Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.customer.customerId$.attributes.customer.customerId
No supported$.attributes.customer.loyaltyCardNumber
$.attributes.customer.employeeId$.attributes.customer.employeeId
$.attributes.customer.uid$.attributes.customer.warrifyUserId
Not supported$.attributes.customer.taxId
Not supported$.attributes.customer.address
Not supported$.attributes.customer.contact
Not supported$.attributes.customer.fullName
Not supported$.attributes.customer.givenName
Not supported$.attributes.customer.familyName
Not supported$.attributes.customer.locale
$.attributes.customer.awiSent via the WarrifyCard Extension
$.attributes.customer.otiSent via the WarrifyCard Extension
$.attributes.customer.gs1_128Sent via the WarrifyCard Extension
$.attributes.customer.eidSent via the WarrifyCard Extension
$.attributes.customer.*$.attributes.customer.meta

Line Items ($.attributes.lineItems)

LineItem (v2020-02)
{
"commonName": "iPhone X 64GB",
"description": "A smartphone packed with the new A11 Bionic chip with a 64‑bit architecture",
"storageLocationDescriptor": "HL00700000009",
"GTIN": {
"name": "GTIN-13",
"value": "123456789012"
},
"quantity": {
"value": 1,
"unit": "PCS"
},
"serialNumbers": ["490154203237518"],
"returned": false,
"VAT": {},
"articleId": "A-1234",
"unitPriceAfterTaxesInCents": 84999,
"beforeTaxesInCents": 70833,
"afterTaxesInCents": 84999,
"originalPriceInCents": 99999,
"discounts": [],
"meta": {}
}
Receipts (v2020-02)Sales (v2022-03-07)
Not supported$.attributes.lineItems[*].lineItemId
$.attributes.lineItems[*].commonName$.attributes.lineItems[*].name
$.attributes.lineItems[*].description$.attributes.lineItems[*].description
Not supported$.attributes.lineItems[*].sku
Not supported$.attributes.lineItems[*].plu
$.attributes.lineItems[*].storageLocationDescriptorNo longer officially supported (can be sent in $.attributes.lineItems[*].meta)
$.attributes.lineItems[*].GTIN$.attributes.lineItems[*].gtin
$.attributes.lineItems[*].quantity$.attributes.lineItems[*].quantity
$.attributes.lineItems[*].serialNumbersNo longer officially supported (can be sent in $.attributes.lineItems[*].meta)
$.attributes.lineItems[*].returned$.attributes.lineItems[*].returned
$.attributes.lineItems[*].VAT$.attributes.lineItems[*].taxes
$.attributes.lineItems[*].articleId$.attributes.lineItems[*].articleId
$.attributes.lineItems[*].unitPriceAfterTaxesInCents$.attributes.lineItems[*].grossUnitPrice
$.attributes.lineItems[*].beforeTaxesInCents$.attributes.lineItems[*].netTotal
$.attributes.lineItems[*].afterTaxesInCents$.attributes.lineItems[*].grossTotal
$.attributes.lineItems[*].originalPriceInCents$.attributes.lineItems[*].baseGrossTotal
Not supported$.attributes.lineItems[*].totalTax
$.attributes.lineItems[*].discounts$.attributes.lineItems[*].discounts

Taxes ($.attributes.VATs)

VAT (v2020-02)
{
"taxClass": "normal",
"percentage": 20,
"amountInCents": 14166,
"beforeTaxesInCents": 70833,
"afterTaxesInCents": 84999
}
Receipts (v2020-02)Sales (v2022-03-07)
Not supported$.attributes.taxes[*].taxType
Not supported$.attributes.taxes[*].code
$.attributes.VATs[*].taxClassNo longer enforced. Instead a custom code can be sent and the percentage
$.attributes.VATs[*].percentage$.attributes.taxes[*].percentage
$.attributes.VATs[*].amountInCents$.attributes.taxes[*].taxAmount
$.attributes.VATs[*].beforeTaxesInCents$.attributes.taxes[*].netAmount
$.attributes.VATs[*].afterTaxesInCents$.attributes.taxes[*].grossAmount

Payments ($.attributes.payments)

Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.payments[*].paymentType$.attributes.payments[*].paymentMethod
$.attributes.payments[*].paidAmountInCents$.attributes.payments[*].amount
$.attributes.payments[*].paidAmountInCents$.attributes.payments[*].foreignAmount
$.attributes.payments[*].ISOCurrencyCodeEach monetary value (Money) has its own currency set
$.attributes.payments[*].exchangeRateNo longer supported
$.attributes.payments[*].localCurrencyAmountInCents$.attributes.payments[*].amount

Cash

CashPayment (v2020-02)
{
"paymentType": "CASH",
"paidAmountInCents": 84999,
"handedAmountInCents": 100000,
"meta": {}
}
Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.payments[*].handedAmountInCents$.attributes.payments[*].handed
Not Supported$.attributes.payments[*].returned

Card

Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.payments[*].cardApplicationId$.attributes.payments[*].applicationId
$.attributes.payments[*].cardType$.attributes.payments[*].card.brand
$.attributes.payments[*].maskedCardNumber$.attributes.payments[*].card.lastFour
Not supported$.attributes.payments[*].card.issuerId
Not supported$.attributes.payments[*].card.expiryDate
Not supported$.attributes.payments[*].card.sequenceNumber
$.attributes.payments[*].transactionLocalDateTime$.attributes.payments[*].transactionTimestamp
$.attributes.payments[*].paymentTerminalId$.attributes.payments[*].terminalId
$.attributes.payments[*].transactionUnixTimeStamp$.attributes.payments[*].transactionTimestamp
$.attributes.payments[*].paymentReferenceNo longer supported
$.attributes.payments[*].paymentReferenceNumber$.attributes.payments[*].referenceNumber
$.attributes.payments[*].authorizationCode$.attributes.payments[*].authorizationCode
$.attributes.payments[*].authorizationMethodType$.attributes.payments[*].authorizationMethodType
$.attributes.payments[*].transactionId$.attributes.payments[*].transactionId
$.attributes.payments[*].contactless$.attributes.payments[*].entryMethod

Voucher

Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.payments[*].description$.attributes.payments[*].description
$.attributes.payments[*].voucherCode$.attributes.payments[*].voucherCode

Online

Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.payments[*].paymentProvider$.attributes.payments[*].provider
$.attributes.payments[*].transactionId$.attributes.payments[*].transactionId
$.attributes.payments[*].transactionUnixTimeStamp$.attributes.payments[*].transactionTimestamp
$.attributes.payments[*].transactionLocalDateTime$.attributes.payments[*].transactionTimestamp

Other

Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.payments[*].description$.attributes.payments[*].description

Discounts ($.attributes.discounts)

Discount (v2020-02)
{
"amountInCents": 15000,
"percentage": 15,
"description": "Black Friday Sale",
"discountCode": "KZAB2rMB",
"meta": {}
}
Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.discounts[*].amountInCents$.attributes.discounts[*].totalGrossAmount
Not supported$.attributes.discounts[*].unitGrossAmount
Not supported$.attributes.discounts[*].quantity
$.attributes.discounts[*].percentage$.attributes.discounts[*].percentage
$.attributes.discounts[*].description$.attributes.discounts[*].description
$.attributes.discounts[*].discountCode$.attributes.discounts[*].discountCode

Attachments ($.attributes.attachments)

Attachment (v2020-02)
{
"contentType": "application/pdf",
"filename": "Receipt_6449_7362.pdf",
"type": "receipt",
"content": {
"base64": "d2FycmlmeSdzIGRpZ2l0YWwgcmVjZWlwdHMgcm9jaw=="
}
}

Attachments need to be uploaded before creating a sale. Hence, there is no direct mapping for the attachments. Instead, the attachments upload request returns a blobUrn and a blobVersion as response headers, which need to be used when creating a sale with attachments.

Receipts (v2020-02)Sales (v2022-03-07)
$.attributes.attachments[*].contentTypeUse Content-Type header when uploading the attachment
$.attributes.attachments[*].contentLanguageUse Content-Language header when uploading the attachment
$.attributes.attachments[*].filenameDefined as a path parameter during the upload of the attachments
$.attributes.attachments[*].typeNo longer needed
$.attributes.attachments[*].contentNo longer directly supported as attachments need to be uploaded before creating a sale
$.attributes.attachments[*].encryptionNo longer directly supported as attachments need to be uploaded before creating a sale

Misc

Receipt (v2020-02)
{
"retailer": {},
"customer": {},
"lineItems": [],
"freeText": "Stammkunden-Punkte: 1234",
"footerText": "Vielen Dank für Ihren Einkauf!",
"VATs": [],
"payments": [],
"discounts": [],
"cashRegisterId": "0856001",
"cashDrawerId": "1287346",
"receiptSequenceNumber": "0808560002000201912147683",
"ISOCurrencyCode": "EUR",
"localDateTime": "2019-12-14T17:37:49",
"receiptLanguage": "de",
"beforeTaxesInCents": 70833,
"afterTaxesInCents": 84999,
"totalTaxesInCents": 14166,
"unixTimeStamp": 1528290969,
"fiscalSignature": "_R1-AT0_0856001_0808560002000201912147683_2019-12-14T17:37:49_989,99_0,00_0,00_0,00_0,00_79i+IjcrAOw=_U:ATU999999999-2_+1l2cMqOuVw=_j87cj3w8OJ5VuCg2OULi5R70g1Lf80shyCim+TCuuAQ96PQcJUoquy17HPiL1675o7FiEknf1dBFmSVRL/mgrg==",
"testing": true,
"attachments": [],
"identificationCode": {},
"externalId": "d80193e4-c6e6-4e25-878a-7aa152158c84",
"original": true,
"cashierId": "LMhvAnJ",
"warrantyHint": "string"
}
Receipts (v2020-02)Sales (v2022-03-07)
Not supported$.attributes.country
Not supported$.attributes.locale
Not supported$.attributes.version
$.attributes.freeTextSent in $.attributes.sections
$.attributes.footerTextSent in $.attributes.sections
$.attributes.cashRegisterId$.attributes.cashRegister.cashRegisterId
$.attributes.cashDrawerId$.attributes.cashRegister.cashDrawerId
$.attributes.receiptSequenceNumber$.attributes.receipt.receiptId
Not supported$.attributes.order.orderId
$.attributes.ISOCurrencyCodeEach monetary value (Money) has its own currency set
$.attributes.localDateTime$.attributes.timestamp
$.attributes.receiptLanguage$.attributes.locale
$.attributes.beforeTaxesInCents$.attributes.totals.netAmount
$.attributes.afterTaxesInCents$.attributes.totals.grossAmount
$.attributes.totalTaxesInCents$.attributes.totals.taxAmount
$.attributes.unixTimeStamp$.attributes.timestamp
$.attributes.fiscalSignatureSent in RKSV Extension
$.attributes.tseInformationSent in KassenSichV Extension or DSFinVK Extension
$.attributes.testing$.attributes.testing
$.attributes.identificationCodeSent in Return Code Extension
$.attributes.externalId$.attributes.externalId
$.attributes.originalTODO
$.attributes.cashierId$.attributes.cashRegister.cashierId
$.attributes.warrantyHintSent in EU Directive 2019-771 Extension

Address

PostalAddress (v2020-02)
{
"streetAddress": "Marxergasse 4",
"localizedCityName": "Wien",
"postalCode": "1030",
"localizedCountryName": "Österreich",
"ISOCountryCode": "AT",
"postOfficeBoxNumber": null,
"localizedAddressRegion": "Wien",
"meta": {}
}
Receipts (v2020-02)Sales (v2022-03-07)
streetAddressline1
Not supported (combined in streetAddress)line2
localizedCityNamecity
postalCodepostalCode
localizedCountryNamecountryName
ISOCountryCodecountry
postOfficeBoxNumberpostOfficeBoxNumber
localizedAddressRegionregion
Not supportedcoordinates