Assemble a preventive maintenance programme from attributes, a saved filter that lists what is due, and a reservation that holds the unit while work happens.
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.
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.
Create these on the inventory resource. None of them exists until you make one, and the
mechanics are on attributes.
Attribute
Format
What maintains it
Last service date
Date
Whoever completes the work
Service count
Number
Incremented on completion
Usage
Number
Whoever records use, since TWICE does not count it
Needs service
Boolean
Raised by hand, or left out entirely (see step three)
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.
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.
Filtering on my formula flag returns every unit
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.
The usage number is always out of date
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.
A unit went out while it was supposed to be in for service
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.
I archived a unit for a repair and now orders have conflicts
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
We need a checklist the technician has to complete
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.
We need to track certification or inspection expiry
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.