> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.boxhero.io/docs/faq/inventory-and-transactions/items-and-attributes.md).

# Items & attributes

***

## Adding items

#### **How do I register items that come in options like color or size?**

Manage options as <mark style="color:$primary;">`Attributes`</mark>: give every variation the same item name, then add attributes like "Color" and "Size" and set the values on each item.&#x20;

* Use [Group by](/docs/concepts/attributes.md#group-by) in your <mark style="color:$primary;">`Item List`</mark> to view them all as one item, or
* Use the desktop app's <mark style="color:$primary;">`Add Item Variants`</mark> and <mark style="color:$primary;">`Add via Excel`</mark> functions.

<figure><img src="/files/V4FIaGVmUSVd6cT7GX4s" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/O9muoG2QcwHKayrFRnuy" alt=""><figcaption></figcaption></figure>

#### **Can I scan a barcode to fill in all of an item's details at once?**

No. A [barcode](/docs/key-features/scan-barcode.md) only stores its number — not the item name, price, color, or other details. When you scan during item registration, BoxHero captures the barcode number; you then enter the name, price, quantity, and other details yourself.

#### **Can I register more than one barcode for a single item?**

Yes. Every item in BoxHero has one primary barcode field, which is what's used by default when scanning. If the same item comes with other codes, you can store them by adding [custom attributes](/docs/concepts/attributes.md) with the "barcode" type. These extra barcodes are saved on the item's details.

<figure><img src="/files/NvrUzPKFiD2Kdkw8uDsz" alt=""><figcaption></figcaption></figure>

#### **How do I set units of measurement for my items?**

Go to <mark style="color:$primary;">`Data Center`</mark> > <mark style="color:$primary;">`Attributes`</mark> and create a new attribute called "Unit." You can then enter the unit (e.g., box, lb, kg, ml) for each item.

<figure><img src="/files/lgZm0GdJxMPkxCoDM6Bh" alt=""><figcaption></figcaption></figure>

#### **Can I use decimal values for inventory quantities?**

Yes. BoxHero supports decimal quantities, making it easy to track inventory by weight, volume, or other partial units. You can enter values with up to 4 decimal places (for example, 1.9 or 0.285).

#### **Can I upload multiple photos for a single item?**

Yes. Create separate **file-type attributes** for each photo (e.g., "Front View" and "Side View"), each with its own uploaded file. Add them under <mark style="color:$primary;">`Data Center`</mark> > <mark style="color:$primary;">`Attributes`</mark>.

<figure><img src="/files/sEBu9kMpHLcvguSuDNl1" alt=""><figcaption></figcaption></figure>

#### **Can I bulk-upload item photos?**

Yes. Go to <mark style="color:$primary;">`Data Center`</mark> > <mark style="color:$primary;">`Items`</mark> > <mark style="color:$primary;">`More`</mark> (...) > <mark style="color:$primary;">`Upload Photos`</mark> to register photos for multiple items at once.

Each photo's **file name must match the item's SKU**. If you'd rather match by barcode, change the identifier under <mark style="color:$primary;">`Settings`</mark> > <mark style="color:$primary;">`Team`</mark> > <mark style="color:$primary;">`Excel Import Settings`</mark>.

{% hint style="info" %}
On the mobile app, you can also take a photo with your phone's camera and attach it directly.
{% endhint %}

#### **Why am I getting an error on item names when importing from Excel?**

Check your item identifier under <mark style="color:$primary;">`Settings`</mark> > <mark style="color:$primary;">`Team`</mark> > <mark style="color:$primary;">`Excel Import Settings`</mark>. If you're not using barcodes, switch the identifier to **SKU**.

<figure><img src="/files/7yTaF7nSjtROw7vkCaOb" alt=""><figcaption></figcaption></figure>

***

## Tracking & visibility&#x20;

#### **Can I track inventory by serial number or lot number?**

BoxHero is built around fixed items, where each item has a unique barcode and SKU plus custom attributes (size, color, manufacturer, etc.). To track by serial or lot number today, register each variation as a *separate item*.

Since [pricing](/docs/faq/billing/plans-and-pricing.md) is based on total item count, we recommend deleting outdated serial or lot entries that are no longer in use.

#### **Can I track inventory by expiration date?**

Not with a dedicated feature yet — but you can add expiration dates as a [custom attribute](/docs/concepts/attributes.md). Alternatively, check out our sister app [**BEEP**](https://www.beepscan.com/), which is built specifically for expiration date tracking.

<figure><img src="/files/eA6YKwalNO1GUq7g7e37" alt=""><figcaption></figcaption></figure>

#### **Does BoxHero support Bill of Materials (BOM)?**

No. BoxHero doesn't have a dedicated BOM feature for manufacturing. The closest alternative is <mark style="color:$primary;">`Bundles`</mark>, which lets you manage grouped or set items as product units — useful for some assembled-product workflows, though it won't cover full BOM needs.&#x20;

{% content-ref url="/spaces/lRf1QqJGoevCQqGbfI80/pages/6JsJpZX9vg5CF2Tm511u" %}
[Bundles](/docs/key-features/purchase-and-sales/bundles.md)
{% endcontent-ref %}

#### **How can I manage production without a BOM feature?**

For now, the best approach is to keep your BOM in Excel and record the inventory changes in BoxHero.

1. Register both your raw materials and your finished products as items.
2. Keep your BOM and conversion details in a separate Excel file.
3. When production happens, <mark style="color:$primary;">`Stock Out`</mark> the raw materials and <mark style="color:$primary;">`Stock In`</mark> the finished product so your inventory stays accurate.
4. Use categories or [attributes](https://docs-ko.boxhero.io/data-center/attributes#group-by) to distinguish raw materials from finished goods.

<figure><img src="/files/F6nxj1L9LsnfTF72txDV" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
For batch production, prepare an Excel file with the materials used (**Stock** **Out**) and finished items produced (**Stock** **In**) and import it in one go.
{% endhint %}

#### **Can I limit which items each member can see?**

No. Every item in a team is visible to all members — there's no way to restrict individual items to specific people. If you need item-level separation, the workaround is to create a **separate** **team** for each group of items.

#### **Can I hide certain attributes from members?**

Yes. Using [custom roles & permissions](/docs/faq/team-management/roles-and-permissions.md), you can hide specific attributes — including purchase and sale prices — on a per-member basis:

1. Go to <mark style="color:$primary;">`Settings`</mark> > <mark style="color:$primary;">`Members`</mark> > <mark style="color:$primary;">`Custom Roles`</mark> and select <mark style="color:$primary;">`+ Add`</mark>.
2. Name the role, uncheck the attributes or price permissions you want hidden, and select <mark style="color:$primary;">`Save`</mark>.
3. Assign the role to the relevant members.

Members with a restricted role won't see the hidden information anywhere in BoxHero. Hidden prices display as **0** across item details, purchases and sales, and sales reports.

#### **Why do I still see items from other locations after selecting one?**

BoxHero doesn't add items separately for each location. Each item is registered once and tracked across locations by quantity, so every item stays visible even when a specific location is selected.&#x20;

To see only the items that actually hold stock at the selected location, pick the location and then apply the <mark style="color:$primary;">`In Stock`</mark> filter.

***

## Attributes

#### **How many attributes can I add?**

There's no limit. You can add as many attributes as you need.

#### **Can I add an attribute for locations?**

You can, but we recommend using the dedicated **Locations** feature instead. <mark style="color:$primary;">`Locations`</mark> are designed for tracking physical sites like warehouses or stores and update easily as items move. <mark style="color:$primary;">`Attributes`</mark> are better suited for details that rarely change.

{% content-ref url="/spaces/lRf1QqJGoevCQqGbfI80/pages/6Mfffp78NU33Mp9K615g" %}
[Locations](/docs/concepts/locations.md)
{% endcontent-ref %}

#### **Can I change an attribute’s type after creating it?**

Attribute types can't be changed directly. Instead, create a new attribute with the desired type, use [**Edit via Excel**](https://www.boxhero.io/docs/concepts/items#id-3.-edit-items-via-excel) to copy data from the old attribute to the new one, then delete the original.

#### **I accidentally deleted an item attribute. Can I get it back?**

Yes — contact [Support](https://www.boxhero.io/docs/resources/contact) and we'll help you restore it.

***

## Changes & history

#### **What happens to my past transactions if I edit or delete an item attribute?**

Updates to an item's name, attributes, or pricing automatically apply to all past transactions, so your <mark style="color:$primary;">`Transactions`</mark> history always reflects the most current information.&#x20;

To audit when a specific change was made, open the item and go to <mark style="color:$primary;">`More`</mark> (...) > <mark style="color:$primary;">`Change History`</mark>.

<figure><img src="/files/cM7RN9asy46D8sZr9QaQ" alt=""><figcaption></figcaption></figure>

#### **If I delete an item, is it removed from my transaction history?**

No. Deleting an item keeps its transaction records (Stock In, Stock Out, Adjust Stock, Move Stock) intact. They stay in your <mark style="color:$primary;">`Transactions`</mark> history, shown with a strikethrough.&#x20;
