> For the complete documentation index, see [llms.txt](https://docs.rmhpos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rmhpos.com/readme-1/customize-the-pos-screen/reference-commands.md).

# Commands reference guide

The following commands can be used to program the functionality of both POS Task Pads and Custom POS Buttons. You must configure Task Pads and Custom Buttons in Store Manager.

{% hint style="info" %}
Starting with release 3.11.0 you can program Task Pads or Custom Buttons to execute a chain of commands when the button is clicked by adding a semicolon (;) between commands. For example, you might create a chain of commands to discount a transaction (command 1) and then automatically select a discount reason code (command 2). There is no limit to the number of commands in a chain. However, the commands should be chained together to follow a logical transaction process.
{% endhint %}

<details>

<summary><strong>BATCH COMMANDS</strong></summary>

Use batch commands to perform various batch operations, such as entering opening and closing amounts, viewing the X report, printing X, Z, and ZZ reports, and performing a blind closeout.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Batch_CloseCommand</td><td valign="top">Closes the current batch. This is the same as a blind closeout. No parameters.</td></tr><tr><td valign="top">Batch_EnterClosingAmountsCommand</td><td valign="top">Invokes the <strong>Closing Amounts</strong> dialog. No parameters.</td></tr><tr><td valign="top">Batch_EnterOpeningAmountsCommand</td><td valign="top">Invokes the <strong>Opening Amounts</strong> dialog. No parameters.</td></tr><tr><td valign="top">Batch_PerformBlindCloseoutCommand</td><td valign="top">Performs a blind closeout. No parameters.</td></tr><tr><td valign="top">Batch_ViewXReportCommand</td><td valign="top">Displays the X report. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>CHARGE COMMANDS</strong></summary>

Use charge commands to add charges to POS transactions.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Charge_AddNoTemplateCommand</td><td valign="top"><p>Adds a charge without using a charge template (defined in Store Manager under <strong>Setup</strong> | <strong>Inventory/Purchasing</strong> | <strong>Charges</strong>).</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Charge Code}|{Price}</code></p><p>If the <code>{Charge Code}</code> or <code>{Price}</code> parameters are not provided, the command invokes the <strong>Charge Lookup</strong> dialog and prompts for the price.</p><p><strong>Example: Add charge code and price</strong></p><p><code>Charge_AddNoTemplateCommand "CH|15.10"</code></p></td></tr><tr><td valign="top">Charge_AddCommand</td><td valign="top"><p>Adds a charge to the transaction using a charge template (defined in Store Manager under <strong>Setup</strong> | <strong>Inventory/Purchasing</strong> | <strong>Charges</strong>).</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Charge Code}|{Price}</code></p><p>If the <code>{Charge Code}</code> or <code>{Price}</code> parameters are not provided, the command invokes the <strong>Charge Lookup</strong> dialog and prompts for the price.</p><p><strong>Example: Add charge code and price</strong></p><p><code>Charge_AddCommand "CHARG1|15.10"</code></p><p><strong>Example: Add charge code but prompt for the price</strong></p><p><code>Charge_AddCommand "CHARG1"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>CUSTOMER COMMANDS</strong></summary>

Use customer commands to perform various customer-related operations.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Customer_AddCommand</td><td valign="top"><p>Adds a customer to the transaction.</p><p>The command requires a mandatory parameter:</p><p><code>{Customer Account Number}</code></p><p><strong>Example:</strong></p><p><code>Customer_AddCommand "000005"</code></p></td></tr><tr><td valign="top">Customer_ClearCommand</td><td valign="top">Clears the current customer from the transaction. No parameters.</td></tr><tr><td valign="top">Customer_DisplayHistoryCommand</td><td valign="top">Displays a dialog with the current customer's purchase history. No parameters.</td></tr><tr><td valign="top">Customer_EditCommand</td><td valign="top">Invokes the <strong>Customer</strong> dialog where you can edit the customer. No parameters.</td></tr><tr><td valign="top">Customer_LookupCommand</td><td valign="top"><p>Adds a customer to the transaction.</p><p>The command takes an optional parameter:</p><p><code>{Customer Account Number}</code></p><p>If a parameter is not provided, or the customer account number is not found, the command invokes the <strong>Customer Lookup</strong> dialog with a list of customers fitting the search criteria.</p><p><strong>Example: Add a customer with account number “000005” to the transaction</strong></p><p><code>Customer_LookupCommand "000005"</code></p><p><strong>Example: Invoke the Customer Lookup dialog with the search criteria "Jon"</strong></p><p><code>Customer_LookupCommand "Jon"</code></p></td></tr><tr><td valign="top">Customer_NewCommand</td><td valign="top">Invokes the <strong>Create New Customer Wizard</strong> dialog where you can create a new customer. No parameters.</td></tr><tr><td valign="top">Customer_PaymentOnAccountCommand</td><td valign="top">Invokes the <strong>Account Payment</strong> dialog for the selected accounts receivable customer. No parameters.</td></tr><tr><td valign="top">Customer_SelectShippingAddressCommand</td><td valign="top">Invokes the <strong>Select Shipping Address</strong> dialog where you can add a shipping address for the selected customer. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>DISCOUNT COMMANDS</strong></summary>

Use discount commands to apply various discounts and price levels on the selected item, all items in the transaction, or the entire transaction.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Discount_InvokeDiscountMenuCommand</td><td valign="top">Invokes the Discount Menu dialog. No parameters.</td></tr><tr><td valign="top"><p><strong>The following commands apply a discount to all items that are currently in the transaction.</strong></p><p><strong>Note:</strong> Discounts are not applied to items that are added after an all items command is used.</p></td><td valign="top"></td></tr><tr><td valign="top">DiscountAllItems_SetNoDiscountCommand</td><td valign="top">Removes any discount applied to all items currently in the transaction. No parameters.</td></tr><tr><td valign="top">DiscountAllItems_SetAmountFromCurrentPriceCommand</td><td valign="top"><p>Applies a dollar amount discount from the current price to all items currently in the transaction.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Discount Amount}|{Reason Code}</code></p><p>If the <code>{Discount Amount}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog and prompts for the dollar amount.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a discount of $10 dollars to the current price for all items currently in the transaction</strong></p><p><code>DiscountAllItems_SetAmountFromCurrentPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountAllItems_SetAmountFromCurrentPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountAllItems_SetPercentFromCurrentPriceCommand</td><td valign="top"><p>Applies a percentage discount from the current price to all items currently in the transaction.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Percentage Discount}|{Reason Code}</code></p><p>If the <code>{Percentage Discount}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog and prompts for the percentage.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a 10% discount to the current price for all items currently in the transaction</strong></p><p><code>DiscountAllItems_SetPercentFromCurrentPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountAllItems_SetPercentFromCurrentPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountAllItems_SetSubtotalAmountCommand</td><td valign="top"><p>Sets the transaction subtotal amount by proportionally discounting the transaction items.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Target Subtotal Amount}|{Reason Code}</code></p><p>If the <code>{Target Subtotal Amount}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog and prompts for the dollar amount.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Set the subtotal amount to $20 by discounting all items proportionally</strong></p><p><code>DiscountAllItems_SetSubtotalAmountCommand "20"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountAllItems_SetSubtotalAmountCommand "20|RC01"</code></p></td></tr><tr><td valign="top">DiscountAllItems_SetPriceLevelACommand</td><td valign="top">Applies <strong>Price Level A</strong> to all items currently in the transaction. No parameters.</td></tr><tr><td valign="top">DiscountAllItems_SetPriceLevelBCommand</td><td valign="top">Applies <strong>Price Level B</strong> to all items currently in the transaction. No parameters.</td></tr><tr><td valign="top">DiscountAllItems_SetPriceLevelCCommand</td><td valign="top">Applies <strong>Price Level C</strong> to all items currently in the transaction. No parameters.</td></tr><tr><td valign="top">DiscountAllItems_SetPriceLevelDefaultCommand</td><td valign="top">Removes the price level from all items currently in the transaction. No parameters.</td></tr><tr><td valign="top"><strong>The following commands apply a discount to the currently selected item.</strong></td><td valign="top"></td></tr><tr><td valign="top">DiscountCurrentItem_SetAmountFromCurrentPriceCommand</td><td valign="top"><p>Applies a dollar amount discount to the current price for the currently selected item.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Discount Amount}|{Reason Code}</code></p><p>If the <code>{Discount Amount}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog and prompts for the dollar amount.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a discount of $10 dollars to the current price for the currently selected item</strong></p><p><code>DiscountCurrentItem_SetAmountFromCurrentPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountCurrentItem_SetAmountFromCurrentPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountCurrentItem_SetNoDiscountCommand</td><td valign="top">Removes any applied discount from the selected item. No parameters.</td></tr><tr><td valign="top">DiscountCurrentItem_SetPercentFromCurrentPriceCommand</td><td valign="top"><p>Applies a percentage discount to the current price for the currently selected item.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Discount Percentage}|{Reason Code}</code></p><p>If the <code>{Discount Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a 10% discount to the current price for the currently selected item</strong></p><p><code>DiscountCurrentItem_SetPercentFromCurrentPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountCurrentItem_SetPercentFromCurrentPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountCurrentItem_SetPercentFromRetailPriceCommand</td><td valign="top"><p>Applies a percentage discount to the retail price for currently selected item.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Discount Percentage}|{Reason Code}</code></p><p>If the <code>{Discount Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a 10% discount to the retail price for the currently selected item</strong></p><p><code>DiscountCurrentItem_SetPercentFromRetailPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountCurrentItem_SetPercentFromRetailPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountCurrentItem_SetProfitMarginCommand</td><td valign="top"><p>Sets the profit margin for the currently selected item.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Profit Margin Percentage}|{Reason Code}</code></p><p>If the <code>{Profit Margin Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Set a 10% profit margin for the currently selected item</strong></p><p><code>DiscountCurrentItem_SetProfitMarginCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountCurrentItem_SetProfitMarginCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountCurrentItem_SetPriceLevelACommand</td><td valign="top">Applies <strong>Price Level A</strong> to the currently selected item. No parameters.</td></tr><tr><td valign="top">DiscountCurrentItem_SetPriceLevelBCommand</td><td valign="top">Applies <strong>Price Level B</strong> to the currently selected item. No parameters.</td></tr><tr><td valign="top">DiscountCurrentItem_SetPriceLevelCCommand</td><td valign="top">Applies <strong>Price Level C</strong> to the currently selected item. No parameters.</td></tr><tr><td valign="top">DiscountCurrentItem_SetPriceLevelDefaultCommand</td><td valign="top">Removes any price level from the currently selected item. No parameters.</td></tr><tr><td valign="top"><strong>Use following commands to apply a discount to all items that are currently in the transaction or will be added later.</strong></td><td valign="top"></td></tr><tr><td valign="top">DiscountTransaction_SetNoDiscountCommand</td><td valign="top">Removes the transaction discount. No parameters.</td></tr><tr><td valign="top">DiscountTransaction_SetFromMinimumPriceCommand</td><td valign="top"><p>Applies a percentage discount to the minimum price for the transaction.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Discount Percentage}|{Reason Code}</code></p><p>If the <code>{Discount Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a 10% discount to the minimum price for the transaction</strong></p><p><code>DiscountTransaction_SetFromMinimumPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountTransaction_SetFromMinimumPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountTransaction_SetFromRetailPriceCommand</td><td valign="top"><p>Applies a percentage discount to the retail price for the transaction.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Discount Percentage}|{Reason Code}</code></p><p>If the <code>{Discount Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Apply a 10% discount to the retail price for the transaction</strong></p><p><code>DiscountTransaction_SetFromRetailPriceCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountTransaction_SetFromRetailPriceCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountTransaction_SetMarkupFromCostCommand</td><td valign="top"><p>Sets the transaction markup from cost.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Markup Percentage}|{Reason Code}</code></p><p>If the <code>{Markup Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Set a 10% markup from cost</strong></p><p><code>DiscountTransaction_SetMarkupFromCostCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountTransaction_SetMarkupFromCostCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountTransaction_SetProfitMarginCommand</td><td valign="top"><p>Sets the transaction profit margin.</p><p>The command takes the following optional parameters, separated by a pipe (|):</p><p><code>{Profit Margin Percentage}|{Reason Code}</code></p><p>If the <code>{Profit Margin Percentage}</code> parameter is not provided, the command invokes the <strong>Discount</strong> dialog.</p><p>If the <code>{Reason Code}</code> parameter is provided, the reason code is applied automatically to the item or transaction.</p><p><strong>Example: Set a 10% profit margin</strong></p><p><code>DiscountTransaction_SetProfitMarginCommand "10"</code></p><p><strong>Example: Apply the RC01 reason code</strong></p><p><code>DiscountTransaction_SetProfitMarginCommand "10|RC01"</code></p></td></tr><tr><td valign="top">DiscountTransaction_SetPriceLevelACommand</td><td valign="top">Sets the transaction price level to <strong>Price Level A</strong>. No parameters.</td></tr><tr><td valign="top">DiscountTransaction_SetPriceLevelBCommand</td><td valign="top">Sets the transaction price level to <strong>Price Level B</strong>. No parameters.</td></tr><tr><td valign="top">DiscountTransaction_SetPriceLevelCCommand</td><td valign="top">Sets the transaction price level to <strong>Price Level C</strong>. No parameters.</td></tr><tr><td valign="top">DiscountTransaction_SetPriceLevelDefaultCommand</td><td valign="top">Removes the transaction price level. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>CASH DRAWER COMMANDS</strong></summary>

Use the cash drawer commands to perform cash drops and pay outs from the cash drawer.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Drawer_CashDropCommand</td><td valign="top">Initiates a cash drop and invokes the <strong>Drop</strong> dialog. No parameters.</td></tr><tr><td valign="top">Drawer_CashPayOutCommand</td><td valign="top">Performs a pay out and invokes the <strong>Pay Out</strong> dialog. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>ITEM COMMANDS</strong></summary>

Use item commands to perform various item functions, such as adding an item to a transaction, deleting an item from a transaction, and so on.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Item_AddCommand</td><td valign="top"><p>Adds an item to a transaction.</p><p>The command takes the following parameter:</p><p><code>{Item Lookup Code}</code></p><p><strong>Example: Add an item with the item lookup code 12345678 to the transaction</strong></p><p><code>Item_AddCommand "12345678"</code></p></td></tr><tr><td valign="top">Item_AddCommentCommand</td><td valign="top"><p>Adds a comment to the currently selected item.</p><p>The command takes the following optional parameter:</p><p><code>{Comment Text}</code></p><p>If the parameter is not provided, the command invokes the <strong>Item Comment</strong> dialog.</p><p><strong>Example:</strong></p><p><code>Item_AddCommentCommand "My comment on this item"</code></p></td></tr><tr><td valign="top">Item_ClearAllCommand</td><td valign="top">Clears all items in the transaction. No parameters.</td></tr><tr><td valign="top">Item_InvokeItemPriceCheckerDialogCommand</td><td valign="top"><p>Invokes the <strong>Item Price Checker</strong> dialog.</p><p><strong>Note:</strong> The <strong>Item Price Checker</strong> dialog can only be used to check prices for standard items. It cannot be used to check prices for matrix, lot matrix, or assembly items.</p><p>The command takes the following optional parameter:</p><p><code>{ON}</code></p><p>If the parameter is provided, the <strong>Item Price Checker</strong> dialog will display on net display if net display is enabled for the register. If the parameter is not provided, the dialog will not display on net display.</p><p><strong>Example: Display the dialog on net display if net display is enabled for the register</strong></p><p><code>Item_InvokeItemPriceCheckerDialogCommand ON</code></p></td></tr><tr><td valign="top">Item_LookupCommand</td><td valign="top"><p>Invokes the <strong>Item Lookup</strong> dialog.</p><p>The command takes the following optional parameter:</p><p><code>{Search Criteria}</code></p><p>The <code>{Search Criteria}</code> parameter can be a combination of item lookup code, description etc. If a parameter is not provided, the command invokes the <strong>Item Lookup</strong> dialog without any search criteria.</p><p><strong>Example: Invoke the Item Lookup dialog with search criteria "123 My"</strong></p><p><code>Item_LookupCommand "123 My"</code></p></td></tr><tr><td valign="top">Item_LookupDepCatCommand</td><td valign="top"><p>Initiates item department or category lookup.</p><p>The command takes the following optional parameter:</p><p><code>{Search Criteria}</code></p><p>The <code>{Search Criteria}</code> parameter can be a department or category name, or a combination of both. If both a department and category name are in search criteria, separate them with a forward slash (/).</p><p><strong>Example: Initiate item search for department or category "Camping"</strong></p><p><code>Item_LookupDepCatCommand "Camping"</code></p><p><strong>Example: Initiate item search by department and category "Clothing/Boys"</strong></p><p><code>Item_LookupDepCatCommand "Clothing/Boys"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>ITEM TAX COMMANDS</strong></summary>

Use item tax commands to change item taxes.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">ItemTax_SetDestinationTaxCommand</td><td valign="top">Applies the destination tax based on the shipping address. No parameters.</td></tr><tr><td valign="top">ItemTax_SetNoItemTaxForTransactionCommand</td><td valign="top">Makes the transaction tax free. No parameters.</td></tr><tr><td valign="top">ItemTax_SetForCurrentItemCommand</td><td valign="top">Invokes the <strong>Select Tax</strong> dialog for the currently selected item. No parameters.</td></tr><tr><td valign="top">ItemTax_SetForTransactionCommand</td><td valign="top">Invokes the <strong>Select Tax</strong> for the transaction. No parameters.</td></tr><tr><td valign="top">ItemTax_ToggleForItemCommand</td><td valign="top">Toggles item tax on/off for the selected item(s). No parameters.</td></tr><tr><td valign="top">ItemTax_ToggleForTransactionCommand</td><td valign="top">Toggles the transaction item tax on/off. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>SECURITY COMMANDS</strong></summary>

Use the security commands to perform a cashier override.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Security_CashierOverrideCommand</td><td valign="top">Invokes the <strong>Login</strong> dialog and initiates a cashier override. Takes no parameter.</td></tr><tr><td valign="top">Security_ChangeUserCommand</td><td valign="top">Logs out the current user and Invokes the <strong>Login</strong> dialog. Takes no parameter.</td></tr></tbody></table>

</details>

<details>

<summary><strong>ORDER COMMANDS</strong></summary>

Use the order commands for functionality related to work orders, back orders, layaways, and quotes.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Order_AddCommentCommand</td><td valign="top"><p>Adds a comment to an order.</p><p>The command takes the following optional parameter:</p><p><code>{Comment Text}</code></p><p>If the parameter is not provided, the commend invokes the <strong>Order Comment</strong> dialog.</p><p><strong>Example:</strong></p><p><code>Order_AddCommentCommand "Order comment"</code></p></td></tr><tr><td valign="top">Order_DepositCommand</td><td valign="top">Invokes the <strong>Enter Deposit</strong> dialog. No parameters.</td></tr><tr><td valign="top">Order_OverrideDepositPercentageCommand</td><td valign="top"><p>Overrides the order deposit with a percentage of the order total.</p><p>The command takes the following parameter:</p><p><code>{Deposit Percentage}</code></p><p><strong>Example: Override the order deposit with 10% of order total</strong></p><p><code>Order_OverrideDepositPercentageCommand "10"</code></p></td></tr><tr><td valign="top">Order_OverrideDepositAmounCommand</td><td valign="top"><p>Overrides the order deposit with an amount.</p><p>The command takes the following parameter:</p><p><code>{Deposit Amount}</code></p><p><strong>Example: Override the order deposit with an amount of $100</strong></p><p><code>Order_OverrideDepositAmountCommand "100"</code></p></td></tr><tr><td valign="top">Order_ChangDueDateCommand</td><td valign="top">Invokes the <strong>Order Due Date</strong> dialog. No parameters.</td></tr><tr><td valign="top">WorkOrder_RecallCommand</td><td valign="top">Invokes the <strong>Recall Work Order</strong> dialog where you can select a work order. No parameters.</td></tr><tr><td valign="top">Quote_RecallCommand</td><td valign="top">Invokes the <strong>Recall Quote</strong> dialog where you can select a quote. No parameters.</td></tr><tr><td valign="top">BackOrder_RecallCommand</td><td valign="top">Invokes the <strong>Recall Back Order</strong> dialog where you can select a back order. No parameters.</td></tr><tr><td valign="top">Layaway_RecallCommand</td><td valign="top">Invokes the <strong>Recall Layaway</strong> dialog where you can select a layaway. No parameters.</td></tr><tr><td valign="top">Layaway_PaymentCommand</td><td valign="top">Initiates the payment on layaway process. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>REASON CODE COMMANDS</strong></summary>

Use the reason code commands to apply reason codes to items and transactions.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">ReasonCode_SetReasonCodeForCurrentItemCommand</td><td valign="top"><p>Applies a reason code to the currently selected item.</p><p>The command takes the following parameter:</p><p><code>{Reason Code}</code></p><p><strong>Example: Apply the RMI01 reason code to the selected item</strong></p><p><code>ReasonCode_SetReasonCodeForCurrentItemCommand "RMI01"</code></p></td></tr><tr><td valign="top">ReasonCode_SetReasonCodeForItemCommand</td><td valign="top"><p>Applies a reason code to an item, using the transaction item key and the reason code.</p><p><strong>Example: Apply the RC01 reason code to an item with the item key "2"</strong></p><p><code>ReasonCode_SetReasonCodeForItemCommand "2|RC01"</code></p></td></tr><tr><td valign="top">ReasonCode_SetReasonCodeForTransactionCommand</td><td valign="top"><p>Applies a reason code to the transaction.</p><p>The command takes the following parameter:</p><p><code>{Reason Code}</code></p><p><strong>Example: Apply the RMI01 reason code to the transaction</strong></p><p><code>ReasonCode_SetReasonCodeForTransactionCommand "RMI01"</code></p></td></tr><tr><td valign="top">ReasonCode_SetReasonCodeForAllItemsCommand</td><td valign="top"><p>Applies a reason code to all items in the transaction.</p><p>The command takes the following parameter:</p><p><code>{Reason Code}</code></p><p><strong>Example: Apply the RMI01 reason code to all items in the transaction</strong></p><p><code>ReasonCode_SetReasonCodeForAllItemsCommand "RMI01"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>RECEIPT PRINTING COMMANDS</strong></summary>

Use these commands for receipt printing.

<table><thead><tr><th valign="top">Command</th><th width="343.21875" valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Receipt_PrintXReportCommand</td><td valign="top">Prints the <strong>X Report</strong>. No parameters.</td></tr><tr><td valign="top">Receipt_PrintZReportCommand</td><td valign="top">Prints the <strong>Z Report</strong>. No parameters.</td></tr><tr><td valign="top">Receipt_PrintZZReportCommand</td><td valign="top">Prints the <strong>ZZ Report</strong>. No parameters.</td></tr><tr><td valign="top">Receipt_ReprintCommand</td><td valign="top">Reprints the last receipt. No parameters.</td></tr><tr><td valign="top">Receipt_ReprintGiftCommand</td><td valign="top">Reprints the last receipt as a gift receipt. The receipt template must be configured to contain a gift receipt section. No parameters.</td></tr><tr><td valign="top">Receipt_ReprintWithTemplateCommand</td><td valign="top">Initiates the process of reprinting the last receipt using a different template. No parameters.</td></tr><tr><td valign="top">Receipt_PreviewCommand</td><td valign="top"><p>Previews the receipt.</p><p>The command takes the following parameters:</p><p><code>{"Printer1"}</code></p><p><code>{"Printer2"}</code></p><p>Use the parameters to select which printer to preview. The specified printer to be configured to use a receipt template.</p><p><strong>Example: Preview the receipt for Printer1</strong></p><p><code>Receipt_PreviewCommand "Printer1"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>RECEIPT MESSAGE COMMANDS</strong></summary>

Use receipt message commands to set or clear custom session variables used in the receipt template to print custom messages. Requires a customized receipt template which takes advantage of these functions.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">ReceiptMessage_RemoveCustomMessageCommand</td><td valign="top"><p>Clears custom message from a receipt session variable.</p><p>The command takes the following parameter:</p><p><code>{Session Variable Number}</code></p><p><strong>Example: Clear session variable1</strong></p><p><code>ReceiptMessage_RemoveCustomMessageCommand "1"</code></p></td></tr><tr><td valign="top">ReceiptMessage_SetCustomMessageCommand</td><td valign="top"><p>Sets a custom message to a session variable for printing on the receipt.</p><p>The command takes the following parameters, separated by a pipe (|):</p><p><code>{Session Variable Number}|{Value}</code></p><p><strong>Example: Set session variable 1 to "My Message"</strong></p><p><code>ReceiptMessage_SetCustomMessageCommand "1|My message"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>SALES REPRESENTATIVE COMMANDS</strong></summary>

Use sales representative commands to set (or clear) sales representatives for items or transactions.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">SalesRep_SetForCurrentItemCommand</td><td valign="top"><p>Applies a sales representative to the currently selected item.</p><p>The command takes the following optional parameter:</p><p><code>{Sales Representative Number}</code></p><p>If the parameter is not provided, or the number is not found, the command Invokes the <strong>Sales Rep Lookup</strong> dialog where you can select a sales representative.</p><p><strong>Example: Apply the sales representative “001” to the currently selected item</strong></p><p><code>SalesRep_SetForCurrentItemCommand "001"</code></p></td></tr><tr><td valign="top">SalesRep_SetForTransactionCommand</td><td valign="top"><p>Applies a sales representative to the transaction.</p><p>The command takes the following optional parameter:</p><p><code>{Sales Representative Number}</code></p><p>If the parameter is not provided, or the number is not found, the command Invokes the <strong>Sales Rep Lookup</strong> dialog where you can select a sales representative.</p><p><strong>Example: Apply the sales representative “002” to the transaction</strong></p><p><code>SalesRep_SetForTransactionCommand "002"</code></p></td></tr><tr><td valign="top">SalesRep_ClearFromCurrentItemCommand</td><td valign="top">Removes the assigned sales representative from the currently selected item. No parameters.</td></tr><tr><td valign="top">SalesRep_ClearFromTransactionCommand</td><td valign="top">Removes the assigned sales representative from the transaction. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>TENDERING COMMANDS</strong></summary>

Use the tendering commands to initiate functions related to transaction tendering. Is used in the same way as Transaction\_InvokeTenderDialogCommand.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Tender_BeginCommand</td><td valign="top">Initiates the tendering process.</td></tr><tr><td valign="top">Tender_FixedAmountCommand</td><td valign="top"><p>Tenders a specific tender type (by tender code) with a specified amount.</p><p>The command takes the following parameters, separated by a pipe (|):</p><p><code>{Tender Code}|{Decimal Amount}</code></p><p>This command also executes the Loyalty program, if applicable, so customers can earn or redeem points on the transaction. The command opens the <strong>Tender Dialog</strong> because, at the time the command is executed, the amount of the Loyalty discount is not known.</p><p><strong>Example: Tender a transaction using tender type CSH with an amount $10.25</strong></p><p><code>Tender_FixedAmountCommand "CSH|10.25"</code></p></td></tr><tr><td valign="top">Transaction_ExactTenderAmountCommand</td><td valign="top"><p>Tenders a specific tender type (by tender code) with the exact total amount.</p><p>The command takes the following parameter:</p><p><code>{TenderCode}</code></p><p>This command also executes the Loyalty program, if applicable, so customers can earn or redeem points on the transaction.</p><p><strong>Example: Tender a transaction for the exact total amount using tender type CSH</strong></p><p><code>Transaction_ExactTenderAmountCommand "CSH"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>TIME CLOCK COMMAND</strong></summary>

Use this command to display the Time Clock screen.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">TimeClock_InvokeDialogCommand</td><td valign="top">Displays the <strong>Time Clock</strong> screen. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>TRANSACTION COMMANDS</strong></summary>

Use these commands to manage the transaction flow.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">Transaction_CancelTransactionCommand</td><td valign="top"><p>Cancels the transaction and controls whether the application is closed or not.</p><p>The command takes the following optional parameters:</p><p><code>{Blank}</code></p><p><code>{True}</code></p><p><code>{False}</code></p><p><strong>Example: Cancel the transaction and close the application</strong></p><p><code>Transaction_CancelTransactionCommand "True"</code></p><p><code>Transaction_CancelTransactionCommand</code></p><p><strong>Example: Cancel the transaction and do not close the application</strong></p><p><code>Transaction_CancelTransactionCommand "False"</code></p></td></tr><tr><td valign="top">Transaction_ChangeToLayawayCommand</td><td valign="top">Changes the transaction to a layaway. No parameters.</td></tr><tr><td valign="top">Transaction_ChangeToQuoteCommand</td><td valign="top">Changes the transaction to quote. No parameters.</td></tr><tr><td valign="top">Transaction_ChangeToWorkOrderCommand</td><td valign="top">Changes the transaction to work order. No parameters.</td></tr><tr><td valign="top">Transaction_AddCommentCommand</td><td valign="top"><p>Adds a comment to the transaction.</p><p>The command takes the following optional parameter:</p><p><code>{Comment Text}</code></p><p>If the parameter is not provided, the command invokes the <strong>Transaction Comment</strong> dialog.</p><p><strong>Example:</strong></p><p><code>Transaction_AddCommentCommand "Comment text"</code></p></td></tr><tr><td valign="top">Transaction_SetReturnModeCommand</td><td valign="top">Changes the transaction to return transaction. No parameters.</td></tr><tr><td valign="top">Transaction_SetSalesModeCommand</td><td valign="top">Changes the transaction from return to sale. No parameters.</td></tr><tr><td valign="top">Transaction_SetOnHoldCommand</td><td valign="top">Puts the current transaction on hold. No parameters.</td></tr><tr><td valign="top">Transaction_InvokeTenderDialogCommand</td><td valign="top">Invokes the <strong>Tender</strong> dialog and initiates the tendering process. No parameters. Similar to Tender_BeginCommand.</td></tr><tr><td valign="top">Transaction_NetDisplayCommand</td><td valign="top"><p>Toggles net display on/off. Net display must be enabled in Store Manager.</p><p>The command takes the following parameters:</p><p><code>{ON}</code></p><p><code>{OFF}</code></p><p>If a parameter is not provided, the command toggles the net display on/off.</p><p><strong>Example: Turn on net display</strong></p><p><code>Transaction_NetDisplayCommand "ON"</code></p><p><strong>Example: Turn off net display</strong></p><p><code>Transaction_NetDisplayCommand "OFF"</code></p><p><strong>Example: Toggle net display on/off</strong></p><p><code>Transaction_NetDisplayCommand</code></p></td></tr><tr><td valign="top">Transaction_NoSaleCommand</td><td valign="top">Performs a no sale transaction. No parameters.</td></tr><tr><td valign="top">Transaction_RecallForReturnCommand</td><td valign="top">Initiates the recall for return process. No parameters.</td></tr><tr><td valign="top">Transaction_RecallForVoidCommand</td><td valign="top">Initiates the recall for void process. No parameters.</td></tr><tr><td valign="top">Transaction_RecallFromHoldCommand</td><td valign="top">Recalls a transaction from hold. No parameters.</td></tr><tr><td valign="top">Transaction_ToggleReturnModeCommand</td><td valign="top">Toggles the transaction return mode on/ff. No parameters.</td></tr><tr><td valign="top">Transaction_ViewJournalCommand</td><td valign="top">Displays the journal. No parameters.</td></tr></tbody></table>

</details>

<details>

<summary><strong>WEB BROWSER COMMAND</strong></summary>

Use this command to display a URL in the built-in web browser.

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">WebBrowser_NavigateCommand</td><td valign="top"><p>Displays a URL (web page) in the built-in browser.</p><p>The command takes the following parameter:</p><p><code>{URL}</code></p><p><strong>Example:</strong></p><p><code>WebBrowser_NavigateCommand "http://www.rmhpos.com"</code></p></td></tr></tbody></table>

</details>

<details>

<summary><strong>CUSTOM ACTION COMMAND</strong></summary>

Use this command to enable custom functionality in a POS Extension using a custom button (or a task pad button).

<table><thead><tr><th valign="top">Command</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top">CustomActionCommand</td><td valign="top"><p>Example:</p><p><code>CustomActionCommand "param1|param2|param3"</code></p><p>Essentially, this command fires up an event in the POS, and passes a parameter to it. Your extension will listen to that event, and when it is fired, check the parameter to see if it is the "own" parameter (which will be processed) or a "foreign" one (which will be ignored). The command/event is available equally to all extensions, so it is important for the extension to distinguish by looking at the parameter.</p><p>Please review the demo project in the SDK: <strong>C:\Program Files (x86)\Retail Hero\RMH POS\RMH POS SDK\SDK_POS.ZIP\RMHDemoExtension-Native\RMHDemoExtension</strong></p><p>(or the Telerik version). Check the area "Custom Button Handling".</p><p>The comment in the project reads:</p><p>// The custom buttons could use any string parameter (but only one per command - XAML allows only one command parameter)</p><p>// Multiple parameters could be passed as a single string with separators, such as: "parameter1|parameter2|parameter3"</p><p>// It is recommended to use GUIDs as parameter. That will make sure that different extensions don't mix-up handling</p><p>// the same custom action event</p><p>// In the CustomPanel xaml, the Custom Action 1 and 2 buttons use guids as parameters</p><p>// Each custom button raises the same even, but passes a different parameter</p><p>// That's how multiple extensions know which event is "their" and ignore all others.</p><p>//Guid for Custom Action 1 button: DEDE0403-5C7A-4A84-BB75-F1DD0D914F4D</p><p>//Guid for Custom Action 2 button: 71D09398-1A5C-4CB4-9738-1584B61483F1</p><p>Although this explanation is a bit outdated (it talks about CustomPanel.xaml while since RMH version 3.2 we handle the custom buttons by creating them in Store Manager, not via the XAML modification), it still applies in principle no matter how the button is created.</p><p>In fact, in your custom button you can use any "string" parameter with your command, but we recommend using generated GUIDs as that would prevent the possible extension "clash" if two or more extensions happen to use the same string parameter.</p><p>See also p.19 in RMH_SDKProjects_v1_CL.pdf (in the POS SDK folder).</p></td></tr></tbody></table>

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rmhpos.com/readme-1/customize-the-pos-screen/reference-commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
