Supply chain performance · NetSuite TD3016323
Fill rate, on-time delivery, and on-time-in-full performance by vendor over the trailing twelve months, with the receiving gaps that explain every miss.
Inbound supply performed well over the trailing twelve months. Of 382 purchase orders that came due, 377 were received in full and 355 on or before their due date, for an OTIF of 92.9% against a 95% target. Unit fill rate is 100.0%: 20,446 of 20,452 units ordered were received. The three largest vendors by order value, Bedline, Broyhill, and The Apparel Co, together account for $835,000 of orders and delivered every one of their 182 purchase orders complete and on time.
Every OTIF failure in the window is the same failure: a purchase order with no item receipt. 27 orders have none. For two vendors, Core4Solutions and Johnson Supply, no order in the window has a receipt, which pulls their OTIF to zero. Both are marked fully billed, which points to receiving through the vendor bill rather than an item receipt. That is a process gap in how receipts are recorded, not evidence of late delivery, and it means the account cannot measure those vendors at all. Fixing the receiving practice is the first recommendation, ahead of any vendor conversation.
Calculated as: OTIF = share of purchase orders that were both received in full (received units at or above ordered units on every line) and received on or before the PO due date. Fill rate = units received / units ordered. Scope: purchase orders dated in the trailing twelve months with a due date on or before 2026-09-23, so that every order had the chance to arrive.
| Vendor | POs | Unit fill | On time | OTIF | Target | Gap | No receipt | Bills, 12 mo | Rating |
|---|---|---|---|---|---|---|---|---|---|
| Bedline | 35 | 100.0% | 100.0% | 100.0% | 95% | +5.0 pts | 0 | $363,960 | Excellent |
| Broyhill | 38 | 100.0% | 100.0% | 100.0% | 95% | +5.0 pts | 0 | $249,378 | Excellent |
| The Apparel Co Inc. | 109 | 100.0% | 100.0% | 100.0% | 95% | +5.0 pts | 0 | $224,757 | Excellent |
| Generation N | 44 | 99.8% | 93.2% | 93.2% | 95% | -1.8 pts | 3 | $579,187 | Excellent |
| Lotion Co | 38 | 100.0% | 97.4% | 97.4% | 95% | +2.4 pts | 1 | $53,885 | Excellent |
| Mac Oca & Co. | 41 | 100.0% | 100.0% | 100.0% | 95% | +5.0 pts | 0 | $46,956 | Excellent |
| Health and Beauty Supplies | 29 | 100.0% | 93.1% | 93.1% | 95% | -1.9 pts | 2 | $18,457 | Excellent |
| Hestra | 6 | 100.0% | 100.0% | 100.0% | 95% | +5.0 pts | 0 | $8,430 | Excellent |
| Core4Solutions | 9 | 100.0% | 0.0% | 0.0% | 95% | -95.0 pts | 9 | $8,287 | Critical |
| Betty Black, Inc. | 15 | 100.0% | 86.7% | 86.7% | 95% | -8.3 pts | 2 | $7,657 | Good |
| Johnson Supply | 7 | 100.0% | 0.0% | 0.0% | 95% | -95.0 pts | 7 | $24,799 | Critical |
| Coleman | 3 | 100.0% | 100.0% | 100.0% | 95% | +5.0 pts | 0 | $2,316 | Excellent |
| Crown Equipment Corporation | 1 | 0.0% | 0.0% | 0.0% | 95% | -95.0 pts | 1 | $29,034 | Critical |
| Flexsteel | 6 | 100.0% | 83.3% | 83.3% | 95% | -11.7 pts | 1 | $4,110 | Needs improvement |
| China Manufacturer | 1 | 0.0% | 0.0% | 0.0% | 95% | -95.0 pts | 1 | $750 | Critical |
Fill is effectively complete. Across 7,721 order lines in the 24-month population, only two lines in scope show fewer units received than ordered, both on orders that are still open. There are no partial receipts followed by backorders, which means the "first-time fill" and "in-full" measures coincide. The one vendor below 99% unit fill, Generation N at 99.8%, is there because three of its 44 orders have no receipt yet.
Every receipt in the window is on or before its due date. The on-time rate is therefore identical to the share of orders with any receipt. On-time failures by vendor: Generation N 3, Health and Beauty Supplies 2, Betty Black 2, Lotion Co 1, Flexsteel 1, Crown Equipment 1, China Manufacturer 1, and all 16 orders for Core4Solutions and Johnson Supply.
Order value is concentrated with the vendors performing best. Blue bars are vendors at or above 93% OTIF; red are the two at zero.
Based on: purchase orders grouped by order-date quarter, same scope as the scorecard. OTIF held between 95% and 100% for three quarters and fell to 84% in the third quarter of 2026 on 126 orders. The drop is entirely the receipt gaps: fourteen orders in the quarter are still pending receipt, and the two unreceipted vendors placed most of their orders in this quarter. If those orders are received in the next weeks the quarter will recover; if they are billed without receipts, the gap becomes permanent in the data.
| Quarter | POs | In full | On time | OTIF |
|---|---|---|---|---|
| 2025-Q4 | 79 | 100% | 95% | 95% |
| 2026-Q1 | 54 | 100% | 100% | 100% |
| 2026-Q2 | 123 | 100% | 98% | 98% |
| 2026-Q3 | 126 | 96% | 84% | 84% |
| Risk level | Vendors | Order value | Action required |
|---|---|---|---|
| Critical (OTIF < 75%) | 4 | $62,870 | Immediate review: all four are receiving-record gaps, see Risk Flags |
| Needs improvement (75-85%) | 1 | $4,110 | Performance plan |
| Good or excellent (> 85%) | 10 | $1,554,983 | Monitor |
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | PO lines | transaction (PurchOrd) join transactionline | 24 months, 740 POs, 7,721 lines | Ordered vs received units and value | Yes |
| DL-002 | SuiteQL | Item receipts | transaction (ItemRcpt) join transactionline, createdfrom | 24 months, 7,967 lines | Receipt dates | Yes |
| DL-003 | SuiteQL | Vendors and bills | vendor join transaction (VendBill) | Trailing 12 months | Names, billed spend | Yes |
Adaptations from the prompt's templates: receipts link to purchase orders through transactionline.createdfrom on the receipt lines, not a header field; received quantity comes from transactionline.quantityshiprecv on the PO line; transaction.subsidiary is not exposed to SuiteQL, so no subsidiary filter was applied. The prompt's on-time template counts receipts; this analysis counts purchase orders, so that an order with several receipts is one observation.
SELECT po.id, po.tranid, po.entity, po.trandate, po.duedate, BUILTIN.DF(po.status),
tl.id, tl.item, tl.itemtype, ABS(tl.quantity), NVL(tl.quantityshiprecv, 0), ABS(tl.rate), ABS(NVL(tl.foreignamount, tl.netamount)), tl.expectedreceiptdate, tl.isclosed
FROM transaction po JOIN transactionline tl ON tl.transaction = po.id
WHERE po.type = 'PurchOrd' AND tl.mainline = 'F' AND tl.taxline = 'F' AND tl.itemtype IN ('InvtPart','NonInvtPart','Assembly')
AND po.trandate >= ADD_MONTHS(SYSDATE, -24)
SELECT r.id, r.tranid, r.trandate, tl.createdfrom AS po_id, tl.item, ABS(tl.quantity)
FROM transaction r JOIN transactionline tl ON tl.transaction = r.id
WHERE r.type = 'ItemRcpt' AND tl.mainline = 'F' AND tl.taxline = 'F' AND tl.itemtype IN ('InvtPart','NonInvtPart','Assembly')
AND r.trandate >= ADD_MONTHS(SYSDATE, -24)
SELECT v.id, v.companyname, COUNT(t.id), SUM(t.foreigntotal)
FROM vendor v LEFT JOIN transaction t ON t.entity = v.id AND t.type = 'VendBill' AND t.posting = 'T' AND t.trandate >= ADD_MONTHS(SYSDATE, -12)
GROUP BY v.id, v.companyname| Assumption | Category | Rationale | Sensitivity | Impact if wrong |
|---|---|---|---|---|
| On time = last receipt on or before PO due date | Business logic | Prompt definition | Low here (see call-out) | On-time rate |
| In full = received units at or above ordered units on every line | Business logic | Strict definition | Low | In-full rate |
| Orders due after 2026-09-23 excluded | Method | They could not yet have failed | Medium | Scope of 382 orders |
| Bills, not orders, represent spend | Method | Bills are the posted cost | Low | Spend column only |
| Test | Objective | Result |
|---|---|---|
| G1-001 | PO-receipt linkage | Pass every receipt line links to a PO in the population |
| G1-002 | Date fields populated | Pass due date on 705 of 740 POs; the 35 without are unapproved or pending and out of scope |
| G1-003 | Quantities non-negative | Pass absolute values used; no negative ordered quantities |
| G2-001 | Fill rate arithmetic | Pass 20,446 / 20,452 = 99.97% |
| G2-002 | OTIF = on-time and in-full per order | Pass 355 orders satisfy both; equals the on-time count because every received order was complete |
Confidence: 90% in the vendor OTIF figures as measures of what the account recorded; 60% that they reflect physical delivery performance, because the due-date convention and the bill-first receiving pattern both limit what the data can say.