{"success":true,"storageMode":"MySQL (XAMPP)","inventory":[{"id":"SKU-001","name":"W200XH100XL3000 MM","category":"Trunking & Tray","location":"Rak A-01","unit":"Meter","stockPlan":4454,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":4454,"actualForecast":4454,"deviation":0,"minStock":100,"price":150000},{"id":"SKU-002","name":"Cover W200XH100XL3000 MM","category":"Trunking & Tray","location":"Rak A-02","unit":"Meter","stockPlan":4454,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":4454,"actualForecast":4454,"deviation":0,"minStock":100,"price":75000},{"id":"SKU-003","name":"W100XH100XL3000 MM","category":"Trunking & Tray","location":"Rak A-03","unit":"Meter","stockPlan":8992,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":8992,"actualForecast":8992,"deviation":0,"minStock":100,"price":120000},{"id":"SKU-004","name":"Cover W100XH100XL3000 MM","category":"Trunking & Tray","location":"Rak A-04","unit":"Meter","stockPlan":8992,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":8992,"actualForecast":8992,"deviation":0,"minStock":100,"price":60000},{"id":"SKU-005","name":"W100XH50XL3000 MM","category":"Trunking & Tray","location":"Rak A-05","unit":"Meter","stockPlan":2312,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":2312,"actualForecast":2312,"deviation":0,"minStock":50,"price":95000},{"id":"SKU-006","name":"Cover W100XH50XL3000 MM","category":"Trunking & Tray","location":"Rak A-06","unit":"Meter","stockPlan":2312,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":2312,"actualForecast":2312,"deviation":0,"minStock":50,"price":50000},{"id":"SKU-007","name":"Horizontal Tee Trunking 200x100 (TRU Type)","category":"Trunking & Tray","location":"Rak B-01","unit":"Pcs","stockPlan":73,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":73,"actualForecast":73,"deviation":0,"minStock":10,"price":85000},{"id":"SKU-008","name":"Cover Horizontal Tee Trunking 200x100 (TRU Type)","category":"Trunking & Tray","location":"Rak B-02","unit":"Pcs","stockPlan":73,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":73,"actualForecast":73,"deviation":0,"minStock":10,"price":45000},{"id":"SKU-009","name":"Tee 200 Reduce 100","category":"Trunking & Tray","location":"Rak B-03","unit":"Pcs","stockPlan":242,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":242,"actualForecast":242,"deviation":0,"minStock":20,"price":90000},{"id":"SKU-010","name":"Cover Tee 200 Reduce 100","category":"Trunking & Tray","location":"Rak B-04","unit":"Pcs","stockPlan":242,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":242,"actualForecast":242,"deviation":0,"minStock":20,"price":48000},{"id":"SKU-011","name":"Horizontal Elbow Trunking 200x100 (TRU Type)","category":"Trunking & Tray","location":"Rak B-05","unit":"Pcs","stockPlan":47,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":47,"actualForecast":47,"deviation":0,"minStock":10,"price":78000},{"id":"SKU-012","name":"Cover Horizontal Elbow Trunking 200x100 (TRU Type)","category":"Trunking & Tray","location":"Rak B-06","unit":"Pcs","stockPlan":47,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":47,"actualForecast":47,"deviation":0,"minStock":10,"price":40000},{"id":"SKU-013","name":"Cross Trunking 200x100 (TRU Type)","category":"Trunking & Tray","location":"Rak B-07","unit":"Pcs","stockPlan":25,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":25,"actualForecast":25,"deviation":0,"minStock":5,"price":125000},{"id":"SKU-014","name":"Cover Cross Trunking 200x100 (TRU Type)","category":"Trunking & Tray","location":"Rak B-08","unit":"Pcs","stockPlan":25,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":25,"actualForecast":25,"deviation":0,"minStock":5,"price":65000},{"id":"SKU-015","name":"Cross Trunking Reducer 200x100 (TRU Type) C2121","category":"Trunking & Tray","location":"Rak B-09","unit":"Pcs","stockPlan":109,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":109,"actualForecast":109,"deviation":0,"minStock":15,"price":135000},{"id":"SKU-016","name":"Cover Cross Trunking Reducer 200x100 (TRU Type) C2121","category":"Trunking & Tray","location":"Rak B-10","unit":"Pcs","stockPlan":109,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":109,"actualForecast":109,"deviation":0,"minStock":15,"price":70000},{"id":"SKU-017","name":"Cross Trunking Reducer 200x100 (TRU Type) C2221","category":"Trunking & Tray","location":"Rak B-11","unit":"Pcs","stockPlan":6,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":6,"actualForecast":6,"deviation":0,"minStock":2,"price":140000},{"id":"SKU-018","name":"Cover Cross Trunking Reducer 200x100 (TRU Type) C2221","category":"Trunking & Tray","location":"Rak B-12","unit":"Pcs","stockPlan":6,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":6,"actualForecast":6,"deviation":0,"minStock":2,"price":72000},{"id":"SKU-019","name":"Horizontal Tee Trunking 100x100 (TRU Type)","category":"Trunking & Tray","location":"Rak C-01","unit":"Pcs","stockPlan":950,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":950,"actualForecast":950,"deviation":0,"minStock":50,"price":75000},{"id":"SKU-020","name":"Cover Horizontal Tee Trunking 100x100 (TRU Type)","category":"Trunking & Tray","location":"Rak C-02","unit":"Pcs","stockPlan":950,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":950,"actualForecast":950,"deviation":0,"minStock":50,"price":38000},{"id":"SKU-021","name":"Horizontal Elbow Trunking 100x100 (TRU Type)","category":"Trunking & Tray","location":"Rak C-03","unit":"Pcs","stockPlan":167,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":167,"actualForecast":167,"deviation":0,"minStock":20,"price":68000},{"id":"SKU-022","name":"Cover Horizontal Elbow Trunking 100x100 (TRU Type)","category":"Trunking & Tray","location":"Rak C-04","unit":"Pcs","stockPlan":167,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":167,"actualForecast":167,"deviation":0,"minStock":20,"price":35000},{"id":"SKU-023","name":"Cross Trunking 100x100 (TRU Type)","category":"Trunking & Tray","location":"Rak C-05","unit":"Pcs","stockPlan":134,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":134,"actualForecast":134,"deviation":0,"minStock":15,"price":110000},{"id":"SKU-024","name":"Cover Cross Trunking 100x100 (TRU Type)","category":"Trunking & Tray","location":"Rak C-06","unit":"Pcs","stockPlan":134,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":134,"actualForecast":134,"deviation":0,"minStock":15,"price":55000},{"id":"SKU-025","name":"Jointing Trunking 100","category":"Trunking & Tray","location":"Rak C-07","unit":"Pcs","stockPlan":18000,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":18000,"actualForecast":18000,"deviation":0,"minStock":500,"price":12000},{"id":"SKU-026","name":"Jointing Trunking 50","category":"Trunking & Tray","location":"Rak C-08","unit":"Pcs","stockPlan":1700,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":1700,"actualForecast":1700,"deviation":0,"minStock":100,"price":9500},{"id":"SKU-027","name":"Bracket Trunking 200x100","category":"Trunking & Tray","location":"Rak C-09","unit":"Pcs","stockPlan":4000,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":4000,"actualForecast":4000,"deviation":0,"minStock":200,"price":25000},{"id":"SKU-028","name":"Bracket Trunking 100x100","category":"Trunking & Tray","location":"Rak C-10","unit":"Pcs","stockPlan":7600,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":7600,"actualForecast":7600,"deviation":0,"minStock":300,"price":21000},{"id":"SKU-029","name":"Bracket Trunking 100x50","category":"Trunking & Tray","location":"Rak C-11","unit":"Pcs","stockPlan":2100,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":2100,"actualForecast":2100,"deviation":0,"minStock":100,"price":18000},{"id":"SKU-030","name":"Drop Trunking 200x100","category":"Trunking & Tray","location":"Rak C-12","unit":"Pcs","stockPlan":1170,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":1170,"actualForecast":1170,"deviation":0,"minStock":50,"price":45000},{"id":"SKU-031","name":"Cover Drop Trunking 200x100","category":"Trunking & Tray","location":"Rak C-13","unit":"Pcs","stockPlan":1170,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":1170,"actualForecast":1170,"deviation":0,"minStock":50,"price":24000},{"id":"SKU-032","name":"Long Drat M10 3m","category":"Material Support","location":"Rak D-01","unit":"Btg","stockPlan":15040,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":15040,"actualForecast":15040,"deviation":0,"minStock":500,"price":32000},{"id":"SKU-033","name":"Braket Tray unp\/siku","category":"Material Support","location":"Rak D-02","unit":"Btg","stockPlan":330,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":330,"actualForecast":330,"deviation":0,"minStock":30,"price":65000},{"id":"SKU-034","name":"Mur longdrat","category":"Material Support","location":"Rak D-03","unit":"Pcs","stockPlan":841940,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":841940,"actualForecast":841940,"deviation":0,"minStock":5000,"price":850},{"id":"SKU-035","name":"Mur baud jointing","category":"Material Support","location":"Rak D-04","unit":"Pcs","stockPlan":85910,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":85910,"actualForecast":85910,"deviation":0,"minStock":2000,"price":1200},{"id":"SKU-036","name":"Dynaset\/Dynabolt M12 \/ spring nut \/ longnut","category":"Material Support","location":"Rak D-05","unit":"Pcs","stockPlan":19340,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":19340,"actualForecast":19340,"deviation":0,"minStock":500,"price":4500},{"id":"SKU-037","name":"Mortar kompon Fire Stoper","category":"FIRE STOPER","location":"Rak E-01","unit":"sak","stockPlan":10,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":10,"actualForecast":10,"deviation":0,"minStock":2,"price":450000},{"id":"SKU-038","name":"Rockwoll","category":"FIRE STOPER","location":"Rak E-02","unit":"carton","stockPlan":10,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":10,"actualForecast":10,"deviation":0,"minStock":2,"price":650000},{"id":"SKU-039","name":"fire stoper foam","category":"FIRE STOPER","location":"Rak E-03","unit":"botol","stockPlan":20,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":20,"actualForecast":20,"deviation":0,"minStock":5,"price":185000},{"id":"SKU-040","name":"Board Fire stoper","category":"FIRE STOPER","location":"Rak E-04","unit":"lembar","stockPlan":12,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":12,"actualForecast":12,"deviation":0,"minStock":2,"price":850000},{"id":"SKU-041","name":"Cat Fire Stoper @4KG","category":"FIRE STOPER","location":"Rak E-05","unit":"kaleng","stockPlan":12,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":12,"actualForecast":12,"deviation":0,"minStock":2,"price":750000},{"id":"SKU-042","name":"Stiker tray","category":"FIRE STOPER","location":"Rak E-06","unit":"pcs","stockPlan":2000,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":2000,"actualForecast":2000,"deviation":0,"minStock":100,"price":5000},{"id":"SKU-043","name":"cat","category":"Cat & Finishing","location":"Rak F-01","unit":"peel","stockPlan":5,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":5,"actualForecast":5,"deviation":0,"minStock":1,"price":950000},{"id":"SKU-044","name":"zinkromate","category":"Cat & Finishing","location":"Rak F-02","unit":"peel","stockPlan":5,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":5,"actualForecast":5,"deviation":0,"minStock":1,"price":850000},{"id":"SKU-045","name":"tiner","category":"Cat & Finishing","location":"Rak F-03","unit":"peel","stockPlan":5,"initialStock":0,"usageQty":0,"stock":0,"remainingNeed":5,"actualForecast":5,"deviation":0,"minStock":1,"price":350000}],"inbound":[],"outbound":[],"employees":[{"id":"EMP-001","name":"Budi Santoso","username":"budi.santoso","password":"pass123","role":"Site Manager","division":"Manajemen Proyek","shift":"Non-Shift (Office)","phone":"0812-3456-7890"},{"id":"EMP-002","name":"Ahmad Fadillah","username":"ahmad.fadil","password":"pass123","role":"Staf Logistik & Gudang","division":"Logistik & Material","shift":"Pagi (08:00 - 16:00)","phone":"0813-8899-7766"},{"id":"EMP-003","name":"Siti Rahmawati","username":"siti.rahma","password":"pass123","role":"Operator Gudang \/ Admin","division":"Operasional Gudang","shift":"Pagi (08:00 - 16:00)","phone":"0857-1122-3344"},{"id":"EMP-004","name":"Rian Hidayat","username":"rian.hidayat","password":"pass123","role":"Staff Inbound & Quality","division":"Penerimaan Material","shift":"Siang (16:00 - 00:00)","phone":"0821-4455-6677"},{"id":"EMP-005","name":"Dedi Kurniawan","username":"dedi.kurnia","password":"pass123","role":"Forklift & Picker Lead","division":"Pemindahan & Rak","shift":"Malam (00:00 - 08:00)","phone":"0896-5544-3322"}],"attendance":[]}