Kits
Kits are a powerful feature in Shelf that allows you to group assets together, making it easier to manage and track your inventory.

Overview
Kits represent a unified management approach in Shelf for handling related equipment as a single unit. This feature proves beneficial when multiple items need to move and be tracked collectively.

Kits vs Tags: Two Grouping Approaches
The platform offers distinct methods for asset organization. Kits group assets as a single unit with one QR code, while Tags allow flexible labeling without that constraint.

Kits function best for:
- Managing assets as one consolidated unit
- Single QR code covering the entire kit
- Unified custody assignments where all items move together
- Collective booking management
Tags work better when you need:
- Individual asset management within groups
- Ability to book or assign custody to single items
- Dynamic grouping without custody restrictions
Creating a Kit
Navigate to the Kits page and select New Kit. Complete the setup by entering a name, image, description, category, and location, then add desired assets. You can also assign a custodian during creation.
Kit Statuses
Kits can exist in three states:
- Available: Ready for assignment to a person or booking
- In Custody: Currently held by a person; unavailable for reassignment until released
- Checked Out: Assigned to a booking and unavailable for reassignment. It clears when the bookings holding it end and nothing of the kit's own is still out
Kit Assets
Assets can be added regardless of individual availability status. Even items marked as unavailable for bookings can be included. However, kits cannot be assigned until all contained assets become available.
Quantity-Tracked Stock in Kits
A quantity-tracked asset is a pool of identical units rather than a single item, so the same asset can sit in several kits at once. Each kit holds its own slice: 3 sandbags in Grip A, 3 in Grip B, and the rest of the pool free on the shelf.
On the asset's Quantity Overview card, every kit's slice adds into the In kits row. Those units are counted there once, whether the kit is sitting on the shelf or out on a booking, and they are not part of Available. The Checked out (bookings) row is a different measure: it counts every unit physically out right now, the loose ones and the kit-held ones together. The two rows overlap on purpose, so don't add them up.
A single booking can hold the same pool from more than one direction, some units booked loose and more carried in by the kits you added. Checking the booking out hands over every slice it holds, and the pull-list PDF prints one row per source so the packer can see which kit each portion belongs to.
A kit member's row inside a booking carries no stock badge. The red Insufficient stock and amber Checked out elsewhere badges both measure the loose pool — the part no kit has claimed — and a row a kit supplied does not come from there. A projector case whose clamps are all spoken for by kits used to light up every pooled member in red while reserving and checking the booking out worked fine. Those rows are now left alone, on the same rule the check-out guard has always used. A member removed from the kit is a standalone slice again, and is measured against the loose pool like anything else.
How Many Units a Kit Can Take
When you add a quantity-tracked asset to a kit, the quantity box has a ceiling, and the ceiling is what is genuinely free for a kit to hold indefinitely. Starting from the asset's total, Shelf sets aside:
- the slices other kits already hold
- units in someone's custody directly (a kit's own custody is not counted twice)
- units standalone reservations are relying on — measured per line, not per booking, so a booking that carries some units loose and some through this kit only has its loose units counted here (this kit's own contribution is already set aside on the line above)
That third one is the point. A kit slice has no dates on it — the kit keeps those units until you take them out — so it has to be free at every future instant, which means it competes with the busiest moment on the calendar rather than with today. Two reservations three weeks apart never hold the same units at once, so Shelf takes the highest number held at any one time, not the sum of every booking. Ten of a hundred cables booked in March and ten more in May costs the kit ten, not twenty.
The ceiling is a reading of the pool as it stands today, and for used-up consumables today's total keeps falling: every booking that consumes stock at check-in takes those units out permanently, so bookings that never overlap still eat the pool one after another. The peak rule is about what is reserved at a moment in time; it does not hold the total still.
So a kit can end up holding more than the ceiling — the total was reduced, consumables were used up, or the calendar filled in after the kit was built. The box does not lock you out when that happens. It keeps your current figure so you can lower it.
A note if these numbers used to be higher. Reservations were previously left out of this arithmetic, so a kit could be offered units that a future booking was already counting on, and that booking could then never be checked out. The smaller number is the correct one, not a new restriction.
Booking the Free Units Directly
Being in a kit does not take a pooled asset off the table. Book on a quantity-tracked asset's own page works normally even when the asset belongs to one kit or several, because what you are booking is the free part of the pool — the units no kit has claimed. Book 2 sandbags on their own while Grip A and Grip B keep their 3 each, and the same availability check that runs everywhere else keeps you from over-committing the pool for those dates.
Checking those 2 loose sandbags out leaves both kits alone. A kit reads Checked Out only when a booking holds the kit itself, and it is released by that booking's return. The Kits index and the kit page name the custodian of the booking that holds this kit, and only while its items are still out, so a person with loose units from a shared pool is never shown as holding every kit that pool belongs to. Before 9 September 2026 a loose booking of shared stock could mark a kit it never touched as Checked Out and show that booking's custodian against it. A kit still stuck that way needs support to correct the record.
Individually tracked assets are the ones that must go out with their kit. One of those lives entirely inside a single kit, so booking it on its own would double-book the very same physical item. The Book button on such an asset stays disabled and links you to the kit instead.
Both rules are the same wherever you start from: the asset's own page, a multi-select on the assets index, or the asset picker inside a booking.
One Booking at a Time
A kit is one physical case, so it can only be on one booking at a time for a given period. That is the same exclusivity an individually tracked asset has, with the kit as the thing being claimed. A second booking whose dates overlap is refused when it tries to reserve, check out, extend, or scan the kit onto itself:
Cannot reserve booking. Some kits are already booked or checked out for an overlapping period: Projector case A. Please remove them and try again.
Before you reach that, the kit shows an "Already booked" badge in the Manage kits picker and on the kit's row inside a booking.
Two details decide whether a kit counts as held:
- A booking holds the kit while it is Reserved, or while it is Ongoing or Overdue and its share of the kit is still out. A booking that has handed everything back no longer holds it.
- An asset removed from the kit after a booking was made does not hold the kit. It carries on as a standalone item on that booking — see Changing Kit Contents and Existing Bookings below.
Why this is worth knowing
Kits that mix in even one individually tracked asset were always exclusive, because that asset blocked the second booking. A kit built entirely from quantity-tracked stock — clamps, sandbags, cabling, with no individually tracked item in it — had nothing to trip that check, so until 15 September 2026 two overlapping bookings could each reserve and check out the same case. Nothing on screen said so. The kit-level rule covers every kit now, whatever it holds.
One gap remains. Adding a kit to a booking that is already Reserved does not run the check. The clash shows up later, at check-out, fulfil, extend or scan, rather than when the kit went on. Single assets behave the same way when they are added to a reserved booking.
A kit's units settle model reservations
If the booking reserves gear by Asset Model — "4 × Canon EOS R5" with no units named — the individually tracked members of a kit you add count toward it. A camera in a case is the same camera as a loose one, so adding the case ticks the reservation down, and each physical unit answers at most one reserved unit per booking.
That holds however the kit arrives: the Kits tab in Manage assets, the kit page's Add to booking, the kit picker on a new booking, or a scan. Kits that were already on a booking before this are not settled retroactively — take the kit off and add it again to have its units counted.
See Settling a model reservation.
It does not stop you booking the loose units
Exclusivity is about the kit, not about the pool a member draws from. Booking 2 loose sandbags while Grip A keeps its 3 is unaffected, exactly as described above — the kit is not on your booking, so there is nothing to clash with.
Kit Location
A kit has its own location, and that location owns where its assets are. Move the kit and every asset inside it moves with it, so you don't have to relocate the contents one by one.
Three ways to move a kit
| Where | How |
|---|---|
| Kit page | Open the kit, then Actions → Update location and pick the new location |
| Kits index | Tick one or more kits, then Actions → Update location to move them in one go |
| Scanner | Set the scanner action to Update location, scan the kit's QR code, and choose the destination |

The dialog tells you how many assets are coming along before you confirm.
You can also set or change the location from Actions → Edit on the kit page. The Location field there behaves the same way as the dedicated Update location action.

What happens to the assets
- Individually tracked assets are moved to the kit's location. Because each of these assets sits in exactly one place, the kit's location replaces whatever location the asset had before.
- Quantity-tracked assets only move the slice the kit holds. If a kit contains 20 cables out of a pool of 100, those 20 units show up at the kit's location and the remaining 80 stay wherever you placed them. On the asset page that slice is labeled via kit. To move it, change the kit's location rather than editing the placement directly.
- Every asset that moves records a location change in its own activity history, along with a note on its timeline, so the paper trail shows the move came from the kit. Assets that were already at the destination aren't logged again.
Adding and removing assets
- Adding an asset to a kit that has a location moves the asset (or the kit's slice of it) to that location straight away, so the kit never claims a member that's sitting somewhere else.
- Removing an individually tracked asset from a kit, or deleting the kit, leaves the asset at the location the kit gave it. It keeps the placement instead of becoming unplaced.
- Removing a quantity-tracked asset from a kit releases the kit's slice; those units become unplaced and can be placed again manually.
- Clearing a kit's location leaves individually tracked members where they are and releases the quantity-tracked slices.
Location is not custody. A kit's location says where the gear is; custody says who has it. The two are tracked separately and can be changed independently.
Changing Kit Contents and Existing Bookings
Swapping a member out of a kit, a network switch in a rack for example, affects bookings that already carry that kit. What happens depends on how far each booking has got.
Adding a member
A booking that carries a kit carries the kit as a unit, so an asset you add to the kit is added to the bookings that already hold that kit and are still Draft, Reserved, Ongoing or Overdue. It appears under the kit on those bookings, at the kit's own quantity for a quantity-tracked member, so a kit that gains a part does not leave its live bookings short of it. Completed, archived and cancelled bookings are left alone: they are a record of what went out.
Only the bookings holding this kit are touched. That matters when a quantity-tracked asset belongs to several kits at once, which is common for shared stock like banners, cabling and fixings. A booking that holds a different kit containing the same shared asset is a different booking's business and is not changed.
Removing a member
| Booking status | What happens to the asset on that booking |
|---|---|
| Draft, Reserved | It is removed from the booking. Nothing has physically left the store, so the booking follows the kit's contents. |
| Ongoing, Overdue | It stays, listed under its kit with a Removed from kit label. It is physically checked out, and taking it off would break custody and check-in. |
| Complete, Archived, Cancelled | It stays, listed under its kit with a Removed from kit label, as a record of what actually went out on that job. |
The rule in one line: the asset stays on the booking if the booking has ever left the planning stage.
The kit is still released when that booking ends. A member you pull out mid-job stays on the booking under its kit, so the booking keeps its own record of which kit sent the item. Ending that booking reads that record alongside the kit's current contents, so the kit returns to Available even though its membership changed while the job was running. This holds for every way a booking ends: checking it in, cancelling it, or deleting it, one at a time or several at once from the bookings index. A check-in split over several sessions releases the kit once its last outstanding item is back.
Before this, a kit in that position stayed Checked Out with nothing actually out. That is not a cosmetic badge: such a kit cannot be added to a live booking, is filtered out of the booking and add-to-kit pickers, and there is no button anywhere that clears it. A kit stuck that way before this shipped still needs support to correct the record, since the booking that would have released it has already finished.
This is why a finished booking no longer rewrites its own history. Taking an asset out of a kit used to make that asset appear as a loose item on every past booking that had used the kit, so a completed job retroactively looked like it had gone out with a stray asset rather than a complete kit.
Because a row carrying the Removed from kit label looks otherwise identical to a current kit member, and the kit header counts the rows shown, a booking can read "3 assets" beside a kit that now holds 2. The label is what explains the difference. It disappears by itself if you put the asset back in the same kit. The pull-list PDF carries the same information as printed text in the Kit cell, since a printout has nothing to hover over.
You are told before you confirm. Removing an asset from a kit names the bookings it affects, in two groups, because the outcomes differ: Reserved bookings, where the asset will be taken off, and bookings already in progress, where it stays and is marked as removed from the kit. Completed, archived, and cancelled bookings are left out of the warning, since nothing can be done about them and a popular kit could list dozens. The warning informs, it does not block. Blocking would make routine kit maintenance impossible whenever anything was reserved or out. Only people who can edit kits see it, because only they can do the removal.
Duplicating a booking matches what you see. Duplicating a draft copies its current contents exactly. Duplicating an older booking re-resolves each kit to its current members, and the confirmation lists both what has been added to the kit and what has been removed since the original.
Kit membership that was already deleted before this shipped cannot be recovered, because the record naming the kit is gone. Those rows stay standalone on their bookings. Everything from this release forward is tracked correctly.
Assigning Custody
Navigate to the kit page and select Assign Custody. Choose the team member to receive custody responsibility. The kit updates to reflect the new custodian.
Every member asset goes into that person's custody with the kit, and each of those holds belongs to the kit rather than to whoever clicked. That has a consequence worth knowing before you go looking for it on the asset:
- Release custody on a single member is refused, with "This asset is in custody because its kit is. Release the kit's custody instead." That answer is the same on the asset page, in the bulk Release custody action on the assets index, and in the Shelf Companion app.
- Handing one member to a different person is refused too, for the same reason.
- The two ways out both go through the kit. Release the kit's custody and every member hold clears with it. Or take the asset out of the kit, which takes the kit's hold with it and returns the asset to Available unless something else is still holding it.
Custody you assigned to an asset directly is separate and releases as it always did, even on an asset that also sits in a kit. See Custody a kit put there belongs to the kit.
Audit Trail
Each individual asset page documents kit custody changes to designated persons, creating a transparent record of modifications. A member's activity names the person whose custody started or ended and links the kit it came through, for example "Alex released Sarah's custody via kit assignment Camera Kit".
Releasing several kits at once names each kit's own holder. Select kits on the Kits index, or in the Shelf Companion app, and use Release custody, and every asset's note and every CUSTODY_RELEASED event carries the custodian of the kit that asset came through. Before 18 September 2026 a batch like this took the first selected kit's custodian and wrote that one name against every asset in the batch, so releasing Sarah's kit and Tom's kit together left Tom's gear claiming Sarah had been holding it, and any report grouped by the released custodian counted them all against Sarah. Notes and events written before that date can name the wrong person; releases from a single kit were never affected, and nothing about who actually held what was ever wrong, only the record of it.
Tracking Assignments
Kit assignments display on the kit page, enabling easy identification of current custodians.
Ready to try Shelf?
Put what you're learning into practice. Free plan available — no credit card required.