2 · Load the weekly master order export (ref: Master_Order_Export)
reads .xlsx / .xlsm / .csv in your browser · nothing is uploaded anywhereETD is fixed to vendor_pickup_date. The parser searches the sheet for that column by name, so it does not matter which position it sits in or how far down the header row moves. Ex-factory, the four-week horizon and every inspection window are derived from it. If the column is renamed or removed the file is rejected with a message rather than a wrong plan.
Settings store
hidden — every one of these is edited in the Planning rules box at the top3 · The plan
Final confirmation
Backup
everything this planner has saved, in one file · keep it safe, or take it to a new computerHistory & performance
saved weeks only — no files needed to read thisGuidebook
Production Merchandiser (PM) Visit PlannerDemo version
Production Merchandiser (PM)
Visit Planner
Guidebook
Every step, every button, and every number on the board.
Ten steps from the weekly order export to a finalised week.
Contents
- What you need before you start
- The ten steps
- Open the planner
- Set the plan week and check the rules
- Load the PM allocation
- Load the master order export
- Generate the plan
- Read the board
- Check the weekly plan
- Adjust it by hand
- Finalise and send it out
- History, backups, and editing a week you already saved
- Every card on the board
- The tabs under the board
- Your two Excel files
- If something goes wrong
Save as PDF opens the print dialog already set to A4 portrait. Choose Save as PDF as the destination, and under More settings untick Headers and footers so the file path does not print at the bottom.
What you need before you start
1 · The PM allocation file
One row per factory, saying who covers it. Columns: Team, Production Merchandiser (PM), Email, Supplier Name, Factory Name, Factory Zone. Zone holds the upazila, one word.
This is the source of truth for who visits what. A factory missing from it is counted but never planned.
No file to hand? The planner keeps a built-in list on the PM Allocation screen and uses it until you load a file.
2 · The master order export
The weekly master order export, Master_Order_Export. The planner reads 14 columns out of it and finds them by name, so the layout can move. ETD is always vendor_pickup_date.
Roughly 113,000 rows and 31 MB. The load strip shows how long it has left.
Nothing leaves your computer. Both files are read on this computer, inside the planner. The page makes no network request of any kind, so it works with the internet disconnected.
The ten steps
Open the planner
Double-click the HTML file, or open PM Visit Planner from the Start menu if you use the desktop application. The top bar carries the six screens: Import files, PM Allocation, Planning rules, Plan, History and this Guidebook. Plan stays locked until the allocation and the order export are both in.
The Theme list beside them sets the colours: Theme: Auto, Theme: Light, or one of five dark themes. Auto follows your Windows light or dark setting. Your choice is remembered.
Each file tile has three buttons. Lock stops that file being replaced or cleared by mistake, including a file dropped on the page. Change… opens the file chooser. Clear unloads the order export, or takes the allocation back to the built-in list. A lock lasts until you close or reload the planner.
Set the plan week and check the rules
Open the Planning rules screen. The rule book is already open. The left panel holds the 23 settings you decide. The right panel holds the 11 rules the planner always applies, read only. It stays one click away in the top bar while you work on the plan.
The only thing you normally change is A1, the plan week. Set it to the Saturday the visits start. Everything else follows: the ETD range opens seven days later and runs four weeks, because a factory ex-factories one week before ETD.
A setting sitting away from its default carries an amber dot, and the header counts them. Press Save these rules to lock them so nothing drifts between weeks.
Load the PM allocation
The planner always has an allocation. With no file loaded it uses the built-in list, and the first tile says Built-in.
To use a workbook instead, press Load PM Allocation Excel File and choose it. The file wins for this session only. The built-in list is not changed. The bar then reports what it read: factories, production merchandisers, teams and zones.
Review / edit allocation opens the full table. Fix a row, add a factory, remove one, or tick who is on leave which day. Save as… (replace your file) writes the corrected sheet back over your file. Download .xlsx saves a copy to your Downloads folder instead.
The PM Allocation screen shows the list in use, built-in or from a file. Change a row in place, Add a factory, or remove one with ×. Production merchandisers opens the people: name and email, and Add a production merchandiser.
Save to the built-in list keeps your changes on this computer. Undo my changes goes back to the last save. Export as Excel and Import an Excel into the list move the list between computers. With a file loaded, Copy this file into the built-in list makes that file the new built-in list, and Use the built-in list instead stops using the file. The file itself is never changed.
The search box filters the table by factory, supplier, PM, team or zone. In Production merchandisers, × removes a person. His factories stay in the list with no PM until you give them to someone else.
Load the master order export
Drop the DD export on the box, click the box, or press Change… on its tile. A file with the same name as last time is read again, so this week’s export saved over last week’s loads as normal. It is read in the background so the window stays alive, and it tells you where it is: unzipping the workbook, looking for the header row, then reading the order rows.
The tile counts the seconds and estimates the rest. The first estimate is a guess. After that it uses this computer’s own speed.
The bar stops short of the end until the file is really in. When it finishes, the tile shows the row count, the sheet and the real time taken. The third tile turns green: Ready to plan. The column map confirms every column it needed was found.
Check this line. If it says fewer than 14 of 14, open it and see what is missing. A renamed column in the export is the usual cause.
Generate the plan
Press Generate plan, at the top or on the Ready to plan tile. First the planner checks the factory names.
If an allocation name does not match the order file exactly, Check the factory names before planning opens. Where the first two words fit one factory in the order file, its spelling is offered and already ticked. Where they fit more than one, you pick. Where two rows point at the same factory, you choose which production merchandiser keeps it. Nothing changes until you press Apply and continue. If every name matches, this window does not open.
Edit beside a name opens the PM Allocation screen, searched to that factory. Edit on the PM Allocation tab closes the window so you can fix names by hand. With the built-in list in use, Save these corrections to the built-in list is ticked, so a corrected name is right from then on and is not asked again. Untick it to correct the names for this session only.
The allocation check opens next. This is the last look before the week is built: who covers what, and who is away. Fix anything wrong here, then press Allocation is correct, generate the plan.
The plan itself builds in about a second.
Read the board
One sentence at the top tells you whether the week is workable. Then four bands: the verdict, the demand behind it, what needs a decision, and which fill rules were needed.
Tiles in Needs a decision are buttons. Click one and the tab holding those rows opens.
Check the weekly plan
One row per production merchandiser, one column per visit day. Every PM on the allocation keeps a row even when the week gave him nothing, so an empty row is a signal rather than a missing name.
Each card carries the factory, then Upazila: Department, then one line per ETD band, then the total and a few sample PO numbers. The card describes the whole factory over the ETD range, not only what is due on that one day.
Adjust it by hand
Open Weekly plan (Customized). This is a copy. The auto plan is never changed, so you can always compare.
- Move a visit. Drag it, or click the card then click where it goes.
- Remove one. The × on the card.
- Add one. + Add visit on any day, then pick the factory.
- Force a move the rules refuse. Hold Shift while you drop. It is marked as an override so everyone can see it was deliberate.
- Undo steps back through the last forty changes.
Add visit shows what is actually running at each factory, so you are not picking blind.
Finalise and send it out
The bar at the foot of the plan carries everything that leaves the planner. Choose the auto plan or the customized one first, then:
- Preview what each PM receives shows the message before anyone gets it.
- Save this week to history files it permanently as version 1.
- Add to Office 365 calendar downloads one .ics holding every visit. Open it and Outlook creates the events. A visit books the working day; two factories on one day split it evenly.
- Confirm and create the Outlook drafts writes one draft per PM into your Downloads folder. Open each and press Send.
- Export plan CSV, in the top bar on the Plan screen, gives one row per order line at each factory visited.
History, backups, and editing a week you already saved
The History screen keeps every finalised week for good, and the planner reads it to rotate factory visit days. It has four views, and a Period list from the latest week to every saved week, or a custom range.
- By production merchandiser and By factory count visits, completed and missed over the period. A factory seen every week may be over-covered; one seen once may be under-covered.
- Visits, mark done lists every visit. Set each one to Completed or Missed as the week goes, and the other views count from it. Mark every shown visit completed does the whole list at once.
- Saved weeks is the table of weeks and their versions, below.
- Download summary CSV gives one row per visit in the period.
Each week carries its versions as chips. The newest is outlined green and is the one the plan and the rotation use. Each chip has its own ×, so you can delete one version without touching the others. Deleting the last version removes the week, and the × at the end of a row deletes the whole week. The planner rotates visit days against this history, so deleting a week changes the next plan.
Clicking a version loads it into the customized grid. Add, remove and move as usual. Saving writes a new version and leaves the one you opened exactly as it was.
A version only opens when the plan on screen is that same week. The editor needs live order numbers for the picker and the rule checks. Set the plan week to that date, generate, then open the version.
Backups. The top of the History screen carries Back up planner data. It saves everything the planner keeps on this computer in one .json file: every saved week with all its versions, the rule book, the built-in PM list, the customized plan in progress and the colour theme. The file goes to your Downloads folder. Keep it on a shared drive, and make one before you change computers.
Import a backup… reads such a file and shows each part in the backup next to the same part on this computer. Replace with this backup is a full restore, not a merge: the parts in the file replace the same parts here. Before it writes anything, it downloads a copy of what is here now, PM Visit Planner backup before import, so an import can be undone by importing that copy. The page then reloads. Load the order export again to plan.
A backup made in the desktop application with File > Back up planner data imports here too. The load speed the planner measured is not in a backup, because a new computer has its own speed.
Every card on the board
Verdict · the three that decide the week
- Coverage, first ETD week
- Of the work that is genuinely yours this week, how much a PM will actually see. Counted as order lines whose ETD falls in the first week of the range, and only at factories that have a PM on the allocation. Week one because the factory ex-factories seven days before ETD, so those goods are finishing now. The movement reads 4 pts (+) against the last saved week, or 4 pts (−) in red. Green from 70%, amber 40 to 69, red below 40.
- PM-days booked
- How much of the team's week is used. Six PMs times five visit days is 30 days available. The sub-line gives the visit count, so more visits than days means some day carries two factories. A number below capacity means a PM has an empty day, which is a sign his allocation had nothing due.
- Demand with no PM
- The share of all pieces in the ETD range sitting at factories nobody on the allocation covers. Read it as an allocation question, not a performance one. Either the export reaches beyond Dhaka office scope and needs a filter, or the factory names are not matching the allocation sheet.
Demand in scope · where the numbers came from
Every count here is order lines, one row of the export. A PO split across three models counts three times, because that is how the work arrives at the factory.
- Order lines in range
- Every live order line with an ETD anywhere in the range, at every factory, allocated or not. The whole pool the planner looked at.
- Due first ETD week
- The slice with an ETD in the first seven days of the range. This is the work this visit week exists for. The other three weeks only decide which factory is more urgent.
- At an allocated factory
- Of those, the ones at a factory that has a PM. Labelled the coverage base because it is the denominator of the coverage tile. The gap between this and the line above is work nobody was assigned.
- Past ETD, dropped
- Order lines whose ETD fell in the seven days before the plan week started, and the tile prints those dates. Those goods have left the factory, so there is nothing to inspect. Anything older is not counted at all: the export carries a tail going back years that says nothing about this week. The window follows the plan week on its own and never needs setting.
- Excluded by status
- Rows whose status sits outside your filter of New and Ordered. Delivered, In transport, In port, Planned to DC, Booked and Cancelled all land here. Counted across the whole file, not just the range, which is why it is large.
- Factories skipped
- Factories on the allocation with no orders at all inside the range, so nobody is sent. The same names appearing week after week means that allocation needs rebalancing.
Needs a decision · click a tile to open its tab
This band only appears when something in it is not zero. On a clean week it disappears.
- Factories with orders, no PM
- Factories with work in this range and no line on the allocation sheet. Opens the Factories with no PM tab, biggest first. The same fact as the Demand with no PM tile, as a count instead of a share.
- Demands that would not fit
- Visits that passed every rule but had no free PM-day left to sit on. Opens Could not be scheduled, which names each one and the reason. A high number with every day booked means the week is simply full.
- PMs with no visit
- Production merchandisers the week gave nothing. Opens the load tab. Appears only when it happens.
- Lines in range, factory not on the allocation
- Order lines, not factories, counted inside the ETD range so it lines up with the rest of the board. The figure under it counts the same thing across every ETD, past and future, so use the first number when you compare and the second only to see the full backlog.
How the days were filled
Work is placed one factory a day under the strict rules first. Only when a day would otherwise stay empty does the planner reach for these, in order. A green chip means the rule was needed. Show detail opens the counts. Many zeros is a good sign.
- Spare days put to work
- A PM had no priority factory left, so he was given the biggest job nobody had reached. His own team and a zone he is already working are preferred.
- Overflow visits used
- A PM took work from another team because his own factories had nothing due. Controlled by the overflow rule and its tick box.
- Visits covering leave
- Somebody was away and another PM picked up his factory, his own team offered first.
- Return visits, last resort
- Back to a factory already seen this week, on different styles and POs, never on days that touch, and only where the supplier still had a day left.
- Second factory, light day
- Two small factories on one day. The same zone is preferred so nobody crosses the city twice.
- No blank day, rules relaxed
- The last rung. It runs only when every other route failed and a day would still be blank.
The tabs under the board
- Weekly plan (Auto)
- The planner's own answer. Never changed by hand, so it is always there to compare against.
- Weekly plan (Customized)
- Your working copy. Add, remove, move, override, undo. The count on the tab is how many changes you have made.
- Production Merchandiser load
- How the week landed on each person: visits, pieces, days used, days empty.
- Factories with no PM
- Factories with orders in the range and nobody assigned, biggest first. This is the list to work through with the allocation sheet.
- Could not be scheduled
- Visits that qualified but had no day left, with the reason on each.
- Allocation
- The allocation as the planner read it, so you can check a factory without opening Excel.
- History & performance
- Saved weeks, versions, and the done and missed record per PM and per factory.
Your two Excel files
PM allocation
| Column | Holds | Matters because |
|---|---|---|
| Team | Denim, Shirt/Light Woven, Sweater, Knit | The team belongs to the PM, not the factory. Anything else, blank included, becomes Knit. |
| Production Merchandiser (PM) | The person's name | One row per factory he covers. |
| Office email | Used on the Outlook drafts and the calendar invitations. | |
| Supplier Name | The supplier the factory belongs to | Drives the cap of two visit days a week per supplier across all its factories. |
| Factory Name | As it appears in the export | This is what the order rows are matched on. A mismatch here is why a factory ends up with no PM. |
| Factory Zone | The upazila, one word | Keeps a doubled day inside one area. |
The built-in list uses the same six columns. Export as Excel writes them, and Import an Excel into the list reads them, on the PM Allocation screen.
Master order export
Found by name anywhere in the sheet, so a reordered export still works. Three are required: ETD, PO number and factory. The rest sharpen the plan.
| Field | Looked for as | |
|---|---|---|
| ETD | vendor_pickup_date | required |
| PO number | order_id | required |
| Factory | factory | required |
| Supplier | supplier | |
| Agent / office | agent_id | decides Dhaka office against agent |
| Quantity | exact_qty | not total_of_elements |
| Status | status | and order_status |
| Model / style | style_id | drives the minimum styles rule |
| Brand, department, class, subclass, origin | brand, dept, class, subclass, origin | Bangladesh origin only |
If something goes wrong
- No vendor pickup date column found
- The planner searched every sheet and the first 30 rows and could not find it. Check the export still carries that column. Without ETD nothing can be calculated.
- Columns missing from the export
- The header row was found but a required column is not there. The message names it. Usually a renamed column.
- Fewer than 14 of 14 columns matched
- The plan still builds, but a missing column weakens it. Open the column map and see which one.
- The plan is not ready yet
- The order export is not loaded, or the allocation is empty. The third tile at the top of Import files says which.
- A file will not change or clear
- It is locked. Press Locked on its tile at the top of Import files to unlock it.
- Check the factory names before planning opens
- A factory name in the allocation does not match the order file exactly. Choose the right name, or leave it as typed. A name left unmatched gets no visits.
- A factory you expected is on Factories with no PM
- Its name in the export does not match the allocation. Copy the name from the export into the PM Allocation screen, or into your Excel file and reload it.
- A version will not open for editing
- The plan on screen is a different week. Set the plan week to that date, generate, then open the version.
- Moving to a new computer
- On the old computer, open History and press Back up planner data. Copy the file across. On the new one, open History, press Import a backup… and choose the file.
- History is empty after a reinstall or on another browser
- Saved data belongs to one browser, or to the desktop application, on one computer. Import your latest backup from the History screen.
- The rules are locked
- They were saved on purpose so they cannot drift. Press Edit the rules to unlock them.
Everything runs on this computer. Nothing is uploaded.
What each production merchandiser will receive
Add a visit
What the Excel files must look like
1 · Allocation file PM Allocation 2025.xlsx
One row per factory. Six columns, exactly these headings.
| Team | Production Merchandiser (PM) | Supplier Name | Factory Name | Factory Zone | |
|---|---|---|---|---|---|
| Denim | PM Denim One | pm.denim1@example.com | Alpha Denim Ltd (Demo) | Alpha Denim Ashulia (Demo) | Ashulia |
| Denim | PM Denim One | pm.denim1@example.com | Alpha Denim Ltd (Demo) | Alpha Denim Savar (Demo) | Savar |
| Denim | PM Denim One | pm.denim1@example.com | Bluewave Jeans Ltd (Demo) | Bluewave Jeans Ltd (Demo) | Gazipur Sadar |
| Denim | PM Denim One | pm.denim1@example.com | Riverside Denim Mills (Demo) | Riverside Denim Mills (Demo) | Gazipur Sadar |
| Column | Required | What it must contain |
|---|---|---|
| Team | optional | Denim, Shirt/Light Woven, Sweater or Knit. Anything else, blank included, is read as Knit. |
| Production Merchandiser (PM) | required | The person's name. Repeat it on every one of his rows. This is the key that groups the factories. |
| optional | Office email. Shown on the roster and saved back unchanged. | |
| Supplier Name | optional | The supplier or buying house the factory ships under. Read from the file and written back, but never used to match orders. Matching is on Factory Name only. |
| Factory Name | required | Must match the factory in the order export. Case, punctuation, Ltd/Limited, (Pvt) and the [BD] suffix are all ignored when matching. |
| Factory Zone | optional | Ashulia, Tongi, Konabari, Savar or any zone you use. Without it a factory can never be paired into a two-factory day. |
Several sheets are fine. The planner lists every sheet it can read and lets you pick. Save as… writes the file back in exactly this shape.
2 · Master order export Master_Order_Export.xlsx
Straight from head office, unedited. The planner finds each column by name, wherever it sits, and the header row can be anywhere in the first 30 rows of any sheet.
| Column | Required | Used for |
|---|---|---|
| vendor_pickup_date | required | ETD. Everything is planned backwards from it. |
| order_id | required | The PO number. |
| factory | required | Matched against Factory Name in the allocation. |
| supplier | optional | Fallback when the factory name does not match. |
| agent_id | optional | Dhaka Office or an agent. Drives the scope setting. |
| exact_qty | optional | Pieces, for the quantity weighting. |
| status | optional | Live orders only. Delivered, cancelled and in-transport drop out. |
| style_id | optional | Style, so the same style is not inspected twice in a week. |
| class, subclass, dept | optional | Used to guess a factory's team on the Factories with no PM tab. |
| origin_country | optional | Bangladesh rows only. |
If a required column is missing the file is rejected with a message naming it, rather than a plan built on the wrong dates.
Confirm the PM allocation
| Team | Production Merchandiser (PM) | Supplier Name | Factory Name | Zone | POs in range |
|---|
PM Allocation
who visits which factory · the planner reads this list whether it came from an Excel file or from the list kept here| Team | Production merchandiser | Supplier name | Factory name | Zone |
|---|
Two panels. Settings you set on the left, in the order you decide them. Rules the planner always applies on the right, read only. A setting sitting away from its default carries a dot. Change anything, then press Generate plan.