Mirror of Oracle documentation

Converted for search and offline reading. Authoritative source: Oracle. Diagrams and some complex tables are simplified — check the PDF when in doubt.

A

Appendix: Xstore to Sales Audit Mapping Details

The mapping from the Xstore POSLog format to the Sales Audit RTLog format is defined in the Xstore configuration file RTLogMappingConfig.xml. This appendix provides details on the following ode types used by each of the applications that are used in this mapping:

  • Transaction Types

  • Tender Types

  • Tender Totals

  • Item Types

  • Sales Audit Reason Codes

  • Item Status/and Sales Types

  • Customer ID Types

  • Sales Audit Tax Codes

  • Reference Codes/Labels

  • Sale Return Transaction

Transaction Types

Both Xstore and Sales Audit support a number of similar transactions types, but each solution uses different codes for these transaction types. The table below shows how the transaction types in Xstore map to the transaction types and sub-transaction types used in Sales Audit. See also the Oracle Retail Sales Audit Implementation Guide for more details on these codes.

Table A-1 Transaction Type Mapping

Xstore Transaction TypeSales Audit
Transaction Type
TRAT
Sales Audit Sub-
Transaction Type
TRAS
Description
ACCOUNT_LOOKUPOTHEROTHERACCOUNT_LOOKUP transactions are
passed from Xstore to Sales Audit for full
visibility audit, but not otherwise
implemented in Sales Audit.
BALANCE_INQUIRYOTHEROTHERBALANCE_INQUIRY transactions are
passed from Xstore to Sales Audit for full
visibility audit, but not otherwise
implemented in Sales Audit.
CREDIT_APPLICATIONOTHEROTHERCREDIT_APPLICATION transactions are
passed from Xstore to Sales Audit for full
visibility audit, but not otherwise
implemented in Sales Audit.

July 29, 2026 Appendix A-1 of A-15

Appendix A Transaction Types

Table A-1 (Cont.) Transaction Type Mapping

Xstore Transaction TypeSales Audit
Transaction Type
TRAT
Sales Audit Sub-
Transaction Type
TRAS
Description
DEFERRED_INVOICETOTALUUIDGMX deferred invoice
For more information, see
Deferred Invoice
Transaction.
ESCROWOTHEROTHERESCROW transactions are passed from
Xstore to Sales Audit for full visibility audit,
but not otherwise implemented in Sales
Audit.
EXCHANGE_RATEOTHEROTHEREXCHANGE_RATE transactions are passed
from Xstore to Sales Audit for full visibility
audit, but not otherwise implemented in
Sales Audit.
GNRICOTHEROTHERGNRIC transactions are passed from Xstore
to Sales Audit for full visibility audit, but not
otherwise implemented in Sales Audit.
INVENTORY_CONTROLOTHEROTHERINVENTORY_CONTROL transactions are
mapped from Xstore to Sales Audit for full
visibility audit, but not otherwise
implemented in Sales Audit.
Xstore should be configured so that
inventory control transactions are not
generated, and therefore not sent to Sales
Audit.
INVENTORY_SUMMARY_
COUNT
OTHEROTHERINVENTORY_SUMMARY_COUNT
transactions are mapped from Xstore to
Sales Audit for full visibility audit, but not
otherwise implemented in Sales Audit.
Xstore should be configured so that
inventory summary count transactions are
not generated, and therefore not sent to
Sales Audit.
MOVEMENT_PENDINGOTHEROTHERMOVEMENT_PENDING transactions are
mapped from Xstore to Sales Audit for full
visibility audit, but not otherwise
implemented in Sales Audit.
Xstore should be configured so that
inventory summary count transactions are
not generated, and therefore not sent to
Sales Audit.
NO_SALENOSALENOSALENA
POST_VOIDPVOIDVOIDNA
RETAIL_SALESALESALERegular transaction.
(can be mapped to multiple
Sl Adi i
NOSALESUSPNDSuspend transaction.
aes ut transacton
types depending on other
VOIDCANCELCancel transaction.

conditions)
VOIDCANCELCancel orphaned transaction.
SESSION_CONTROLOTHEROTHERIssue till.
OTHEROTHERAssign till/assign till tender transfer.

July 29, 2026 Appendix A-2 of A-15

Appendix A Transaction Types

Table A-1 (Cont.) Transaction Type Mapping

Xstore Transaction TypeSales Audit
Transaction Type
TRAT
Sales Audit Sub-
Transaction Type
TRAS
Description
OTHEROTHERAttach till.
OTHEROTHERRemove till.
OTHEROTHERReturn till.
SYSTEM_CLOSEDCLOSEDSTOREClose store.
SYSTEM_OPENOPENOSTOREOpen store.
TENDER_CONTROLOPENOTILLBegin till count.
(can be mapped to multiple
Sales Audit transaction
tes deendin on other
CLOSE with TOTAL /
OTHER
CTILL with CTILLT /
OTHER
Till closing count (register accountability/till
accountability).
yp pg
conditions)
CLOSE and TOTALCTILL and CTILLTTill reconcile. Each counted tender type has
a corresponding TOTAL and CTILLT as a
THEAD.
PAIDINPITILLPay in.
PAIDOUPOTILLPay out.
OTHERAUDITTill audit.
PULLPUTILLMid-day deposit. Place funds in store bank.
OTHERBANKBank deposit.
LOANLOTILLTill loan (cash transfer).
PULLPUTILLPick up till (cash pickup).
OTHEROTHEROpen store bank.
OTHEROTHERStore bank reconcile.
TENDER_EXCHANGEPAIDINPITILLNA
TILL_CONTROLOTHEROTHERNA
TIMECLOCKOTHEROTHEREmployee clock in.
OTHEROTHEREmployee clock out.
TRAINING_MODE_ENTR
Y
OTHERNTRAINNA
TRAINING_MODE_EXITOTHERXTRAINNA
WORKSTATION_CLOSECLOSECREGNA
WORKSTATION_COMPLE
TE_REMOTE_CLOSE
CLOSECRGRCNA
WORKSTATION_OPENOPENOREGNA
WORKSTATION_START_R
EMOTE_CLOSE
OTHERCRGRCNA
GIFT_REGISTRYOTHEROTHERAssign gift registry (register operation)
OTHEROTHERReissue gift registry (register operation)
RAIN_CHECKOTHEROTHERRedeem rain check.
BATCH_CLOSEOTHEROTHERCredit and debit settlement.
REOPENREOPENNAUsed to reopen a previously closed store

day in Sales Audit.

July 29, 2026 Appendix A-3 of A-15

Appendix A Tender Types

Deferred Invoice Transaction

A transaction of type DEFERRED_INVOICE is issued in a Mexico store in either of the following situations:

1. A user generates an invoice in Back Office for a retail transaction completed earlier that day.

2. At store close, an invoice is generated for all retail transactions completed that day that have not yet been invoiced.

The following out-of-box mappings are provided for ReSA.

  • The transaction header TOTAL record uses sub-transaction type UUIDG .

  • The invoice payment type is mapped to the RefNo1 field.

  • The total payment amount is mapped to the Value field.

  • The invoice UUID is mapped to a header attribute of record type THATT and attribute type INV_ID .

  • The customer fiscal code is mapped to a header attribute of record type THATT and attribute type CST_FC .

Tender Types

In order to communicate the tender type used on transactions, a specific mapping is used between Xstore and Sales Audit. The details below outline how the tenders in Xstore map to the Sales Audit tender groups and types. See also the Oracle Retail Sales Audit Implementation Guide for information on configuration of tender types and tender type groups.

Table A-2 Tender Type Mapping
XstoreXstore POS Lo
Type
g Tender GroupSales Audit RTLog
Tender Type CodeTender Type DTender TypeTender IDTender Type GroupTender Type ID
CURRENCYUSD_CURRENC
Y
CashUSD_CURRENCYCASHIf primary 1000, if
alternate 1010.
AUD_CURRENC
Y
CashAUD_CURRENCYCASHIf primary 1000, if
alternate 1010.
CAD_CURRENC
Y
CashCAD_CURRENCYCASHIf primary 1000, if
alternate 1010.
EUR_CURRENC
Y
CashEUR_CURRENCYCASHIf primary 1000, if
alternate 1010.
GBP_CURRENC
Y
CashGBP_CURRENCYCASHIf primary 1000, if
alternate 1010.
CREDIT_CARDVISACreditDebitVISACCARD3000
MASTERCARDCreditDebitMASTERCARDCCARD3010
AMERICAN_EXP
RESS
CreditDebitAMERICAN_EXP
RESS
CCARD3020
DINERS_CLUBCreditDebitDINERS_CLUBCCARD3040
DISCOVERCreditDebitDISCOVERCCARD3030

July 29, 2026 Appendix A-4 of A-15

Appendix A Tender Types

Table A-2 (Cont.) Tender Type Mapping

XstoreXstore POS Log
Type
Tender GroupSales Audit RTLog
Tender Type CodeTender Type DTender TypeTender IDTender Type GroupTender Type ID
JCBCreditDebitJCBCCARD3090
DEBITCARDCreditDebitDEBITCARDDCARD8000
ACCOUNTHOUSE_ACCOU
NT
dtv:AccountHOUSE_ACCOUN
T
CCARD3120
A new type of
credit card
CreditDebitA new type of
credit card
CCARDMap to UNKNW.
CHECKCHECKCheckCHECKCHECKIf primary 2000, if
foreign 2050.
TRAVELERS_CHE
CK
USD_TRAVELER
S_CHECK
dtv:TravelersChe
ck
USD_TRAVELERS
_CHECK
CHECKIf primary 2020, if
foreign 2060.
CAD_TRAVELER
S_CHECK
dtv:TravelersChe
ck
CAD_TRAVELERS
_CHECK
CHECKIf primary 2020, if
foreign 2060.
VOUCHERGIFT_CERTIFICA
TE
VoucherGIFT_CERTIFICA
TE
VOUCHIf primary 4030, if
foreign 4100.
ISSUE_GIFT_CE
RTIFICATE
VoucherISSUE_GIFT_CER
TIFICATE
VOUCHIf primary 4030, if
foreign 4100.
ISSUE_MERCHA
NDISE_CREDIT_
CARD
VoucherISSUE_MERCHA
NDISE_CREDIT_
CARD
VOUCH4050
ISSUE_STORE_
CREDIT
VoucherISSUE_STORE_C
REDIT
VOUCH4050
ISSUE_XPAY_GIF
T_CARD
VoucherISSUE_XPAY_GIF
T_CARD
VOUCH4040
MALL_CERTIFIC
ATE
VoucherMALL_CERTIFICA
TE
VOUCH4060
MERCHANDISE_
CREDIT_CARD
VoucherMERCHANDISE_
CREDIT_CARD
VOUCH4050
RELOAD_MERC
HANDISE_CREDI
T_CARD
VoucherRELOAD_MERCH
ANDISE_CREDIT
_CARD
VOUCH4050
RELOAD_XPAY_
GIFT_CARD
VoucherRELOAD_XPAY_G
IFT_CARD
VOUCH4040
STORE_CREDITVoucherSTORE_CREDITVOUCHIf primary 4050, if
foreign 4090.
XPAY_GIFT_CAR
D
VoucherXPAY_GIFT_CAR
D
VOUCH4040
COUPONCOUPONManufacturerCo
upon
COUPONQPON5000
ROOM_CHARGECreditDebitROOM_CHARGEVOUCH4050
CREDIT_CARDPAYPALTBDPAYPALPAYPAL3075

July 29, 2026 Appendix A-5 of A-15

Appendix A Tender Totals

Table A-2 (Cont.) Tender Type Mapping

XstoreXstore POS Lo
Type
g Tender GroupSales Audit RTLog
Tender Type CodeTender Type DTender TypeTender IDTender Type Group
Tender Type ID
HOME_OFFICE_CH
ECK
HOME_OFFICE_
CHECK
NANANot supported in this solution. Home
office check tenders should not be used
in Xstore if it is integrated with Sales
Audit.

Tender Totals

Sales Audit uses tender totals to compare the total amount of a tender reported from the store (Accounted For) with the amount that it should have reported (Accountable For) based on store activity in a day. Totals are fully customer configured in Sales Audit. However, when integrating with Xstore, a few specific totals are expected to be created to total tenders. The totals that should be created and their ID are outlined in the table below, along with the Xstore tender type used for the total.

Table A-3 Total Tender ID Mapping

XstoreSales Audit
RTLog
TenderTypeTenderIDTotal ID
CURRENCYUSD_CURRENCYCASH
AUD_CURRENCYCASHAC
CAD_CURRENCYCASHAC
EUR_CURRENCYCASHAC
GBP_CURRENCYCASHAC
TRAVELERS_CHECKUSD_TRAVELERS_CHECKTCHECK
AUD_TRAVELERS_CHECKTCHECKAC
CAD_TRAVELERS_CHECKTCHECKAC
EUR_TRAVELERS_CHECKTCHECKAC
GBP_TRAVELERS_CHECKTCHECKAC
MXN_TRAVELERS_CHECKTCHECKAC
CREDIT_CARDCREDIT_CARDCCARD
VOUCHERGIFT_CERTIFICATEGIFTCERT
MALL_CERTIFICATEMALLCERT
MERCHANDISE_CREDIT_CARDMCCARD
RELOAD_MERCHANDISE_CREDIT_CARDRMCCARD
RELOAD_XPAY_GIFT_CARDRXPAYGC
STORE_CREDITSTCRDT
XPAY_GIFT_CARDXPAYGC
ISSUE_XPAY_GIFT_CARDIXPAYGC

July 29, 2026 Appendix A-6 of A-15

Appendix A Item Types

Table A-3 (Cont.) Total Tender ID Mapping

XstoreSales Audit
RTLog
TenderTypeTenderIDTotal ID
ISSUE_STORE_CREDITISTCRDT
ISSUE_MERCHANDISE_CREDIT_CARDIMCCARD
ACCOUNTHOUSE_ACCOUNTHACCNT
COUPONCOUPONCOUPON

Item Types

There are a number of different item types that are used in Xstore, and these all need to be mapped to item types used by Sales Audit. The table below outlines how the types in Xstore map to the Sales Audit item types.

Table A-4 Item Type Mapping

Xstore Item TypeSales Audit Item
Type
Description
AlterationNMITEMNon-Merchandise Item
DepositNMITEMNon-Merchandise Item
dtv:GiftCertificateGCNVoucher
dtv:NonMerchandiseNMITEMNon-Merchandise Item
dtv:PaymentNMITEMNon-Merchandise Item
FeeNMITEMNon-Merchandise Item
ItemCollectionITEMItem
ServiceNMITEMNon-Merchandise Item
StockITEMItem
WarrantyNMITEMNon-Merchandise Item

Sales Audit Reason Codes

Xstore has a single set of reason codes, used both for reason codes, price override codes, and other modifications. Sales Audit separates these concepts into individual sets. Because reason codes can be mixed coming out of Xstore, Sales Audit has mapped some code values to multiple code types to avoid the possibility of errors.

For more information on each of these categories of reason codes, see the Oracle Retail Sales Audit Implementation Guide .

Reason Codes

First is a general reason code that may be entered for specific transaction types to provide more information about the context of the transaction. This type of reason code is mapped to Xstore miscellaneous reason codes.

July 29, 2026 Appendix A-7 of A-15

Appendix A Sales Audit Reason Codes

Table A-5 Sales Audit Reason Codes

Xstore Reason CodeSales Audit Reason
Code
Description
PV1PV1Cashier Error
PV2PV2Supervisors Discretion
PV3PV3Customer Satisfaction
NS1NS1Making Change
NS2NS2Employee Check Cashed
NS3NS3Petty Cash In
NS4NS4Petty Cash Out
NS5NS5Spiff/Bonus Out 1
CF1CF1Holiday Adjustment
CF2CF2Register Down
PAID_INPI1Change from Paid Out
PAID_INPI2Found Money
PAID_INPI3Drawer Loan 1
PAID_INTENDEXTender exchange
PAID_OUTPO1Stocks
PAID_OUTPO2Delivery
PAID_OUTPO3Postage
PAID_OUTPO4Contractor Services
PAID_OUTPO5Store Incentives

Return Reason Codes

Sales Audit return reason codes are used to provide the context of the return in Sales Audit. These map to the Xstore reason codes as follows:

Table A-6 Return Reason Codes

Xstore Reason CodeSales Audit Reason CodeDescription
RET1RET1Did not like
RET2RET2Better price somewhere else
RET3RET3Did not fit
RET4RET4Damaged
RET5RET5Exchange
RET6RET6Poor quality
RET41RET41Open box
RET42RET42Unusable
RET43RET43Repairable

July 29, 2026 Appendix A-8 of A-15

Appendix A Sales Audit Reason Codes

Discount Reason Codes

Used in Sales Audit to indicate the valid discount types for sales and return transaction, this table shows how these are mapped to the Xstore reason codes used for returns:

Table A-7 Discount Reason Codes

Xstore Reason CodeSales Audit Reason
Code
Description
DC1SIncorrect Label
DC2MSManager Discretion
DC3CPPrice Guarantee
DC4DDamage Adjustment
NEW_PRICE_RULENEWPRCNew Price Rule
DOCUMENTDOCDocument
MANUFACTURER_COUPO
N
MCOUPManufacturer Coupon
REFUND_PRORATIONREFUNDRefund Proration
CALCULATED_WARRANT
Y_PRICE
CALWARWarranty Price

Item Price Override Reason Codes

This grouping of reason codes is used to hold the valid price override reason codes that are expected by Sales Audit. These map to the reason codes used in Xstore as follows:

Table A-8 Item Price Override Reason Codes

Xstore Reason CodeSales Audit Reason
Code
Description
AR_PR_1AR_PR_1Insufficient Funds
AR_PR_2AR_PR_2Wrong Amount
AR_PR_3AR_PR_3Wrong Amount
AR_PR_4AR_PR_4Wrong Invoice
COMMENTNEWPRCOther - Enter Comments
PC1SIncorrect Label
PC2MSSupervisors Discretion
PC3CPCompetitive Price Match
PC4DDamage Adjustment
BASE_PRICE_RULEBSPRCBase Price Rule
PROMPT_PRICE_CHANG
E
PROMPTPrice Prompt
AUTHORIZED_AMOUNTAUTHMTAuthorized Amount

July 29, 2026 Appendix A-9 of A-15

Appendix A Item Status/and Sales Types

Item Status/and Sales Types

Valid values for item status in Sales Audit are:

VVoided
SSale
RReturn
OOther
ORIOrder Initiate
ORCOrder Cancel
ORDOrder Complete
LINLayaway Initiate
LCALayaway Cancel
LCOLayaway Complete

Valid values for sales type in Sales Audit are:

RRegular
IIn-Store Customer Order
EExternal Customer Order

These two sets of codes are then mapped to the actions in Xstore as follows:

Table A-9 Item Status/ and Sales Type Mapping

Xstore ItemXstore ActionSales Audit Item
Status
Sales Audit Sales
Type
Regular SaleSaleSR
ReturnRR
VoidS and V (two lines)R
Layaway ItemInitLINI
CancelLCAI
PickupLCOI
VoidS and V (two lines)I
Locate OrderInitORIE
CancelORCE
PickupORDE
Void when update or pickupORCE
Void when InitS and V (two lines)E
Special OrderInitORIE
CancelORCE
PickupORDE
Void when update or pickupORCE

July 29, 2026 Appendix A-10 of A-15

Appendix A Customer ID Types

Table A-9 (Cont.) Item Status/ and Sales Type Mapping

Xstore ItemXstore ActionSales Audit Item
Status
Sales Audit Sales
Type
Void when InitS and V (two lines)E
Work OrderInitORII
CancelORCI
PickupORDI
Void when update or pickupORCI
Void when InitS and V (two lines)I
Pre-SaleInitORII
CancelORCE
PickupORDE
Void when update or pickupORCE
Void when InitS and V (two lines)E
On HoldInitORII
CancelORCI
PickupORDI
Void when update or pickupORCI
Void when InitS and V (two lines)I
Send SaleInitSR
Void when InitS and V (two lines)R

Customer ID Types

Sales Audit has a set of codes that it uses for validating the various forms of identification that can be presented at the store for a transaction. However, Xstore always sends just one type - Customer ID or CUSTID. This customer ID type is part of the default Sales Audit implementation and should be configured to “Used” when implementing with Xstore.

Sales Audit Tax Codes

When implementing using US Sales Tax for some or all stores, the tax code sent by Xstore will always be sent as TOTTAX. This will be validated against the list of valid non-VAT tax codes in Sales Audit. This code is included in the initial Sales Audit configuration, but care should be taken not to remove or configure that code type off when integrating with Xstore.

Reference Codes/Labels

Sales Audit has a flexible method of taking in reference fields from a POS at various levels of the transaction. These can be configured differently by transaction and sub-transaction type within Sales Audit. In general, these are not used in the base Xstore implementation without customization with a couple of exceptions. The reference fields that Xstore uses are as follows:

  • Reference Number 1 (Transaction Header) - for the Day Close (DCLOSE) transaction type, this field will contain the file counter for the end of day

July 29, 2026 Appendix A-11 of A-15

Appendix A Sale Return Transaction

  • Reference Number 1 (Transaction Header) - for the Tender Total (TOTAL) transaction type, contains the tender ID/type

  • Reference Number 3 (Transaction Header) - incudes the employee ID if the sale was to an employee

For more on configuring reference fields in Sales Audit, see the Oracle Retail Sales Audit Implementation Guide .

Sale Return Transaction

This section describes sale return transaction mappings.

Transaction Header Mapping

This section describes mappings for the transaction header of sale return transactions. The transaction header format is defined at TransactionHeader RECODE_FORMAT in the RTLogFormatConfig.xml file.

A sale return transaction can be mixed with a sale line item, return line item, special order pickup line item, special order payment, work order line item, and so on. In this case, the sale and return transaction type and sub transaction type are defined as SALE. The actual types of line lines are specified at line item level.

The field Salesperson in Transaction Header is matched to -1. It means there is no Salesperson available at transaction level. Instead the field Salesperson in line item is populated, since it is possible to have different sales people for different line items in the same transaction.

OriginalTransactionNumber and Orig_reg_no are only populated for post void transactions. Mapper PostVoidOriginalTransactionInfoMapper indicates the mapping logic.

Line Item (TITEM) Mapping

This section describes mappings for line items of sale return transactions. The line item format is defined at TransactionItem RECODE_FORMAT in the RTLogFormatConfig.xml file.

The line item will not be exported for suspended, cancelled and post void transactions. It is disabled in retailTrnDetailrExportabilityMapper.

It would be one or more line item records in a sale return transaction.

There are two kinds of item types, physical/merchandise item (ITEM) or non physical/non merchandise item (NMITEM). Non physical items are service fee, payment, work order item, and so on.

The Item id of a physical item is set to Item field; the Item id for a non physical item is set to NonMerchandiceItem field of the RTLog record.

The default value of the ItemStatus field is S, which is set in the RTLogFormatConfig.xml file. If the line item is return, the value is set to R. Return reason code mapping can be found in / retailTransaction/lineItems/return source field VALUE_MAPPINGS.

The default value of SalesType for sale return line item is I (internal sale).

ItemVoidStatusMapper sets the void flag of the record to true if the line is voided. If a sale return line item record is voided, a clone of the sale return line item record will be created, the item status for the new record is set to “V”. In this case the status of the two lines are “S” and “V” or “R” and “V”. Sales Audit balances off a sale/return line with its voided line to zero.

July 29, 2026 Appendix A-12 of A-15

Appendix A Sale Return Transaction

Item Discount (IDISC) Mapping and Round off Discount Mapping

This section describes mappings for item level discounts of sale return transactions. The item level discount format is defined at ItemDiscount RECODE_FORMAT in the RTLogFormatConfig.xml file.

The item level discount will not be exported for suspended, cancelled and post void transactions. It is disabled in retailTrnDetailExportabilityMapper.

It would be zero or more item discount records for a line item.

If it is a Deal discount, the RMSPromotionType is mapped to 9999, otherwise it is mapped to 1004.

The discount type of ItemDiscount is mapped from reasonCode and discountReasonCode.of RetailPriceModifierType Poslog object.

The values of DiscountReferenceNumber, PromoComponent and RMSPromotionType are mapped from PromotionIDMapper. If the retail price modifier is voided, DiscountReferenceNumber and PromoComponent are set to zero. If the retail price modifier is not voided and it is a deal promotion, it is mapped based on the following conditions:

  • If it is an RPM promotion, DiscountReferenceNumber is set to RPM promotion id and PromoComponent is set to promotion component id.

  • If it is not an RPM promotion, RMSPromotionType is set to 2000, DiscountReferenceNumber and PromoComponent are set to zero.

PromotionIDMapper implements this logic.

DiscountAmountMapper calculates unit discount amount for the ItemDicount RTLog IDISC record and also sets roundedOffAmount to the RTLog record. The value of unit discount amount is the total discount amount divided by item quantity rounding by half up with unit discount scale. The value of roundedOffAmount is the difference between total discount amount and unit discount amount multiplies item quantity. Note that the roundedOffAmount is not a field of IDISC, therefore it is not going to be exported.

A round off discount record (ItemRoundedOffDiscount) is always created after a discount record (ItemDiscount) if the roundedOffAmount is not equal to zero. In a discount record, if the roundedOffAmount exists, a round off discount record will be cloned from the discount record, otherwise a new round off discount record will be created. The value of discount amount of a round off discount record is the round off amount of the corresponding discount record. The value of the quantity in a round off discount record is always set to zero. RoundedOffDiscountAmountMapper is specially used for this mapping.

The format of ItemRoundedOffDiscount record and ItemDiscount record are exactly the same, that is IDISC. The reason for adding a round off discount record is that Poslog uses discountAmount and RTLog uses UnitDiscountAmount. If a quantity of a line item is not one, such as 3, the UnitDiscountAmount times 3 is not equal to discountAmount in Poslog. To balance it off, an extra discount line is introduced to set the round off amount to unit discount amount. It guaranties the total discount value is equal to sum of the two IDISC records.

Item Level Tax Mapping

This section describes mappings for item level tax of sale return transactions. The item level tax format is defined at ItemGlobalTax RECODE_FORMAT in the RTLogFormatConfig.xml file.

Tax lines will not be exported for suspended, cancelled and post void transactions. It is disabled in retailTrnDetailExportabilityMapper.

July 29, 2026 Appendix A-13 of A-15

Appendix A Sale Return Transaction

It would be one or more tax lines for one sale return line item. It depends on how many tax authorities are applied on this item.

RTLog requires four digits decimal for TaxRate in ItemGlobalTax record format. AmountMapper object sets the scale of tax rate to four to fit the need.

RTLog requires four digits decimal for TaxAmount in ItemGlobalTax record format. AmountMapper object sets the scale of tax amount to four to fit the need.

The value of TaxAmountSign field is P when tax amount is positive, N when tax amount is negative. It is done is SignMapper.

The RTLog Generator application supports either VAT or non VAT. It does not support both of them in the application instance. VAT and non VAT configurable settings can be found at the roundedOffTaxAmountMapper spring bean in the RTLogMappingBean.xml file.

TaxCode mappings are different for VAT and non VAT systems. If the RTLog Generator application is set to VAT, the tax group id maps to the tax code. If the RTLog Generator application is set to non VAT, the tax code is always “TOTTAX”. ItemTaxCodeMapper implements this logic.

The value of TotalTaxAmount is blank if the tax is voided. Otherwise, the value of TotalTaxAmount is the sum of the item taxes from all item tax authorities. It is implemented at ItemTotalTaxAmountMapper.

The value of TaxableIndicator of ItemGlobalTax is a flag to indicate the item has tax or not. If the TaxAmountSign amount sign is zero, the value of TaxableIndicator is set to N, otherwise it is set to Y.

Tender Line Mapping

This section describes mappings for transaction tender of sale return transactions. The transaction tender format is defined at TransactionTender RECODE_FORMAT in the RTLogFormatConfig.xml file.

The tender line will not be exported for suspended, cancelled and post void transactions. It is disabled in retailTrnTenderExportabilityMapper.

The actual mappings of transaction tender type group and tender type id (sub type) are listed on sourcePath “/transaction/lineItems/tender” in the RTLogMappingConfig.xml file.

There may be zero or more tender line items within one sale return transaction.

The tender type id is different for base currency and foreign currency and is also different for base traveler’s check and foreign traveler’s check. Object tenderTypeIDMapper is responsible for doing the actual currency and traveler’s check mapping. If the tender type is currency or traveler’s check, mapping value will be found from the mapper, the corresponding VALUE_MAPPINGS will be skipped. Otherwise, it will do the value mapping in the VALUE_MAPPINGS.

RTLog requires four digits decimal for TenderAmount in TransactionTender record format. Mapper amountMapper sets the scale of tender amount to four to fit the need.

The value of TenderSign field will be P when tender amount is positive, N when tender amount is negative. It is done in SignMapper.

There is a special tender line which is used for transaction rounded off amount. For detail information, refer to the next section.

July 29, 2026 Appendix A-14 of A-15

Appendix A Sale Return Transaction

Rounded Off Amount

Transaction rounded amount is used to balance off a transaction. The amount comes from the following areas.

  • Rounded amount from roundedTotal@RetailTransactionType Poslog object.

  • Total tax amount from the sum of amount@TaxType of each tax LineItem of RetailTransactionType Poslog object.

  • Total sale return line item tax amount from the sum of amount@TaxType of SaleType of LineItem of RetailTransactionType Poslog object.

Transaction rounded off amount = value of 1 + (value of 2 - value of 3).

RTLog exports line item taxes rather than exports transaction level taxes. The reason is that the payment amount in an order transaction includes a certain percentage of item price and tax amount. When doing a pickup, the transaction level tax is not zero, and the payment already includes the part of the tax. The total tax will be more than the value is supposed to be. The transaction will not balance off.

A special RECORD_FORMAT TransactionTenderRoundedOff is created for this purchase. The syntax of the format is exactly the same as the one for TransactionTender. The TenderTypeGroup is always set to CASH and TenderTypeID is always 1020. TenderAmount of TransactionTenderRoundedOff is the transaction rounded of amount, TenderSign is the transaction rounded of amount sign. RoundedOffAmountMapper accumulates the rounded amounts based on the algorithm above and sets the value and sign to TenderAmount and TenderSign fields.

This special tender line will not be exported for suspended, cancelled and post void transactions. It is disabled in retailTrnDetailExportabilityMapper. It will not be exported when the total rounded amount is zero.

July 29, 2026 Appendix A-15 of A-15


In this guide

  • 6 RTLog Generator On-PremiseMerchandising Cloud Services-Xstore Suite 26.0 Implementation Guide · shares GIFT_CERTIFICATE, HOUSE_ACCOUNT, ISSUE_MERCHANDISE_CREDIT_CARD, ISSUE_STORE_CREDIT