Skip to content

Sets, missing parts and what to build

Your sets

LEGO → Add / Update a Set: type the set number; name, year, piece count and theme are filled in (offline catalog first). You give the number of copies. wms-go lego stats (or LEGO → Collection Stats) summarises everything.

A set can also be registered with a second way in: its retail box's own barcode (UPC/EAN) — useful when the set number printed on the box is small or awkward to scan, but the barcode is right there. Set it with wms-go lego set-info <set> --box-barcode <code>, or the "Box barcode" field on Set Workshop → Where the Set Is Kept. Once registered, scanning or typing that barcode anywhere a set number works — the CLI, the TUI, the mobile app — opens the same set, exactly as if you'd typed its set number.

A set's instruction book number(s) are normally filled in from catalog import, but you can set or correct them yourself too: wms-go lego set-info <set> --instruction-book <number> --instruction-book-count <n>, or the matching fields on Set Workshop → Where the Set Is Kept. A multi-book set uses the same slash-separated convention the catalog data already does — 6644777/6644778 for two booklets.

A set can also carry its own photos — the box, the built model, anything worth keeping a picture of — any number of them, not just one override image. wms-go lego set-photo <set> <file.jpg> attaches one (verified by its actual bytes, same as a check's proof photo), wms-go lego set-photos <set> lists what's attached, and wms-go lego set-photo-remove <id> removes one. The set detail screen shows how many are attached. This is CLI-only — the same reasoning as attaching a check's proof photo (wms-go lego attach): it needs a real file on disk, which a remote telnet/web session has no access to.

KCPARTS                                                      2026-09-20 12:00:00
LEGSTA
                                COLLECTION STATS                                
 User: admin (100%)   Role: admin   Source: ModernWMS    ADMIN 
────────────────────────────────────────────────────────────────────────────────
 1=Overview 2=PartDB Hub 3=Operations 4=Script Hub 5=LEGO Collection 6=Admin
────────────────────────────────────────────────────────────────────────────────
   F1=Help   F2=Go To   F3=Exit   F9=Undo   F6=Quick Add   F10=Lock   F12=Cancel
                 Collection at a glance — A achievements                 
┌──────────────────────────┬──────────────────────────────────────────────┐
│ Sets                     │ 1 title(s), 1 cop(ies), 0 in parted-out sets │
│ Pieces in sets           │ 1200                                         │
│ Loose parts              │ 524 piece(s), 4 line(s), 3 distinct part(s)  │
│ Low stock                │ 1 LOW                                        │
│ Sets by theme            │ Icons 1                                      │
│ Loose pieces by colour   │ Blue 420, White 80, Red 24                   │
│ Loose pieces by category │ Plates 300, Bricks 224                       │
└──────────────────────────┴──────────────────────────────────────────────┘

Press R to refresh, Q / ESC to go back

Missing parts for a set

LEGO → Missing Parts for a Set or wms-go lego missing 75192 [--copies 2]. Your loose parts are compared with the set's parts list, matching part and colour.

KCPARTS                                                      2026-09-20 12:00:00
LEGMSG
                                 MISSING PARTS                                  
 User: admin (100%)   Role: admin   Source: ModernWMS    ADMIN 
────────────────────────────────────────────────────────────────────────────────
 1=Overview 2=PartDB Hub 3=Operations 4=Script Hub 5=LEGO Collection 6=Admin
────────────────────────────────────────────────────────────────────────────────
   F1=Help   F2=Go To   F3=Exit   F9=Undo   F6=Quick Add   F10=Lock   F12=Cancel
75192 x1: you hold 100% (10 of 10 pieces), 1 of 1 lines complete
offline catalog — X export

Part #  Colour  Name  Need  Have  Short  Covered by

Press R to refresh, Q / ESC to go back

It counts equivalent parts too: alternates and moulds (the same part under another number) by default. The Covered by column names what covered a shortfall so you can check it. Change it with --equivalents none|default|alt,mold,print or WMS_EQUIVALENTS. Each piece you hold is used only once. Parts you hold in a typed colour can't be matched.

Optional parts (stickers)

Sticker sheets default to optional: they never count toward a set's missing parts or completion, on the Missing Parts report or anywhere else, even before you've counted them. Any part can be marked optional or required, either way, from the parts check screen (O) or the CLI:

wms-go lego optional 78256          # shows the current state
wms-go lego optional 78256 on       # mark it optional (won't count as missing)
wms-go lego optional 78256 off      # mark it required again

A blank stock-take checklist still lists optional lines to count against by hand — marked (optional) — just without them in the printed total.

What can I build?

LEGO → What Can I Build? or wms-go lego build. Ranks sets by how much of each your loose parts cover, entirely offline.

KCPARTS                                                      2026-09-20 12:00:00
LEGBLD
                               WHAT CAN I BUILD?                                
 User: admin (100%)   Role: admin   Source: ModernWMS    ADMIN 
────────────────────────────────────────────────────────────────────────────────
 1=Overview 2=PartDB Hub 3=Operations 4=Script Hub 5=LEGO Collection 6=Admin
────────────────────────────────────────────────────────────────────────────────
   F1=Help   F2=Go To   F3=Exit   F9=Undo   F6=Quick Add   F10=Lock   F12=Cancel
No set is half covered by your loose parts yet

Set #  Name  Theme  Year  Have  Pieces  Missing

Press R to refresh, Q / ESC to go back
wms-go lego build --min-percent 85 --max-missing 40 --limit 20

It matches exact part and colour (use missing on one set for the equivalent-parts view) and ignores tiny sets (--min-pieces, default 20). On a large collection it takes a few seconds.

Shopping lists

wms-go lego wanted --set 75192 -o falcon.xml       # BrickLink wanted list (XML)
wms-go lego wanted --low -o restock.xml            # what you are running out of
wms-go lego export --format csv --set 75192 --missing -o shopping.csv

Upload the XML at BrickLink: Wanted → Upload Wanted List Items. BrickLink colour numbers come from the colour map (wms-go bricklink colors sync); lines without one get their colour left out and are counted in the summary so you know what to check.