2021-07-30 | IRIS 4.1.1138

The information provided below includes the user experience, data, configuration, process workflow, reporting, and infrastructure improvements and updates for this production version of IRIS 4.1.1138.

New Features


Cash History

A new Cash History feature has been implemented for the Drawer Close function, and the Cash Drawer screen, Open Order, and Sales Reduction reports.

This feature tracks employee responsibility for Open Orders and Overrings.

New Reports

  • WABR_OpenOrders_With_Order_Audits.rdl

  • WABR_RSA_Cash Drawer Screen_With_Order_Audits.rdl

  • WABR_Sales_Reduction_With_Order_Audits.rdl

Configuration Settings

Add the following setting to the [Order] section of the DataServ.ini file.

  • SaveSummaryOnOrderSave - If this setting is turned ON, the snippet of order summary information is saved at the time the order is saved. If order is saved multiple times, the order blob will contain multiple snippets. The default is 1 (On).

Add the following setting to the [Stepn] section of the Archiver.ini file (where n is the sequential number of the step). This is typically the same step as "OrderBlob=Yes".

  • SaveSummaryOnOrderSave - If this setting is turned ON, the snippet of order summary information is archived to database table, tblOrderSaveAudit.



This update provides the ability to disable retrieval of the Duplicate Check and Day Summary reports from the Verifone Point device.

Configuration Settings

The following configuration settings have been implemented for the SCA DUPCHECK at EOD command.

Add the following settings to the device-specific section of the IrisAuthSrvr.ini file.

  • SupportsDupCheckReport - If this setting is turned ON, the device supports the Duplicate Check (DUPCHECK) report. Set the value to 0 to disable the report. The default is 1 (On).

  • SupportsDaySummaryReport - If this setting is turned ON, the device supports the Day Summary (DAYSUMMARY) report. Set the value to 0 to disable the report. The default is 1 (On).

The following settings are related. These settings are located in the device-specific section of the IrisAuthSrvr.ini file.

  • SupportsCutoverReport - If this setting is turned ON, the device supports the CUTOVER report. Set the value to 0 to disable the report. The default is 1 (On).

  • SupportsSettlementReports - If this setting is turned ON, the device supports the PRESETTLEMENT, SETTLEERROR, and SETTLESUMMARY reports. Set the value to 0 to disable the reports. The default is 1 (On).



When using a wireless device, such as the Verifone Point e285 or HeartSIP iSMP4 or Link2500, the payment device battery may run low. This update allows the cashier to switch to a new payment device with a different IP address.

POS Config Option

  • 1237 - MM_CONFIRM_SCA_DEVICE_PROMPT_ON_STARTUP - If this option is turned ON, the cashier is able to select from a list of substitute payment devices in the event the current device needs to be replaced. The default value is 0 (OFF).

Configuration Settings

The list of replacement devices are defined in the [DeviceList] section of IrisAuthSrvr.ini. Each listed device name is also the name of a new section of IrisAuthSrvr.ini that contains the respective device address and port number.

The following is a setup example:












This update provides the ability to change the TID and AppID on a HeartSIP device using HeartSIPUtil.

Command-line Option

This update introduces a HeartSIPUtil.exe command-line option:

  • /NoUpdateTID - HeartSIPUtil opens enabling the user to execute the UpdateTID function.

The /NoUpdateTID suboptions include:

  • NoQuerySAFUpdates - Skip processing any remaining Store and Forward transactions.

  • NoRetryLIFVoids - Skip processing any remaining Lost In-Flight transactions.

  • NoSettle - Skip the process that closes the batch on the device.

The following is a command-line example:

HeartSIPUTil.exe /NoUpdateTID=NoQuerySAFUpdates,NoRetryLIFVoids,NoSettle


Mobile Orders

This update is related to OLO ASAP Carry Out orders.

Destination Config Option

  • 28 - DCFG_SEND_TO_KITCHEN_ON_COMMIT - When enabled, orders are sent to the Kitchen and the printer upon commit to POI. This option is used only by IRIS POI and XenialAdapter.



This update is related to the Inventory Transactions Editor (ITE).

Configuration Setting

Add the following setting to the [InvTrans] section of the Inventory.ini file.

  • SkipPostRecordWithZeroQty - When this setting is turned ON, IUT records with a 0 (zero) quantity are NOT posted to tblInventoryStatus.




An issue was resolved where the POS prompted for device pairing with the P400 terminal after rebooting the POS.


Order Entry

An issue was resolved where child items were separated from their respective parent items after the user deleted parent items with a quantity greater than 1.



In a store environment where P400 terminals are used, installers no longer experience a crash and see the message "It is recommended that you manually reboot your system".


Print System

Prtdev.ini setting DetachModifierChildCategories specifies the items, modifiers and/or non-modifiers that are to be detached from their parent items and printed as base level items.

This setting is now respected on receipts.


Payroll Reports

Employees who will no longer be minors after a birthday later this year are now reported correctly on the Hours Summary report.

Configuration Option

The following configuration option has been added to tblPayrollSetupOptions.

OptionID: 53

OptionDescription: Minor employee age

iOption: 16 (Default)


Cash Drawers

An issue was resolved where multiple drawer assignments were open with the MutliTill setting enabled.

Configuration Setting

In response to this issue, the following Dataserv.ini setting has been implemented. Add this setting to the [DRAWER] section of Dataserv.ini.

  • CheckDrawerAssignments_UseEmpNumAndRegNum - When this setting is turned ON, both the employee number and the register number are references when checking drawer assignments.



An issue was resolved where Redundant Kitchen was not taking over due to a crash error.

A Dr Watson dialog is no longer displayed if a fatal exception occurs.


Tender Operations

IrisAuthSrvr now routes correctly when switching from a Credit Card pay type to another pay type.



The "Fee_Config" object is now added to SubmitOrder requests on orders that contain donation items.

Please ensure the donation item numbers identified with the OrderEnt.ini setting DonationItems are delimited by a comma.

Setup Example





If Primary and Redundant Kitchen crashed or were manually stopped, AND the eKitchen.exe program was not running on any controllers, an "out of memory" error was generated when Primary Kitchen and the controller were restarted.

A pair of variables in eKitchen were not initialized, which sent random screen sizes to Kitchen. This caused the latter application to start allocating resources until it ran out of memory. This issue is resolved.


Gift Cards

A Gift Card pay type is now properly removed on Void/Reversal.



This update improves the performance of Kitchen logging.

Logging configuration for Kitchen has been updated (the default values are enclosed in parentheses):

[Monitors] ; newly introduced settings: LogBufSize(4194304) ; 2048*2048 = 4MiB ; settings left in use: Logging(0) LogFilter(0) ; deprecated settings: LogThreadId(1) LogWriteBuffering(0) LogFileAlwaysOpen(0) StopTime(1000) LogCount(50) LogFilename("..\Log\monitor.log") EventLogging(0) EventLogFilter(27) [Debug] ; deprecated settings: SeparateCommLogging(1)

IrisProcComm logging configuration used in OldKPServ and Kitchen has been moved from Kitchen.ini [Debug] or [Monitors] and [RegXX] (depending on the now deprecated [Debug] SeparateCommLogging value) to Prtrs.ini [Monitors] and [RegXX].



The POS has been updated to send item short descriptions to Xenial Kitchen Management (XKM).

Configuration Setting

Add the following setting to the [XKS] section of Appini.ini.

  • ItemName - Identifies which Item Master property to use when displaying item names on the kitchen display in XKM. If this setting is not defined, the long description defined in the Item Master is used.

    Valid values: shortdesc, longdesc, monitordesc, receiptdesc, itemdesc, printerdesc

    A comma-delimited list of Item Master properties may be used. The first Item Master property that is defined for the item is displayed on the kitchen display.

Setup Example




Customer Loyalty

An issue was resolved with Paid mobile orders where scanned barcodes were not sent to the Punchh loyalty provider.

2021-04-29 | IRIS 4.1.1070.200

The information provided below includes the user experience, data, configuration, process workflow, reporting, and infrastructure improvements and updates for this production version of IRIS 4.1.1070.200.

New Features


Order Scheduler

CCPA Implementation - Customer information is now masked in the log files.


Customer Loyalty

Punchh Loyalty users can sign up at the POS using their email address, phone number, or Loyalty ID.

When the cashier looks up a loyalty user and the user does not exist, the POS offers the option to create a new account.

POS Command

The following Loyalty-Sign up Customer command has been added.

  • 314 - BTN_CMD_SIGNUP_CUSTOMER - Enables the operator to sign up a new customer in the Customer Loyalty program using Phone Number, Email, or Loyalty ID.

Configuration Setting

Add the following setting to the [Customer_Detail] section of Appini.ini.

  • SignUpCustomer_MenuID - Specifies the MenuID of the Sign-up Customer Form.


Customer Loyalty

Banked Rewards Redemption - During order entry, the user can redeem banked rewards available from their account.

POS Config Option

  • 1229 - MM_ENABLE_ENTER_BANKED_REWARDS_AMOUNT - Enable Banked Rewards amount entry

If this option is turned ON, and the loyalty customer has a Banked Rewards balance, the cashier can select Banked Rewards from the reward list popup, and the system prompts the cashier to enter the discount amount.

If this option is turned OFF, and the loyalty customer has a Banked Rewards balance, the cashier can select Banked Rewards from the reward list popup, and the entire balance is automatically applied to the order.


Customer Loyalty

Assign Punchh menu item types for non-menu order item sales:

  • S - Non-sales items (e.g. service charges, non-sales generating delivery fees, gift cards/certificates, charitable donations)

  • P - Payments on a POS check

  • T - Taxes

  • D - Discount amount

  • M - Sales items

Configuration Settings

Add the following settings to the [Loyalty] section of Appini.ini.

  • SendItemTypeExDetail - If this setting is ON, POS sends non-sales items with the tag LineItemTypeExDetail with a "NonSales" value to XLC.

    Punchh adapter sends non-sales items with predefined menu item types to the Punchh loyalty provider (see menu item types above).

  • NonSalesGeneratingCategory - Identifies the item categories that are non-sales items.

  • NonSalesGeneratingItemNum - Identifies the items that are non-sales items.


Customer Loyalty

Punchh “Bounceback” module - Convert non-loyalty users who are targeted with Punchh Coupons offers.

Print Form Variables

The following Print Form variables are used in the LOYALTY_PROMO section to support printing the "Bounceback" campaign message.

  • PromoCode

  • PromoExpDate


Customer Loyalty

Send the OLO order transaction ID as part of the POS guest check details that are sent to Punchh as check menu items.

Configuration Setting

Add the following setting to the [SPECIAL_ITEMS] section of Orderent.ini.

  • EXTERNAL_ORDERID - 3 values separated by a comma:

    m: ItemNum of an item in tbl_ItemMaster designated to represent OLO Transaction ID

    n, l: Format to parse out shortExternalOrderID from ExternalOrderID

    n: Parse starting index (default: 1, first character of ExternalOrderID)

    l: Parse length (default: ExternalOrderID n + 1)


Xenial Adapter

To reconcile Delivery orders with the RSI Portal, the third party vendor's order number and order source are injected into the POS.

IRIS supports two external Order ID values:

  • XenialOrderID

  • ExternalOrderID



2020 W-4 Change Request - The Employees Master is updated to capture the current W-4 requirements.

The Withholdings tab of the Employees Master now includes a Use newer 2020 W-4 Form option.

Select this option to include all data entry points from the revised form.



PayPal: Support for keyboard wedge scanner

This change allows the QR Code Scan dialog to receive input from a keyboard wedge scanner. This is required for tablets, such as the Panasonic FZ-G1.

Configuration Setting

Add the following setting to the [scanner] section of AppIni.ini.

  • ScanQRCodeKeyboardWedge - If this setting is turned ON, keyboard wedge scanner support is enabled. Use the PrtDev.ini settings in the device-specific section to filter scanned data and remove unwanted characters.

This setting is not required for OPOS devices. Using OPOS devices is strongly recommended.



Log Files

IRISAuthSrvr Log is now purging properly each day.

FileLocks.exe is a new application that determines what causes a file to lock up and lead to issues with IRISAuthSrvr.


Parallel Order Interface

Resolved issue with accessing checks that span business dates.


Print System

The Kitchen Bump form now supports printing the item food, entree, beverage, category item, and category counts.

Print Form Variables

The following Print Form variables have been added for the Kitchen Bump form:

  • FoodCount

  • EntreeCount

  • BeverageCount

  • CatItemCount<n>

  • Cat_<n>


Customer Loyalty

Loyalty information is retained when the POS updates the Punchh Loyalty Location Configuration.



After upgrading to 4.1.600.900, the Check Sum validation prevented the manual entry of produce items.



xsPosServer supports the SubmitAllOrders feature.

When POS Destination Config Setting (10, DCFG_SUBMIT_ALL_ORDERS) is ON for the order destination, and the order point is identified in the configuration setting, SubmitAllOrdersOrderPoints, then xsPosServer sends SubmitOrder requests to the Loyalty Controller for all orders regardless of customer loyalty membership.

xsPOSServer.ini Setting

Add the following setting to the [Loyalty] section of xsPOSServer.ini:

  • SubmitAllOrdersOrderPoints - Order points where SubmitOrder requests are sent to the Loyalty Controller regardless of customer loyalty membership.



The POS crashed when the IRIS builds were mismatched.



When the Verifone Device was not present in IRIS 4.1.728.500, the terminal crashed.



Print System

The following issues with the centering, highlighting and justifying of the receipt text.

When NCR OPOS printing is used and the Print.Frm is configured to print text that is centered with a nored attribute that is following a line of centered text with a red attribute, the second line appeared as red.

The second issue is for IRIS OPOS printing in general (includes EPSON and NCR printers) where if a line is right justified followed by a line that is centered, the centered line will print as being right justified. This latter error exists as far back as the baseline.

PrtDev.ini setting UseEPSONEscapeCodes must be set to 1 (On) to allow for the red/nored fix to work with NCR OPOS printing.



Post Adjust Tip on Genius device.

With this update, if PostAdjustTip is performed where the previous transaction was a successful SALE, then the new AdjustTip command is used on the Genius device.



IRIS 4.1.806.700 upgrade issue with BOH and POS.



IRIS 4.1.806.300 upgrade issue with POS1.


Pay Types

The settings in the IrisAuthSrvr.ini ROUTER section are no longer case sensitive.



Issue with the application of the Automatic Discount.



Family Bundle issues with macro commands.

POS Config Option

  • 1232 - MM_PERFORM_QTY_ON_MACRO - If this option is turned ON, commands in macros are performed a 'quantity' number of times.

    POS Config Option 1177 - MM_PERSIST_QTY_ON_MACRO must also be turned ON.



HeartSIP 3.3.12 / IRIS 4.1.904.300 – GetLastResponse now notifies the main thread after getting a RESET Response.



Register Upgrade issue - UpdateService is now launched appropriately.



Added installation parameter to identify specific customer.

Example: /customer=wabr



Inventory Depletions - Updated stored procedure sp_InvDpl_DepleteForDateRange.sql to create the datetime parameter length.



Hours Summary report now reports minors correctly when their birthday is later this year.



Inventory Transaction Editor - IUT# configuration.

Configuration Settings

Add the following settings to the [ITESetup] section of Inventory.ini:

  • IUTReportName - The report name.

  • AutogenerateIUT - Generate automatically?

  • HidePrintButtonOnTransfer - Hide the Print button when performing a transfer.



Inventory Transaction Editor - Count Entry should limit to Quantity column

Configuration Setting

Add the following setting to the [ITESetup] section of Inventory.ini.

  • LimitTabStopToQuantityOnly - If this setting is turned on, then pressing Tab on the keyboard moves the cursor to the next Quantity column on the form. This setting does not apply to Purchases.



Adjusted modifier summarization to include the Child setting in the SummHow configuration flags of Kitchen.ini.


Select Check

ConfigFileExporter.exe issues with Selcheck.ini.


Log Files

Improved logging for POS function PayTips.

Configuration Setting

Add the following setting to the [CONFIG] section of Adoopt.ini.

  • LOG_ORDERTIP - If this setting is ON, advanced logging is enabled for POS function PayTips.


Print System

Touchless: The POS receipt did not match the emailed receipt.



HeartSIP 3.3.12 / IRIS 4.1.904.300 – Added logging in IrisAuthSrvr.log to indicate when RetryVoids is turned OFF in IrisAuthSrvr.ini.



When configured to sort grill tickets similar to Kitchen, the IRIS print system was detaching child items marked as modifiers where the Kitchen system was not factoring in the modifier flag when detaching these child items.



Orders no longer appear in the kitchen when the order is checked out (before finalizing and tendering the order) online.



SCA Reversal Response Not Recognized

On transaction cancellation, IrisAuthSrvr waited for LastTran request response and received "Reverse Last Trans Failure" and continued to wait for a response until the ReversalTimeout occurred.



DSR 'UseNRTForGrossSales' - Gross calc issue when this value is 0.

Updated stored procedure sp_DatakeyValues_Custom to resolve this issue.


Gift Cards

Pin Entry Requirement for Activate/Reload

PayType Config Options

Added the following PayType Config Options to prompt for a PIN (aka CID) for Gift Card Activate and Add Value.



PayType Config Option 5131 PT_CONFIG_REQUIRE_CID is no longer supported.


Visual Dashboard

Destination Sales issue - Stored procedure sp_Dashboard_DestSales had debug print functions that prevented Destination Sales from being updated on the Visual Dashboard.

Older Releases

2021-02-02 | IRIS 4.1.976.100

The information provided below includes the user experience, data, configuration, process workflow, reporting, and infrastructure improvements and updates for this production version of IRIS 4.1.976.100.

New Features


Clock In/Out

Employee Engagement dialog time out

When POS Config Option 675 - Enable Employee Engagement on Clock Out is turned ON, when an employee clocks out, the application displays an Employee Engagement on Clock Out dialog.

With this update, the employee remains Clocked In if this dialog times out before the employee responds.



Optionally exclude Delivery items from reports

With this update, Delivery order items can be optionally excluded from the following reports:

  • Dashboard

  • Sales & Labor by Time

  • PreShift

  • Product Mix

Additionally, the Daily Store Report (DSR) has been updated to reflect Delivery order items differently.

The following files have been updated with this enhancement:

  • IRIS_4.1.sql

  • sp_Dash_SalesAndLabor.sql

  • sp_RDLMixedResult.sql

  • sp_RDL_SA_Sales_Labor_By_Time.sql

The following files have been created with this enhancement:


  • sp_Dashboard_DestSales.sql

  • sp_RDL_SA_PreShift_Sales_Labor_By_Time.sql

  • xsp_Dashboard_Top5ItemSalesWB.sql

  • xsp_ProjectSalesLabor.sql

Configuration settings

The following settings have been added to tbl_RptConfigValues in the IRIS database:

The default ConfigValue for each setting is 0. Set the ConfigValue to 1 to exclude Delivery items from the respective report.

  • ReportName=RSA_MixReport , ConfigID=1070

  • ReportName=RSA_PreShift , ConfigID=1070

  • ReportName=RSA_Sales &amp; Labor By Time , ConfigID=1070

  • ReportName=DASHBOARD , ConfigID=1070

Set the ConfigValue for the following settings to the applicable category ID.

  • ReportName=DeliveryChargeItemMajorCatID , ConfigID=1070

  • ReportName=DeliveryChargeItemMinorCatID , ConfigID=1070


Parallel Order Interface (POI)

Print on Check In configuration settings

The POI is modified to follow the destination configuration settings in printing a receipt and/or grill chit upon customer check-in.

Configure the following POS Destination Config Settings in tblDestinationConfigSettings in the IRIS database. These settings are turned OFF by default.

  • 26 - DCFG_PRINT_RCPT_ON_POI_CHECKIN - If this setting is turned ON, Print Receipt On POI Check-In.

  • 27 - DCFG_PRINT_GRILL_ON_POI_CHECKIN - If this setting is turned ON, Print Grill On POI Check-In.



Verifone Point and Chase Paymentech Host Interface (CPHI)

IrisAuthSrvr.ini is updated to disable the original SETTLE and Report commands sent from IRIS to VeriFone Point during EOD, and send CUTOVER instead.

The following configuration settings have been implemented. Add these settings to the [SCADevice<n>] of IrisAuthSrvr.ini.

  • MaxReportRecords - Specifies the number of records to send for element MAX_NUM_RECORDS_RETURNED. The default is 800.

  • SupportsSettle - If this setting is turned ON, send the "SETTLE" command to VeriFone Point when the routine CloseDeviceBatch()  is called. This setting is turned ON by default.

  • SupportsSettlementReports - If this setting is turned ON, call these routines from GenerateReports().

    • GetDeviceReportPreSettlement(pTR)

    • GetDeviceReportSettlementError(pTR)

    • GetDeviceReportSettlementSummary(pTR)

  • SupportsCutoverReport - If this setting is turned ON, send 'CUTOVER' command to VeriFone Point when routine GenerateReports() is called. Call routine GetDeviceReportCutover(pTR) from GenerateReports().




XKM order events lost when kitchen server disconnected

When the kitchen server is disconnected, orders entered at the POS were not displayed in the kitchen when the server was reconnected.

In response to this issue, XKM data feed on POS has been enhanced to correctly recognize when the socket connection can no longer be established.

XKM will attempt to reestablish the connection before resending any pending order data.


POS MFC Application

Register lockup with MFC issue

A store reported that the message "POS MFC Application has stopped working" was appearing and causing a terminal to lockup.


Employee Charge

Employee Charge issue after upgrade

Employee Charge transactions were not accounted for on the Sales Detail Report or the House Accounts Details Summary.

This issue occurred on account PII data was replaced with blank spaces when flattened.



HeartSIP: Image download for HPA 5.0 (Lane 3000 and 5000)

The _xsHeartSIP.txt file (referenced by the IrisAuthSrvr.ini setting VersionFileName) has been updated to support a Default section.

The Default section is used to define the location of the images to use if either a matching section is not found for the device, or to support situations where the store wants to load the same images onto a device regardless of device type.



Inventory Transactions Editor (ITE) issues with posting and filters

Reported instances where Physical Count transactions did not post. Additionally, the "All" transaction filter was not returning all items on the main screen.

This issue occurred on account the transaction mode was not set on AddMode.


POS Performance

Item and Menu Cache excessive load times

POS load times are approximately 40 seconds faster with this update.



Sales Report discrepancies

Sites have reported discrepancies between the values on the SDR and the Sales and Labor report.

Stored procedure was updated to resolve this issue.



HeartSIP - Credit Card PayType 200 report issue

Reported instances where the Paytype is not populated correctly in tblOrderPay. The generic 200 Credit Card was reported instead of the specific type (201, 202, 203, 204).

This issue is resolved.



HeartSIP - Invalid LRC causing POS and HeartSIP to get out-of-sync

An unexpected response returned from a command caused HeartSIP to parse the incorrect response to SALE transactions.

With this update, when an unexpected response is received, the buffer is flushed and POS and HeartSIP are reconnected to make sure they are in sync.



VeriFone M400 and P400 Pairing issues

During the pairing process for both M400 and P400 devices, IRIS remained on a message box stating "Pairing is completing" and did not proceed beyond this message.

This issue is resolved.


Order Entry

Drive-Thru orders with additional charges

Additional charges were applied to combo meal components entered at a Drive-Thru terminal after modifiers were added to each bundle item.

This issue is resolved.



Sales Detail Report layout issue

The values from tbl_SalesDetail_Layout were no longer reflected on the SDR.

The following stored procedure was updated to resolve this issue: sp_SalesDetail


Register Update

POS lockup during Register Update

Buttons on register were unresponsive after the "update pending" message was displayed.

Configuration setting

The following configuration setting was implemented. Add this setting to the [POS] section of Appini.ini.

  • LogScan - If this setting is ON (1), logging is generated for scanner enable/disable functionalities. Turn this setting ON if the system is experiencing button lockup symptoms.



Inventory Transactions Editor (ITE) error on Physical Count

An error was generated when selecting Variance for a Physical Count for the Case measurement.



Open Refund issue

Attempting to perform an Open Refund using an VeriFone E285 caused an Invalid Field error.

Configuration setting

In response to this issue, the following setting has been implemented. Add this setting to the [SCADevice] section of the IrisAuthSrvr.ini file.

  • RefundEBTCash - If this setting is turned ON (1), EBT cash refund requests to VeriFone Point are accepted. The default vaue is 0 (OFF).



VeriFone and POS pairing

It would occasionally take up to 70 seconds to receive a payment prompt on the VeriFone E285 when pairing with the POS.

Pairing time is now reduced to approximately 7 seconds.


Xenial Adapter

Conditional Transformation of Order-Level Discounts

With this update, Xenial Adapter rolls item level discounts up to order level. Dataserver does not include discounts in the JSON orders that are sent back to the cloud.

Resolved an issue where the application tried to add an empty discount list and mishandled the error.

Resolved an issue where orders without discounts were rejected.



Valued Partner - Select Check screen lockup issue

When attempting to access orders from a Valued Partner, the Select Check screen would lock up.

Configuration setting

In response to this issue, the following setting has been implemented. Add this setting to the [PARAMETERS] section of DataServ.ini.

  • RestartArchiver - When this setting is turned ON, the Archiver is restarted if a database lock conflict occurs.


HeartPOS Integration

Banner and logo images not displayed

The images sent by the HeartPOS Utility were not displayed.

To resolve this issue, the ImageName parameters are now set on the Lane devices.


File Monitor

Site polling issue with DST

Sales could not be polled after the DST time change until File Monitor was restarted.

File Monitor has been updated to use UTC internally so calculations on the DateTime are handled properly.


Site Status

Xenial Site Status issue with Daylight Savings Time (DST)

Xenial stopped updating the SIte Status after the DST time change making all units look offline.

This issue is resolved.



KitchenBumpEvents.exe with IRIS printed multiple receipts

KitchernBumpEvents was printing item-level bumps instead of order-level bumps.

Configuration setting

The following KitchenBumpEvents.ini setting was implemented to resolve this issue.

  • PrintOnItemBump - When this setting is false, kitchenbumpevents does not send item-level bump events to the printer. The default setting is false.


Employee Breaks

'Break Enforcement' Manager Override issue from POS Functions

When POS Config Setting 859 - Force Manager Manager Approval is OFF, the POS was not prompting for manager approval to Break In/Out.



Sales & Labor by Time Report included Delivery Charges

With this update, the Sales & Labor By Time Report excludes Delivery Charge items (120001-120003).

The following stored procedures were updated in response to this issue:

  • sp_RDL_SA_PreShift_Sales_Labor_By_Time

  • sp_RDL_SA_Sales_Labor_By_Time

Configuration setting

The following setting was implemented for RSA_Sales & Labor By Time. Set the setting value to the category ID to exclude from the report totals.

  • ConfigType : 1071 (Exclude Category ID)

  • ConfigValue :  0 (Defaults 0,)



VeriFone Point: SCA reversal response not recognized

On transaction cancellation, IrisAuthSrvr waits for a LastTran request response. It received "Reverse Last Trans Failure" and continued to wait for a response until a ReversalTimeout occurred (Default 70 seconds). POS was unresponsive during this time.

To resolve this issue, the POS is updated to not wait the full Reversal Timeout period.



HPA 5.0.1: Update Ethernet Communication Code in HeartSIP.dll

The message "Processing End of Day on payment device" appeared when the POS was started.

In response to this issue, the Ethernet Communication was updated for HeartSIP.



Split Modify issue with multiple QTY Parent and Child

When applying a discount to a parent item with a quantity greater than 1, its child items were removed from the order.


Print System

Order items not printed on NGK delivery receipts (Dest 32 and 64)

Print on Bump issue with order destinations 32 and 64. Order item names were not printed.

With this updated, if the PrinterDesc value is blank, the MonitorDesc value is printed. If that value is blank, the ItemDesc value is printed.



HeartSIP: Unable to Post Adjust Tip

An error was returned when attempting to post adjust a tip on a credit card transactions.

Upgrading to IRIS 4.1.904.300 or later resolved this issue.


Xenial Adapter

Touchless: Business date rollover issue

Orders from a previous business date tendered with QR pay showed as Paid with the old business date.

Business date rollover is now only disabled for cases where the pickup_date_time is used for the businessdate on the order instead of the current IRIS businessdate.

2020-10-26 | IRIS 4.1.904.200

The information provided below includes the user experience, data, configuration, process workflow, reporting, and infrastructure improvements and updates for this production version of IRIS 4.1.904.200.

New Features



Marketplace Facilitator (MF) Taxes

IRIS now supports Marketplace Facilitator (MF) orders, which include specific taxes for which the MF is liable, and specific taxes for which the MF is not liable.

Xenial includes an additional marketplace_liable boolean on each tax object in the order to indicate which taxes are liable to the MF.

The calculation of the XenialMerchantTax bucket has been updated to only reflect the sum of taxes for that order that are marketplace_liable.

Configuration Settings

The following fields have been added to tblOrder and tblOrderItem in the IRIS database.

  • MarketPlaceLiableBuckets - An integer with bits 0-10 set for any tax bucket that has been flagged as a marketplace liable tax. This can be used for reporting to determine which taxes are marketplace-liable.

  • CollectedTaxAdjustment - The value from the "collected_exclusive_tax_adjustment" element if provided in the incoming JSON order at the item and order level.

Run Version Management on PosTrans.mdb and run the IRIS_4.1.SQL script on the IRIS database.


Mobile Orders

IRIS can now be configured to override the restriction that prevented the operator from marking an order as delivered before its defined Pickup Date/Time.

When an order is checked in, the operator can deliver it as soon as it is ready regardless of its Pickup Date/Time.

Configuration Setting

The following POS Config Option has been implemented:

  • 1231 - MM_DELIVER_STATUS_DISREGARD_PICKUP_TIME - When this option is turned ON, the Pickup Time defined for an order is ignored when setting the Delivery order substate.


Delivery Orders

Custom TLOG

To accommodate their requirements for Delivery/To Go orders, a custom stored procedure, xsp_Custom_CKE_TlogSales_Updated, has been provided to one of our Valued Brands.


Delivery Orders

Pay Order Mode Update

When POS Config Option 201 - MM_PAYORDER_MODE is turned ON for a Drive Thru Cashier terminal , the POS remains on the Tender screen after the cashier tenders an order. The next order in the queue opens automatically on the Tender screen enabling the cashier to tender the order.

With this update, the following prompt is displayed after the operator tenders an order, if the next order in the queue is a PAID order:

  • "This order is paid and will be marked delivered."

The operator selects OK to dismiss the prompt, the PAID order is marked as delivered, and the next order in the queue opens on the Tender screen.

Configuration Settings


  • Set up a non-modifiable (PT_NOT_MODIFIABLE=5140) pay type for mobile drive-thru orders.

  • xsPOSServer order must set the check-in time (or define ShowCheckedIn=0 in Selcheck.ini).


Employee Breaks

Employee Break Enforcement Update

The POS can now be configured to require Manager Approval to Break-In when an employee break exceeds the specified maximum break length.

The employee is also warned if they attempt to Break-In/Out outside of their scheduled shift.

The Clock Enforcement Override report can be configured to include Break-In/Out records that required Manager Approval.

Configuration Settings

  • Turn ON POS Config Option 542 MM_CLOCK_CHECK_SCHEDULE - If this option is turned ON, Manager Approval is required when an employee Clocks In/Out outside of their scheduled time.

  • A new report configuration value IncludeBreakRecordsInReports has been added to tbl_RpyPC_ConfigValue with a default value of 0.  When set to 1, the Clock Enforcement Override report will include Break-In/Out records that required Manager Approval.

  • Add the MaxBreakLength setting to the [PAYROLL] section of the IRIS.ini file. Set the setting value to the maximum employee break length in minutes. Manager Approval is required to Break-In if the number of minutes since the Break-Out is greater than this setting value.



Exclude Delivery Charge Items from BOS Reports

BOS reports can now be configured to exclude Delivery Charge items. The BOS reports include:

  • Dashboard

  • Sales & Labor by Time

  • Pre-Shift Report

  • Product Mix Report

Configuration Settings

The following report config options have been added to tbl_RptConfigValues. The default ConfigValue for each option is 0.

Set the ConfigValue to 1 to exclude Delivery Charge items from the corresponding report.

  • Option #1 ReportName=RSA_MixReport , ConfigID=1070, ConfigValue=0

  • Option #2 ReportName=RSA_PreShift , ConfigID=1070, ConfigValue=0

  • Option #3 ReportName=RSA_Sales & Labor By Time , ConfigID=1070, ConfigValue=0

  • Option #4 ReportName=DASHBOARD , ConfigID=1070, ConfigValue=0

  • Option #5 ReportName=DeliveryChargeItemMajorCatID , ConfigID=1070, ConfigValue=0

  • Option #6 ReportName=DeliveryChargeItemMinorCatID , ConfigID=1070, ConfigValue=0

This update required changes to several stored procedures.

Please contact a Professional Services representative for information about these changes.



Genius Payment Solution Integration - Phase 1

As part of the effort to certify IRIS with Genius payment devices, a new INI file named Genius.ini has been implemented to allow IRIS to know which version of the Genius API to use.

Configuration Settings

Add the following setting to the [SCADevice] section of IrisAuthSrvr.ini:

  • API=C:\IRIS\INI\Genius.ini

This API setting specifies the file path for the Genius.ini file. Use the Genius.ini file to specify:

  • Merchant information

  • Device API versions

  • Genius API versions

  • PS1 API versions

  • Transport API versions

  • Store and Forward API information

Please consult the IRIS 4.1 wiki for additional information about the Genius.ini file.




Variance rules are now respected when inventory item depletions are processed.

The counted/purchased items are depleted rather than the parent items.



An uninitialized variable produced an index that was out of bounds for an internal data array. This has been resolved to prevent a Kitchen crash when this array is referenced.



XenialAdapter now sets the correct Business Date on orders when EOD is 12:00 midnight.



Bundle coupons can now be used more than once when more than one exists on the same order.

Please contact your Professional Services representative for more details.



An applied coupon from a valued partner is now removed if adjustments to the order cause the order to no longer meet the requirements of the coupon.


Menu Editor

The Monitor and Printer Routing settings defined for an item record remain intact when the item record is modified.



When a new Tax Exempt pay type is applied, proceeding through the transaction to tender removes tax from the submitted total.


Parallel Order Interface (POI)

The POI interface now respects POS Config Setting 126 - Auto Customer Count Based on Item Master.

xsPOSServer now updates the guest count for an order accordingly.



Audio alert when a mobile order is checked in.

  • The BeepNewArrivalCount_ setting is now compatible with NGEN SX/DX hardware.

  • Internal issues have been addressed with the BeepOnDestination functionality and the Select Electronics (OAsys, OAsys IPad, NGEN SX/DX) device interface.

  • Implemented a hard coded one second timer between beeps for the modulated beep functionality.

  • A new configuration option has been added to Kitchen. This new setting, BeepDelay, sets the time delay from the start of one beep to the start of the next beep.


Customer Display

The SEND doesn't work command is now compatible with Digital Menu Boards.

A new Prtrs.ini setting has been implemented: PauseBeforeSendTotal_MS - Specifies the number of milliseconds to delay sending the Tax/Total message to the customer display.



VeriFone Point: SCA SAF processing states update issue.

POS read SCASAF.dat without extracting the register number from the existing order number and replaced the order digits that corresponded to the register number with the current register number.

As a result, orders created on one register and paid on another register were missing the correct order numbers in SCASAF.dat.

POS now retains existing order numbers in SCASAF.dat.



Tax Exempt paytypes tax subversion issue

If the operator selects a paytype (e.g. SVC) that qualifies for tax exemption, enters an invalid card number (or the transaction is declined or fails to route), and then selects Cash and tenders the order, the tax exempt status is now removed and tax is collected.

Refunds/overrings also work correctly.


Online Ordering

XOO Marketplace Tax element name change for collected_tax_adjustment.

XOO has changed the JSON element name from "collected_tax_adjustment" to "collected_exclusive_tax_adjustment".

IRIS is now updated to consume element name "collected_exclusive_tax_adjustment" for the item and order-level taxes.



IRIS Installer issues - Prompts and Restart

This update adds the following configuration options to install.ini, which is used to configure automatic IRIS upgrades.

The following options are located in the [Batch] section of install.ini.

  • BatchDelay - Delay between finishing one batch and starting the next batch.

  • BatchTimeout - Timeout for a batch. If all registers in the batch have not reported as complete and the time to complete has exceeded this value, the BatchDelay for the next batch starts.

  • OfflineTimeout - Timeout for a register. If a register in the batch has not reported as online and the time to report has exceeded this value, the register is ignored when deciding if the batch is complete.

  • Batch1 - List of register numbers that should be upgraded in this batch.

  • Batch2 - List of register numbers that should be upgraded in this batch.

The following option is located in the [Install] section of install.ini.

Added option to suppress version message for a period of time after a new install.

  • VersionMessageWait - 60  (Time is in minutes and will override a global value if set)

Added global option to suppress version message for a period of time after a new install.

  • dataserv.ini [PARAMETERS] VersionMessageWait=60  (Time is in minutes and install.ini will override if set)

Changed the Software Update Message to do a logoff instead of a restart by default. To do a restart use:

  • appini.ini [POS] SoftwareUpdateRestart=1 (This will not be available until after POS is running the new version)

Added option to disable Version Message sent by Dataserv. 

  • dataserv.ini [PARAMETERS] DisableVersionMessage=1


Gift Cards

Tender a physical Gift Card for Rewards Member (CCA)

The capability to ID a rewards customer, then tender an order via a physical gift card (not their rewards account) has been restored.



Paid orders are no longer duplicated on Kitchen monitors when the ResequenceOrderOnPaid=1 setting is defined.

When updating screens where ResequenceOrderOnPaid was enabled, Kitchen was previously not accounting for orders already displayed.



Genius: Line item display Qty x Price value

IRIS now sends the single unit price for line items to the Genius line item displays.



Kitchen 4.1.806.500 upgrade issue on register three (3) is resolved.

The upgrade issue occurred when executing a staggered register update from a version of IRIS older than 4.1.730.


Gift Cards

A Balance Inquiry for "Stored Value Card" pay types is now routed to the correct CCA TPE.

An issue existed in the previous application version for this transaction when multiple paytypes were configured with the options:

  • 6019 PT_SVCARD


BTN_CMD_DISPLAY_BALANCE reads and includes the value for pay type option 6014 for whatever paytype ID is specified in the BtnData1 value for button 230 TN_CMD_DISPLAY_BALANCE.


Mobile Orders

Mobile Orders issue with BumpedFromAll flag in Kitchen.

The SendBumpTime portion of Kitchen is modified to suppress the BumpedFromAll flag from being set while an order is recalled on the display.


Mobile Manager

MobileManagerConnector now sends the appropriate sendcount value to Mobile Manager.


POS Error Logging

Message no longer displayed to cashier during auto-recovery of Abort-Button-Press.



tblOrderItem field values for Advanced Refunds now match the corresponding values of the original order item record.

tblOrder tax table amounts and destination are populated appropriately.