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.