Exact Apps / Production scheduling / Template

Free Excel template · job shops and machine shops

Free job shop schedule template for Excel

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.

job-shop-schedule-template.xlsxSample week of Mar 16
1 late operation2 days over daily hours0 machines over the week
Hours on each machine for the fictional sample week. Red cells are over that machine’s hours per day. Job 1710 step 3 is late (due Mar 17, scheduled Mar 18). Job 1944 has no date, so its 3 hours are not in this grid.
MachineMonTueWedThuFriCap
Haas VF-26.54.09.55.03.58
Mazak QT-2502.07.57.54.00.08
Weld cell10.06.04.05.00.08
Saw2.00.01.50.00.06
Inspection0.00.00.52.51.04
What you get

What this machine shop production schedule template tracks

Four sheets. Yellow cells are where you type. Gray cells are formulas. The sample customers, jobs, and machine names are made up.

Instructions

How the sheets connect, what Late and red mean, and the sample week’s check figures so you can tell the file calculated.

Jobs and routing

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.

Machines

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.

Schedule

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.

Use it this week

How to use the job shop scheduling spreadsheet

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

Download the file

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

Replace the machines

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

Set the Monday

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

Enter routing steps

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

Read the red cells

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

Delete the sample rows

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 hard part of the week

Rush jobs and machine conflicts

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.

Mark the rush, then place it

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.

A red day is the conflict

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.

Recheck the promise

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.

Put setup in the hours

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.

Watch the name, not just the hours

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.

Sequence is still your job

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 real limit

When a spreadsheet stops being enough

A lot of shops can run the week from this file. Some cannot, and the failure is usually the container, not the arithmetic.

Nobody knows which file is the week

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.

A rush edit means retyping a chain of cells

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.

The floor cannot see it without the workbook

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.

What the file will not pretend to be

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.

Using the file

Questions about the template

What is in this job shop schedule template?

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.

Does this spreadsheet work in Google Sheets and in Excel?

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.

How do I enter a job that has several operations?

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.

How does the sheet mark a late job?

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.

How are overloaded machines shown?

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.

What should I do when a rush job needs a machine that is already full?

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.

Why does a job not show up on the weekly grid?

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.

Can I plan a Saturday shift in this file?

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.

Do I need an email address to download the template?

No. The download is the xlsx file itself. Nothing sits in front of the file.

Download

Take the spreadsheet. No email.

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.

Optional

Want it built around your machines instead?

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.

Also

Other workflows, same idea