Instructions
How the sheets connect, what Late and red mean, and the sample week’s check figures so you can tell the file calculated.
Exact Apps / Production scheduling / Template
A machine shop production schedule you can fill in this afternoon.
This job shop scheduling spreadsheet is one row per routing step, a list of machines with hours per day, and a Monday–Friday grid. A day turns red when the hours are over that machine’s capacity. A step is marked late when it is scheduled after its due date. The file does not move jobs for you. You still decide what gives up the machine.
Works in Excel and Google Sheets. Sample jobs are included so you can see a red day and a late job before you replace them. No email.
| Machine | Mon | Tue | Wed | Thu | Fri | Cap |
|---|---|---|---|---|---|---|
| Haas VF-2 | 6.5 | 4.0 | 9.5 | 5.0 | 3.5 | 8 |
| Mazak QT-250 | 2.0 | 7.5 | 7.5 | 4.0 | 0.0 | 8 |
| Weld cell | 10.0 | 6.0 | 4.0 | 5.0 | 0.0 | 8 |
| Saw | 2.0 | 0.0 | 1.5 | 0.0 | 0.0 | 6 |
| Inspection | 0.0 | 0.0 | 0.5 | 2.5 | 1.0 | 4 |
Four sheets. Yellow cells are where you type. Gray cells are formulas. The sample customers, jobs, and machine names are made up.
How the sheets connect, what Late and red mean, and the sample week’s check figures so you can tell the file calculated.
Job number, customer, part, quantity, due date, and a Rush / High / Normal flag. Each routing step is its own row: operation, machine, setup plus run hours, and the date you plan to run it.
Machine name, hours per day, and days per week. Weekly capacity is those two numbers multiplied. A second shift is a larger hours-per-day number, not a second row, unless it really is a second machine.
A Monday–Friday grid. Each cell sums hours for that machine on that date and compares them with the hours you said the machine has. Week load sits next to week capacity.
Open it in Excel, or in Google Sheets with File → Import. Then replace the sample. The formulas are already filled down the blank rows.
Step 1
Save job-shop-schedule-template.xlsx. Nothing is emailed to you, and the sample week is already in the Jobs sheet so the colors are visible on first open.
Step 2
On Machines, type the names the floor uses. Hours per day is time the machine can run, after breaks it is actually down. Days per week is usually 5, because the grid is Monday–Friday.
Step 3
On Schedule, cell C3 is the Monday of the week you are planning. The five date columns follow it. If C3 is not a Monday, the cell beside it says so.
Step 4
One row per operation, not one row per job. Repeat the job number, customer, part, quantity, and due date. Op numbers should follow the order the part travels: saw, then mill, then weld.
Step 5
A red day means that date’s hours are over the machine’s hours per day. Days over counts them. Hours over week can still be zero. Look at the day, not only the week total.
Step 6
Anything marked Sample is fictional, including Northline, Ridge Fab, and the Haas VF-2 example. Delete those rows, or type over them and clear the Sample cell, before you post the week on the floor.
The sheet will not pick which job loses the slot. It adds every hour you put on that machine that day, then shows you the sum.
Add a row for each routing step and set Priority to Rush. Put the scheduled date on the day you hope to run it. Rush is a label and a filter. It does not reserve capacity. A rush hour counts the same as any other hour.
If Wednesday on the Haas is already 7 hours and the rush step is 2.5, the cell becomes 9.5 against an 8-hour day and turns red. Two jobs wanted the same machine. Move the other job’s date, or split the rush step into two rows on two dates.
After you move a date, read Timing. Late means the new date is after the due date. On time includes the due date itself. You decide whether the customer promise changes or a different job moves.
A day that looks open often is not, once setup is included. The Hours column is setup plus run for that step on that day. A 2-hour setup and a 4-hour run is 6, not 4.
If the machine cell does not match the Machines sheet, On machine list says “Not on Machines sheet” and those hours never reach the grid. Spaces matter. Capitalization does not. “Haas VF-2” and “Haas VF2” are different machines to the formula.
The file will not notice if weld is dated before the saw. Read down one job number and check the op numbers. It also will not hold a job for missing material. If the step cannot start, leave the date blank and Timing will say Unscheduled.
A lot of shops can run the week from this file. Some cannot, and the failure is usually the container, not the arithmetic.
Two people save a copy. Monday starts with a search through email for “schedule FINAL v3.” The formulas are only right in the copy one supervisor remembers not to overwrite.
Inserting one job should push the others later. In a sheet, you hunt for the next open cell yourself. The red highlight tells you the day does not fit. It does not repair the rest of the week.
If the only view is a file on one computer, the schedule still lives in that person’s head the moment they walk into a meeting. More than one shift makes the single Monday–Friday grid a poor picture of the floor.
That is usually the point where the week should not live in a file anymore. The same information — machines, hours, due dates, and what a rush order moves — can sit next to the ERP you already run. If you want that, the production scheduling page is where to send the schedule you use now. If this spreadsheet still matches how you plan, keep using it.
It is not finite-capacity software. It does not level the load, sequence a routing, or connect to JobBOSS, Epicor, Global Shop, or E2. It checks the hours and dates you type, for one Monday–Friday week.
The workbook has four sheets: Instructions, Jobs, Machines, and Schedule. Jobs holds one row per routing step, with job number, customer, part, quantity, due date, priority, operation, machine, and hours. Machines holds each machine’s hours per day and days per week. Schedule adds those hours onto a Monday–Friday grid and compares them with capacity.
Yes. The formulas are SUMIFS, INDEX/MATCH, COUNTIF, COUNTIFS, IF, and WEEKDAY, which both Excel and Google Sheets calculate. In Google Sheets, use File → Import and upload the xlsx. Conditional formatting is included. If a color does not import, the Timing column and the Days over column still show the same result as text and numbers.
Add one row per step. Repeat the job number, customer, part, quantity, and due date. Number the operations in the order the part actually travels. Put setup time and run time together in Hours. If a step takes more than one day, use two rows and two scheduled dates.
The Timing column says Late when the scheduled date is after the due date. A step scheduled on the due date is On time. If the due date or the scheduled date is blank, Timing says Unscheduled, and those hours are not added to the week.
On the Schedule sheet, a day cell turns red when that day’s hours are greater than the machine’s hours per day. Days over counts how many days that happens. Hours over week is only the weekly total, which can be zero while a single day is red.
Add the rush steps, set Priority to Rush, and put them on the date you want. If that day turns red, move another job’s scheduled date or split the rush step across two dates. Then recheck Timing on every step you moved. The workbook will not pick which job gives up the machine.
The grid only counts rows whose machine name matches the Machines sheet and whose scheduled date matches one of the five dates. A typo, an extra space, or a blank date leaves the hours off the grid. The On machine list column says Yes or Not on Machines sheet.
The grid is Monday through Friday for the week starting in cell C3 on the Schedule sheet. Saturday is not a column. Note weekend hours on the job, or fold them into Friday and remember they are weekend hours. A second shift is a higher Hours per day, for example 16, not a second row unless it really is a second machine.
No. The download is the xlsx file itself. Nothing sits in front of the file.
The sample week of March 16, 2026 is in the file: the weld cell is at 10.0 hours on Monday against 8, the Haas VF-2 is at 9.5 on Wednesday against 8, and job 1710 has a weld scheduled the day after it was due. Delete those rows when you are done looking.
If you would rather not keep maintaining the sheet, send the schedule you already run. Exact Apps will turn it into a 24-hour prototype around your machines. Your ERP stays where it is. The template above is still yours either way. You can also read how that prototype works first.
We'll send a prototype of this production week within 24 hours.