Back to Blog
Production Tracking

Manufacturing On-Time-in-Full (OTIF) for Small Job Shops: How to Measure Complete-and-On-Time Shipments by Customer and Stop Partial Order Firefighting

FactoryOS Team Published: August 2, 2026 Last updated: August 3, 2026 10 min read

For many small job shops, “on-time delivery” sounds simple until the daily reality shows up: one line ships today, the rest goes tomorrow; the customer got something, but not everything; production says the job was done, shipping says it was short, and sales is trying to calm down an upset buyer. That is exactly where a basic due-date metric stops being useful. If you only track whether an order shipped by the promised date, you can miss the real service problem: partial shipments that create expediting, rescheduling, and constant customer follow-up. For a complete overview, see our manufacturing execution system software guide.

That is why OTIF, or on-time in full, matters. OTIF forces you to measure two things separately and together: did the shipment leave on time, and did the customer receive the complete quantity committed? For a small manufacturer, that distinction is powerful. It helps you stop arguing about whether a delivery was “basically on time” and start identifying whether missed customer commits are actually caused by weak scheduling, material shortages, rework, queue delays, or last-minute order splitting.

OTIF is widely used in supply chains as a customer service measure because it captures both timing and completeness. If you want a general definition, Wikipedia’s OTIF overview is a simple reference point, while broader manufacturing measurement guidance can also be found through organizations like NIST. For small job shops, though, the value is not the textbook definition. The value is turning OTIF into a practical shop-floor metric you can trust.

What OTIF means in a job shop

In a repetitive high-volume plant, OTIF is often measured against clean, standardized deliveries. In a job shop, it is messier. Orders may contain multiple part numbers, staggered operations, outside processing, customer-requested splits, and revised commits. That means your OTIF definition has to be explicit.

Use a simple operational definition

For most small shops, OTIF should mean:

  • On time: the shipment leaves on or before the committed ship date.
  • In full: the shipment fulfills the complete quantity committed for that customer order line, not just part of it.
  • OTIF pass: both conditions are true.

If either condition fails, the order line does not count as OTIF.

Measure at the order-line level first

Customer orders often contain multiple line items with different due dates or production paths. Measuring OTIF only at the full sales-order level can hide problems. A better starting point is the customer order line:

  • Customer order number
  • Line number
  • Part number
  • Committed ship date
  • Committed quantity
  • Actual shipment date
  • Actual shipped quantity

Once you have line-level OTIF, you can roll it up by customer, part family, planner, work center, or sales rep.

Why “on-time delivery” alone hides the real problem

A shop can report decent on-time delivery while still frustrating customers. Here is why:

  • An order ships on the due date, but only 60% of the quantity is ready.
  • The balance ships three days later after rework is completed.
  • The ERP marks the first shipment as on time.
  • The customer sees a shortage and may still stop their line or adjust their schedule.

From the customer’s perspective, that was not a successful delivery. OTIF captures that failure. More importantly, splitting lateness from incompleteness helps you find the source of the miss.

When you separate the two, you can see patterns like:

  • Late but complete: often linked to scheduling, queue time, downtime, or poor dispatch discipline.
  • On time but incomplete: often linked to shortages, scrap, rework, count errors, or intentional partial shipments.
  • Late and incomplete: usually a deeper execution problem involving multiple failure points.

If daily priority churn is one of your root causes, it is worth tightening your release and dispatch process. This related article on dispatch list accuracy shows how to reduce schedule chaos that often drives late jobs.

How to measure OTIF at the shipment level

Shipment-level OTIF tells you whether each customer commit was met as promised. This is your customer-facing score.

The core fields you need

You do not need a complex system to start. Track these fields consistently:

FieldPurpose
CustomerRoll up performance by account
Sales order and lineIdentify the exact commitment
Part numberSpot recurring issues by item
Committed ship dateBaseline for on-time measurement
Committed quantityBaseline for in-full measurement
Shipment dateActual timing
Shipped quantityActual fulfillment
Shipment typeFull, partial, replacement, customer-requested split
Exception reasonWhy the commit was missed

Score each line four ways

For every committed order line, classify the result:

  1. On time and in full
  2. On time but not in full
  3. Late but in full
  4. Late and not in full

This four-box view is much more actionable than a single on-time percentage.

A simple formula

At the line level:

  • On-time flag: 1 if shipment date is on or before committed date, else 0
  • In-full flag: 1 if total quantity shipped by the committed date is at least the committed quantity, else 0
  • OTIF flag: 1 only if both flags are 1

Then:

OTIF % = OTIF-passing lines / total committed lines × 100

Example: If you shipped 100 committed order lines this month and 78 were both on time and in full, your OTIF was 78%.

That example is illustrative, but the method is what matters.

How to measure OTIF at the work-order level

Shipment-level OTIF tells you what the customer experienced. Work-order-level tracking tells you why. This is where small shops can turn OTIF from a scorecard into a diagnostic tool.

For each customer order line, identify the work order or work orders that supplied it. Then track:

  • Work order due date
  • Planned quantity
  • Completed quantity by due date
  • First-pass yield or rework occurrence
  • Material shortage events
  • Queue time between operations
  • Schedule changes or split decisions

If one shipment was supplied by multiple work orders, keep that relationship visible. Partial shipments are often the result of one work order finishing while another gets stuck in inspection, outside processing, or waiting for material.

Create “ready-to-ship in full” visibility

A useful intermediate metric is whether the work order produced enough accepted quantity to support the full committed shipment by the commit date. That is different from whether shipping actually sent it.

This distinction uncovers handoff problems such as:

  • Production finished enough quantity, but shipping did not consolidate it in time.
  • Inventory records showed enough stock, but some pieces were nonconforming or allocated elsewhere.
  • The order was split at the last minute to satisfy another hot customer.

Without work-order-level visibility, all of those failures can look identical in the shipment history.

Separate lateness from incomplete shipments in your reporting

If you want OTIF to drive action, do not stop at one top-line number. Build reports that separate timing from completeness.

The three views every small shop should have

  1. OTIF by customer
    Shows which accounts are getting the service level you promised.
  2. Late-but-complete rate
    Shows scheduling and flow issues.
  3. On-time-but-short rate
    Shows shortages, scrap, rework, and split-shipment behavior.

When you compare those side by side, root causes become clearer.

What each pattern usually means

PatternLikely causes
High late-but-completePoor sequencing, overloaded work centers, long queue times, machine downtime, weak dispatch control
High on-time-but-shortMaterial shortages, scrap, rework, count inaccuracies, customer service pressure to ship partials
High late-and-shortMultiple failures across planning, execution, and quality
High OTIF variance by customerPriority gaming, inconsistent commits, account-specific complexity

If you suspect jobs are aging in queues before they ever become urgent, this article on order aging is a useful companion. If long waits between operations are the issue, see queue time tracking.

The root-cause codes that make OTIF useful

Most shops already know some orders miss. The hard part is proving why. Add a reason code to every OTIF failure and keep the list tight enough that people will actually use it.

  • Scheduling: released late, bumped by priority change, overloaded work center, unrealistic promise date
  • Material: raw material shortage, purchased component shortage, outside processing delay, kitting error
  • Quality: scrap, rework, inspection hold, customer return replacement consumed available stock
  • Execution: machine downtime, labor availability, setup overrun, missing tooling
  • Shipment decision: customer-requested split, internal expedites, partial shipped to satisfy urgent need
  • Administrative: order entry error, date changed without update, pick/pack error

The goal is not perfect forensic precision. The goal is repeatable signal. Over time, your misses will cluster.

For shops fighting recurring shortages, pair OTIF with better shortage control using material shortage tracking. If quality is a major source of incomplete shipments, see rework tracking and our scrap cost calculator to quantify the financial side of the same problem.

How to stop partial order firefighting

Partial shipments are not always bad. Sometimes a customer explicitly wants a split, or a partial ship is the least harmful option. The real problem is unmanaged, last-minute splitting that hides upstream failure.

Set rules for when a split shipment is allowed

Define a simple policy:

  • Was the split requested by the customer?
  • Did sales approve the service tradeoff?
  • Was the remaining balance date confirmed before shipment?
  • Was the root-cause code captured?

If the answer is no, the split should not be treated as a normal success.

Review partials in a daily exception meeting

Do not review every order. Review only exceptions:

  • Orders due in the next 3–5 days with quantity risk
  • Orders likely to ship partial
  • Orders already split once
  • Orders waiting on rework disposition or missing components

This keeps OTIF operational instead of historical.

Freeze the last-mile plan

Many partials are self-inflicted in the final 24–48 hours. The shop changes priorities, steals material, or diverts labor to a hotter order. A short frozen window on near-term shipments can dramatically reduce last-minute split behavior, especially when paired with a more disciplined dispatch process.

A practical weekly OTIF review for a small shop

You do not need a corporate dashboard culture to use OTIF well. A 30-minute weekly review is enough if the data is clean.

What to review

  1. OTIF by customer for the week and month
  2. Top late-but-complete orders
  3. Top on-time-but-short orders
  4. Top reason codes
  5. Repeat offenders by part, work center, or planner

Questions to ask

  • Are we overpromising dates before capacity and material are confirmed?
  • Are shortages being found too late?
  • Is rework consuming the quantity we thought was available?
  • Are we splitting orders to hide schedule instability?
  • Which customers are absorbing most of the misses?

Keep the meeting rooted in evidence, not anecdotes. OTIF works when each miss can be tied back to a visible process failure.

Common mistakes when implementing OTIF

Counting revised promises as if they were original performance

If you move the date after the order is already at risk, you may make the metric look better without improving service. Track original commit and current commit separately if promise changes are common.

Treating customer-requested splits as failures without labeling them

Not all split shipments are bad. Mark them clearly so you can distinguish customer preference from internal firefighting.

Measuring only at month-end

By month-end, the lesson is too old. OTIF should be reviewed at least weekly, with daily exception management for at-risk orders.

Failing to connect shipment misses to shop-floor causes

A customer metric without work-order linkage leads to blame, not improvement. Connect every miss back to what happened in planning, material, production, quality, or shipping.

Start simple, then make OTIF part of how the shop runs

The best OTIF system for a small job shop is not the most complicated one. It is the one your team will maintain. Start with line-level shipment data, classify each commit into the four delivery outcomes, and require a reason code on every failure. Then link those misses back to work orders so you can see whether the real issue was scheduling, shortage, rework, queue delay, or last-minute order splitting.

Once that discipline is in place, OTIF becomes more than a customer service metric. It becomes an operating lens for how reliable your shop actually is.

If you want a simpler way to track work orders, shipment status, shortages, and production exceptions in one place, start a free FactoryOS trial. You can also explore pricing or contact us to see how FactoryOS can help your shop reduce partial-order firefighting and improve OTIF with cleaner, more actionable data.

Frequently Asked Questions

What is OTIF in manufacturing?

OTIF stands for on-time in full. In manufacturing, it measures whether a customer order or order line shipped by the committed date and with the full committed quantity. Both conditions must be met for the shipment to count as OTIF.

Should small job shops measure OTIF by order, line, or shipment?

Most small job shops should start at the customer order-line level because different lines often have different parts, due dates, and production paths. Shipment-level detail is still important for understanding partials, but line-level OTIF is usually the clearest baseline for reporting.

How do partial shipments affect OTIF?

If the full committed quantity is not shipped by the committed date, the order line does not count as in full, even if some quantity shipped on time. Customer-requested splits can be tracked separately so they do not get mixed up with internally caused partial shipments.

What are the most common root causes of missed OTIF in a job shop?

Common causes include unrealistic scheduling, long queue times between operations, raw material or purchased part shortages, scrap and rework, machine downtime, and last-minute order splitting to satisfy urgent jobs. Tracking reason codes on each OTIF miss helps show which causes are most frequent.

How often should OTIF be reviewed?

OTIF should be monitored through daily exception management for at-risk orders and reviewed weekly for trends by customer, part, and root cause. Waiting until month-end makes it much harder to prevent repeat misses.