<!-- BusyBot node reference — https://busybot.net/tools/unleashed-software/ -->

> Node: Unleashed Software (`unleashed_software`) · Action · v1
> Category: Data & Storage · Credentials: Unleashed Software API (`unleashedSoftwareApi`)
> Updated: 2026-08-16

# Unleashed Software

> Manage inventory and sales orders in Unleashed Software

## Overview

Unleashed Software is a cloud-based inventory management platform for product businesses. This node reads sales orders and stock on hand from your Unleashed account. You can list sales orders with filters for date range, customer and order status, and query stock on hand by product, warehouse and date. Requests are authenticated with HMAC-SHA256 signed headers built from your API ID and API key.

**Category:** Data & Storage  
**Tool Name:** `unleashed_software`  
**Version:** 1

**Appearance:** Icon: `lucide-Package` | Color: `#4DC0B5`

## Node Type

**Action** — processes input items and produces output

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool requires **Unleashed Software API** credentials.
See the [Credentials Guide](https://busybot.net/credentials/unleashed-software-api/) for setup instructions.

### Resources

| Resource | Value |
|----------|-------|
| Sales Order | `salesOrder` |
| Stock On Hand | `stockOnHand` |

### Operations

Each resource offers its own set of operations.

| Resource | Operation | Value | Description |
|----------|-----------|-------|-------------|
| Sales Order | Get Many | `getAll` | Get many sales orders |
| Stock On Hand | Get | `get` | Get stock on hand for a product |
| Stock On Hand | Get Many | `getAll` | Get many stocks on hand |

### Parameters

#### Sales Order: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. _(shown when Return All is `false`)_ |
| Filters | `collection` | No | `{}` | Filter criteria for sales orders. |
| — Customer ID | `string` | No | — | Only returns orders for a specified Customer GUID. Can be a comma-separated list of GUIDs. |
| — Customer Code | `string` | No | — | Returns orders that start with the specific customer code. |
| — End Date | `dateTime` | No | — | Returns orders with order date before the specified date. UTC. |
| — Modified Since | `dateTime` | No | — | Returns orders created or edited after a specified date. Must be UTC format. |
| — Order Number | `string` | No | — | Returns a single order with the specified order number. If set, it overrides all other filters. |
| — Order Status | `multiOptions` | No | `[]` | Returns orders with the specified status. If not specified, "Deleted" is excluded by default. |
| | | | | Options: `Backordered`, `Completed`, `Deleted`, `Parked`, `Placed` |
| — Start Date | `dateTime` | No | — | Returns orders with order date after the specified date. UTC. |

#### Stock On Hand: Get

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Product ID | `string` | Yes | — | The product GUID to retrieve stock on hand for. |

#### Stock On Hand: Get Many

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. _(shown when Return All is `false`)_ |
| Filters | `collection` | No | `{}` | Filter criteria for stock on hand. |
| — As at Date | `dateTime` | No | — | Returns the stock on hand for a specific date. |
| — Is Assembled | `boolean` | No | `false` | Whether the AvailableQty will also include the quantity that can be assembled. |
| — Modified Since | `dateTime` | No | — | Returns stock on hand values modified after a specific date. |
| — Order By | `string` | No | — | Orders the list by a specific column. By default the list is ordered by productCode. |
| — Product ID | `string` | No | — | Returns products with the specific Product GUID. You can enter multiple product IDs separated by commas. |
| — Warehouse Code | `string` | No | — | Returns stock on hand for a specific warehouse code. |
| — Warehouse Name | `string` | No | — | Returns stock on hand for a specific warehouse name. |

#### All Operations

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Max Concurrency | `number` | No | `10` | Maximum number of items to process concurrently. |

## Output Data

**Every record returned becomes its own output item**, so one input item can produce many output items — a Get Many that matches 300 sales orders emits 300 items. Each record's fields are merged over the input item's JSON, so properties the record does not set pass through, and binary data on the input item is forwarded to every item produced from it.

Dates arrive from the service in a serialized numeric form and are rewritten to ISO 8601 strings before the item is emitted (for example `2024-01-15T00:00:00.000Z`), including dates nested inside line-item arrays, so you can compare and format them downstream without conversion.

When a request matches nothing at all, the node still emits one item — and that item's JSON is empty, so the input JSON does **not** pass through on the empty path. Check for a known field before treating a branch as real data.

| Resource / Operation | Output items |
|----------------------|--------------|
| Sales Order / `getAll` | One item per sales order, carrying the order's own fields (order number, customer, status, dates, totals, line items). |
| Stock On Hand / `get` | One item for the requested product's stock record. |
| Stock On Hand / `getAll` | One item per stock-on-hand record, one record per product and warehouse combination. |

Reference the values downstream by field name, e.g. `{{ $json.OrderNumber }}`.

## Usage Examples

- Get all sales orders from Unleashed Software
- Retrieve stock on hand for a specific product
- List stock on hand filtered by warehouse
- Get sales orders with status Placed or Completed
- Retrieve sales orders modified since a specific date

## Example Configuration

Get every sales order:

```json
{
  "type": "unleashed_software",
  "parameters": {
    "resource": "salesOrder",
    "operation": "getAll",
    "returnAll": true,
    "maxConcurrency": 10
  }
}
```

Narrow sales orders by customer, date range and status, and cap the result count:

```json
{
  "type": "unleashed_software",
  "parameters": {
    "resource": "salesOrder",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "customerCode": "CUST001",
      "startDate": "2024-01-01T00:00:00Z",
      "endDate": "2024-12-31T23:59:59Z",
      "orderStatus": ["Placed", "Backordered"]
    }
  }
}
```

Look up the stock record for one product:

```json
{
  "type": "unleashed_software",
  "parameters": {
    "resource": "stockOnHand",
    "operation": "get",
    "productId": "abc12345-def6-7890-abcd-ef1234567890"
  }
}
```

List stock for one warehouse as at a given date, counting assemblable quantity as available:

```json
{
  "type": "unleashed_software",
  "parameters": {
    "resource": "stockOnHand",
    "operation": "getAll",
    "returnAll": false,
    "limit": 100,
    "filters": {
      "warehouseCode": "WH001",
      "warehouseName": "Main Warehouse",
      "IsAssembled": true,
      "asAtDate": "2024-01-15T00:00:00Z"
    }
  }
}
```

Pull only the orders that changed since your last sync, taking the cutoff from the incoming item:

```json
{
  "type": "unleashed_software",
  "parameters": {
    "resource": "salesOrder",
    "operation": "getAll",
    "returnAll": true,
    "maxConcurrency": 5,
    "filters": {
      "modifiedSince": "{{ $json.lastSync }}",
      "orderStatus": ["Placed", "Completed"]
    }
  }
}
```

Monitor stock levels in one warehouse, ordered by product code:

```json
{
  "type": "unleashed_software",
  "parameters": {
    "resource": "stockOnHand",
    "operation": "getAll",
    "returnAll": true,
    "maxConcurrency": 15,
    "filters": {
      "warehouseCode": "MAIN",
      "IsAssembled": false,
      "orderBy": "ProductCode"
    }
  }
}
```

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

Retrieve sales orders and stock on hand data from Unleashed Software inventory management platform.

### Notes

- **Return All pages for you.** With Return All on, the node walks every page of results and emits all of them. With it off, Limit caps the run at a single page of that size — up to 1000 records.
- **Filters are optional and combine.** Every filter you set narrows the result further; leave the collection empty to take everything the resource offers.
- **Order Number wins.** Setting Order Number returns that single order and overrides every other sales-order filter, so use it on its own.
- **Deleted orders are hidden unless you ask.** With Order Status left empty, `Deleted` orders are excluded. Select statuses explicitly — including `Deleted` — when you need them.
- **Dates are UTC.** Supply Start Date, End Date, Modified Since and As at Date as UTC values; only the calendar date is sent to the service, so a time of day does not narrow the window further.
- **Product IDs are GUIDs and are matched exactly.** Stock On Hand: Get takes one product GUID; the Product ID filter on Get Many accepts several, separated by commas.