Open in TWICE Admin
inventory/stock-items
The grade has to be an attribute
A stock item has a built-in Condition field. It is free text, and you can filter the inventory table on it, so it looks like the right home for a grade. It is not, if you want a listing to draw from graded stock. A listing’s fulfilment rules can match stock on exactly five things:
The built-in Condition field is not among them. A rule cannot see it. So a grade recorded only in Condition can be read by a human and filtered in a table, and can never bind a listing to the stock it describes.
Put the grade in an attribute with fixed values. Use Condition alongside it for the free-text detail — scuff on left fork — where prose is genuinely what you want.
Decide the scheme before the first unit arrives. Changing it later means re-grading everything already on the books.
Prerequisites
Before the first unit, settle three things:
- The grading scale — a small, fixed set of values everyone uses the same way. Four or five grades that a warehouse can apply consistently beat ten that get argued about.
- Who grades — one person’s judgement applied consistently is worth more than a detailed rubric applied by whoever is nearest.
- What “sellable” means per grade — which grades go to resale, which go back into the rental pool, which get refurbished first.
The Walkthrough
1
Create the grading attribute
On the inventory resource, create an attribute for the grade with a fixed set of values, and group it with the other intake fields so they sit together on the item.Add whatever else your resale needs to state: an intake date, the source it came from, refurbishment status. None of these ship as fields — they are attributes you define.Read more: Attributes
2
Register the unit
Register it as you would any stock item, with two intake-specific habits:
- Photograph it against the record. Used stock is sold on its condition, and the photos are the evidence. Registering from photos also gets you a name and category suggestion — see Register from photos.
- Give it its own identity. Used units are not interchangeable, so track individually rather than pooling, and give each one a stock code.
3
Record what it cost you
Set the purchase price on the item. It flows into the item’s cost total and is what any later margin is measured against.Read more: Track item costs and income
Purchase price can be inherited from the SKU rather than set on the unit. For used stock that is usually wrong — every unit came in at its own price. Set it on the item so it is the unit’s number, not the model’s.
4
Grade it
Set the grading attribute. Add free-text detail in Condition if there is something specific worth saying.Grade against the unit, not the model. The point of individual tracking is that two units of the same thing can be worth different money.
5
Track refurbishment before it goes out
A unit that needs work should not be sellable while it waits.Reserve it so it leaves availability, attach the work — notes, invoices, before-and-after photos — to its Documents tab, and update the grade when the work changes what it is worth. Then end the reservation.That is the same pattern as a service reservation — see Reserve a stock item for taking a unit out of availability while work happens.
6
Hand it to the catalog
Once graded and at the right location, the unit is ready for a resale listing to draw from — through the grading attribute you created in step one.Building that listing is the catalog side of the job and a guide of its own.
How do I know it worked?
- The unit has a grade in the attribute, not only in the Condition text.
- Filtering the inventory table by that attribute finds it, alongside everything else at the same grade. If it does not appear, no rule will find it either.
- Its purchase price is on the item, and shows in its cost total.
- The photos and any refurbishment paperwork are on the record.
- A unit still being worked on is not bookable — the reservation is on its Events tab.
Troubleshooting / Common Pitfalls
My resale listing cannot find the graded stock
My resale listing cannot find the graded stock
Almost certainly the grade is in the Condition field rather than an attribute. Fulfilment rules can match on attributes, item and SKU codes, and item and SKU names. The built-in Condition field is not on that list, so a rule cannot see it.What to do: create the grading attribute, set it on the affected units — bulk edit if there are many — and point the rule at the attribute. Keep Condition for prose.
Everyone grades slightly differently
Everyone grades slightly differently
Cause: a free-text or over-detailed scale. If the grade is typed rather than chosen, you will end up with Good, good, Gd and good (minor scuffs) as four distinct values.What to do: use a fixed value list so grading is a choice, not a sentence. Fewer grades, applied consistently, are worth more than a precise scale nobody follows.
I cannot see purchase price on the item
I cannot see purchase price on the item
Cause: the
stock_item_cost permission, which the Member system role does not hold. It is separate so stock can be managed without exposing what it cost.What to do: ask for a role that includes it. If intake staff are on Member, either grant it or split the job — they register and grade, someone else records the money.A unit went out for rental while it was waiting to be refurbished
A unit went out for rental while it was waiting to be refurbished
Cause: it was graded but never reserved. A grade is information; it does not stop the unit being offered.What to do: reserve on intake for anything not immediately sellable, and release the reservation when the work is done. Make it part of receiving, not a later step.
I want to change our grading scheme now that we have used it a while
I want to change our grading scheme now that we have used it a while
Cost is proportional to what you have already graded. Existing units keep their old values, so the scale splits until everything is re-graded, and any rule matching on the old values quietly stops finding the new ones.What to do: bulk-edit the old values across to the new ones in one pass, then update the rules. Do it deliberately rather than letting both schemes run — a half-migrated scale is worse than either scheme on its own.
Where do I record when it arrived, or who it came from?
Where do I record when it arrived, or who it came from?
As attributes you create. There is no built-in intake date or source field on a stock item.What to do: add them as attributes in step one if your resale needs them. Provenance sells used stock, so it is usually worth the two extra fields.
Next Steps
Register stock items
The registration this builds on.
Register from photos
Photographing used stock against the record as you register it.
Reserve a stock item
Holding a unit out of availability while refurbishment happens.
Attributes
Creating the grading attribute a rule can actually match on.