← Learn

DIFOT Calculator

On time and in full, for each purchase order line.

What DIFOT is and why it matters

DIFOT stands for Delivered In Full, On Time. It is the share of order lines a supplier delivers with the full quantity, by the date you needed them. A line counts only if it is both on time and in full. Late, short or damaged is a miss.

Why it matters: every late or short delivery has to be covered by stock you hold. Unreliable suppliers push up safety stock, tie up cash and cause stock-outs your customers notice. DIFOT turns "they are usually fine" into a number you can track, compare between suppliers and raise in supplier reviews.

In full usually works on a sliding scale. If you order 10, you need all 10 for a hit. If you order 10,000, 9,900 might reasonably count as a hit. Agree the allowance with each supplier. The percentage on this page applies to the whole file. Rerun with a different percentage to check one supplier.

DIFOT also shows whether agreed lead times are real. If the agreed lead time is 3 weeks but the supplier always delivers in 4, that gap needs to be addressed, either with the supplier or in your planning lead times.

Why freight is separate: when you arrange the freight, the supplier is responsible for having the goods ready for shipping on the agreed date. Getting them to you is the freight company's part. Measuring these separately shows who to talk to. For the detail of who is responsible for what, look up Incoterms.

Your files

This page reads a purchase order lines CSV and an optional supplier list. The files are processed in this browser and are never sent. The confirmation email does not include your suppliers or orders.

Export a CSV from your accounting or purchasing system. Extra columns are ignored. SKUs and PO numbers are kept as text, so leading zeros stay. A quantity such as "1,000" in quotes is read as 1000. A full stop is only for decimals.

The purchase order file needs PO Number, Supplier, SKU, Ordered Qty, Required Date, and Arrived at Your Site Date. Received Qty is needed once the goods are at your site. When you arrange the freight and the goods are not there yet, you can leave Received Qty blank: on time uses the handover date, and the line counts as in full until you fill the quantity in. Damaged Qty, Damaged Reason, and Handed to Freight Date are optional. Fill in Handed to Freight Date on every received line where you arrange the freight.

The supplier list is optional. Without it, every supplier is treated as Supplier delivers and freight is not shown. The list needs Supplier and Freight arranged by. Use Supplier delivers or I arrange freight. Supplier and Me are also accepted. Expected transit days is a whole number from 0 to 365, and it is used only when you arrange the freight.

Missing dates? Add Arrived at Your Site Date from the day the goods arrived. If you arrange the freight add Handed to Freight Date from the freight company's paperwork or tracking before you upload. If those goods are not at your site yet you can leave Received Qty blank and the line counts as in full until you fill it in. If the only date you have for a supplier who delivers to you is the supplier's invoice date, you can use that as Arrived at Your Site Date.

Limits: purchase order file CSV only, 10 MB, 200,000 rows. Supplier list CSV only, 1 MB, 5,000 suppliers. Download template_DIFOT_PO_Lines.csv. Download template_DIFOT_Suppliers.csv.

How the calculation works

A line is scored like this:

  • On time, when the supplier delivers to you, compares Arrived at Your Site Date with the required date. A line that is too early is a miss, labelled Early.
  • On time, when you arrange the freight, compares Handed to Freight Date with the required date. That is the date the supplier handed the goods to the freight company, which is the part the supplier controls.
  • In full compares the accepted quantity with the ordered quantity. Accepted quantity is the received quantity minus any damaged or rejected quantity.
  • DIFOT is the lines that are both on time and in full. It is at most the lower of those two figures. It is not one multiplied by the other.
  • Lines are counted, not whole orders and not quantity.
  • An unreceived line that is overdue on the as-at date counts as a miss. A line that is not due yet is left out.
  • If the same PO number and SKU appears more than once, the rows are combined. Quantities are added. The latest Arrived at Your Site Date and the latest Handed to Freight Date are kept. The ordered quantity is the largest one in the group.
  • Freight you arrange is measured from Handed to Freight Date to Arrived at Your Site Date, and compared with the expected transit days. It does not change the supplier's DIFOT. Freight days use only the rows that have arrived. If the goods have been handed over but have not arrived yet, the line still counts for DIFOT and is left out of the freight figures. Leave Received Qty blank and the ordered quantity counts as delivered in full until you fill the quantity in. If the same line has goods already at your site and another handover with no quantity yet, that handover counts as the rest of the ordered quantity until you fill it in.
  • If the handover date is after the arrival date, that line is left out of the freight figures. On time still uses the handover date.
  • If you arrange the freight and a received line has no Handed to Freight Date, that line is left out. If the supplier delivers to you, a Handed to Freight Date on the line is not used.
  • The shortfall setting is one percentage for every line in the file. Results are shown supplier by supplier, and by the month of the required date for each supplier. There is no overall total.

Settings

Leave the measure dates blank to use the earliest and latest required dates in the file. Year-month-day dates are always read as written. The shortfall is one percentage for the whole file. Rerun with a different percentage to check one supplier. Raise days early allowed to make an early delivery count as on time.

Upload

Column names, templates and limits are under Your files above.