Description | Create Point-Of-Sale Transactions |
Name | PointOfSaleTransactionProcessingPointOfSaleTransactionIn |
Namespace | http://sap.com/xi/AP/CustomerInvoicing/Global |
Process Component Description | Point-Of-Sale Transaction Processing |
Process Component Name | PointOfSaleTransactionProcessing |
Process Component Namespace | http://sap.com/xi/AP/CustomerInvoicing/Global |
Deployment Unit Description | Customer Invoicing |
Endpoint Activation | By Communication Arrangement | Operations |
Release Status | Released |
An interface to maintain point-of-sale transactions.
A Point-of-Sale Transaction can be a type of Retail Transaction, Cash Transaction or Summary Transaction.
This web-service is used to maintain Point Of Sale Retail Sales Transactions, Cash Transactions and Sales Summary Transactions from an External System.
The Point Of Sale Interface contains an operation which is used to maintain the Point Of Sale Transaction bundle. SAP ByD supports two web-service protocols:
reliable messaging and plain soap.
Our recommendation is to use reliable messaging.
The web service must be activate it within a communication arrangement maintained for the Point-Of-Sale Transaction Integration.
If the Point-Of-Sale is not visible, you must activated during the definition of the project scope.This is a part of Business Configuration(BC) of SAP Business ByDesign.If no entry can be seen there, activate the SAP Store add-on solution for the Point Of Sale Transactions.
An error can occur when the web service is used with invalid data. This can result in inconsistent point-of-sale transactions and are visible while monitoring the UI, it cannot be released due to their inconsistent status. However there are three exceptions to this behaviour
Missing or invalid company ID on the element PointOfSaleTransactionBundleNotification (the corresponding master data does not exist).
Missing or invalid point-of-sale transaction type code on the message element PointOfSaleTransactionBundleNotification.
Missing or invalid SenderParty-InternalID on the element MessageHeader. This must be a valid Communication System ID.
To avoid a heavy workload, we highly recommend that all input to a productive system should contain valid data only.
In order to create an instance of Point-Of-Sale Transaction from external system you should specify:
In message header SenderParty-Internal ID must be provided with a valid CommunicationSystemID (master data exists) else the message will not be accepted by ByDesign
<SenderParty> <InternalID schemeID="CommunicationSystemID" schemeAgencyID="310">TICKETSALE_001</InternalID> </SenderParty>
Sending process component (fixed values: business scope type code 3, ID 301):
<BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope>
Receiving Process Component (Fixed values: business scope type code 2,ID:300)
<BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope>
Sales item does not contain the (optional) reference to a project task. The cash item has only filled the cash storage ID and the amount. There is no buyer or payer information available. |
<n0:PointOfSaleTransactionBundleNotification xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <MessageHeader> <ID schemeID ="INVOIC">00000000123456</ID> <CreationDateTime>2010-08-30T13:17:09Z</CreationDateTime> <SenderParty> <InternalID schemeID="CommunicationSystemID" schemeAgencyID="310">TICKETSALE_001</InternalID> </SenderParty> <BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope> <BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope> </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>981709873</ExternalID> <Note>Document Header Text</Note> <TypeCode>1</TypeCode> <BusinessTransactionDate>2010-10-22</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">119.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">100.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">19.0</TotalTaxAmount> <SalesUnitID>MC42111</SalesUnitID> <RetailTransactionSalesItem> <TypeCode>1</TypeCode> <ExternalID>1</ExternalID> <Note>Sales Item Text</Note> <GrossAmount currencyCode="EUR">119.0</GrossAmount> <NetAmount currencyCode="EUR">100.0</NetAmount> <TaxAmount currencyCode="EUR">19.0</TaxAmount> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <TaxCountryCode>DE</TaxCountryCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </RetailTransactionSalesItem> <RetailTransactionProductTaxItem> <ExternalID>2</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">19</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> <RetailTransactionCashItem> <ExternalID>3</ExternalID> <CashPayment> <CashStorageID>100005 HAUPTKASSE</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">119.0</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </n0:PointOfSaleTransactionBundleNotification>
You can find general information about Web services, their structure and consumption in the Web Services documentation.
Posibble Scenarios include the following.
Create Point Of Sales Transaction(Inventory Material)
Here is an example web service request to create Point-Of-Sale Transaction.
<?xml version="1.0" encoding="utf-8" ?> - <nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:HXE:/1SAI/TAS3A338B4F614A10475EAA:803"> <MessageHeader> <ID>20120820102206</ID> <CreationDateTime>2012-08-20T10:22:06.498412Z</CreationDateTime> <SenderParty> <InternalID schemeAgencyID="310" schemeID="CommunicationSystemID">OUTLET</InternalID> </SenderParty> <BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope> <BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope> </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>201208201021541</ExternalID> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-20</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <EndDateTime>2012-08-20T10:21:49.471842Z</EndDateTime> <OperatorBusinessPartnerInternalID>MC2471</OperatorBusinessPartnerInternalID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">119.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">100.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">19.0</TotalTaxAmount> <SalesUnitID>MDEC42100</SalesUnitID> <BuyerBusinessPartnerInternalID>MDEC9785</BuyerBusinessPartnerInternalID> <SiteID>MDEC64000</SiteID> <RetailTransactionSalesItem> <ExternalID>1</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">119.0</GrossAmount> <NetAmount currencyCode="EUR">100.0</NetAmount> <TaxAmount currencyCode="EUR">19.0</TaxAmount> <Quantity unitCode="EA">1.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <ProjectReference> <ProjectElementID>MDEC-1239-1</ProjectElementID> </ProjectReference> </AccountingCodingBlock> </AccountingCodingBlockAssignment> <InventoryLocation> <LogisticsAreaID>MDEC64920-50-10-02</LogisticsAreaID> </InventoryLocation> <InventoryItemChange> <MaterialInternalID>MDECF-0001</MaterialInternalID> </InventoryItemChange> </RetailTransactionSalesItem> <RetailTransactionProductTaxItem> <ExternalID>2</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">19.0</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> <RetailTransactionCashItem> <ExternalID>1</ExternalID> <CashPayment> <CashStorageID>100005 HAUPTKASSE</CashStorageID> </CashPayment> <PayerBusinessPartnerInternalID>MDEC9785</PayerBusinessPartnerInternalID> <BusinessTransactionCurrencyAmount currencyCode="EUR">119.0</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
Create Point-Of-Sale Cash Transaction.
Here is an example web service request to create Point-Of-Sale Cash Transaction.
<?xml version="1.0" encoding="utf-8" ?> <nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QSO:/1SAI/TAS3A338B4F614A10475EAA:804"> <MessageHeader> <ID>20120820104615</ID> <CreationDateTime>2012-08-20T10:46:15.895496Z</CreationDateTime> <SenderParty> <InternalID schemeAgencyID="310" schemeID="CommunicationSystemID">OUTLET</InternalID> </SenderParty> <BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope> <BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope> </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>201208201046151</ExternalID> <Note>Cash transfer</Note> <TypeCode>3</TypeCode> <BusinessTransactionDate>2012-08-20</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <EndDateTime>2012-08-20T10:46:13.169915Z</EndDateTime> <OperatorBusinessPartnerInternalID>MC2471</OperatorBusinessPartnerInternalID> <CashTransaction> <CashTransactionCashItem> <ExternalID>EX1</ExternalID> <Note>Source</Note> <CashPayment> <CashStorageID>X100005 HAUPTKASSE</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">-18.5</BusinessTransactionCurrencyAmount> </CashTransactionCashItem> <CashTransactionCashItem> <ExternalID>EX2</ExternalID> <Note>Target</Note> <CashPayment> <CashStorageID>100006 EMPFANG</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">18.5</BusinessTransactionCurrencyAmount> </CashTransactionCashItem> </CashTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
Summary Transaction
This Summary Transaction uses the ValidationTransactionBatchID "July2012". All Sales Transactions which use this as their BatchID are validated. A total of 20 sales transactions are expected in this batch, as defined in attribute TransactionNumberValue. The sum of their net amounts is expected to be 2000,00 EUR, of the gross amounts 2380,00 EUR and of the tax amounts 380,00 EUR. If the system collects more than or less than 20 sales transactions belonging to this batch, or if the amounts don’t sum up as expected, the summary transaction will be marked as a deviation.
Here is an example web service request to create Point-Of-Sale Summary Transaction.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>123456</ExternalID> <TypeCode>2</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <SummaryTransaction> <ValidationTransactionBatchID>CalendarWeek12</ValidationTransactionBatchID> <SummaryTransactionRetailTotals> <NetAmount currencyCode="EUR">2000.0</NetAmount> <GrossAmount currencyCode="EUR">2380.0</GrossAmount> <TaxAmount currencyCode="EUR">380.0</TaxAmount> <TransactionNumberValue>20</TransactionNumberValue> </SummaryTransactionRetailTotals> </SummaryTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
Description | Create point-of-sale transactions |
Name | MaintainPointOfSaleTransactionBundle |
Synchronous | no |
Release Status | Released |
To maintain point-of-sale transactions.
POS Integration allows you to process sales documents from external POS systems.
Based on the POS sales transactions, follow-up activities such as Inventory Management, Financial Accounting, Payment Processing and Analytical Reporting are possible within SAP Business ByDesign.
This is the only operation of web services and is used to update data from external system to Point-of-Sale Transactions.
Element | Details |
---|---|
ID | Identifier for the instance of the business document within a (technical) message that is generated by the business application level at the sender. |
CreationDateTime | An exact date and time stamp (precise to one second) of when a point-of-sale transaction bundle notification message is created within the external point-of-sale system. |
SenderParty-InternalID | Proprietary identifier used when SenderParty and RecipientParty use common master data. |
BusinessScope-TypeCode | TypeCode = 2: Receiver Process Component; TypeCode = 3: Sender Process Component |
BusinessScope-ID | ID = 300: Point Of Sale Transaction Processing; ID = 301: External Point Of Sale Processing |
Example: <MessageHeader> <ID schemeID ="INVOIC">00000000123456</ID> <CreationDateTime>2012-07-28T06:59:46Z</CreationDateTime> <SenderParty> <InternalID schemeID="CommunicationSystemID" schemeAgencyID="310">TICKETSALE_001</InternalID> </SenderParty> <BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope> <BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope> </MessageHeader>
Element | Details |
---|---|
ExternalID | An external unique identifier for a point-of-sale transaction. |
Note | User defined text that explains the point-of-sale transaction. |
Type Code | A coded representation of the type of a point-of-sale transaction. |
TypeCode = 1: Retail Transaction | |
TypeCode = 2: Summary Transaction | |
TypeCode = 3: Cash Transaction | |
BusinessTransactionDate | The date on which the point-of-sale transaction took place. |
CompanyID | An identifier for the company of the point-of-sale transaction. |
EndDateTime | The date on which the point-of-sale transaction ended. |
OperatorBusinessPartnerInternalID | An internal identifier for the business partner that operated the point-of-sale terminal. |
RetailTransaction[] | If element TypeCode has value ‘1’, it must contain a sub-element RetailTransaction. |
SummaryTransaction[] | If element TypeCode has value ‘2’, it must contain a sub-element SummaryTransaction. |
CashTransaction[] | If element TypeCode has value ‘3’, it must contain a sub-element CashTransaction. |
The external ID must be unique for each external system also across different point-of-sale transaction types. If two point-of-sale transactions with the same external ID are sent by the same external system, then the second system will be considered a duplicate and will be stored in an inconsistent state. |
Element | Details |
---|---|
BatchID | An identifier for a group of sales transactions. |
TotalGrossAmount | The total gross amount of the retail transaction. |
TotalNetAmount | The total net amount of the retail transaction. |
TotalTaxAmount | The total tax amount of the retail transaction. |
DistributionChannelCode | A coded representation of the distribution channel. |
SalesUnitID | An identifier for the sales unit. |
BuyerBusinessPartnerInternalID | An internal identifier for the business partner who has the role of the buyer. |
SiteID | An identifier for the point-of-sale location of the Site. |
RetailTransactionSalesItem [ ] | Refer "RetailTransactionSalesItem" |
RetailTransactionDebtorItem [ ] | Refer "RetailTransactionDebtorItem" |
RetailTransactionProductTaxItem [ ] | Refer "RetailTransactionProductTaxItem" |
RetailTransactionCashItem [ ] | Refer "RetailTransactionCashItem" |
An element of RetailTransaction must contain one instance of element RetailTransactionSalesItem. An element of RetailTransaction may contain atleaset one instance of element RetailTransactionDebtorItem. If an element of RetailTransaction contains an element RetailTransactionDebtorItem, then it must not contain an element of RetailTransactionCashItem. Retail transactions can contain multiple cash items. The sum of the cash item amounts must match the total gross amount in the retail transaction element. |
Element | Details |
---|---|
ExternalID | An external identifier for the sales item. |
TypeCode | A coded representation of the type of a point-of-sale transaction sales item. |
TypeCode = 1: Sale | |
TypeCode = 2: Return | |
TypeCode = 3: Gift Certificate Sale | |
TypeCode = 4: Gift Certificate Return | |
TypeCode = 5: Gift Certificate Redemption | |
Note | A user-defined text that explains the sales item. |
GrossAmount | The gross amount of the sales item. |
NetAmount | The net amount of the sales item. |
TaxAmount | The tax amount of the sales item. |
Quantity | The quantity that was sold. |
QuantityTypeCode | A coded representation of the type of the sales item quantity. |
TaxCountryCode | A country code (ISO 3166-1) specifying the country in which the tax is incurred. |
TaxationCharacteristicsCode | A coded representation of the main characteristics that form the basis of taxation. |
TaxJurisdictionCode | A coded representation of tax jurisdiction used for many countries (particularly the US) for identifying the proper tax authorities. |
TaxItemGroupID | Groups the items that incur tax as the resulting tax items.(To be used in Canada only.) |
TaxPermanentEstablishmentID | Identifier of the permanent establishment registered at the tax authority for taxation. |
CashDiscountDeductibleIndicator | An indicator that specifies whether or not cash discount is deductible. |
AccountingCodingBlockAssignment | See section "AccountingCodingBlockAssignment for RetailTransactions" |
InventoryLocation- InventoryManagedLocationID | The internal identifier for inventory-managed location of the inventory to be changed. |
InventoryLocation-LogisticsAreaID | The internal identifier for the logistics area of the inventory to be changed. |
InventoryItemChange- MaterialInternalID | An internal identifier for the material that has been sold or returned. |
CustomerReturnReasonCode | A coded representation of the reason for returning an item. |
RetailTransactionSalesItemPricing [ ] | Refer "RetailTransactionSalesItemPricing" |
The following information has to be kept in mind: The TypeCode is mandatory and must be valid. The GrossAmount, NetAmount and TaxAmount must be represented with valid currency codes. The value in element GrossAmount must be equal to the sum of element NetAmount and TaxAmount. If the TypeCode is equal to 1 or 3 (Sale and Gift Certificate Sale), Quantity, GrossAmount, NetAmount and TaxAmount must not be negative. If the TypeCode is equal to 2, 4 or 5 (Return, Gift Certificate Return or Gift Certificate Redemption), Quantity, GrossAmount, NetAmount and TaxAmount must not be positive. If the amounts are negative, the Quantity must be negative; if the amounts are positive, the Quantity must be positive. The InventoryLocation-LogisticsAreaID must be active and inventory-managed or have an active inventory-managed logistics area assigned to it. The inventory-managed logistics area must not be set as logistics unit only. The InventoryLocation-LogisticsAreaID and InventoryLocation-InventoryManagedLocationID must belong to the site specified in element SiteID of element RetailTransaction. If the CustomerReturnReasonCode is provided, it must be valid and the Quantity and amounts must not be positive. The TaxCountryCode must be valid and is mandatory. The TaxationCharacteristicsCode must be valid and is mandatory. The list ID attribute of this element must be provided. |
Example:
<TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode>
Element | Details |
---|---|
AccountingCodingBlock-GeneralLedgerAccountAliasCode | A coded representation of an alias for a general ledger account. |
AccountingCodingBlock-ProjectReference-ProjectElementID | A reference to a task that is a project element as part of the coding block. |
The GeneralLedgerAccountAliasCode must be empty if a material is specified in element InventoryItemChange-MaterialInternalID of element RetailTransactionSalesItem. The GeneralLedgerAccountAliasCode must be valid and is mandatory if no material is specified in element InventoryItemChange-MaterialInternalID of element RetailTransactionSalesItem. |
Element | Details |
---|---|
PriceSpecificationElementPurposeCode | The coded representation for the purpose of a PriceSpecificationElement. |
PriceSpecificationElementCategoryCode | The coded representation for the category of PriceSpecificationElements. |
Amount | The amount of the discount, surcharge or list price provided. |
In case of discounts the amount has to be negative. In case of surcharges or prices the amount has to be positive. Please note that in case of a return all signs have to be inverted. The purpose code and the category code of the price specification element determine the G/L account to be used for posting the revenues, discounts and surcharges. To determine the G/L account determination group the table below is searched for the first matching entry. |
|
Element | Details |
---|---|
ExternalID | An external identifier for the debtor item. |
CashDiscountAmount | The cash discount amount that has been agreed with the customer. |
PaymentBlock-PaymentBlockingReasonCode | Specifies the reason for the payment block. |
PaymentBlock-ExpirationDateTime | Specifies the date and time until the payment block is valid. |
Note | A user-defined text that explains the debtor item. |
CashDiscountTermsCode | A coded representation of the cash discount terms. |
BusinessTransactionCurrencyAmount | An amount in the business transaction currency of the change represented by the debtor Item. |
PaymentReferenceID | An identifier for a payment reference. |
PaymentReferenceTypeCode | PaymentReferenceTypeCode is a coded representation of the type of payment reference used in countries like Denmark, Switzerland, China, Sweden, etc. |
The CashDiscountAmount must be represented with a valid currency code. The PaymentBlockingReasonCode must be valid. The ExpirationDateTime must be a valid date and time combination in the format YYYY-MM-DDTHH:MM:SSZ. The CashDiscountTermsCode must be valid and is mandatory. The BusinessTransactionCurrencyAmount must be represented with a valid currency code and is mandatory. |
Element | Details |
---|---|
ExternalID | An external identifier for the product tax item. |
TaxCountryCode | A country code (ISO 3166-1) specifying the country in which the tax is incurred. |
ProductTaxationCharacteristicsCode | A coded representation of the main characteristics that form the basis of product taxation. |
TaxJurisdictionCode | A tax jurisdiction code used for many countries (particularly the US) for identifying the proper tax authorities. |
ProductTaxComponentTaxJurisdictionCode | A tax jurisdiction code that identifies the component of the product tax that has to be declared to a specific tax authority. |
TaxRegionCode | A region code specifying the region in which the tax is incurred. |
TaxTypeCode | A type code for the product tax. |
TaxRateTypeCode | A type code for the tax rate as defined by the law for the classification of tax rates. |
GroupID | Groups the Items that incur tax as the resulting tax items. |
DeferredIndicator | An indicator of whether a tax payment is deferred or not. |
BusinessTransactionCurrencyAmount | An amount in the business transaction currency of the change represented by the product tax item. |
The TaxCountryCode must be valid and is mandatory. The ProductTaxationCharacteristicsCode must be valid and is mandatory. The list ID attribute of this element must be provided. Example: |
<ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode>
|
Element | Details |
---|---|
ExternalID | An external identifier for the cash item. |
CashPayment-CashStorageID | A unique identifier for the storage where the cash inflow or outflow is stored. |
CashPayment-CashStorageCurrencyAmount | An amount in the actual currency of the sales transaction representing the payment amount. |
CreditCardPayment-ClearingHouseAccountID | A unique identifier for the clearing house account of the credit card payment. |
CreditCardPayment-CreditCardKey-ID | An identifier of a payment card. |
CreditCardPayment-CreditCardKey-PaymentCardTypeCode | A coded representation of the type of payment card. |
CreditCardPayment-Authorisation-PayeeID | An identifier for an authorization of a card payment that is assigned by the payee. |
CreditCardPayment-Authorisation-ClearingHouseID | An identifier for an authorization of a card payment that is assigned by a clearing house for card payments. |
CreditCardPayment-Authorisation-ProviderID | An identifier for an authorization of a card payment that is assigned by a service provider for card payments. |
CreditCardPayment-Authorisation-DateTime | Date and time on which the authorization was carried out. |
CreditCardPayment-Authorisation-Amount | An amount that can be taken from the credit card in the transaction currency. |
CreditCardPayment-Authorisation-ExpirationDateTime | The date and time until the authorization is valid. |
CreditCardPayment-Authorisation-ResultCode | The result of the authorization message to the clearing house. |
CreditCardPayment-Authorisation-ResultDescription | The result text of the authorization. |
CreditCardPayment-SettlementProcessedIndicator | Indicates whether the credit card payment is already settled. |
CreditCardPayment-SettlementBatchRequesterID | Unique identifier for the quantity of credit card payments submitted for settlement together where this credit card payment belongs to. It is assigned by the requester. |
CreditCardPayment-ValueDate | Expected value date of the credit card payment. |
ExternalPayment- HouseBankAccountInternalID | A proprietary identifier for a bank account. |
ExternalPayment- PaymentTransactionReferenceID | A reference number for the external payment. |
ExternalPayment-ValueDate | Expected value date of the external payment. |
PayerBusinessPartnerInternalID | An internal identifier for the business partner that paid at the point-of-sale. |
Note | A user-defined text that explains the cash item. |
BusinessTransactionCurrencyAmount | An amount in the business transaction currency of the sales transaction representing the payment amount. |
|
Summary of sales transactions to ensure that data is complete and correct
Element | Details |
---|---|
ValidationTransactionBatchID | An identifier for a point-of-sale transaction batch to be validated. |
ValidationTransactionDate | The BusinessTransactionDate of the retail transactions to be validated. |
SummaryTransactionRetailTotals [ ] | Refer "SummaryTransactionRetailTotals" |
|
Element | Details |
---|---|
NetAmount | The sum of all total net amounts of the retail transactions to be validated. |
GrossAmount | The sum of all total gross amounts of the retail transactions to be validated. |
TaxAmount | The sum of all total tax amounts of the retail transactions to be validated. |
TransactionNumberValue | The number of retail transactions to be validated. |
|
Cash transfer between different cash storages
Element | Description |
---|---|
BatchID | An identifier for a group of sales transactions. |
TypeCode | A coded representation of the type of a point-of-sale cash transaction. |
TypeCode = 1: Cash Transfer | |
TypeCode = 2: Cash Balancing | |
CashTransactionCashItem [ ] | Refer "RetailTransactionCashItem” |
|
Element | Details |
---|---|
ExternalID | An external identifier for the cash item. |
CashPayment-CashStorageID | A unique identifier for the storage location where the cash inflow or outflow is stored. |
Note | A user-defined text that explains the cash item. |
BusinessTransactionCurrencyAmount | An amount in the business transaction currency for the sales transaction representing the payment amount. |
AccountingCodingBlockAssignment | Refer "AccountingCodingBlockAssignment for CashTransactions” |
|
Element | Description |
---|---|
AccountingCodingBlock-GeneralLedgerAccountAliasCode | A coded representation of an alias for a general ledger account. |
The GeneralLedgerAccountAliasCode must be filled for CashTransactions with the TypeCode ‘2’. It must be empty for CashTransactions with the TypeCode ‘1’. |
Example for anonymous cash sale with German VAT:
The sales item does not contain the (optional) reference to a project task. The cash item has only filled the cash storage ID and the amount. There is no buyer or payer information available.
<n0:PointOfSaleTransactionBundleNotification xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <MessageHeader> <ID schemeID ="INVOIC">00000000123456</ID> <CreationDateTime>2012-08-10T13:17:09Z</CreationDateTime> <SenderParty> <InternalID schemeID="CommunicationSystemID" schemeAgencyID="310">TICKETSALE_001</InternalID> </SenderParty> <BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope> <BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope> </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>981709873</ExternalID> <Note>Document Header Text</Note> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-13</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">119.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">100.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">19.0</TotalTaxAmount> <SalesUnitID>MC42111</SalesUnitID> <RetailTransactionSalesItem> <TypeCode>1</TypeCode> <ExternalID>1</ExternalID> <Note>Sales Item Text</Note> <GrossAmount currencyCode="EUR">119.0</GrossAmount> <NetAmount currencyCode="EUR">100.0</NetAmount> <TaxAmount currencyCode="EUR">19.0</TaxAmount> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <TaxCountryCode>DE</TaxCountryCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </RetailTransactionSalesItem> <RetailTransactionProductTaxItem> <ExternalID>2</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">19</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> <RetailTransactionCashItem> <ExternalID>3</ExternalID> <CashPayment> <CashStorageID>100005 HAUPTKASSE</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">119.0</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification></n0:PointOfSaleTransactionBundleNotification>
The following example describes a ticket sale with invoicing. The sale is tax free.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> <MessageHeader> <ID schemeID="INVOIC">00000000123458</ID> <CreationDateTime>2012-08-13T08:07:29.756926Z</CreationDateTime> <SenderParty> <InternalID schemeID="CommunicationSystemID" schemeAgencyID="310">TICKETSALE_001</InternalID> </SenderParty> <BusinessScope> <TypeCode>3</TypeCode> <ID>301</ID> </BusinessScope> <BusinessScope> <TypeCode>2</TypeCode> <ID>300</ID> </BusinessScope> </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>INV-201208010807291</ExternalID> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">100.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">100.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">0.0</TotalTaxAmount> <DistributionChannelCode>01</DistributionChannelCode> <SalesUnitID>MDEC42100</SalesUnitID> <BuyerBusinessPartnerInternalID>MDEC9785</BuyerBusinessPartnerInternalID> <RetailTransactionSalesItem> <ExternalID>1</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">100.0</GrossAmount> <NetAmount currencyCode="EUR">100.0</NetAmount> <TaxAmount currencyCode="EUR">0.0</TaxAmount> <Quantity unitCode="EA">1.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">500</TaxationCharacteristicsCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> <ProjectReference> <ProjectElementID>MDEC-1239-1</ProjectElementID> </ProjectReference> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </RetailTransactionSalesItem> <RetailTransactionDebtorItem> <ExternalID>2</ExternalID> <Note>Invoice ID 8545</Note> <CashDiscountTermsCode>0001</CashDiscountTermsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">100.0</BusinessTransactionCurrencyAmount> </RetailTransactionDebtorItem> <RetailTransactionProductTaxItem> <ExternalID>3</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">500</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">0.0</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
For sales transactions it is possible to explicitly denote discounts given to customers.
For this purpose a dedicated element of the sales item must be used as illustrated in the following example.
The example below depicts a scenario in which a discount of 20 Euro has been granted on the net amount. So an item has been sold for 95.20 EUR incl. tax (80 EUR without tax) instead of 119 EUR inclusive of tax (100 EUR without tax). To notify ByDesign about the discount the message element, RetailTransactionSalesItemPricing has to be used. The message needs to comprise of two instances of this element, one denoting the list price without taxes (PurposeCode = 1000, CategoryCode = 1) and one denoting the discount amount without taxes (PurposeCode = 1010, CategoryCode = 2).
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> <MessageHeader> ... </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>201208040848071</ExternalID> <Note>Sale with discount</Note> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-04</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <EndDateTime>2012-08-04T08:48:05Z</EndDateTime> <OperatorBusinessPartnerInternalID>MC2471</OperatorBusinessPartnerInternalID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">95.2</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">80.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">15.2</TotalTaxAmount> <DistributionChannelCode>02</DistributionChannelCode> <SalesUnitID>MDEC42100</SalesUnitID> <BuyerBusinessPartnerInternalID>MDEC9785</BuyerBusinessPartnerInternalID> <SiteID>MDEC64000</SiteID> <RetailTransactionSalesItem> <ExternalID>1</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">95.2</GrossAmount> <NetAmount currencyCode="EUR">80.0</NetAmount> <TaxAmount currencyCode="EUR">15.2</TaxAmount> <Quantity unitCode="EA">1.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <CashDiscountDeductibleIndicator>true</CashDiscountDeductibleIndicator> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <ProjectReference> <ProjectElementID>Outlet-1</ProjectElementID> </ProjectReference> </AccountingCodingBlock> </AccountingCodingBlockAssignment> <InventoryLocation> <LogisticsAreaID>MDEC64920-50-10-02</LogisticsAreaID> </InventoryLocation> <InventoryItemChange> <MaterialInternalID>MDECF-0001</MaterialInternalID> </InventoryItemChange> <RetailTransactionSalesItemPricing> <PriceSpecificationElementPurposeCode>1000</PriceSpecificationElementPurposeCode> <PriceSpecificationElementCategoryCode>1</PriceSpecificationElementCategoryCode> <Amount currencyCode="EUR">100.0</Amount> </RetailTransactionSalesItemPricing> <RetailTransactionSalesItemPricing> <PriceSpecificationElementPurposeCode>1010</PriceSpecificationElementPurposeCode> <PriceSpecificationElementCategoryCode>2</PriceSpecificationElementCategoryCode> <Amount currencyCode="EUR">-20.0</Amount> </RetailTransactionSalesItemPricing> </RetailTransactionSalesItem> <RetailTransactionProductTaxItem> <ExternalID>3</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">15.2</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> <RetailTransactionCashItem> ... <BusinessTransactionCurrencyAmount currencyCode="EUR">95.2</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
This example focuses on payments by cash and credit card. Only the Cash Item which stores the payment information is shown.
Only the Cash Storage ID and the amount must be provided.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>201208041151301</ExternalID> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-04</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">183.2</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">160.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">23.2</TotalTaxAmount> ... <RetailTransactionCashItem> <ExternalID>0000000001</ExternalID> <CashPayment> <CashStorageID>100005 HAUPTKASSE</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">183.2</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
This example shows a settled credit card payment. Besides the amount, the clearing house and credit card key is provided.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <RetailTransaction> <TotalGrossAmount currencyCode="EUR">119.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">100.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">19.0</TotalTaxAmount> ... <RetailTransactionCashItem> <ExternalID>0000000003</ExternalID> <CreditCardPayment> <ClearingHouseAccountID>FOP_CHA1250</ClearingHouseAccountID> <CreditCardKey> <ID>5555555555554444</ID> <TypeCode>3</TypeCode> </CreditCardKey> <SettlementProcessedIndicator>true</SettlementProcessedIndicator> <SettlementBatchRequesterID>000000000000001</SettlementBatchRequesterID> <ValueDate>2012-08-01</ValueDate> </CreditCardPayment> <PayerBusinessPartnerInternalID>MDEC3000</PayerBusinessPartnerInternalID> <BusinessTransactionCurrencyAmount currencyCode="EUR">119.0</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
In the case of payment made using an invoice cannot be combined with cash or credit card payment. The buyer ID has to be provided. The invoice information is contained in the debtor item. Only the relevant fragment of the XML message is shown below.
The first example is paid by invoice without discount. This is specified by the cash discount terms code 0001 (Due net payable immediately). Cash discount terms codes can be defined in the business configuration.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>201208011142531</ExternalID> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="USD">100.0</TotalGrossAmount> <TotalNetAmount currencyCode="USD">90.0</TotalNetAmount> <TotalTaxAmount currencyCode="USD">10.0</TotalTaxAmount> ... <BuyerBusinessPartnerInternalID>MC9785</BuyerBusinessPartnerInternalID> ... <RetailTransactionDebtorItem> <ExternalID>1</ExternalID> <Note>INVOICE COMMENT</Note> <CashDiscountTermsCode>0001</CashDiscountTermsCode> <BusinessTransactionCurrencyAmount currencyCode="USD">100.0</BusinessTransactionCurrencyAmount> </RetailTransactionDebtorItem> ... </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
Gift certificates entitle the recipient to receive tickets or other kind of articles of a defined value. They can be sold to customers and are cashed in at a later point in time, typically by a person other than the original buyer. From the seller’s perspective, issued gift certificates build up payables that are then reduced when the gift certificate is cashed in.
The first example depicts the sale of a gift certificate with a value of 40 EUR.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>201208010752391</ExternalID> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">40.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">40.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">0.0</TotalTaxAmount> <SalesUnitID>MDEC42111</SalesUnitID> <RetailTransactionSalesItem> <ExternalID>001</ExternalID> <TypeCode>3</TypeCode> <Note>Gift certificate 4711 sale</Note> <GrossAmount currencyCode="EUR">40.0</GrossAmount> <NetAmount currencyCode="EUR">40.0</NetAmount> <TaxAmount currencyCode="EUR">0.0</TaxAmount> <Quantity unitCode="EA">1.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxationCharacteristicsCode listID=""> </TaxationCharacteristicsCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1700</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </RetailTransactionSalesItem> ... </RetailTransaction> </PointOfSaleTransactionBundleNotification></nm:PointOfSaleTransactionBundleNotification>
The Example below shows the full redemption of the gift certificate of 40 EUR together with the purchase of tickets for 89.99 EUR incl. taxes. The difference between the sales price and the gift certificate value is paid in cash.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>201208010807161</ExternalID> <Note>Gift certificate redemption and ticket sales</Note> <TypeCode>1</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <RetailTransaction> <TotalGrossAmount currencyCode="EUR">49.99</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">35.62</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">14.37</TotalTaxAmount> <DistributionChannelCode>01</DistributionChannelCode> <SalesUnitID>MDEC42111</SalesUnitID> <RetailTransactionSalesItem> <ExternalID>001</ExternalID> <TypeCode>5</TypeCode> <Note>Gift certificate 4711 redemption</Note> <GrossAmount currencyCode="EUR">-40.0</GrossAmount> <NetAmount currencyCode="EUR">-40.0</NetAmount> <Quantity unitCode="EA">-1.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxationCharacteristicsCode listID=""> </TaxationCharacteristicsCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1700</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </RetailTransactionSalesItem> <RetailTransactionSalesItem> <ExternalID>002</ExternalID> <TypeCode>1</TypeCode> <Note>Two tickets sold</Note> <GrossAmount currencyCode="EUR">89.99</GrossAmount> <NetAmount currencyCode="EUR">75.62</NetAmount> <TaxAmount currencyCode="EUR">14.37</TaxAmount> <Quantity unitCode="EA">2.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> <ProjectReference><ProjectElementID>MDEC-1239-1</ProjectElementID></ProjectReference> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </RetailTransactionSalesItem> <RetailTransactionProductTaxItem> <ExternalID>004</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">14.37</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> <RetailTransactionCashItem> <ExternalID>003</ExternalID> <CashPayment> <CashStorageID>100005 HAUPTKASSE</CashStorageID> </CashPayment> <Note>Difference paid cash</Note> <BusinessTransactionCurrencyAmount currencyCode="EUR">49.99</BusinessTransactionCurrencyAmount> </RetailTransactionCashItem> </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
This example focuses on variations resulting from taxation. Only the relevant fragments of the messages are shown.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> ... <RetailTransaction> <TotalGrossAmount currencyCode="EUR">226.0</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">200.0</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">26.0</TotalTaxAmount> ... <RetailTransactionSalesItem> <ExternalID>0000000001</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">119.0</GrossAmount> <NetAmount currencyCode="EUR">100.0</NetAmount> <TaxAmount currencyCode="EUR">19.0</TaxAmount> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> ... </RetailTransactionSalesItem> <RetailTransactionSalesItem> <ExternalID>0000000002</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">107.0</GrossAmount> <NetAmount currencyCode="EUR">100.0</NetAmount> <TaxAmount currencyCode="EUR">7.0</TaxAmount> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">502</TaxationCharacteristicsCode> ... </RetailTransactionSalesItem> <RetailTransactionProductTaxItem> <ExternalID>0000000101</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">501</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">19.0</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> <RetailTransactionProductTaxItem> <ExternalID>0000000102</ExternalID> <TaxCountryCode>DE</TaxCountryCode> <ProductTaxationCharacteristicsCode listID="DE">502</ProductTaxationCharacteristicsCode> <BusinessTransactionCurrencyAmount currencyCode="EUR">7.0</BusinessTransactionCurrencyAmount> </RetailTransactionProductTaxItem> ... </RetailTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
The following example shows the sale of two products. Three units (3 EA) of product MDECF-0001 are sold with reference to the project task MDEC-1239-1 and they are taken from the logistics area MDEC64920-50-10-02. One unit (1 EA) of MDECF-0002 is sold without reference to a project task and it is taken from a different logistics area of the same site. Note that the G/L account is not set. Only the relevant fragments of the message are shown.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> ... <RetailTransaction> ... <TotalGrossAmount currencyCode="EUR">39.9</TotalGrossAmount> <TotalNetAmount currencyCode="EUR">33.53</TotalNetAmount> <TotalTaxAmount currencyCode="EUR">6.37</TotalTaxAmount> <SiteID>MDEC64000</SiteID> <RetailTransactionSalesItem> <ExternalID>EX1</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">33.0</GrossAmount> <NetAmount currencyCode="EUR">27.73</NetAmount> <TaxAmount currencyCode="EUR">5.27</TaxAmount> <Quantity unitCode="EA">3.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <ProjectReference> <ProjectElementID>MDEC-1239-1</ProjectElementID> </ProjectReference> </AccountingCodingBlock> </AccountingCodingBlockAssignment> <InventoryLocation> <LogisticsAreaID>MDEC64920-50-10-02</LogisticsAreaID> </InventoryLocation> <InventoryItemChange> <MaterialInternalID>MDECF-0001</MaterialInternalID> </InventoryItemChange> </RetailTransactionSalesItem> <RetailTransactionSalesItem> <ExternalID>EX2</ExternalID> <TypeCode>1</TypeCode> <GrossAmount currencyCode="EUR">6.9</GrossAmount> <NetAmount currencyCode="EUR">5.8</NetAmount> <TaxAmount currencyCode="EUR">1.1</TaxAmount> <Quantity unitCode="EA">1.0</Quantity> <QuantityTypeCode>EA</QuantityTypeCode> <TaxCountryCode>DE</TaxCountryCode> <TaxationCharacteristicsCode listID="DE">501</TaxationCharacteristicsCode> <InventoryLocation> <LogisticsAreaID>MDEC64920-50-10-02</LogisticsAreaID> </InventoryLocation> <InventoryItemChange> <MaterialInternalID>MDECF-0002</MaterialInternalID> </InventoryItemChange> </RetailTransactionSalesItem> … </RetailTransaction> </PointOfSaleTransactionBundleNotification> </PointOfSaleTransactionBundleNotification>
This example transfers 100€ from the petty cash "POS_DEVICE_01" to the petty cash "SAFE".
<?xml version="1.0" ?> <nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> <MessageHeader> ... </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>201208011253591</ExternalID> <Note>Cash transfer</Note> <TypeCode>3</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <EndDateTime>2012-08-01T12:53:08.531605Z</EndDateTime> <OperatorBusinessPartnerInternalID>MC2471</OperatorBusinessPartnerInternalID> <CashTransaction> <TypeCode>1</TypeCode> <CashTransactionCashItem> <ExternalID>EX1</ExternalID> <Note>Source</Note> <CashPayment> <CashStorageID>POS_DEVICE_01</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">-100</BusinessTransactionCurrencyAmount> </CashTransactionCashItem> <CashTransactionCashItem> <ExternalID>EX2</ExternalID> <Note>Target</Note> <CashPayment> <CashStorageID>SAFE</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">100</BusinessTransactionCurrencyAmount> </CashTransactionCashItem> </CashTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
This example increases the amount in the petty cash POS_DEVICE_01 by 5.00 €.
<?xml version="1.0" ?> <nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:QSL:/1SAI/TAS713B4B1893737C2F927B:804"> <MessageHeader> ... </MessageHeader> <PointOfSaleTransactionBundleNotification> <ExternalID>201208010835091</ExternalID> <Note>Cash balancing</Note> <TypeCode>3</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <EndDateTime>2011-12-15T08:35:01.610119Z</EndDateTime> <OperatorBusinessPartnerInternalID>MC2471</OperatorBusinessPartnerInternalID> <CashTransaction> <TypeCode>2</TypeCode> <CashTransactionCashItem> <ExternalID>EX1</ExternalID> <Note>Cash balancing item</Note> <CashPayment> <CashStorageID>POS_DEVICE_01</CashStorageID> </CashPayment> <BusinessTransactionCurrencyAmount currencyCode="EUR">5.0</BusinessTransactionCurrencyAmount> <AccountingCodingBlockAssignment> <AccountingCodingBlock> <GeneralLedgerAccountAliasCode>A-1500</GeneralLedgerAccountAliasCode> </AccountingCodingBlock> </AccountingCodingBlockAssignment> </CashTransactionCashItem> </CashTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
This Summary Transaction uses the ValidationTransactionBatchID "July2012". All Sales Transactions which use this as their BatchID are validated. A total of 20 sales transactions are expected in this batch, as defined in attribute TransactionNumberValue. The sum of their net amounts is expected to be 2000,00 EUR, of the gross amounts 2380,00 EUR and of the tax amounts 380,00 EUR. If the system collects more than or less than 20 sales transactions belonging to this batch, or if the amounts don’t sum up as expected, the summary transaction will be marked as a deviation.
Only the relevant fragments of the messages are shown.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>123456</ExternalID> <TypeCode>2</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <SummaryTransaction> <ValidationTransactionBatchID>CalendarWeek12</ValidationTransactionBatchID> <SummaryTransactionRetailTotals> <NetAmount currencyCode="EUR">2000.0</NetAmount> <GrossAmount currencyCode="EUR">2380.0</GrossAmount> <TaxAmount currencyCode="EUR">380.0</TaxAmount> <TransactionNumberValue>20</TransactionNumberValue> </SummaryTransactionRetailTotals> </SummaryTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>
The following Summary Transaction uses the ValidationTransactionDate "2012-07-31". All Retail Transactions which have this BusinessTransactionDate are validated. A total of 3 sales transactions should have this transaction date, as defined in attribute TransactionNumberValue.
<nm:PointOfSaleTransactionBundleNotification xmlns:nm="http://sap.com/xi/SAPGlobal20/Global"> ... <PointOfSaleTransactionBundleNotification> <ExternalID>123456</ExternalID> <TypeCode>2</TypeCode> <BusinessTransactionDate>2012-08-01</BusinessTransactionDate> <CompanyID>MDEC10000</CompanyID> <SummaryTransaction> <ValidationTransactionDate>2012-08-01</ValidationTransactionDate> <SummaryTransactionRetailTotals> <NetAmount currencyCode="EUR">357.0</NetAmount> <GrossAmount currencyCode="EUR">424.83</GrossAmount> <TaxAmount currencyCode="EUR">67.83</TaxAmount> <TransactionNumberValue>3</TransactionNumberValue> </SummaryTransactionRetailTotals> </SummaryTransaction> </PointOfSaleTransactionBundleNotification> </nm:PointOfSaleTransactionBundleNotification>