Partner Services Sales Examples
Batch Sales Request
PartnerSalesBatchRequest - Transaction (minimum fields included).
The first item (PLU 1001) is submitted based on PLU number alone (PLU 1001 must exist in the PowerEPOS system), the second item is submitted using names instead (no plu number).
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"sales": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"dateTimeClosed": "2021-08-04 09:40:59",
"invoiceNumber": "P1000155",
"tax1Name": "GST",
"tax1Rate": 10,
"transactionItems": [
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001
},
{
"saleQty": 1,
"amount": 4.5,
"incTax1": 0.4090909,
"taxSales1": 4.5,
"groupName": "Cold Drinks",
"mainGroupName": "Beverage",
"pluName": "Coke 600ml"
}
],
"transactionPayments": [
{
"amountPurchase": 14.5,
"paymentTypeName": "CreditCard"
}
]
}
]
}
PartnerSalesBatchRequest - Transaction (minimum fields with discount included), using ZReportTarget.
The items in this example are submitted based on PLU number alone. The discount is a 10% discount applied at the overall transaction level. This order also demonstrates using a ZReportTarget instead of a ZReportID to determine the Z allocation.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": null,
"zReportTarget": {
"tradingDate": "2021-08-04",
"terminalName": "Integration Orders",
"clientName": "My Custom Integration",
"clientVersion": "1.00",
"isTraining": false,
"currencyCode": "AUD",
"currencySymbol": "$",
"currencyName": "Australian Dollar"
},
"sales": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"dateTimeClosed": "2021-08-04 09:40:59",
"invoiceNumber": "P1000155",
"tax1Name": "GST",
"tax1Rate": 10,
"transactionItems": [
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001
},
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001
}
],
"transactionAdjustments": [
{
"adjustmentName": "10% Discount",
"amount": -1.45,
"incTax1": -0.1318182
}
],
"transactionPayments": [
{
"amountPurchase": 13.05,
"paymentTypeName": "CreditCard"
}
]
}
]
}
PartnerSalesBatchRequest - Transaction (minimum fields with item discount included).
The items in this example are submitted based on PLU number alone. The discount is an item level "complimentary" (ie free) adjustment applied to the first item.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"sales": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"dateTimeClosed": "2021-08-04 09:40:59",
"invoiceNumber": "P1000155",
"tax1Name": "GST",
"tax1Rate": 10,
"transactionItems": [
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001,
"itemAdjustments": [
{
"adjustmentName": "Complimentary",
"amount": -10.00,
"incTax1": -0.9090909
}
]
},
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001
}
],
"transactionPayments": [
{
"amountPurchase": 10,
"paymentTypeName": "CreditCard"
}
]
}
]
}
PartnerSalesBatchRequest - Transaction (minimum fields with multi-item discount included).
The items in this example are submitted based on PLU number alone. The discount is an item level "2 for 1" adjustment applied to both items. In this example, the second item gets the full discount amount, the first is simply linked as part of the "2 for 1" bucket.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"sales": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"dateTimeClosed": "2021-08-04 09:40:59",
"invoiceNumber": "P1000155",
"tax1Name": "GST",
"tax1Rate": 10,
"transactionItems": [
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001,
"itemAdjustments": [
{
"batchID": "1",
"adjustmentName": "2 for 1",
"amount": 0,
"incTax1": 0
}
]
},
{
"saleQty": 1,
"amount": 10,
"incTax1": 0.9090909,
"taxSales1": 10,
"pluNumber": 1001,
"itemAdjustments": [
{
"batchID": "1",
"adjustmentName": "2 for 1",
"amount": -10.00,
"incTax1": -0.9090909
}
]
}
],
"transactionPayments": [
{
"amountPurchase": 10,
"paymentTypeName": "CreditCard"
}
]
}
]
}
PartnerSalesBatchRequest - Transaction (all fields included).
This example is a more detailed version of a transaction and includes optional fields, a transaction level adjustment and a tag.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"zReportTarget": null,
"batchOptions": {
"allowPartialBatchSubmission": true,
"autoFinalisePreviousTradingDays": false
},
"sales": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"dateTimeClosed": "2021-08-04 09:40:59",
"invoiceNumber": "P1000155",
"dateTimeOpened": "2021-08-04 09:40:59",
"covers": 2,
"userName": "External Integration",
"serviceModeName": "Order",
"serviceModeEntityID": "155",
"tax1Name": "GST",
"tax1Rate": 10,
"tax2Name": "GST Free",
"tax2Rate": 0,
"tax3Name": "",
"tax3Rate": 0,
"tax4Name": "",
"tax4Rate": 0,
"eventName": "Concert",
"transactionItems": [
{
"salesTransactionItemID": "830474e3-aa22-b837-8234-87e87c1cc2aa",
"dateTimeOrdered": "2021-08-04 09:40:59",
"seat": 0,
"saleQty": 1,
"stockQty": 1,
"amount": 10,
"cost": 3.15,
"incTax1": 0.9090909,
"incTax2": 0,
"incTax3": 0,
"incTax4": 0,
"exTax1": 0,
"exTax2": 0,
"exTax3": 0,
"exTax4": 0,
"taxSales1": 10,
"taxSales2": 10,
"taxSales3": 0,
"taxSales4": 0,
"isTippable": true,
"priceLevelName": "Default",
"groupName": "Snacks",
"mainGroupName": "Food",
"pluName": "Nachos",
"pluNumber": 1001,
"saleModifierName": "",
"saleModifierPrefixName": "",
"taxGroupName": "GST",
"cost_CostCenterName": "",
"revenue_CostCenterName": "",
"itemChildren": null,
"itemAdjustments": null
},
{
"salesTransactionItemID": "1763aaf1-6348-ad77-ee71-915bb3a9f73c",
"dateTimeOrdered": "2021-08-04 09:40:59",
"seat": 0,
"saleQty": 1,
"stockQty": 1,
"amount": 4.5,
"cost": 1.22,
"incTax1": 0.4090909,
"incTax2": 0,
"incTax3": 0,
"incTax4": 0,
"exTax1": 0,
"exTax2": 0,
"exTax3": 0,
"exTax4": 0,
"taxSales1": 4.5,
"taxSales2": 4.5,
"taxSales3": 0,
"taxSales4": 0,
"isTippable": true,
"priceLevelName": "Default",
"groupName": "Cold Drinks",
"mainGroupName": "Beverage",
"pluName": "Coke 600ml",
"pluNumber": 310,
"saleModifierName": "",
"saleModifierPrefixName": "",
"taxGroupName": "GST",
"cost_CostCenterName": "",
"revenue_CostCenterName": "",
"itemChildren": null,
"itemAdjustments": null
}
],
"transactionAdjustments": [
{
"bucketID": null,
"adjustmentName": "10% Discount",
"amount": -1.45,
"incTax1": -0.1318182,
"incTax2": 0,
"incTax3": 0,
"incTax4": 0,
"exTax1": 0,
"exTax2": 0,
"exTax3": 0,
"exTax4": 0,
"adjustmentRevenue_CostCenterName": ""
}
],
"transactionPayments": [
{
"salesTransactionPaymentID": "02764b8acf893-2883-a77c-0384a63b84ca",
"dateTimePaid": "2021-08-04 09:40:59",
"amountPurchase": 14.5,
"amountTip": 0,
"amountRounded": 0,
"affectsCID": false,
"paymentTypeName": "CreditCard",
"revenue_CostCenterName": "",
"remark": ""
}
],
"transactionTags": [
{
"tagName": "Invoice #",
"tagReceiptPrefix": "INV #",
"value": "12345"
}
]
}
]
}
Batch Sales Response
This is an example of a 100% successful batch response.
{
"batchResult": 1,
"batchItemResults": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"errorCode": 0,
},
{
"salesTransactionID": "287d487a-48aa-4861-4664-867fdf57acc2",
"errorCode": 0,
},
{
"salesTransactionID": "9457daa1-bac3-6631-1722-1abc4d56ffd3",
"errorCode": 0,
}
],
"errorMessage": "",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"ZReportCounter": 1,
"zReportTarget": {
"tradingDate": "2021-08-04",
"terminalName": "Integration Orders",
"clientName": "My Custom Integration",
"clientVersion": "1.00",
"isTraining": false,
"currencyCode": "AUD",
"currencySymbol": "$",
"currencyName": "Australian Dollar"
}
}
This is an example of a "partial success" batch response (request has AllowPartialBatchSubmission = true). The first item and third item was submitted successfully, the second failed due to an invalidate date field.
{
"batchResult": 2,
"batchItemResults": [
{
"salesTransactionID": "146de4e7-e821-9821-1991-7dc2298a87cc",
"errorCode": 0,
},
{
"salesTransactionID": "287d487a-48aa-4861-4664-867fdf57acc2",
"errorCode": 2,
"errorMessage": "You must provide either a PLUName or PLUNumber for each sale item!"
},
{
"salesTransactionID": "9457daa1-bac3-6631-1722-1abc4d56ffd3",
"errorCode": 0,
}
],
"errorMessage": "",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"ZReportCounter": 1,
"zReportTarget": {
"tradingDate": "2021-08-04",
"terminalName": "Integration Orders",
"clientName": "My Custom Integration",
"clientVersion": "1.00",
"isTraining": false,
"currencyCode": "AUD",
"currencySymbol": "$",
"currencyName": "Australian Dollar"
}
}
This is an example of a full batch failure. (request has AllowPartialBatchSubmission = false)
{
"batchResult": 0,
"batchItemResults": null,
"errorMessage": "One or more items in the batch failed model validation!",
"zReportID": null
}
Z Report Request
This is an example of a request a 3rd party integration would perform to get the allocated ZReportID for the trading date of 4th August 2021, terminal name "Web Orders".
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportTarget": {
"tradingDate": "2021-08-04",
"terminalName": "Web Orders",
"clientName": "My Custom Web Integration",
"clientVersion": "1.00",
"isTraining": false,
"currencyCode": "AUD",
"currencySymbol": "$",
"currencyName": "Australian Dollar"
}
}
This is an example of a request a 3rd party integration might perform if they already know the ZReportID, but want to retrieve the full details about that Z Report again for some reason.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"zReportTarget": null
}
Z Report Response
This is an example of a response to a Partner Z request for an unfinalised Z Report.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"zReportCounter": 1,
"zReportTarget": {
"tradingDate": "2021-08-04",
"terminalName": "Web Orders",
"clientName": "My Custom Web Integration",
"clientVersion": "1.00",
"isTraining": false,
"currencyCode": "AUD",
"currencySymbol": "$",
"currencyName": "Australian Dollar"
},
"isFinalised": false,
"finalisedDateTime": null,
"finalisedUserName": null
}
Z Finalise Request
This is an example of a request a 3rd party integration would perform if they want to finalise an existing Z Report. In this example, the integration is a "web sales export" into PowerEPOS.
{
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"finalisedDateTime": "2021-08-04 10:00:00",
"finalisedUserName": "Web Sales Export"
}
Z Finalise Response
This is an example of a response to a request to finalise a Z Report.
{
"resultCode": 1,
"outletID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"zReportID": "7ab4da81-d75b-4239-9aac-bdc0d2fb8f9a",
"zReportCounter": 1,
"zReportTarget": {
"tradingDate": "2021-08-04",
"terminalName": "Web Orders",
"clientName": "My Custom Web Integration",
"clientVersion": "1.00",
"isTraining": false,
"currencyCode": "AUD",
"currencySymbol": "$",
"currencyName": "Australian Dollar"
},
"finalisedDateTime": "2021-08-04 10:00:00",
"finalisedUserName": "Web Sales Export"
}