This record defines payment information for a SalesTransaction.
Required
SalesTransactionPaymentID :
string (GUID)
The Unique identifier for this record
Required
Active_RevisionID :
number (int)
This represents the revision of the configuration data that was being used when this record was generated. This is primarily for use by the PowerEPOS software, however 3rd party integrators can set this too if they
are using our configuration data as a basis for sale information, otherwise just set this to 0.
Required
ZReportID :
string (GUID)
This is the unique ID of the Z Report that this payment has been included in. This is required for all payments.
Related Fields: ZReportCounter, TradingDate
Required
ZReportCounter :
number (int)
This is the Z Counter from the Z Report that this payment has been included in. This is required for all payments.
Related Fields: ZReportID, TradingDate
Required
MaxLength(32)
Truncates
Cashier_UserName :
string
The name of the POS User / person who created the record.
3rd Party integrations should specify a user name (where applicable), or use the integration name as a fallback.
Example: John
Required
MaxLength(32)
Truncates
PaymentTypeCommonName :
string
The name of the Payment Type that was used to create this payment
3rd Party integrations can make up their own names, or they can base them on the existing PaymentType configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: CASH or Visa or Mastercard
Required
MaxLength(32)
Truncates
PaymentTypeLocalizedName :
string
The localised name of the Payment Type that was used to create this payment
3rd Party integrations can make up their own names, or they can base them on the existing PaymentType configuration if available.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: CASH or Visa or Mastercard
Required
MaxLength(256)
Created_DeviceIdentifier :
string
This is an identifier for the device which created the record. PowerEPOS uses a combination of MAC Address, Hostname and OS.
3rd Party integrators can leave this blank, or set this to something meaningful if a need arises to track records created by a certain device.
Required
MaxLength(64)
Truncates
Created_TerminalCommonName :
string
The name of the terminal (typically the POS terminal) that created the record.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
3rd Party integrations should specify a meaningful name (possibly the integration name) to group the source of the records, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS" or "Online Orders"
Required
MaxLength(64)
Truncates
Created_TerminalLocalizedName :
string
The localised name of the terminal (typically the POS terminal) that created the record.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
3rd Party integrations should specify a meaningful name (possibly the integration name) to group the source of the records, as Terminal is main filter that can be used by the Reporting system.
Example: "POS 1" or "Bar POS" or "Online Orders"
Required
MaxLength(4)
Created_TerminalDisplayID :
string
A short ID for the terminal that created the record, typically matching the ID from the POS_Terminals (configuration) record.
3rd Party integrations can leave this blank or come up with their own short name for the terminal.
Example: P1 or TRM1 or INTG
Required
MaxLength(64)
Truncates
Revenue_CostCenterCommonName :
string
The name of the cost center allocated to this payment for revenue tracking purposes (if applicable), otherwise blank (ie empty string)
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
3rd Party integrations can make up their own revenue center names if required, or they can base them on the existing configuration records if available.
Example: "Restaurant" or "Outlet" or "Front Bar"
Required
MaxLength(64)
Truncates
Revenue_CostCenterLocalizedName :
string
The localised name of the cost center allocated to this payment for revenue tracking purposes (if applicable), otherwise blank (ie empty string)
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
3rd Party integrations can make up their own revenue center names if required, or they can base them on the existing configuration records if available.
Example: "Restaurant" or "Outlet" or "Front Bar"
Required
MaxLength(32)
Truncates
ServiceModeCommonName :
string
The name of the Service Mode the payment was added in.
3rd Party integrations can make up their own names, or they can base them on the existing Service Mode configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: Table
Required
MaxLength(32)
Truncates
ServiceModeLocalizedName :
string
The localised name of the Service Mode the payment was added in.
3rd Party integrations can make up their own names, or they can base them on the existing Service Mode configuration if available.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: Table
Required
MaxLength(8)
Truncates
ServiceModeCommonShortPrefix :
string
The short prefix of the Service Mode the payment was added in.
3rd Party integrations can make up their own short names, or they can base them on the existing Service Mode configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: TBL
Required
MaxLength(8)
Truncates
ServiceModeLocalizedShortPrefix :
string
The localised short prefix of the Service Mode the payment was added in.
3rd Party integrations can make up their own names, or they can base them on the existing Service Mode configuration if available.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: TBL
Required
MaxLength(8)
ServiceModeEntityID :
string
This is the reference ID relating to the Service Mode assigned to this payment. If you had a service mode called "Table", a ServiceModeEntityID might be "10", indicating table number 10.
Example: 10
Nullable
TradingDate :
string (ISO 8601 DateTime)
This is the Trading Date of the Z Report that this payment has been included in. This is required for all payments.
This should be just the trading date itself, with no time component. eg 2020-01-01 00:00:00
Related Fields: ZReportID, ZReportCounter
Nullable
DateTimePaid :
string (ISO 8601 DateTime)
The date and time the payment was created in outlet local time
Nullable
SplitBillID :
number (int)
When split billing is used, this indicates which bill number the payment was applied to, otherwise this value will always be 0.
3rd Party integrations should set this to 0.
Nullable
decimal(18, 2)
AmountPaid :
number (decimal)
This is the total purchase amount for the payment, ie the value of all items that are being paid. It does not include tips or cashout.
This value is in the outlet's local currency
Example: 30.00
Nullable
decimal(18, 2)
AmountChange :
number (decimal)
This is the amount of change that was returned as part of the payment when the tendered amount exceeds the required amount.
AmountChange = AmountTendered - (AmountPaid + AmountCashOut + AmountTip + AmountServiceCharge + AmountSurcharge)
This value is in the outlet's local currency
Example: 3.00
Nullable
decimal(18, 2)
AmountCashOut :
number (decimal)
This is the amount of cash out supplied with this payment. Typically this only applies to credit card / eftpos transactions that support the cash out facility. This is in addition to the purchase amount (ie AmountPaid)
This value is in the outlet's local currency
Example: 10.00
Nullable
decimal(18, 2)
AmountTip :
number (decimal)
This is the tip amount that was included as part of the payment. This is in addition to the purchase amount (ie Amount Paid)
This value is in the outlet's local currency
Example: 7.00
Nullable
decimal(18, 2)
AmountServiceCharge :
number (decimal)
This is the service charge amount that was included as part of the payment. This is in addition to the purchase amount (ie Amount Paid)
This value is in the outlet's local currency
Example: 2.50
Nullable
decimal(18, 2)
AmountSurcharge :
number (decimal)
This is the surcharge amount that was included as part of the payment (eg a Credit Card payment surcharge). This is in addition to the purchase amount (ie Amount Paid)
This value is in the outlet's local currency
Example: 2.50
Nullable
decimal(18, 2)
AmountRounded :
number (decimal)
This is the amount that was required to round the purchase amount (AmountPaid) to complete the payment. This is only applicable in countries like Australia which round cash payments to the nearest 5 cents as 5 cents in the smallest cash denomination.
This value is in the outlet's local currency
Example: 0.01 (eg if transaction amount was 29.99, if paid in cash in Australia, the purchase amount is rounded to 30.00)
Nullable
decimal(18, 2)
AmountTendered :
number (decimal)
This is the raw payment amount that was given to the cashier at the time of payment by the customer. This will usually only be more than the required amount when cash is used and the customer pays using a denomination that exceeds the required amount.
This value is in the outlet's local currency
Example: 50.00
Nullable
StatusFlags :
number (int)
The status flags applicable to this payment as per the POSCorePublic.Enums.Sales.PaymentStatusFlags enum.
AffectsCID : bool
Does this payment affect the CID (cash in draw). Typically this is only ever true for the CASH payment type.
IsPaymentReversal : bool
Is this payment a reversal of another payment?
IsPaymentCancelled : bool
Is this a cancelled payment?
IsPaymentCashOut : bool
Is this payment the CASH OUT component of another payment?
IsPaymentChanged : bool
Has the payment been changed since it was originally created?
WasReversed : bool
Has this payment been reversed (ie is there another payment which IsPaymentReversal of this payment)
Nullable
decimal(18, 7)
ForeignCurrencyRate :
number (decimal)
Defines the exchange rate for the foreign currency used at the time of this payment (if applicable)
3rd Party integrations should set this to 0
Nullable
decimal(18, 2)
ForeignCurrencyTendered :
number (decimal)
The amount tendered in the foreign currency (if applicable)
3rd Party integrations should set this to 0
Nullable
decimal(18, 2)
ForeignCurrencyChange :
number (decimal)
The change amount given in the foreign currency (if applicable)
3rd Party integrations should set this to 0
Nullable
MaxLength(4)
Foreign_CurrencyCode :
string
An ISO 4217 currency code indicating the currency that the "ForeignCurrency" values in this record represent. This MUST be a valid currency code or blank (empty string) if no foreign currency is used.
3rd Party integrations should set this to blank (empty string)
Example: "GBP" or "AUD" or "USD" or "EUR"
Nullable
MaxLength(8)
Foreign_CurrencySymbol :
string
The currency symbol displayed for the "ForeignCurrency" values in this record
Example: "$" or "£" or "€"
Nullable
MaxLength(64)
Truncates
Foreign_CurrencyCommonName :
string
The name of the currency that all "ForeignCurrency" values in this record represent.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: "Euro" or "Pound Stirling" or "Australian Dollar" or "US Dollar"
Nullable
MaxLength(64)
Truncates
Foreign_CurrencyLocalizedName :
string
The localised name of the currency that all "ForeignCurrency" values in this record represent.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: "Euro" or "Pound Stirling" or "Australian Dollar" or "US Dollar"
Nullable
decimal(18, 2)
LoyaltyPointsAccrued :
number (decimal)
The number of loyalty (membership) points accumulated due to this payment
Set this to 0 if no loyalty integration exists.
Nullable
decimal(18, 2)
LoyaltyPointsRedeemed :
number (decimal)
The number of loyalty (membership) points that were redeemed to create this payment
Set this to 0 if no loyalty integration exists.
Nullable
Cashier_EmployeeID :
string (GUID)
The unique employee record ID of the employee / staff member who created the record.
This may be NULL for 3rd party integrations or where no Employee (Time Clocking / HR) integration exists.
Nullable
Cashier_UserID :
string (GUID)
This unique UserID from the POS_Users (configuration) table representing the POS user that created the record.
This may be NULL for 3rd party integrations
Nullable
Manager_EmployeeID :
string (GUID)
The unique employee record ID of the employee / manager who approved the action that created this record (if applicable).
Typically this value will be NULL as manager authorisation is usually only required occasionally.
This will typically be NULL for 3rd party integrations or where no Employee (Time Clocking / HR) integration exists.
Nullable
Manager_UserID :
string (GUID)
This unique UserID from the POS_Users (configuration) table representing the POS User who approved the action that created this record (if applicable).
Typically this value will be NULL as manager authorisation is usually only required occasionally.
This will typically be NULL for 3rd party integrations
Nullable
MaxLength(32)
Truncates
Manager_UserName :
string
The name of the POS User / person who approved the action that created this record (if applicable).
Typically this value will be NULL as manager authorisation is usually only required occasionally.
This will typically be NULL for 3rd party integrations
Example: Mary
Nullable
PaymentTypeID :
string (GUID)
This unique PaymentTypeID from the POS_PaymentTypes (configuration) table representing the Payment Type this record was created from.
This will typically be NULL for 3rd party integrations
Nullable
MaxLength(40)
Truncates
CreditCardMerchantID :
string
The MerchantID being used by the Credit Card integration that processed this payment (if applicable)
Null values will be converted to an empty string internally
Nullable
MaxLength(40)
Truncates
CreditCardTerminalID :
string
The TerminalID being used by the Credit Card integration that processed this payment (if applicable).
This is the Terminal ID of the physical credit card machine.
Null values will be converted to an empty string internally
Nullable
decimal(18, 2)
ServiceChargableSales :
number (decimal)
This is the service chargable sales amount that the service charge amount chosen was paid against.
This value is in the outlet's local currency
Example: 2.50
Nullable
MaxLength(32)
Truncates
ServiceChargeCommonName :
string
The name of the Service Charge that was included with this payment
3rd Party integrations can make up their own names, or they can base them on the existing ServiceChargeScheme configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: Optional Service Charge
Nullable
MaxLength(32)
Truncates
ServiceChargeLocalizedName :
string
The localised name of the Service Charge that was included with this payment
3rd Party integrations can make up their own names, or they can base them on the existing ServiceChargeScheme configuration if available.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: Optional Service Charge
Nullable
Created_TerminalID :
string (GUID)
This is the unique TerminalID of a record from the POS_Terminals (configuration) table representing the Terminal which created the record.
3rd Party integrations would normally set this to be NULL
Nullable
Revenue_CostCenterID :
string (GUID)
This is the unique ID of a record from the POS_CostCenters (configuration) table representing the cost center allocated to this payment for revenue tracking purposes
3rd Party integrations would normally set this to be NULL
Nullable
ServiceModeID :
string (GUID)
The unique ID of the POS_ServiceModes (configuration) record matching the Service Mode the payment was added in.
This may be NULL for 3rd party integrations or where no configuration based service mode was used
Nullable
RemarkGroupID :
string (GUID)
The unique ID of the POS_RemarkGroups (configuration) record matching the Remark Group the remark was added from (if applicable)
This may be NULL for 3rd party integrations or where no remark was applied.
Nullable
MaxLength(64)
Truncates
RemarkGroupCommonName :
string
The name of the Remark Group the remark (if applicable) belongs to. Leave blank (empty string) if no remark is associated with this payment.
3rd Party integrations can make up their own names, or they can base them on the existing Remark Group configuration if available. Typically this value is blank (empty string).
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: "Payment Remarks"
Nullable
MaxLength(64)
Truncates
RemarkGroupLocalizedName :
string
The localised name of the Remark Group the remark (if applicable) belongs to. Leave blank (empty string) if no remark is associated with this payment.
3rd Party integrations can make up their own names, or they can base them on the existing Remark Group configuration if available. Typically this value is blank (empty string).
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: "Payment Remarks"
Nullable
RemarkID :
string (GUID)
The unique ID of the POS_Remarks (configuration) record matching the Remark configuration record that the remark was added from (if applicable)
This may be NULL for 3rd party integrations or where no remark was applied.
Nullable
MaxLength(256)
Truncates
RemarkCommonName :
string
The name of the Remark (if applicable) that was applied. Leave blank (empty string) if no remark is associated with this payment.
3rd Party integrations can make up their own names, or they can base them on the existing Remark configuration if available.
Note: This should be in the organisations "Common Language", ie their overall default neutral language (typically English).
Example: "Personal Cheque"
Nullable
MaxLength(256)
Truncates
RemarkLocalizedName :
string
The localised name of the Remark (if applicable) that was applied. Leave blank (empty string) if no remark is associated with this payment.
3rd Party integrations can make up their own names, or they can base them on the existing Remark configuration if available.
Note: This should be in the outlets "Local Language", ie the language used by the POS system on site. This may or may not be the same as the common language.
Example: "Personal Cheque"
Example
{
"SalesTransactionPaymentID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"Active_RevisionID": 321,
"ZReportID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"ZReportCounter": 321,
"Cashier_UserName": "string value",
"PaymentTypeCommonName": "string value",
"PaymentTypeLocalizedName": "string value",
"Created_DeviceIdentifier": "string value",
"Created_TerminalCommonName": "string value",
"Created_TerminalLocalizedName": "string value",
"Created_TerminalDisplayID": "string value",
"Revenue_CostCenterCommonName": "string value",
"Revenue_CostCenterLocalizedName": "string value",
"ServiceModeCommonName": "string value",
"ServiceModeLocalizedName": "string value",
"ServiceModeCommonShortPrefix": "string value",
"ServiceModeLocalizedShortPrefix": "string value",
"ServiceModeEntityID": "string value",
"TradingDate": "2012-04-03T09:40:59.736Z",
"DateTimePaid": "2012-04-03T09:40:59.736Z",
"SplitBillID": 321,
"AmountPaid": 1.23,
"AmountChange": 1.23,
"AmountCashOut": 1.23,
"AmountTip": 1.23,
"AmountServiceCharge": 1.23,
"AmountSurcharge": 1.23,
"AmountRounded": 1.23,
"AmountTendered": 1.23,
"StatusFlags": 321,
"AffectsCID": true,
"IsPaymentReversal": true,
"IsPaymentCancelled": true,
"IsPaymentCashOut": true,
"IsPaymentChanged": true,
"WasReversed": true,
"ForeignCurrencyRate": 1.23,
"ForeignCurrencyTendered": 1.23,
"ForeignCurrencyChange": 1.23,
"Foreign_CurrencyCode": "string value",
"Foreign_CurrencySymbol": "string value",
"Foreign_CurrencyCommonName": "string value",
"Foreign_CurrencyLocalizedName": "string value",
"LoyaltyPointsAccrued": 1.23,
"LoyaltyPointsRedeemed": 1.23,
"Cashier_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"Cashier_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"Manager_EmployeeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"Manager_UserID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"Manager_UserName": "string value",
"PaymentTypeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"CreditCardMerchantID": "string value",
"CreditCardTerminalID": "string value",
"ServiceChargableSales": 1.23,
"ServiceChargeCommonName": "string value",
"ServiceChargeLocalizedName": "string value",
"Created_TerminalID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"Revenue_CostCenterID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"ServiceModeID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"RemarkGroupID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"RemarkGroupCommonName": "string value",
"RemarkGroupLocalizedName": "string value",
"RemarkID": "3f49efe7-ea42-4f21-8718-7e6ce9a33512",
"RemarkCommonName": "string value",
"RemarkLocalizedName": "string value"
}