v40.0 ยท Full Documentation
A complete inventory, procurement, and production tracking system built specifically for watchmakers. Manage parts across multiple calibres, track orders, plan production, and sync across devices in real time.
WIM is a Progressive Web App (PWA) โ it runs entirely in your browser, works offline, and can be installed on any device like a native app. All data is stored locally in your browser's IndexedDB database and optionally synchronized to a cloud server you control.
ARCHITECTURE
PWA + PHP Sync
STORAGE
IndexedDB (Local)
VERSION
v40.0 โ "Cloud Sync"
|
TERM |
MEANING |
|
Movement |
A watch calibre or model you track (e.g. "ETA 2824-2"). Each movement has its own parts list, production target, and locations. |
|
Part |
A single component type. Has a reference number, stock across locations, quantity needed per watch, and metadata. |
|
Location / Box |
A physical storage container (e.g. "Box 3", "Shelf A"). You define these per movement. |
|
Assembly |
A pre-assembled group of parts (e.g. a riveted wheel pair). Contributes to individual part stock counts. |
|
Neutres |
Parts shared across calibres or not specific to production (e.g. crown gaskets, generic screws). Flagged separately to focus alerts on production-critical parts. |
|
Can Make |
The maximum number of watches you can currently produce with parts on hand โ limited by your lowest-covered component. |
Get from zero to managing your first calibre in 10 minutes.
1
Navigate to https://wim.tl-watchmaking.com in any modern browser. The app installs a service worker automatically for offline use. You can also install it as a PWA via your browser's "Add to Home Screen" or "Install App" option.
2
On the landing page, click + New Movement. Enter the calibre name (e.g. "ETA 2824-2"). Set your annual production target and click Create.
3
Click into your movement, then go to View โ Locations. Add each physical storage box or shelf (e.g. "Box 1", "Box 2", "Shelf A"). These become the columns in your inventory table.
4
Click + Add Part in the Inventory tab. Fill in the part name, reference number, quantity needed per watch, and optionally a photo. Repeat for all components of the calibre โ or use Import from Excel to bulk-import.
5
Click the ๐ฆ Receive button on any part, select "Unregistered Receive", choose the location, and enter your current stock. Repeat for each part and location.
6
Go to the landing page โ โ๏ธ Cloud Sync. Enter your server URL and token (see the Cloud Sync section). Your data will now sync automatically.
https://wim.tl-watchmaking.com
๐ฆ Inventory
๐ Purchasing
๐ฏ Production
๐ Activity
๐๏ธ Written Off
๐ Stock Mgmt
๐ Executive
โ Actions
โ Back to Landing ย |ย ETA 2824-2 ย |ย ๐ Alerts ย |ย โ๏ธ Sync: Synced โ
WIM has two levels of navigation:
|
TAB |
WHAT IT DOES |
|
๐ฆ Inventory |
Your main parts list. View stock by location, search, filter, edit parts, receive stock, make watches. |
|
๐ Purchasing Hub |
Manage orders โ suggested orders, order batches, pending deliveries, received history. |
|
๐ฏ Production |
Set targets, record made watches, manage assemblies, view bottlenecks, production forecast. |
|
๐ Activity Log |
Full audit trail of every action taken in the system with filters by type, user, date. |
|
๐๏ธ Written Off |
Parts removed from inventory (damaged, lost). Includes restore capability. |
|
๐ Stock Management |
Compact table with coverage metrics, reorder dates, lead times. Inline double-click editing. |
|
๐ Executive |
Admin-only high-level summary of all movements, production health, and KPIs. |
|
โ Actions |
Supplier action tracker โ log commitments and follow-ups with suppliers. |
The landing page dashboard gives you an instant health check across all calibres.
wim.tl-watchmaking.com โ Landing
4
Movements
847
Total Parts
12
Activity Today
3
Critical Alerts
STOCK HEALTH
Stacked Bar Chart
LOW STOCK
Doughnut Chart
PRODUCTION
Progress vs Target
The dashboard automatically scans for part references shared across multiple calibres โ useful for identifying shared supplier parts. Click any movement tag to navigate directly to that calibre.
โ๏ธ Cloud Sync ๐ฅ Users โ๏ธ Settings โฌ๏ธ Backup โฌ๏ธ Restore ๐ Export Excel ๐ Ctrl+K Search
Each row is one part. Columns are: Name ยท Reference ยท Kind ยท Image ยท Qty/Watch ยท [Location columns] ยท Total Stock ยท Actions.
โ OK โ enough for remaining watches โ ๏ธ Low โ below needed quantity ๐ด Critical โ below 50% of needed
Stock thresholds are production-based โ they auto-calculate from remaining watches ร qty/watch, not arbitrary minimums.
|
FILTER |
HOW IT WORKS |
|
Search |
Part name or reference โ live filtering as you type |
|
Kind |
Filter by part category (jewel, screw, spring, wheel, etc.) |
|
Neutres only |
Show only neutral/shared parts |
|
Stock status |
Show only shortage or critical parts |
|
Focus View |
Pin specific parts or locations for a "workbench" view. Saved between sessions. |
|
Location filter |
Show stock for one box/shelf only |
|
BUTTON |
ACTION |
|
โ๏ธ Edit |
Open full part editor (name, reference, qty/watch, notes, image, compatibility, lead time, etc.) |
|
๐ฆ Receive |
Add stock โ from a pending order or as an unregistered delivery |
|
โ๏ธ Make |
Deduct parts for one completed watch from a specific location |
|
๐๏ธ Write Off |
Remove damaged or lost parts with a reason note |
|
๐ผ๏ธ Image |
Add or change the part photo (shared across all movements using that reference) |
In the Stock Management tab, double-click any stock cell to edit the quantity inline. You can also type arithmetic directly: type 12+33 and it will calculate to 45.
When clicking ๐ฆ Receive on a part, two modes are available:
โ ๏ธ
QC Hold
Parts received into QC Hold are tracked but not counted toward production stock. Use this for parts awaiting quality inspection.
|
FIELD |
DESCRIPTION |
|
Name |
Full descriptive name (e.g. "3rd Wheel, gilded") |
|
Reference |
Supplier part number. Must be unique within the movement. |
|
Kind |
Category: jewel, tenon, screw, spring, wheel, pinion, plate, bridge, hand, dial, case, crown, gasket, other |
|
Qty / Watch |
How many of this part goes into one watch |
|
Neutres |
Toggle if this part is not production-specific (generic/shared) |
|
Notes |
Free-text field for supplier info, specs, etc. |
|
Compatible With |
Alternative part references that can substitute this part |
|
Old Part Numbers |
Superseded references (useful when a part has been renumbered) |
|
Lead Time |
Weeks between ordering and receiving (used for "Order By" date calculation) |
|
Order Qty |
Recommended order quantity (e.g. minimum order) |
|
Discontinued |
Flag if part is no longer available from supplier |
|
Excluded |
Flag to exclude from stock calculations and alerts |
Manage the full order lifecycle: generate suggested orders, group them into batches, track pending deliveries, and record receipts.
WIM automatically calculates what needs to be ordered based on:
Parts below their needed quantity appear in the Suggested Orders list with a recommended order quantity.
1
In Purchasing Hub โ Suggested, review the auto-generated list. Adjust quantities as needed.
2
Select items, group into a batch (by supplier), add notes, and mark as "Sent to Supplier".
3
Orders appear in the To Order / Pending list. Set an ETA date on each order. Overdue deliveries are highlighted in red.
4
When parts arrive, click ๐ฆ Receive on the part, select "From Pending Order", choose the location, and confirm the quantity. The order status updates automatically.
Each order batch can be exported as:
๐ Excel (XLS) ๐ PDF
For ad-hoc orders, use the Quick Order panel: type a reference, set quantity, add notes, and place without going through the suggested list.
In Stock Management, the Covers column shows stock รท qty/watch โ i.e., how many watches this part alone could support. Color coded:
๐ข Covers โฅ remaining target ๐ก Covers < remaining target ๐ด Covers = 0
Calculated automatically: today + (remaining runout rate ร stock days) โ lead time. If the date is in the past or near, the cell turns red, signalling an urgent order.
|
FIELD |
MEANING |
|
Annual Target |
How many watches you plan to produce this year |
|
Made This Year |
Watches already recorded as complete (auto-increments each time you record production) |
|
Pre-Production |
Watches produced before WIM was set up (counts toward target, not in the log) |
|
Remaining |
Target โ (Made + Pre-Production) โ drives all stock calculations |
When a watch is completed:
Undo Last Watch โ reverses the last production entry (restores stock, decrements Made).
The Can Make number is the maximum watches producible with current stock across all locations. It is limited by whichever part has the lowest coverage. Click "Can Make" to see the breakdown and which part is the bottleneck.
For calibres assembled from sub-kits (e.g. a base plate kit with pre-installed jewels):
The forecast section shows weeks of stock remaining for each critical part at your current production rate. Cards are colour-coded:
๐ด Under 4 weeks โ order immediately ๐ก Under 8 weeks โ plan order soon ๐ข 8+ weeks โ healthy
A summary line identifies the critical bottleneck โ the part that will halt production soonest.
Locations map to your physical storage (boxes, drawers, shelves). Each movement has its own set of locations โ they're fully independent.
๐ก
Naming tip
Use descriptive names like "Box 1 โ Escapements" or "Shelf B โ Mainsprings" to make the inventory table self-documenting.
Click View โ Box Contents to see all parts stored in a specific box, total units, and export the list to Excel โ useful for physical stock counts.
A special virtual location for parts currently under assembly. It's separate from physical stock and is included in Can Make calculations. Use it to track parts pulled from boxes that haven't yet become completed watches.
To move stock between locations: use Edit Part to manually adjust location quantities. The system records the change in the activity log.
An assembly is a pre-built sub-unit containing multiple parts (e.g. a riveted pallet fork + pallet stones). When you have 10 assemblies in stock, WIM adds that to each component's stock count automatically.
1
In a movement, click View โ Assemblies โ + New Assembly. Give it a name.
2
Add each part that goes into the assembly. Set the ratio (default 1:1, or e.g. 2 if one assembly contains 2 of this part).
3
Use Receive on the assembly entry to add assembled units to stock.
In the inventory table, linked parts are colour-coded: โ green = this part, โ blue = linked via assembly, โ yellow = both.
Mark parts as compatible alternatives in the part editor (Compatible With field). WIM will pool compatible stock together when calculating coverage โ so if you have 10 of Part A and 5 of compatible Part B, coverage shows 15.
When a supplier changes a part number, add the old reference in Old Part Numbers. The app will find the part when searching by the old reference.
WIM can sync your data to a PHP server you control. Multiple users on different devices see the same data in near real-time.
โ
Your server is already configured
The sync endpoint is live at https://wim.tl-watchmaking.com/wim-sync.php. Use the credentials below.
SYNC URL
https://wim.tl-watchmaking.com/wim-sync.php
SECRET TOKEN
Ask the administratorย
๐
Keep this token private
Anyone with this token can read and overwrite all your inventory data. Do not share it publicly or commit it to a public repository.
1
On the landing page, click โ๏ธ Cloud Sync.
2
Paste the Sync URL and Secret Token from above. Click Save.
3
Click Test Connection. You should see a green confirmation with server diagnostics (PHP version, disk writable, current version number).
4
Toggle Enable Cloud Sync to ON. The app will now auto-sync every 5 seconds when online.
|
ACTION |
WHAT HAPPENS |
|
Auto-Push |
Every time you save data, it queues a push to the server within 5 seconds |
|
Auto-Pull |
Every 5 seconds, checks if the server version is newer. If yes, pulls and reloads data. |
|
Manual Push (โ) |
Force-pushes your current local data to the server immediately |
|
Manual Pull (โ) |
Force-fetches server data and replaces your local copy |
|
Conflict resolution |
Server version always wins. Last writer wins for simultaneous edits. |
When multiple users are connected, you'll see avatar bubbles near the sync indicator. Each avatar shows initials and role colour:
๐ด Admin ๐ก Orderer ๐ข Standard user
A user is shown as online if they've sent a heartbeat within the last 30 seconds.
|
FILE |
PURPOSE |
|
wim-sync.php |
The sync endpoint. Handles push/pull/ping/heartbeat actions. |
|
wim-data.json |
Your entire inventory database (written atomically on each save) |
|
wim-version.json |
Version counter + last-updated metadata |
|
wim-heartbeats.json |
Online user presence registry (auto-pruned) |
|
.htaccess |
Blocks direct HTTP access to .json files (PHP can read them, browsers cannot) |
๐ฅ๏ธ
First time setting up a server?
See the Server Setup & Deployment section for full step-by-step instructions โ OVH Manager, Cyberduck, file structure, permissions, and troubleshooting.
After uploading new JS files to the server, run this in the browser console (F12) to force a fresh load:
(async () => {
ย const regs = await navigator.serviceWorker.getRegistrations();
ย for (const r of regs) await r.unregister();
ย const keys = await caches.keys();
ย for (const k of keys) await caches.delete(k);
ย location.reload(true);
})();
WIM works entirely without a server. In standalone mode, all your data lives in your browser โ no internet connection required once the app is loaded, no account needed, no subscription.
All inventory data is saved in your browser's IndexedDB โ a built-in, persistent, structured database that browsers provide for web apps. Unlike cookies or localStorage, IndexedDB has virtually no size limit and survives browser restarts.
โ ๏ธ
Clearing browser data will erase WIM data
If you use your browser's "Clear site data", "Clear browsing data", or reset the browser, your IndexedDB is wiped.
Always keep a regular JSON backup
(Landing page โ Backup). Without Cloud Sync, this is your only recovery option.
You can install WIM on your computer or phone so it opens like a native app โ its own window, its own icon, no browser chrome.
1
Navigate to https://wim.tl-watchmaking.com.
2
In Chrome: click the โ icon in the address bar (right side). In Edge: click the โฆ menu โ Apps โ Install this site as an app.
3
Click Install. WIM appears in your Start menu / Applications folder and opens in its own window. The data store is shared between the installed app and the browser tab.
4
Safari on iPhone: tap Share โ Add to Home Screen. Chrome on Android: tap โฎ โ Add to Home Screen. The app installs with a full-screen icon.
Once WIM has been loaded at least once, the service worker caches all app files. After that:
Since IndexedDB is browser-local, moving to a new computer requires a manual transfer:
1
Landing page โ โฌ๏ธ Backup โ save the wim-backup-[date].json file (e.g. to a USB drive or email it to yourself).
2
Open WIM โ Landing page โ โฌ๏ธ Restore โ select the backup file. All data loads instantly.
|
FREQUENCY |
WHEN TO DO IT |
|
Weekly |
Every Monday before starting โ takes 2 seconds |
|
Before any bulk import |
In case the import introduces errors |
|
Before a restore |
Always backup first, then restore |
|
After major data entry |
E.g. after entering a full new movement's stock |
๐ก
Standalone vs. Cloud Sync
Standalone is perfect for a single user on one main device. If you want multiple people to see the same data, or want your phone and laptop in sync, enable Cloud Sync โ your data stays in IndexedDB locally, and the server acts as a shared relay.
This section covers deploying WIM to a web server so it's accessible from any browser on any device. You need this to use Cloud Sync or to share the app with team members. The instructions below are specific to OVH shared hosting and Cyberduck FTP client.
1
Go to manager.ovhcloud.com and sign in.
2
Left menu: Web Cloud โ Hosting plans โ click your plan name.
3
Click the FTP-SSH tab. Note down: FTP server (e.g. ftp.cluster0XX.hosting.ovh.net), Login (your FTP username), and FTP directory (usually / or /www/).
4
If you don't remember it, click Create or change the password on the FTP-SSH tab to set a new one.
A dedicated subdomain like wim.yourdomain.com keeps WIM separate from your main website.
1
In Cyberduck, click Open Connection (top left).
2
3
Cyberduck connects and shows your remote file tree. Navigate to the folder for your subdomain (e.g. /wim/).
4
In Cyberduck menu: View โ Show Hidden Files. This makes .htaccess visible โ you need this to upload it.
Your server folder structure must look exactly like this:
/wim/ ย (subdomain root)
ย ย โโโ index.html
ย ย โโโ sw.js ย (service worker)
ย ย โโโ manifest.json ย (PWA manifest)
ย ย โโโ wim-sync.php ย (cloud sync endpoint)
ย ย โโโ .htaccess ย (protects .json files)
ย ย โโโ css/
ย ย โย ย ย โโโ styles.css
ย ย โโโ js/
ย ย ย ย ย ย โโโ app.js
ย ย ย ย ย ย โโโ ui_components.js
ย ย ย ย ย ย โโโ store.js
ย ย ย ย ย ย โโโ utils.js
ย ย ย ย ย ย โโโ data_models.js
ย ย ย ย ย ย โโโ features/
ย ย ย ย ย ย ย ย ย ย โโโ inventory.js
ย ย ย ย ย ย ย ย ย ย โโโ orders.js
ย ย ย ย ย ย ย ย ย ย โโโ production.js
ย ย ย ย ย ย ย ย ย ย โโโ history.js
ย ย ย ย ย ย ย ย ย ย โโโ imports.js
Select all files from your local wim_modular/ folder and drag them into Cyberduck. Confirm any overwrite prompts.
The PHP sync script needs write access to the folder to create the data JSON files.
|
WHAT TO CHECK |
EXPECTED RESULT |
|
Open https://wim.yourdomain.com |
The WIM app loads. No blank screen, no 404. |
|
Open https://wim.yourdomain.com/wim-sync.php |
Shows {"ok":false,"error":"Only POST requests are accepted"}. If you see PHP source code or a server error, PHP is not enabled. |
|
Enable Cloud Sync and click Test Connection |
Green confirmation with PHP version, writable: true, data file info. |
|
Push data once |
A wim-data.json file appears in your FTP folder (refresh Cyberduck). |
|
PROBLEM |
SOLUTION |
|
PHP file shows as plain text / downloads |
PHP is not configured for this subdomain. In OVH Manager โ your hosting โ PHP version, set it to 8.1 or 8.2. |
|
dir_writable: false in sync test |
Set folder permissions to 755 via Cyberduck (Step 5). |
|
App works but Push always fails |
Check that .htaccess was uploaded (enable hidden files in Cyberduck). Also verify PHP post_max_size is at least 32M. |
|
After updating JS files, old version still loads |
Run the cache-clear command in browser console (see Cloud Sync section), or bump the version numbers in sw.js and index.html. |
|
Cyberduck shows "Connection refused" |
Use port 21 (not 22). Port 22 is SFTP โ use FTP mode instead. |
WIM has a full login system with username + password authentication. Each person has their own account; all actions in the activity log are attributed to their name. Access is controlled by role.
When you open WIM, a login screen appears before any data is shown. Enter your username and password, then click Login. Alternatively, click Continue as Guest for read-only access with no credentials required.
Full access to everything โ manage users, settings, delete data, view the full activity log and the Executive tab.
Can create orders, receive stock, edit parts, and record production. Cannot manage users or access admin settings.
Read-only view of inventory and orders. Can browse, filter, and search โ cannot modify any data.
Passwords are managed by the app administrator. If you don't know your credentials or need an account created, contact:
๐ง
Tristan Ledard โ WIM Administrator
tristan.ledard@tl-watchmaking.com
1
You must be logged in as Admin. Click the Users button in the top toolbar.
2
Enter the username (lowercase, no spaces โ e.g. marc) and select their role.
3
Their password is set by the administrator. Contact tristan.ledard@tl-watchmaking.com to request or communicate credentials โ passwords are never displayed in the app.
4
The first time they log in, if their username isn't in the database yet, WIM prompts to confirm account creation. They click Yes and their profile is saved.
The Continue as Guest button on the login screen grants immediate read-only access with no credentials. Use this to let visitors browse the inventory without an account. Guests can see all parts and orders but cannot edit anything, place orders, or export data.
|
ACTION |
GUEST |
USER |
ORDERER |
ADMIN |
|
View inventory & orders |
โ |
โ |
โ |
โ |
|
Create / edit parts |
โ |
โ |
โ |
โ |
|
Receive stock |
โ |
โ |
โ |
โ |
|
Create orders |
โ |
โ |
โ |
โ |
|
Delete orders / parts |
โ |
โ |
โ |
โ |
|
Import data |
โ |
โ |
โ |
โ |
|
Export data |
โ |
โ |
โ |
โ |
|
Record production |
โ |
โ |
โ |
โ |
|
Manage users |
โ |
โ |
โ |
โ |
|
Change admin settings |
โ |
โ |
โ |
โ |
|
View full activity log |
โ |
โ |
โ |
โ |
|
Access Executive tab |
โ |
โ |
โ |
โ |
If the sole admin account is accidentally misconfigured, WIM tracks the last admin login date. After 30 days without any admin login, the system allows recovery on the next login attempt. Alternatively, restore a JSON backup from before the change was made.
|
FORMAT |
CONTENTS |
WHERE |
|
Excel (XLS) |
Full inventory: name, reference, qty/watch, stock by location, notes, compatibility |
Landing page โ Export |
|
PDF Report |
Formatted inventory, orders, low-stock, or production forecast |
Inventory tab โ Export โ PDF |
|
JSON Backup |
Complete database dump (use for backup or migration) |
Landing page โ Backup |
|
Order Batch PDF/XLS |
Single order batch formatted for supplier |
Purchasing Hub โ batch header buttons |
|
Box Contents XLS |
All parts in a specific storage location |
View โ Box Contents โ Export |
To add many parts at once from an Excel spreadsheet:
Required columns: Name, Reference. Optional: Qty/Watch, Neutres, Notes, Compatible With, Old Part Numbers, Lead Time.
To update existing part metadata from a spreadsheet (without touching stock):
On the landing page โ Restore โ upload a previously downloaded JSON backup. This replaces the entire database.
โ ๏ธ
Restore is destructive
Restoring from a backup replaces all current data. Always download a fresh backup before restoring.
WIM continuously monitors stock versus production needs and surfaces shortages. Alerts are production-based โ they factor in your remaining target, not arbitrary minimums.
Alert horizon = 4 months (configurable)
Watches in horizon = remaining target ร (horizon / 12)
Needed stock = watches in horizon ร qty per watch
Shortage = max(0, needed_stock โ current_stock โ pending_orders)
|
LEVEL |
CONDITION |
COLOUR |
|
โ OK |
Stock โฅ needed for horizon |
Green |
|
โ ๏ธ Low |
Stock < needed but > 50% |
Yellow |
|
๐ด Critical |
Stock < 50% of needed |
Red |
Per-part alerts can be deactivated in the part editor. Useful for discontinued parts or parts with alternative supply paths not tracked in WIM.
Click ๐ Critical Alerts (bell icon, top right) to see a consolidated list of all critical shortages across all movements โ a quick health check before placing orders.
Go to โ๏ธ Settings (Admin) โ adjust Alert Horizon (in months). A 4-month horizon means: "alert me if I'll run out within 4 months at current production rate".
The Health Check scans your database for integrity issues and flags anything that needs attention.
Run it from the landing page โ movement card menu โ Health Check. Issues are listed with severity and a description. Some can be auto-repaired; others require manual review.
Every action in WIM is logged with timestamp, user, and details. Admins see the full log; standard users see the last 20 entries.
|
ICON |
TYPE |
EXAMPLE |
|
๐ฆ |
Stock |
"Received 50 ร 2275 screw to Box 3 from Order #42" |
|
๐ |
Order |
"Order placed: 2275 screw ร 100 (Batch: Supplier A)" |
|
โ |
Receive |
"Order #42 received: 50 ร 2275 screw to Box 3" |
|
๐๏ธ |
Write-off |
"Written off: 3 ร mainspring (damaged)" |
|
โ๏ธ |
System |
"Watch produced โ Made: 47. Serial: SN-2025-047" |
|
๐ค |
User |
"User 'Tristan' switched to Admin role" |
Filter the log by: Activity type ยท Username ยท Date. Use Clear Filters to reset.
|
SHORTCUT |
ACTION |
|
Ctrl + K |
Open Global Search across all movements |
|
Esc |
Close any open modal or search panel |
|
โ / โ |
Navigate autocomplete suggestions in search |
|
Enter |
Confirm search / submit current form |
|
Double-click |
Inline edit part name, reference, or stock quantity |
The global search finds parts across all movements simultaneously. Results show part name, movement, reference, live stock status, and a thumbnail. Click any result to navigate directly to that part in its movement.
Complete reference of all data fields tracked per part.
|
FIELD |
TYPE |
NOTES |
|
name |
String |
Full descriptive part name |
|
reference |
String |
Unique supplier/EAN reference per movement |
|
kind |
Enum |
jewel ยท tenon ยท screw ยท spring ยท wheel ยท pinion ยท plate ยท bridge ยท hand ยท dial ยท case ยท crown ยท gasket ยท other |
|
qtyNeeded |
Number |
Quantity per completed watch |
|
neutres |
Boolean |
True = shared/non-production-critical part |
|
notes |
String |
Free-text field (supplier info, specs, etc.) |
|
compatibleWith |
String[] |
References of interchangeable parts |
|
oldPartNumbers |
String[] |
Superseded references |
|
masterRef |
String |
Primary reference if this part is linked |
|
leadTime |
Number (weeks) |
Delivery lead time (used for Order By date) |
|
orderQty |
Number |
Recommended reorder quantity |
|
discontinued |
Boolean |
Supplier no longer makes this part |
|
excluded |
Boolean |
Exclude from all calculations and alerts |
|
isAssembly |
Boolean |
Part is an assembly-level item |
|
stock[locationIndex] |
Number |
Quantity in each physical location |
|
onBench |
Number |
Quantity currently under assembly |
|
qcHold |
Number |
Quantity in QC quarantine |
|
movement |
String |
Parent movement/calibre name |
WIM โ Watchmaking Inventory Manager v40.0 ย ยทย Built with Claude AI
Manual generated March 2026 ย ยทย wim.tl-watchmaking.com