Skip to main content

Open in TWICE Admin

inventory/stock-items
Assemble the programme from four things TWICE does have: attributes you define, a saved filter over them, reservations that take a unit out of availability, and documents on the record. Expect no maintenance module, no service schedule, no inspection checklist and no Needs service field waiting to be switched on. See reserve a stock item for reserving a single unit for a repair. Build the layer above it here: the queue that tells you which units need attention before a customer finds out.

Prerequisites

Required permissions: View stock items, Create and edit stock items, and Create and edit attributes. Expect every system role to hold all three, since the ladder adds them at Member.
Decide your trigger before you build anything. Maintenance runs on time or on use, and the two need different data.
  • By time: months since the last service. Needs a date someone sets.
  • By use: rentals, hours, cycles, distance. Needs a number someone types.
Assume TWICE counts neither for you. Pick the one your equipment wears by, and be honest about whether anyone will keep it current.

The walkthrough

1

Create the attributes the programme runs on

Create these on the inventory resource. None of them exists until you make one, and the mechanics are on attributes.Group them so they sit together on the item instead of scattering through the Attributes tab.
2

Build the queue by filtering the stored values

Open Inventory → Stock items and filter on the attribute that carries your trigger: a last service date before your cutoff, or a usage number over your threshold. Attributes appear as table columns and filters, so the filtered list is the work queue.Save that view. A maintenance programme is something someone opens weekly, and the saved filter is what turns an attribute into a routine.Filter the date or the number itself rather than a derived flag. Both formats filter, sort and group normally.
3

Add a formula only as a read-out, never as the queue

Add a formula attribute when you want the item’s own page to say whether service is due. TWICE recomputes it whenever the formula or an underlying value changes, and the syntax is on formulas.
A formula attribute cannot be filtered or grouped, because its computed results are not held in any one column. The stock items table still offers numeric filter operators on a formula column, and the request drops that filter silently, so the list comes back unfiltered rather than empty or failed. Build the queue in step two on the date or the number.
Keep formulas on the stock item. A SKU does not carry one down to its units.
4

Reserve the unit while work happens

Reserve the unit from its Events tab when it goes to the workshop. The reservation blocks the dates and stops the unit being offered, and it leaves the lifecycle alone.Never archive a unit for a repair. Archiving releases the unit’s future holds: orders keep it assigned but lose the hold behind it, and reservations lose theirs too, so both surface under Has conflicts.Read more: reserve a stock item
5

Attach the evidence

Attach service notes, invoices and inspection paperwork to the item’s Documents tab, against the unit they belong to.Keep them there rather than in someone’s email. A unit’s provenance, including what was done to it and when, is what someone wants at resale, at warranty, or after an incident.
6

Close the loop

Set the last service date, increment the service count, and reset usage if that is how you measure. Then end the reservation so the unit returns to availability.Watch the saved view empty as you go. That is the queue draining, and it is the only signal the programme gives you.

How do I know it worked?

  • The attributes are on the item, and the item appears when you filter the table on them.
  • The saved view lists exactly the units that are due, and empties as work completes.
  • A unit in the workshop is not bookable, and its reservation shows on the Events tab.
  • The paperwork is on the item.
  • A unit that has been serviced drops out of the saved view once you update its values.

Troubleshooting / common pitfalls

Create it yourself. Usage counters, service dates and service counts do not ship either, and a page that names one is describing a pattern you build rather than a feature you enable.What to do: create them as attributes, as in step one. Nothing works until they exist on your account.
Expect this. A formula attribute has no single stored column, so it cannot be filtered, and the column offers filter operators anyway. The filter is dropped before the request, which reads back as a filter that matched everything.What to do: filter the date or the number the formula reads instead, and save that view. Keep the formula as a read-out on the item.
Expect this, and treat it as the main reason usage-based programmes fail. Nothing reads hours, cycles or distance off a unit, so the number is as good as the discipline behind typing it in.What to do: attach recording it to something that already happens every time, such as the return check. Switch the programme to elapsed time if that is not realistic, since a date needs one update per service rather than one per rental.
The flag was raised and the unit was never reserved. An attribute is information and blocks nothing on its own.What to do: make reserving the unit part of flagging it. Flagging tells you, reserving stops it going out.
Archiving released the unit’s future holds. The orders still name the unit and have nothing holding it, which is a stock item conflict.What to do: unarchive the unit, then work through the conflicts on the affected orders. Reserve for repairs and archive only for stock leaving service for good.Read more: archive stock items
Do not look for one. There is no inspection checklist, and no way to require one before a unit returns to the pool.What to do: keep the checklist where it lives now and attach the completed copy to the item’s Documents tab. That gives you the record without the enforcement.
Hold it as a date attribute. There is no certification tracking and nothing warns you before an expiry.What to do: filter that date the same way as a service interval and work it from its own saved view. It is the same pattern pointed at a different date.

Reserve a stock item

Taking a unit out of availability while work happens.

Formulas

The syntax and function library behind a computed read-out.

Attributes

Creating the fields the programme runs on.

Read a stock item's history

Reading the service record back off a unit.