Open PO tracker and open purchase order report

An open PO line can be confirmed, slipping, late or silent, and a status of “open” hides which. Track each line by its dates and you see which ones need a call today, and which will run you out of stock before the parts arrive.

What is an open purchase order report?

An open purchase order report lists every PO line you haven't fully received, with the date you need it, the date the supplier committed and any later dates, so you can see which lines need a call today. Tracking those lines from the day you send the PO to the day the parts are on your shelf is open PO tracking.

Approval tracking is a different job: it follows who requested and approved a PO and whether the invoice matches. Some finance reports also keep a PO open until it's fully invoiced. For a buyer or planner at a manufacturer, the lines still waiting for parts decide whether the build goes ahead, so they get most of the follow-up time.

Record four dates on every PO line

A single due date can't tell you whether a line is on time. Keep the date you requested, the date the supplier first committed, each revised date in order, and the date the parts arrived. When the supplier changes a date, add the new one beside the old one. You can then count how many times a line moved, which tells you how far to trust the supplier's next date.

Fig. 1: The four dates on a PO line

Illustrative example: one line of M8 flange bolts

DateWho sets itExampleWhat it tells you
RequestedYou, when you create the POOct 16Whether your build is at risk
CommittedThe supplier, in the acknowledgementOct 14The supplier's first promise, the baseline for their reliability
RevisedThe supplier, each time the date changesOct 21, then Oct 28How often and how far the date moved: twice here
ReceivedYour receiving dockOct 3014 days late against your need, 16 against the first promise

Days late against the requested date tells you whether the build is at risk. Days late against the first committed date tells you how far the supplier drifted from their own word, and that number belongs on a supplier scorecard. Promise date vs need date covers which one to score against. In many ERPs the due date on a PO is the date the buyer typed, which is your requested date, so give the supplier's commitment its own field.

Read each line's state from its dates

Compare the dates with today and every open line falls into one of five states:

  • Unacknowledged: the supplier hasn't given a date. Ask for one within two business days of sending the PO, and call if email gets no date. Purchase order acknowledgement covers what a usable reply contains.
  • Confirmed: the supplier's latest date is on or before your requested date and has never moved later. Re-confirm it a few days before it's due.
  • Slipping: the supplier's latest date falls after your requested date, or it has moved later at least once.
  • Late: the supplier's latest date has passed and you haven't received the parts.
  • Received: the parts are booked in. A partial receipt leaves the rest of the line open, so give each scheduled delivery its own row.

Follow up first where stock runs out first

Ranking by days late puts the wrong line first. A carton order five days late can wait when you hold a month of cartons, while a bolt order two days late with three days of bolts left needs a call today. So compare how long your stock lasts with how long the parts take to arrive.

Fig. 2: Days of cover
days of cover=on-hand stock÷daily use
Fig. 3: Slack
slack=days of cover−days until the supplier's latest date

When slack drops below zero, you run out before the parts arrive, and that line goes to the top whatever its state. Then come late lines, lines with no committed date, slipping lines, and confirmed lines due within three days. Inside each group, the line with the least slack leads. A line with no supplier date takes your requested date as its best case. If stock runs out even then, start on a recovery plan while you wait for the supplier's answer. Expediting lists the options when the supplier can't pull the date in.

Track your open POs

The tracker opens on an illustrative set of PO lines, so you see a full result before you change anything. Paste rows from a spreadsheet or upload a CSV, and the follow-up order, the reasons and the lead times update at once. Your lines stay in this browser.

Illustrative example. 13 made-up lines from a small machine builder, as of Oct 19. Edit any cell, or load your own lines. They stay in this browser.

Follow up today
6
of 7 open lines
Stock runs out first
2
cover ends before the parts arrive
Late
1
past the supplier's date and not yet received
Acknowledged
85%
11 of 13 lines have a committed date
Dates moved
18%
2 of 11 committed lines moved at least once
Median slip
0 d
latest or actual date minus first committed date

Follow up in this order

Stock-outs come first, then late, unacknowledged, slipping and due-soon lines. Inside each group, the line with the least slack leads.

  1. Rank 1: Gearbox housing casting GH-220

    SlippingStock runs out first

    PO 4500123 line 10 · Hartwell Castings · 200 ordered

    Stock runs out in 5 days; the supplier's date is 18 days out. Date moved twice, now 14 days after your requested date.

    Show the working
    • Date moves: Oct 23 → Oct 30 → Nov 6 = 2
    • Days of cover = on hand ÷ daily usage = 60 ÷ 12 = 5 days
    • Days to arrival = supplier's latest date Nov 6 − Oct 19 = 18 days
    • Slack = cover − days to arrival = 5 − 18 = −13 days, so stock runs out first
    • Days late vs requested = expected Nov 6 − requested Oct 23 = +14
    • Days late vs committed = Nov 6 − first committed Oct 23 = +14
  2. Rank 2: PA66 GF30 resin, kg

    UnacknowledgedStock runs out first

    PO 4500140 line 20 · Ridgeway Polymers · 2,000 ordered

    Stock runs out in 12.5 days; your requested date is 14 days out. No committed date 4 days after the PO went out.

    Show the working
    • Days of cover = on hand ÷ daily usage = 1,000 ÷ 80 = 12.5 days
    • Days to arrival = requested date Nov 2 (no supplier date yet) − Oct 19 = 14 days
    • Slack = cover − days to arrival = 12.5 − 14 = −1.5 days, so stock runs out first
    • Waiting for a date = Oct 19 − PO sent Oct 15 = 4 days
  3. Rank 3: M8 flange bolt, zinc

    Late

    PO 4500131 line 10 · Delta Fasteners · 20,000 ordered

    5 days past the supplier's date, and nothing has arrived. Stock lasts 6 more days.

    Show the working
    • Days of cover = on hand ÷ daily usage = 9,000 ÷ 1,500 = 6 days
    • Days to arrival = 0, since the supplier's latest date Oct 14 has passed
    • Slack = cover − days to arrival = 6 − 0 = 6 days
    • Days late vs requested = today Oct 19 at the earliest − requested Oct 16 = +3
    • Days late vs committed = Oct 19 − first committed Oct 14 = +5
  4. Rank 4: Printed carton label, roll

    Unacknowledged

    PO 4500144 line 10 · Northline Packaging · 40 ordered

    No committed date 2 days after the PO went out; you need it in 21 days.

    Show the working
    • Days to arrival = requested date Nov 9 (no supplier date yet) − Oct 19 = 21 days
    • Waiting for a date = Oct 19 − PO sent Oct 17 = 2 days
  5. Rank 5: EPDM gasket strip, m

    Slipping

    PO 4500133 line 10 · Ridgeway Polymers · 1,200 ordered

    Supplier's date is 7 days after your requested date.

    Show the working
    • Days to arrival = supplier's latest date Nov 27 − Oct 19 = 39 days
    • Days late vs requested = expected Nov 27 − requested Nov 20 = +7
    • Days late vs committed = Nov 27 − first committed Nov 27 = 0
  6. Rank 6: Motor controller PCBA MC-3

    ConfirmedDue soon

    PO 4500126 line 30 · Volta Electronics · 150 ordered

    Due in 1 day: ask the supplier whether it shipped. Stock lasts 4 more days.

    Show the working
    • Days of cover = on hand ÷ daily usage = 40 ÷ 10 = 4 days
    • Days to arrival = supplier's latest date Oct 20 − Oct 19 = 1 days
    • Slack = cover − days to arrival = 4 − 1 = 3 days
    • Days late vs requested = expected Oct 20 − requested Oct 21 = −1
    • Days late vs committed = Oct 20 − first committed Oct 20 = 0

Lead time from your receipts

Each received line with a PO sent date gives one lead time: received minus sent. The spread is the standard deviation across a supplier's receipts. When it passes a quarter of the average, plan that supplier as unreliable.

SupplierLead times, daysAverage (L)Spread (σL)σL ÷ L
Hartwell Castings51, 66, 3851.7 d14 d0.27Unreliable
Delta Fasteners23, 24, 2223 d1 d0.04

Put L and σL into SS = Z × √(L × σd² + d² × σL²) and a reliable supplier gets a smaller buffer at the same service target. A few receipts give a first look, and the spread settles as more arrive. The safety stock calculator takes these numbers.

Your PO lines

Edit any cell. Write dates as YYYY-MM-DD and separate several revised dates with |. A positive number means days late, a negative one days early.

POLineSupplierPartQtyPO sentRequestedCommittedRevisedReceivedOn handDaily usageStateLate vs req.Late vs commitMovesCoverRankRemove
Slipping+14+1425 d1
Late≥ +3≥ +506 d3
Unacknowledgedn/an/a012.5 d2
Unacknowledgedn/an/a0n/a4
Slipping+700n/a5
Confirmed−1004 d6
Confirmed−30012 d
Received+5+71n/a
Received−2−20n/a
Received+15+170n/a
Received−1−10n/a
Received000n/a
Received0+10n/a

The export holds every column above, dates cleaned to YYYY-MM-DD, plus the latest supplier date, days to arrival, the stock-out flag and the follow-up reason.

Build the same report in Excel or Google Sheets

Download template in the tracker gives you a CSV with the columns in the order the tracker reads them. Open it in Excel or Google Sheets, paste your ERP's open PO lines under the headers, and add the formulas below from column M onward. The template puts requested in column G, committed in H, revised in I, received in J, on hand in K and daily use in L. Keep only the latest revised date in column I, and make sure every date is a real date, not text. The sheet can't count how often a date moved; the tracker does that from the full list of revised dates.

Fig. 5: Spreadsheet formulas for an open PO report

Row 2 shown; fill down. The same formulas work in Excel and Google Sheets

ColumnFormula
M: Latest supplier date=IF(I2<>"", I2, H2)
N: State=IF(J2<>"", "Received", IF(H2="", "Unacknowledged", IF(TODAY()>M2, "Late", IF(M2>G2, "Slipping", "Confirmed"))))
O: Days late vs requested=IF(J2<>"", J2, MAX(M2, TODAY())) - G2
P: Days of cover=IF(AND(K2<>"", L2>0), K2/L2, "")
Q: Slack=IF(OR(J2<>"", K2="", L2<=0), "", K2/L2 - MAX(0, IF(M2<>"", M2, G2) - TODAY()))

Sort by slack in column Q, smallest first, and the top of the sheet is your follow-up list. A spreadsheet stops working when nobody owns the daily update or when you have more open lines than time to check them, and that is where a tool that updates the dates for you earns its place.

Measure lead time from your receipts

Every received line with a PO sent date is one real lead time: the received date minus the sent date. Group those by supplier and item, and you get the average lead time and how much it varies. Both decide your safety stock, so measure them instead of trusting the lead time the supplier quoted.

Fig. 4: Combined safety stock formula
=×square root of×2+2×2

The second term grows with lead-time variation, so a supplier who delivers in 22 to 24 days earns a smaller buffer than one who takes 38 to 66, at the same service target, with no special setting. When the spread passes about a quarter of the average, plan that supplier as unreliable. The safety stock calculator takes the numbers the tracker measures.

If your receipts land late while demand holds steady, timing is the risk, and safety lead time can beat safety stock: place the order a few days earlier instead of holding more parts. A short shipment is a different risk. The date holds, the quantity falls short, and the lead-time spread never sees it, so track the shipped quantity against the confirmed quantity as its own measure.

Check what a status claims against its evidence

A status looks like progress when its evidence says less. Check for these cases before you count a line as safe:

  • Acknowledged without dates. A supplier can confirm receipt of the PO and say nothing about dates. Until each line has a quantity and a date, treat it as unacknowledged.
  • A blanket “all on time”. A reply that covers a whole PO without line-level dates can mean nobody at the supplier checked the lines. Ask for a date per line.
  • An overwritten date. A line that moved three times and shows only its latest date looks as reliable as one that never moved.
  • A label before pickup. An advance ship notice or a tracking number created before pickup proves the parts are packed. Check for a carrier scan before you count the line as shipped.

The tracker can't see these on its own, or other open lines for the same part: cover counts on-hand stock alone. The lesson on purchase order tracking covers the full method, past-due purchase orders covers a line that is already late, and supplier not responding covers what to do when nobody answers.

Cartograph does this on your own POs. Readiness signals open a task when an order has no confirmed date, when it is about to arrive, and when it will land after the part runs short, and your team or Scout Agent emails and calls the supplier for a date or a status. Get Cartograph free.

Open PO tracking questions

What does it mean when a purchase order is open?

An open PO has at least one line you haven't fully received. For a buyer, that is the list to follow up. In accounting, a PO can also stay open until it's fully invoiced, so check which meaning your ERP's report uses before you work from it.

What should an open purchase order report include?

One row per open PO line, with the PO and line number, supplier, part, quantity still open, the date you requested, the supplier's committed date and any revised dates, and the date you last heard from the supplier. Add on-hand stock and daily use to see which lines run you out first.

How do you track a purchase order after you send it?

Keep four dates on each PO line: the date you requested, the date the supplier committed, every revised date, and the date you received the parts. Give the line a state from those dates, and follow up on a set cadence until it's received.

How long should you wait before following up an unacknowledged PO?

State a response window on the PO, for example two business days, and follow up by email the first business day after it closes. If a day later you still have no date, call. If the requested date is inside the supplier's normal lead time, call the day you send the PO.

What is the difference between the requested, committed and revised dates?

You set the requested date: it's when your build needs the parts. The supplier sets the committed date in the acknowledgement, and every revised date after that. Keep all of them instead of overwriting one due date, so you can count how often a line moved.

Which late PO should I expedite first?

The line whose stock runs out soonest compared with its arrival. Divide on-hand stock by daily use to get days of cover, then subtract the days until the supplier's latest date. A line below zero stops production before the parts land, however few days late it is.

Can I track open purchase orders in Excel?

Yes, if the sheet keeps the four dates, the state and the last supplier contact on every line, and someone updates it daily. It breaks down when nobody owns the updates or when you have more lines than time to check them. The tracker above exports the same columns as a CSV.

How often should you review open POs?

Look at the whole list every day, and act on the lines that changed state or crossed a date. Re-confirm each confirmed date on a cadence tied to its lead time: twice a week for parts under four weeks, weekly up to twelve weeks, and less often for long-lead castings and forgings.

How do I measure supplier lead time from my POs?

For each received line, subtract the date you sent the PO from the date the parts arrived. Group the results by supplier and item. The average is your lead time, and the standard deviation is how much it varies, which your safety stock needs.