π§Ύ Stock Movement Entry β receive or release stock Β· saved to SKUs_Movements_Batch_tbl
Choose the transaction, fill the header once, then enter the SKU lines. SKU details, UoM, batch dates and the available balance are suggested from what is already in the list. The user name and the time stamp are added automatically when you save.
π Latest movements in the list
π Project Progress β register projects, update progress per phase, record costs & manpower Β· saved to SharePoint lists
π Fleet Management β vehicles, drivers, maintenance, fuel, documents, incidents, tyres & parts Β· saved to SharePoint lists
π WHs Movements (FEFO) β inbound & outbound by pallets or bulk Β· FEFO batch allocation Β· saved to SKUs_Movements_Batch_tbl
π§ͺ RMPM Warehouse β raw & packaging materials Β· FEFO Β· QC status Β· saved to SharePoint lists
1 Connection ADMIN MANAGED
These values are configured by an administrator in Settings β Global Connection Settings.
2 Excel or CSV File
π
Click to browse or drag & drop your file
.xlsx, .xls, or .csv β first row must contain headers
4 SharePoint List Targets
6 Upload
Uploading...
0%0 / 0 records
1 Order File WAREHOUSE
Load the order / request file. The FEFO engine reads SKU, UOM, and Qty
from this file and allocates quantities against the batch list you pick below.
π¦
Click to browse or drag & drop the order file
.xlsx, .xls, or .csv β first row must contain headers
Parsing file...
0%0 / 0 rows
β UOM Conversion β Pcs (optional)
Upload the UOM file so FEFO can convert order quantities and SharePoint batch balances to the base unit (Pcs) before allocating,
and so the consolidated picking list can be shown in Cartons or Pallets.
Load the UOM table from its SharePoint list (recommended β always current) or upload a file.
UOM codes and descriptions are matched per SKU (PC / Piece, CT / Carton, OT / Outer, BT / Bottle, PLT / Pallet, Crate). Supported layouts: one row per SKU (Pcs-per-Carton / Pallet columns) or one row per SKU + UOM (UOM + Pcs-per-UOM factor).
Loading UOM list...
0%0 / 0
β or upload a file instead β
β
Click to browse or drag & drop the UOM file
.xlsx, .xls, or .csv β first row must contain headers
π₯ Planning Dept. β Daily Data Upload β UHT Inventory Tracking Sheet
Upload the daily Planning_Data.xlsx in the same format every day (header row starting with Code Β· Item Β· Size β¦, one row per SKU, optional βGrand Totalβ row). The file is checked, shown below and saved as one snapshot per as-of date, so the dashboard can show today's position and the day-by-day trend. Saving the same date again replaces that day.
π
Click to browse or drag & drop the Planning Data file
.xlsx / .xls β first sheet is read
π Saved snapshots
| As-of date | SKUs | Total stock on hand (CT) | MTD sales (CT) | Uploaded | Stored |
|---|
β Shared storage (SharePoint document library)
Snapshots are always kept in this browser. To share them with every user, they are also written as
planning_YYYY-MM-DD.json into a folder of the site's default document library (needs the Global Site URL + token / Microsoft sign-in, and write access). Everybody who opens the dashboard then sees the same data.Total stock on hand Β·
β
Month progress Β·
π SKU data β every column
Click a header to sort Β· double-click a row for the full record Β· colour: days-cover health and % vs forecast.
π₯ Daily Plan β Upload β production / demand plan (e.g. βMilco-GSD Demand 16th Oct Kizadβ)
Upload the daily plan Excel. The file is read as it is: SKU rows from the ICODE header, one demand block per plan day (locations ALN Β· AUH Β· TRF Β· SHJ Β· RAK Β· FUJ Β· DXB Β· UT, NE / SE and Grand Total) plus the crates and pallets blocks and the trip summary. It is checked, shown below and saved as one plan per start date β in this browser and (optionally) in a SharePoint document-library folder shared with every user. The rows can also be pushed into a SharePoint list (section below).
π
Click to browse or drag & drop the daily plan file
.xlsx / .xls β the first visible sheet is read
β¬ Upload the plan rows to a SharePoint list
Creates one list item per plan day Γ SKU Γ location that has demand (date, ICODE, item, brand, category, location, region, units, litres, crates, pallets β¦). Choose the plan, pick the target list, map the fields (auto-map fills them by name) and upload.
| Output Field | Maps To SharePoint Column |
|---|
π Saved plans
| Plan date | Days | SKUs | Pallets | Litres | Uploaded | Stored |
|---|
β Shared storage (SharePoint document library)
Plans are always kept in this browser. To share them with every user they are also written as
dailyplan_YYYY-MM-DD.json into a folder of the siteβs default document library (needs the Global Site URL + token / Microsoft sign-in, and write access). Everyone opening the dashboard then sees them automatically.Pallets required Β·
β
Northern (NE) vs Southern (SE) share
π SKU plan β every column
Click a header to sort Β· double-click a row for the full SKU record by day and location. Units are in each itemβs own UoM (PC / DZ / OT) β use pallets, crates or litres for totals.
β Trailer rules & compliance limits
Trailers per location and day = pallets Γ· capacity, rounded up, separately for P12 and for P6 + cage pallets (as in the fileβs βTrips P12 / Trips P6+cagesβ). The fileβs own trip figures are shown next to ours. Changing a rule re-forms the trips.
π F&D change log
Every time an item is added, removed or its actual quantity is changed inside a trip / picking list, a line is recorded here with the original and the changed quantity, the user, the reason and the planned region. Type the reason directly in the table if it was skipped. Every β Save to SharePoint in a trip also uploads its changes to the change-log list set up below; use β¬ Load from SharePoint to review everyone's changes.
β SharePoint lists for this area β set up once
| Log field | SharePoint column |
|---|
β¬ F&D Plan β upload the picking list to SharePoint
Creates one list item per trip / trailer Γ SKU picking line β trip ID, date, location, trailer type, ICODE, item, quantities, batch, production and expiry dates (when entered), status, trailer plate, driver and seal. Trips are formed in F&D Plan; capacities and batch entries are taken from there.
| Output Field | Maps To SharePoint Column |
|---|
π F&D Demand β weekly plan (production + distribution to the regions) and daily plan, compared with each other and with the actual quantities
π
Daily demand plan (e.g. βMilco-GSD Demand 26th Oct Kizadβ)
The KIZAD daily prod order: one row per SKU, demand per location (ALN, AUH, TRF, SHJ, RAK, FUJ, DXB, UT) for each day, with crates and pallets. Once saved, F&D Plan builds the trips, picking lists and delivery notes from it.
π
Drop the daily demand file here
or click to choose Β· .xlsx
π Weekly demand plan (e.g. βMilco weekly demand 27th Oct to 2nd Novβ)
The weekly prod order: one row per SKU with the production plan per day and the distribution plan of each region (Al Ain, Abu Dhabi, Tariff, Sharjah, Ras Al Khaimah, Fujairah, Dubai, UT) per day, with the demand type (Final / Tentative / Delist).
π
Drop the weekly demand file here
or click to choose Β· .xlsx
π Saved daily plans
| Plan date | Days | SKUs | File | Saved |
|---|
π Saved weekly plans
| Week | SKUs | File | Saved |
|---|
π₯ Milco Daily Planning β sales demand (DSO) Γ good returns Γ SharePoint stock β picking lists
π₯ 1 Β· Import files
Drop the Daily Sales Order (DSO) files from sales (the MBYTO file with
Rte Code / Itm Code / Plan Qty P Uom / S Uom and the WINIT file with RouteCode / ItemCode / PrimaryQTY / SecondaryQTY β recognised automatically) and the Good Return file of the sales trucks. Imported files stay in this browser until you remove them.π§Ύ
Daily Sales Order files (MBYTO / WINIT / route matrix)
click or drop one or more .xlsx files β also the item Γ route matrix (Prod. Code Β· Product Name Β· V01 Β· V02 β¦, date from the file name e.g. 25.10.2026_MT.xlsx)
β©οΈ
Good Return file (sales trucks)
click or drop the .xlsx file
Imported files β tick the ones to include in the plan
| Use | Type | Source | Load date | File | Routes | Items | Qty primary | Qty secondary | Quantity used |
|---|
π· Staff Roster β daily time-slot availability, weekly plan, SharePoint
π₯ 1 Β· Staff & time slots
Import the Daily Team Site Attendance sheet (File Nr, Staff Name, Job Role across the top, the timing slots down the side,
1 = available). The staff, the time slots and any marks already in the sheet are read; you can also add or edit people by hand.π
Click or drop the attendance sheet (.xlsx)
Double-click a person to open the full staff card (roster details + everything retrieved from SharePoint) and edit it. Use Columns to hide or show any column.
β± Time slots and β Break hours are now set on the β± Overtime, Slots & Breaks page.
π΄ Smart Annual Leave Planner β suggests each person's annual leave through the year without leaving a job role (or store) short of staff
Set the entitlement and the rules, press Build plan, check the grid (click two names to swap their leave), then write it into the roster and/or queue it for SharePoint (you decide there). Leave already marked π΄ in the roster counts as taken and as cover already used.
β
π₯ People, entitlements & preferred dates
Entitlement by role (empty = default):
| File Nr | Name | Role | Location | Entitlement | Taken in roster | Extra taken | Leave mode | Phases | Balance | Preferred dates 2026-07-01..2026-07-20, β¦ |
|---|
π
Suggested leave plan
| Role | Location | People | Max away together | Most away at once | On |
|---|
π
No list data yet
Open the file you downloaded from Data Download (.xlsx / .csv), or use the rows that are currently loaded there. Every chart, filter and KPI adapts to the columns of the list.
πͺ§ Location Signboards & Rack Labels β signboards Β· rack location labels Β· rack code register (feeds Batch Allocation FEFO)
πͺ§ Warehouse location signboard
πΊ Map pictures: not connected β a picture is picked by file name = location code.
π Warehouse location list
All warehouse locations with their information. Filter the list, then print the signboards of exactly the locations you filtered. Click a row to show its signboard above.
π§ Smart Break Planner β spreads the breaks of each job role over the day for one attendance shift, so the operation is never short of staff
Choose how long and how many breaks each person takes. The planner staggers them inside each job role (and inside each person's own working hours) so the fewest people of the same role are on break at the same moment. Check the preview, then apply β it writes each person's own break slots.
π Location β staff are in different cities and stores. Say which staff field holds each level, then filter Region β Warehouse β Store.
β± Overtime, Slots & Breaks β overtime rules, roster time slots and break hours in one place
β± Overtime rules β changes apply at once and are saved on this device
Overtime is calculated here from the IN / OUT hours using the rules below (not taken from the reportβs own OT columns, which are shown beside it for comparison). Example: normal day = 9 h, a person works 12 h β 3 h Normal OT. Work on a personβs week-off day is counted as Week-Off OT and work on a public holiday as Public OT, each kept separate.
Set hours for a storeβ¦
| Store | Normal day (h) |
|---|
β± Time slots & β Break hours β used by the Staff Roster daily sheet and by the overtime hours
β± Time slots (the rows of the daily sheet)
π Shifts
Day and Night exist by default. Create another shift (Morning, Evening, Weekend, Ramadanβ¦) and give it its own time slots β it then appears in the daily grid, weekly plan, staff card, default shift and the shift filter.
| Shift | From | To |
|---|
β Break hours
Set the default break slots everybody takes (a person can have several β e.g. lunch and two tea breaks), then give anyone a different break in the table below or on their staff card (double-click). In Daily availability the slots inside a personβs break show β, are not counted as staff on site, and the personβs hours are shown net of the break.
Set a break for a group of people
π§ To spread the breaks automatically (min / max minutes, number of slots, time frames, per shift, region Β· warehouse Β· store) use the π§ Smart Break Planner page.
π Attendance Analytics β biometric check-in / check-out analysis Β· roster vs actual
π₯ Upload the attendance report
Upload the Attendance Detail Report exported from the biometric system (.xlsb, .xlsx, .xls or .csv). One row per employee per day: Date, Employee No, Name, IN / Out Time, Required & Work Hours, Position, Work Location, Section, Supervisor, overtime, Shift Code, Remarks. Upload another day or week to add to what is already loaded.
π
Click or drop the attendance report
.xlsb Β· .xlsx Β· .xls Β· .csv
π FOC Release Voucher β free-of-charge stock release Β· signatures Β· history Β· SharePoint
β New voucher
π¦ Items released
| SKU | Description | UOM | Qty | Batch | Expiry | Remarks |
|---|
π Request evidence
Attach the request that authorises this release β the approval e-mail (.eml / .msg), a PDF, or a scan / photo of the signed voucher. Files are kept with the voucher and go to SharePoint with it.
Click or drop the request e-mail, PDF or scanned voucher here
Up to 15 MB per file Β· on a phone you can take a photo of the paper voucher
SharePoint folder (Documents library): β a sub-folder per voucher number is created.
π Names & signatures
Type the name, then sign with the mouse, finger or stylus β or upload a picture of the signature. The date and time of signing are recorded.
π Management Daily Report β productivity Β· overtime Β· headcount Β· volumes, straight from your SharePoint lists
π 1 Β· SharePoint lists ADMIN Β· SELECTED USERS
The report uses the same three tables as the Power BI file: the daily data list (one row per warehouse per day β
Entry_Date, WHs_Desc, Region_Desc, BU_Decs, Outbound / Inbound / Returns volume, Orders, hoursβ¦), the WHs headcount list (Budget_HC, Nr_TACCS_HC) and the targets list (Area_Desc, Region_Code, WHs_Code, Target Value, TargetOT). Pick each list, load its columns and map them below.Daily data columns
| Report field | SharePoint column |
|---|
WHs headcount columns
| Report field | SharePoint column |
|---|
Targets columns
| Report field | SharePoint column |
|---|
π Management Daily Report β productivity Β· overtime Β· volumes, read directly from Mngmnt_Daily_Data_tbl with the targets from Trgt_tbl
π 1 Β· SharePoint lists ADMIN Β· SELECTED USERS
This page reads the SharePoint lists directly (no attendance file): the daily data list (one row per warehouse per day β
Entry_Date, WHs_Desc, Region_Desc, BU_Decs, Outbound / Inbound / Returns volume, Orders, hoursβ¦), the WHs headcount list (Budget_HC, Nr_TACCS_HC) and the targets list (Area_Desc, Region_Code, WHs_Code, Target Value, TargetOT). Pick each list, load its columns and map them below.Daily data columns
| Report field | SharePoint column |
|---|
WHs headcount columns
| Report field | SharePoint column |
|---|
Targets columns
| Report field | SharePoint column |
|---|
π
Daily Update Tracker β which places update their data every day
Pick the SharePoint list that receives the daily records, then the date column and the place / location column. The grid shows, for every day of the month, whether each place has submitted data (β
number of records) or not (β 0).
π§© My filtersβ build your own filters on any column of the list; they apply to the grid, the counts, the Excel and the e-mail.
Checking updates...
0%0
π Upload overview
Bar: β new Β· β already in the list Β· β duplicate in file
1 Target SharePoint List
Pick the list that cumulative Excel rows will be pushed into...
1 SharePoint Source
Fetching data...
0%0 records
1 SharePoint Source
Fetching data...
0%0 records
1 Select List
Choose any SharePoint list to browse, add, edit, delete, or bulk-edit records. Autosuggest uses the last 10,000 rows.
Loading records...
0%0 records
β° Scheduled Exports
β± Active Timers
No active timers.
β« Scheduled Uploads
β± Active Upload Timers
No active timers.
π€ Profiles
π Users & Roles
Manage who can sign in and what they can do. Use π Lists to assign which SharePoint lists each user can see and edit.
| Username | Display Name | Role | Email / Line Manager | List Access | Created | Last Sign-in | Actions |
|---|
π§ Email Notifications
π€ Upload Destinations & Data Sources ADMIN ONLY
One place where the administrator decides, for every βupload to SharePointβ action in the system, which list receives the data and how each output field maps to that listβs columns. Users then just press Upload in their section β they no longer pick a list or map anything. It also holds the data sources β the SharePoint lists that sections read from (e.g. the Staff Rosterβs staff master list) and which column feeds which field. Use Export / Import to back up this file or move it to another computer (same idea as the Users file).
| Section | Type | Action | SharePoint list | Fields mapped | Status |
|---|
π§ Define & map each destination
π Switchboard (main page) appearance ADMIN ONLY
The Switchboard is the main page of the system. Choose its style, accent colour, font, size and corner roundness. Changes preview live; press Save to keep them on this browser, or Copy default to make them the starting look for every browser.
Follows the π button in the top bar.
π· System name, logo & side-panel font ADMIN ONLY
Change the name and logo shown on the sign-in page, the side panel and the browser tab. Logo = a short text / emoji, or an uploaded picture (PNG / JPG / SVG, shrunk automatically). Saved on this browser; use Copy default and paste the result over
BRAND_DEFAULT in the HTML file to give it to every user.π Menu item sample
βΎ Data Β· Warehouse
The side menu changes immediately so you can compare the styles; press Save to keep the one you like.
π Login control β SharePoint user list ADMIN ONLY
Each user is checked against a SharePoint list every time the system opens and every 5 minutes. A user whose Allow column is not Yes / true (or who is not on the list) is locked out immediately β switch the column to No to deactivate anyone, any time. Matching uses the user's e-mail / username / Microsoft account against any text, e-mail or person column of the list.
π Global Connection Settings ADMIN ONLY
These values are shared by all users. Only administrators can view or change them.
π Shared token file β publish once, every user picks it up automatically
Admin: save the Site URL + token above, press Export token file and put the file (
sp_token.json) in a shared location β e.g. the same SharePoint library / folder as this HTML. Users then get the token without asking: the app reads the file on start and every 10 minutes. Re-export when the token expires. Anyone who can read the file can use the token β restrict the folder to your team.π Microsoft sign-in β no pasted token; each user signs in with their own account
Register the app once in Microsoft Entra (Azure AD) β App registrations β New β Single-page application redirect URI = the address this page is opened from (https:// or http://localhost). API permissions: Microsoft Graph
Sites.ReadWrite.All + User.Read (and SharePoint AllSites.Write for attachments), then grant admin consent. Paste the two IDs below, or fill MS_AUTH_DEFAULT in the file so every user gets them.β UoM conversion list β drives the βQty in UoMβ column of the trip screens (admin)
π¨ Send email directly β adds a βπ Send nowβ button to every Share-by-email window
A web page cannot log in to a POP3/SMTP mail server, so choose one of these two ways. Microsoft 365: the mail is sent from the signed-in user's own mailbox through Microsoft Graph β no password is stored. One-time admin step: Entra β App registrations β your app β API permissions β Add β Microsoft Graph β Delegated β
Mail.Send, then grant admin consent (needs the Microsoft sign-in above, opened from https:// or http://localhost). Power Automate: create a flow βWhen an HTTP request is receivedβ β βSend an email (V2)β, paste its POST URL here. Anyone who has the URL can send mail through the flow, so keep the file inside your organisation.Power Automate flow set-up (copy/paste)
1) When an HTTP request is received β Request Body JSON Schema:
3) Save, copy the generated HTTP POST URL into the box above. Sent as: the flow owner (or use βSend an email from a shared mailboxβ).
{"type":"object","properties":{"to":{"type":"string"},"cc":{"type":"string"},"subject":{"type":"string"},"bodyHtml":{"type":"string"},"sender":{"type":"string"},"attachments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"contentType":{"type":"string"},"contentBase64":{"type":"string"}}}}}}
2) Send an email (V2): To = to, CC = cc, Subject = subject, Body = bodyHtml (switch the editor to code view </>), Attachments β switch to array input and use attachments with Name = name, Content = base64ToBinary(item()?['contentBase64']).3) Save, copy the generated HTTP POST URL into the box above. Sent as: the flow owner (or use βSend an email from a shared mailboxβ).
β Personal Settings
β How to Use
π¦ Warehouse β Batch Allocation (FEFO)
Load the order file, optionally group it, map the fields (file β batch list), then click π Lookup Batch (FEFO) to allocate quantities against the batch list using First-Expired-First-Out. Results can be printed, exported, or uploaded.
β Field Mapping
Map the file's SKU, UOM, and Qty Requested columns, and the batch list's SKU, UOM, Qty Balance, Batch Code, Prod Date, and Expiry Date columns. Auto-Detect tries to guess; override any field manually. Mapping is saved per batch list, per user.
β¬ Uploader β Group & Order
The Uploader keeps its own Group section for controlling the order rows are pushed into SharePoint.