> For the complete documentation index, see [llms.txt](https://documentation.rcore.cz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.rcore.cz/paid-resources/rcore_housing/integrations/inventory.md).

# Inventory

`rcore_housing` works with all of the most common inventory resources. The inventory bridge supplies item give/take, stash containers, and item-existence checks.

## 🔎 Auto Detection

```lua
Config.Inventory = AUTO_DETECT
```

Auto-detection priority (first match wins): `qs-inventory` → `ox_inventory` → `qb-inventory` → ESX native, falling back to any other supported inventory that is running.

Override with the matching constant if detection picks the wrong one:

| Constant           | Resource           |
| ------------------ | ------------------ |
| `Inventory.OX`     | `ox_inventory`     |
| `Inventory.QBCORE` | `qb-inventory`     |
| `Inventory.QS`     | `qs-inventory`     |
| `Inventory.PS`     | `ps-inventory`     |
| `Inventory.CODEM`  | `codem-inventory`  |
| `Inventory.CORE`   | `core_inventory`   |
| `Inventory.JAKSAM` | `jaksam_inventory` |
| `Inventory.ORIGEN` | `origen_inventory` |
| `Inventory.TGIANN` | `tgiann-inventory` |
| `Inventory.ONE`    | `one-inventory`    |
| `Inventory.ESX`    | ESX native         |

## 🎒 Required Items

Add these items to your inventory resource:

| Item          | Default Name    | Purpose                                                 |
| ------------- | --------------- | ------------------------------------------------------- |
| Property key  | `property_key`  | Physical key (when `Config.Keys.UseKeysOnItem = true`). |
| Lockpick      | `lockpick`      | Required to lockpick a property door.                   |
| Battering ram | `battering_ram` | Required for police breach.                             |
| Warrant       | `warrant`       | Required for raids when `Config.Warrant.Enable = true`. |

Override item names in `Config.Items` - see [main config](/paid-resources/rcore_housing/configuration/config.md).

## 🧩 Per-Inventory Setup

{% tabs %}
{% tab title="ox\_inventory" %}
Resource: `ox_inventory`

Add to `data/items.lua`:

```lua
['property_key']  = { label = 'Property Key',  weight = 10  },
['lockpick']      = { label = 'Lockpick',      weight = 160 },
['battering_ram'] = { label = 'Battering Ram', weight = 160 },
['warrant']       = { label = 'Warrant',       weight = 10  },
```

The resource also uses `ox_inventory` stashes when a furniture interaction (storage, fridge, safe) is opened.
{% endtab %}

{% tab title="qb-inventory" %}
Resource: `qb-inventory`

Add to `qb-core/shared/items.lua`:

```lua
['property_key']  = { name = 'property_key',  label = 'Property Key',  weight = 10,  type = 'item' },
['lockpick']      = { name = 'lockpick',      label = 'Lockpick',      weight = 160, type = 'item' },
['battering_ram'] = { name = 'battering_ram', label = 'Battering Ram', weight = 160, type = 'item' },
['warrant']       = { name = 'warrant',       label = 'Warrant',       weight = 10,  type = 'item' },
```

{% endtab %}

{% tab title="qs-inventory" %}
Resource: `qs-inventory`

Add to your QS items list with the same names as above. QS uses the same shape as QBCore.
{% endtab %}

{% tab title="ESX native" %}
Resource: ESX-bundled inventory

Insert the items into your `items` table:

```sql
INSERT INTO items (name, label, weight) VALUES
('property_key',  'Property Key',  10),
('lockpick',      'Lockpick',      160),
('battering_ram', 'Battering Ram', 160),
('warrant',       'Warrant',       10);
```

{% endtab %}

{% tab title="ps-inventory" %}
Resource: `ps-inventory`

Add the four items to `ps-inventory`'s items list (QBCore item shape - same as the `qb-inventory` tab). Stash containers for furniture interactions are handled through the ps-inventory stash API.
{% endtab %}

{% tab title="codem-inventory" %}
Resource: `codem-inventory`

Register the four items in `codem-inventory`'s items config using the standard `name / label / weight` shape. Furniture storage opens as a codem-inventory stash.
{% endtab %}

{% tab title="core\_inventory" %}
Resource: `core_inventory`

Add the items to `core_inventory` and copy the item images. Stashes are opened through the core\_inventory stash exports.
{% endtab %}

{% tab title="jaksam\_inventory" %}
Resource: `jaksam_inventory` (`inventory` by Jaksam)

Define the four items in the Jaksam inventory items list. Furniture interactions route to Jaksam stashes.
{% endtab %}

{% tab title="origen\_inventory" %}
Resource: `origen_inventory`

Add the items to `origen_inventory`'s item registry. Property storage opens through the origen stash API.
{% endtab %}

{% tab title="tgiann-inventory" %}
Resource: `tgiann-inventory`

Add the items to `tgiann-inventory`. The bridge uses tgiann stashes for storage / fridge / safe furniture interactions.
{% endtab %}
{% endtabs %}

## 📦 Inventory Images

Inventory images for the four items ship inside `rcore_housing_assets/inventory_images/`. Copy them to your inventory's image directory.
