1. Outbound
PearlPOS
  • Inbound
    • postMasterdata
      POST
    • postPOSdata
      POST
  • Outbound
    • POSLog XSD
    • POSlog
      POST
  • Live Endpoints
    • getCustomers
      GET
    • getCustomerOrders
      GET
    • verifyDigitalArticle
      GET
    • verifyCustomerReference
      GET
    • purchaseDigitalArticle
      POST
    • getRelatedProducts
      GET
    • getSerialNumberVerification
      GET
    • getAvailableValueCodes
      POST
    • getValueCodes
      GET
    • getStockLevels
      GET
    • lookupPrices
      POST
    • lookupMargins
      POST
  • Schemas
    • TransactionType
    • RetailTransactionType
    • LineItemType
    • TransactionLinkType
    • SaleReturnType
    • RetailPriceModifierType
    • ActionAmountType
    • TaxType
    • CustomerInformationType
    • CustomerOrderType
    • TenderLineItemType
    • TenderType
    • AuthorizationType
    • RoundingType
    • VoidsLineItemType
    • PriceModificationType
    • TenderControlTransactionType
    • TillSettleType
    • TenderSummaryType
    • SummaryAmountType
    • ForeignSummaryAmountType
    • TenderLoanType
    • TenderPickupType
    • TotalsType
    • POSLog
  1. Outbound

POSlog

POST
/POSlog
An endpoint in the customer system must be implemented by the receiving party to enable PearlPOS to post the POSLog containing transaction information.
The message structure is based on ARTS POSLog 6.0 (Transaction, RetailTransaction, LineItem, Sale/Return/Tender, Total), extended with PearlPOS-specific elements and code values. The XML Schema (XSD) for the message is available on the POSLog XSD page.
General rules:
One POSLog per transaction, no XML namespace, fixed element order as in the XSD.
Missing values are either omitted (optional elements) or sent as empty elements (<X/>). Header elements are always sent, line item elements are omitted when the value is missing.
Free text (FreeText, Description, Comment, TenderDescription, CustomerInformation, OverUnder/Reason) is URL-encoded. The characters & < > " ' are not included.
Some attributes and texts can contain the placeholder value "undefined" when no value is available (documented per field).
Properties named #text describe the text content of an element that also has attributes, not a child element.

Request

Body Params application/xml

Examples

Responses

🟢200Success
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location '/POSlog' \
--header 'Content-Type: application/xml' \
--data '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<POSLog>
 <Transaction CancelFlag="false" VoidFlag="false" OfflineFlag="false" TrainingModeFlag="false" Version="1.0">
  <RetailStoreID>0000001000</RetailStoreID>
  <WorkstationID>NO000001</WorkstationID>
  <SequenceNumber>100000100000741</SequenceNumber>
  <BusinessDayDate>2025-11-05</BusinessDayDate>
  <BeginDateTime>2025-11-05T12:10:02.114Z</BeginDateTime>
  <EndDateTime>2025-11-05T12:10:31.502Z</EndDateTime>
  <OperatorID>admin</OperatorID>
  <System>https://pos.example.com</System>
  <TillID>000001</TillID>
  <CurrencyCode>NOK</CurrencyCode>
  <RetailTransaction Version="1.0" TransactionStatus="Finished">
   <ReceiptDateTime/>
   <CustomerID/>
   <CustomerOrderIDTypeCode/>
   <LineItem VoidFlag="false" EntryMethod="QA">
    <SequenceNumber>1</SequenceNumber>
    <BeginDateTime>2025-11-05T12:10:02.118Z</BeginDateTime>
    <Sale ItemType="Stock">
     <POSIdentity EntryMethodCode="QA">
      <POSItemID>7038010000124</POSItemID>
     </POSIdentity>
     <ItemID>100001</ItemID>
     <MerchandiseHierarchy Level="MaterialGroup">6140020</MerchandiseHierarchy>
     <TaxIncludedInPriceFlag>true</TaxIncludedInPriceFlag>
     <RegularSalesUnitPrice>499</RegularSalesUnitPrice>
     <POSPrice>499</POSPrice>
     <ActualSalesUnitPrice>499</ActualSalesUnitPrice>
     <ExtendedAmount>499</ExtendedAmount>
     <ExtendedDiscountAmount>0</ExtendedDiscountAmount>
     <ExtendedPriceIncreaseAmount>0</ExtendedPriceIncreaseAmount>
     <Quantity UnitOfMeasureCode="STK">1</Quantity>
     <Tax TaxType="VAT">
      <TaxableAmount>399.2</TaxableAmount>
      <Amount>99.8</Amount>
      <Percent>25</Percent>
      <TaxGroupID>U1</TaxGroupID>
     </Tax>
    </Sale>
   </LineItem>
   <LineItem VoidFlag="false" EntryMethod="QA">
    <SequenceNumber>2</SequenceNumber>
    <BeginDateTime>2025-11-05T12:10:09.740Z</BeginDateTime>
    <Sale ItemType="Stock">
     <POSIdentity EntryMethodCode="QA">
      <POSItemID>7038010000131</POSItemID>
     </POSIdentity>
     <ItemID>100002</ItemID>
     <MerchandiseHierarchy Level="MaterialGroup">6140030</MerchandiseHierarchy>
     <TaxIncludedInPriceFlag>true</TaxIncludedInPriceFlag>
     <RegularSalesUnitPrice>249</RegularSalesUnitPrice>
     <POSPrice>249</POSPrice>
     <ActualSalesUnitPrice>249</ActualSalesUnitPrice>
     <ExtendedAmount>249</ExtendedAmount>
     <ExtendedDiscountAmount>0</ExtendedDiscountAmount>
     <ExtendedPriceIncreaseAmount>0</ExtendedPriceIncreaseAmount>
     <Quantity UnitOfMeasureCode="STK">1</Quantity>
     <Tax TaxType="VAT">
      <TaxableAmount>199.2</TaxableAmount>
      <Amount>49.8</Amount>
      <Percent>25</Percent>
      <TaxGroupID>U1</TaxGroupID>
     </Tax>
    </Sale>
   </LineItem>
   <LineItem VoidFlag="false">
    <SequenceNumber>3</SequenceNumber>
    <BeginDateTime>2025-11-05T12:10:25.001Z</BeginDateTime>
    <Tender TypeCode="KONT" TenderDescription="Kontant" TenderType="CASH">
     <Amount>748</Amount>
    </Tender>
   </LineItem>
   <Total TotalType="TransactionGrandAmount">748</Total>
   <Total TotalType="TransactionNetAmount">598.4</Total>
   <Total TotalType="TransactionTaxAmount">149.6</Total>
   <Total TotalType="TransactionTenderAmount">748</Total>
   <Total TotalType="TransactionCashbackAmount">0</Total>
   <Total TotalType="TransactionRoundingAmount">0</Total>
  </RetailTransaction>
 </Transaction>
</POSLog>'
Response Response Example
{}
Modified at 2026-10-05 08:53:25
Previous
POSLog XSD
Next
getCustomers
Built with