---
title: "Configuring non-sale transactions"
slug: "configuring-non-sale-transactions-2"
tags: ["config api", "cash management", "Associate App", "platform", "payment", "payment options", "cash drawer", "store associate", "tutorial", "api", "hardware", "store manager"]
updated: 2025-04-25T10:50:38Z
published: 2025-04-25T10:50:38Z
canonical: "docs.newstore.com/configuring-non-sale-transactions-2"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.newstore.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring non-sale transactions

You can set up cash transactions in stores across your business that do not impact sales directly, but influences the daily cash summary or `float` in the store.

Associates can use these transactions in NewStore Associate App to manage the inflow or outflow of cash in the store. For example, when enabled, an associate can transfer cash from another drawer in the store to the drawer the associate is working with, and use the `transfer_in` transaction in NewStore Associate App to indicate that cash was added to the drawer balance or `float`.

> [!NOTE]
> Important
> 
> This feature is enabled globally for all stores, and cannot be set for one specific store in your business.

## Non-sale cash transaction codes

| Transaction | Description | Impact on Cash Summary[1](/docs/configuring-non-sale-transactions-2#fn-1) |
| --- | --- | --- |
| `add_to_float` | Enables the associate to add cash to the cash drawer, adding to the `float`. This money is typically added from the cash reserve of the store. | `cash_in` |
| `add_petty_cash` | Enables the associate to put unused cash amounts back into the cash drawer, which were taken out for incidental expenses. These amounts are not associated with a sales transaction. | `cash_in` |
| `transfer_in` | Enables the associate to transfer cash from another cash drawer in the store. | `cash_in` |
| `adjustment_in` | Enables the associate to adjust cash that was added to the drawer without using a transaction in NewStore Associate App. For example, when an associate uses a key to open the drawer and add cash, instead of opening the drawer via NewStore Associate App. | `cash_in` |
| `remove_petty_cash` | Enables the associate to remove cash from the cash drawer for incidental expenses. These amounts are not associated with a sales transaction. | `cash_out` |
| `cash_pull` | Enables the associate to take out excess cash from the drawer, to be added or reserved for deposit later. | `cash_out` |
| `transfer_out` | Enables the associate to transfer cash from the cash drawer to another cash drawer in the store.. | `cash_out` |
| `adjustment_out` | Enables the associate to adjust cash that was removed from the drawer without using a transaction in NewStore Associate App. For example, when an associate uses a key to open the drawer and add cash, instead of opening the drawer via NewStore Associate App. | `cash_out` |
| `no_sale` | Enables the associate to open the cash drawer without impacting the current balance in the drawer. This is typically used for scenarios where cash errors must be corrected or when change needs to be made on notes handed in by a customer without purchasing anything. | `cash_in` |

For more information, see how [cash management works at a store](/v1/docs/managing-cash-in-the-store#assoapp-store-operations).

To retrieve or configure non-sale cash transactions for your business:

1. Retrieve the current configuration set for your business using the [List transaction types](https://docs.newstore.net/api/integration/payments/cash_settings_api#operation/listTransactionTypes) method.
2. Configure a non-sale cash transaction using the [Configure transaction type](https://docs.newstore.net/api/integration/payments/cash_settings_api#operation/configureTransactionType) method. In the payload, specify the code for the transaction type, such as `add_to_float`.

For a specific transaction `code`:
  - In `enabled`, specify `true` if you want the transaction type to be enabled for stores in your business.
  - In `balance_modification`, specify if it is a cash inflow or cash outflow transaction.
  - In `affected_report_fields`, specify which cash summary reports are influenced by this cash transaction.

For a list of available transaction codes that can be configured, see

[this table](/v1/docs/configuring-non-sale-transactions#non-sale-cash-transaction-codes) .

> [!TIP]
> Note
> 
> After you have configured the transaction types for non-sale transactions, configure reasons to associate with each transaction. See [Configuring reasons for non-sale cash transactions](/v1/docs/configuring-non-sale-transactions#configuring-reasons-for-non-sale-cash-transactions).

## Configuring reasons for non-sale cash transactions

You can configure reasons that are associated with each non-sale transaction in NewStore Associate App, which can be selected by associates when managing cash in the store.

These reasons are only available in NewStore Associate App and not visible or configurable via NewStore Omnichannel Manager.

> [!NOTE]
> Important
> 
> Ensure that associates are trained to select the appropriate reasons for non-sale cash transactions, as it can have an impact on financial operations and reporting for your business.

Each reason has a reason `code` and a `label` associated with it. The `label` for the reason is displayed to the associate in NewStore Associate App. If you do not specify a value in `label`, NewStore Associate App displays the value specified in `code` for the reason to associates.

### Creating reasons for non-sale cash transactions

To create a new reason for a non-sale cash transaction in your business, use the [Create reason](https://docs.newstore.net/api/integration/payments/cash_settings_api#operation/createReason) method. In the payload, specify the new `code` and `label` for the reason, which will be displayed to associates in NewStore Associate App during cash management operations in the store.

### Updating reasons for non-sale cash transactions

To update the label that will be displayed in NewStore Associate App for an existing reason for non-sale cash transactions in your business, use the [Update reason](https://docs.newstore.net/api/integration/payments/cash_settings_api#operation/changeReason) method.

1. In the payload:
  - Specify the code for the transaction type, such as `add_to_float`, and
  - Reason `code`, such as `post_office`.
2. For the specified transaction `code` and `reason_code`:
  - In `enabled`, specify `true` if you want the reason to be available to associates in NewStore Associate App.
  - In `label`, specify a new label for the reason of the non-sale cash transaction.

The updated reason is displayed to associates when they [manage cash in the store](/v1/docs/managing-cash-in-the-store#assoapp-store-operations) via NewStore Associate App.

**Related topics**

- [Performing an intra-day audit count of cash drawer](/v1/docs/managing-cash-in-the-store#performing-an-intra-day-audit-count-of-cash-drawer)
- [Setting up cash management in the store](/v1/docs/managing-cash-in-the-store#setting-up-cash-management-in-the-store)

---

1. These are the default values for the `balance_modification` property for these non-sale transactions. If needed, you can update them using the [Configure transaction type](https://docs.newstore.net/api/integration/payments/cash_settings_api#operation/configureTransactionType) method.[↩](/docs/configuring-non-sale-transactions-2#fnref-1)
