Source: https://oguzerol.com/en/supplier-delivery-date-portal/

[![Example scenario: a supplier proposes a new date for one of its open orders only; the operating plan stays unchanged until the internal team approves.](https://oguzerol.com/gorseller/senaryo/supplier-delivery-date-portal-senaryo-en.webp)

View full size](https://oguzerol.com/gorseller/senaryo/supplier-delivery-date-portal-senaryo-en.webp)

# Supplier Delivery Date Portal: First Promise, Delay Reasons, OTIF

[Oğuz Erol](https://oguzerol.com/en/about-me/)  |  17 min read

A supplier delivery date portal is a restricted web app where each supplier sees only its own open purchase order lines, confirms delivery dates there, gives a reason when it changes one, and proposes split deliveries. An old date is never deleted. If a new date runs past the need date of the work order waiting for that material, purchasing and production planning are alerted at the same moment. Its real value is not fewer phone calls but measuring suppliers against the right date: in the fictional month below, one supplier delivered 91.7% of its lines on time and in full against its latest date, and 41.7% against its first promise.

This page covers what happens after the order is placed. Choosing a supplier before the order is the job of [supplier quote comparison](https://oguzerol.com/en/supplier-quote-comparison-report/); the reverse direction, dealers ordering from you, is the [dealer order entry portal](https://oguzerol.com/en/dealer-order-entry-portal/). With few suppliers, or an ERP supplier portal they actually use, you may not need this.

## Which dates does each order line carry?

Each order line carries three dates, and none overwrites another: the requested date, the first confirmed date and the latest confirmed date.

- **Requested date:** the date on your order, driven by planning’s need.
- **First confirmed date:** the supplier’s first promise. Given once, never changed; afterwards the supplier can only propose a new date.
- **Latest confirmed date:** the current commitment. Each change is a new audit trail entry with a reason code, a short note, who started it (supplier or you) and how many working days before the first date it came.

The line is linked to the waiting work order and its need date, which the supplier does not see. For distant suppliers the Incoterms code decides whether “delivery” means leaving their site or reaching your plant, so ship and arrival dates are separate fields.

## Which date should on-time in-full (OTIF) be measured against?

On-time in-full (OTIF) is the share of order lines that arrived both on time and complete, and unless you write down which date “on time” means, the same supplier can produce two very different figures. There is no single agreed definition. A McKinsey piece on the consumer goods sector lists as open questions whether “on time” means the requested or the promised date and whether “in full” counts orders, lines or cases, which shows the definition can vary between companies ([McKinsey; I read the summary on 15 October 2026](https://www.mckinsey.com/capabilities/operations/our-insights/defining-on-time-in-full-in-the-consumer-sector)).

My suggested starting definition:

- **Unit:** the order line.
- **Reference date:** the first confirmed date; if you asked for the change, the new date.
- **On time:** first delivery on the reference date or up to 3 working days earlier.
- **In full:** at least 98% of the ordered quantity received by the reference date.
- **OTIF:** both.

I add adherence to the latest date and OTIF against the requested date (what planning lived through). A rate against the latest date is not supplier performance: every supplier that moves dates looks punctual.

## A sample month: 18 suppliers, 96 order lines

Short answer: supplier D scores 41.7% against first confirmed dates and 91.7% against latest dates, and the purchasing manager takes three decisions.

### The company

Fictional sample data: a 160-person packaging machinery maker with two buyers, a purchasing manager and a planner. Day 1 is a Monday. 96 order lines from 18 suppliers fall due this month by first confirmed date. Supplier D supplies machined castings and is the sole source of the G-310 frame; assembly depends on it most. Before the portal, buyers chased dates every Monday by email and phone and typed them into a shared spreadsheet.

### Day 8, 16:40: D moves a date one day before it is due

Order PO-2471, line 1: 60 G-310 frames, confirmed for day 9 (Tuesday). Forty are for work order WO-1187, needed day 12 (Friday); twenty for WO-1192, needed day 19.

On day 8 (Monday) at 16:40, D’s user moves the date to day 16, reason “machine breakdown”. The portal raises two alerts:

- **Late notice:** 1 working day before the first date; the threshold is 3.
- **Critical change:** with a 2-working-day buffer, WO-1187’s last safe day is day 10 (Wednesday). The new date is day 16.

Next morning the buyer asks for a split; D proposes 40 on day 11 and 20 on day 16. The planner swaps WO-1187 with WO-1190, whose materials are ready, so WO-1187 is needed on day 15 (Monday), last safe day 11, and the 40 frames fit the buffer. The manager approves. The 20 arrive on day 16, inside WO-1192’s last safe day (17). The line does not stop.

Later D raises a second critical alert: PO-2480, line 2, moved from day 17 to day 23, two working days before it was due, while WO-1195 needs it on day 22. Day 24 would cut the buffer to one day, so the planner deliberately moves WO-1195 to day 25 (Thursday): the last safe day becomes day 23 and the 2-working-day buffer holds. The planner writes the impact note and closes the alert.

### The month-end table

| supplier | lines | supplier date changes | late notices | OTIF, first confirmed date | OTIF, latest date |
| --- | --- | --- | --- | --- | --- |
| A, standard parts | 18 | 0 | 0 | 88.9% | 88.9% |
| B, sheet metal | 15 | 2 | 0 | 86.7% | 100% |
| C, pneumatics and motors | 10 | 0 | 0 | 90.0% | 90.0% |
| D, machined castings | 12 | 7 | 4 | 41.7% | 91.7% |
| E, cable and electrical | 9 | 0 | 0 | 88.9% | 88.9% |
| 13 other suppliers | 32 | 1 | 0 | 90.6% | 93.8% |
| **Total** | **96** | **10** | **4** | **83.3%** | **92.7%** |

One of B’s three changes was your own postponement, measured against the new date. B’s other two came 5 and 9 working days ahead: B moved dates but warned early.

D is a different story. Four of its seven changes came less than 3 working days before the first date, the average slip from first confirmed date to D’s new date was 4.3 working days, and four gave the same reason, “machine breakdown”. On one line D also missed its new date by a day without notice. Unannounced lateness hit four lines, one each at A, C, D and another supplier; each reached the buyers’ queue next morning as “late, no notice”.

Against the requested date the total is 77.1% and D is 16.7%. That gap has a second cause: three of D’s lines had been confirmed 3 working days later than requested, and purchasing had accepted that. Without D, the other 84 lines score 89.3% against first confirmed dates.

### The decision

The purchasing manager decides:

1. D is asked for a written corrective action plan covering the breakdowns and spare capacity.
2. The planning buffer on D’s lines goes from 2 to 5 working days, based on actual deliveries rather than new promises: on six of the seven lines where D changed the date, the last delivery came at most 5 working days after the first confirmed date; on one, 6.
3. Because the G-310 is single-sourced, qualification of a second supplier begins.

In a shared spreadsheet D’s rate would read 91.7%, and none of these decisions would have had data behind it.

## Date change rules: my starting point

Starting suggestions, not measured values; test them on past months first. Threshold changes are logged.

| rule | suggestion |
| --- | --- |
| Confirmation time | A date within 2 working days, or the line goes to purchasing as “unconfirmed”; we choose the reminder channel together in the first step |
| Confirmed later than requested | Line becomes “awaiting approval”; the buyer accepts or rejects, and it is logged |
| Old dates | The first confirmed date never changes; each new date is a separate entry |
| Reason | Reason code (material, breakdown, capacity, transport, quality, other) plus a short note, mandatory |
| Late notice | A change less than 3 working days before the first date is counted separately |
| Critical change | New date later than the work order’s need date minus 2 working days: planning and purchasing are alerted together; the alert stays open until the planner writes an impact note |
| Unannounced lateness | Latest date passed, nothing received: “late, no notice” next morning |
| Split delivery | Supplier proposes, purchasing approves; no split without approval. OTIF still uses the first date |
| Postponed by us | The buyer proposes the tag, the purchasing manager or planner approves. Never one person, because it clears the supplier’s record |
| Early delivery | More than 3 working days before the reference date needs warehouse approval and is not on time |
| Quantity tolerance | 98% in general; per-item tolerance for goods received by weight or length |

## Who sees what, and who can change what?

A supplier sees only the order lines opened to its own company; work orders, internal notes, other suppliers and performance comparisons stay inside. The roles I suggest:

**Supplier side**

- **Supplier user** (sales or shipping). Sees its own open lines, requested dates, its own dates and receipts. Confirms dates, proposes new dates with reasons and splits, enters shipping details. Cannot see other suppliers, work orders or internal notes, or delete a date it gave.
- **Supplier company admin**, optional. Sees its own OTIF rate and definition only.

**Internal side**

- **Buyer.** Opens the order line and requested date; sees their own suppliers’ lines. Accepts or rejects late confirmations, asks for splits, enters changes heard by phone, logged as “entered by buyer, source: phone”.
- **Purchasing manager.** Sees all suppliers; approves splits and the “postponed by us” tag; changes thresholds.
- **Production planner.** Sees need dates and critical alerts, writes impact notes. Cannot change supplier dates; does not need prices.
- **Goods-in.** Enters received quantity and date; if the ERP can supply them, they can be read from there, scoped in writing in the first step. Cannot touch dates. Recording receipts from a phone on the dock is covered in the [mobile Excel form alternative](https://oguzerol.com/en/mobile-excel-form-alternative/).
- **Management and internal audit.** Read-only; export the audit trail.

### The audit trail of PO-2471

Every entry holds the same fields: who, when, old value, new value, source (sample data):

- Opened: 60 frames, requested day 9; D confirmed day 9 the same day.
- Day 8, 16:40: D proposed day 16, reason “machine breakdown”; first confirmed date stays day 9. Alerts: late notice, critical (WO-1187).
- Day 9: buyer asked for a split (09:10), D proposed 40 + 20 (11:25), planner logged the WO-1187/WO-1190 swap (14:05), manager approved (14:30).
- Days 11 and 16: goods-in entered 40 and 20; line closed. OTIF against the first date: no.

The trail is never deleted; a correction is a new entry.

## What does AI do, and where does it stop?

AI can be set up here for two jobs if you need them, with scope set in writing in the first step: suggesting date and quantity changes from supplier emails and flagging delay patterns. It does not change dates, approve splits or score suppliers; a person approves every suggestion.

1. **Suggestions from email.** One of the other suppliers wrote on day 9: “We are moving the delivery on the 18th to the Thursday a week later because of our transport schedule.” The model suggested the line, the new date (day 25), the reason (transport) and an unchanged quantity. Relative phrases can be misread, so nothing changes until the buyer approves.
2. **Delay patterns.** For D, the model flagged that four of seven changes came less than 3 working days ahead and four used the same reason. The flag is a note for the purchasing manager; it does not change the rate.

No line reaches the model without passing the permission filter first: for a buyer’s question the model uses only lines that buyer can see and names only people and companies that buyer can see. A supplier employee’s name, email and phone number are personal data, so which fields go to the model is set in writing in the first step.

**In Turkey**, such data falls under Article 3(1)(d) of KVKK (Law No. 6698), and transfers to an AI service abroad under Article 9, rewritten by [Article 34 of Law No. 7499](https://www.resmigazete.gov.tr/eskiler/2024/03/20240312-1.htm) from 1 June 2024; I read the current text on mevzuat.gov.tr on 15 October 2026. I do not give legal advice; have your legal adviser review the transfer.

## Where exactly does a spreadsheet break?

A shared spreadsheet breaks in two places: opened to suppliers, it can expose other suppliers’ orders, and an overwritten date cell loses the first promise. Sources read on 15 October 2026.

- **One file for all suppliers.** Google says sheet protection is not a security measure and viewers can still access hidden sheets ([Google Sheets Help](https://support.google.com/docs/answer/1218656)), and by default viewers can download ([Google Drive Help](https://support.google.com/docs/answer/2494822)). Microsoft says worksheet protection is not a security feature ([Microsoft Support](https://support.microsoft.com/en-us/Excel/protection-and-security-in-excel)) and guests sharing a folder can see each other’s names ([Microsoft Learn](https://learn.microsoft.com/en-us/sharepoint/external-sharing-overview)). My conclusion: if all 18 suppliers’ lines sit in one file, every supplier it is opened to sees them all, and no protection setting reliably prevents that.
- **One file per supplier.** Confidential, but 18 files are merged by hand weekly.
- **Overwritten dates.** “16” is typed over “9”. Version history keeps the old value, but the OTIF formula never sees it; D’s 91.7% comes from exactly this.
- **Splits and work orders.** A split line becomes two rows and totals slip; planning lives in another file, so someone must remember which work order is waiting.

### If you stay in a spreadsheet

With few suppliers, staying in Excel or Google Sheets is right. Do not open the file to suppliers; take dates by email. Three sheets:

- **Lines:** A key (e.g. PO-2471/1), B supplier, C ordered quantity, D first confirmed date (typed once), E latest confirmed date, F who started the change (“buyer” or “supplier”).
- **Deliveries:** A key, B delivery date, C quantity received; each part of a split is its own row.
- **Changes:** key, change date, old date, new date, started by, reason. No row is deleted.

Row 2 of Lines (MINIFS needs Excel 2019 or Microsoft 365):

- Reference date (G2): `=IF(F2="buyer",E2,D2)`
- First delivery (H2): `=MINIFS(Deliveries!$B:$B,Deliveries!$A:$A,A2)`
- Received by reference date (I2): `=SUMIFS(Deliveries!$C:$C,Deliveries!$A:$A,A2,Deliveries!$B:$B,"<="&G2)`
- On time (J2): `=AND(H2<>0,H2>=WORKDAY(G2,-3),H2<=G2)`
- In full (K2): `=I2>=C2*0.98`
- OTIF (L2): `=AND(J2,K2)`
- Supplier rate: `=COUNTIFS(B:B,"D",L:L,TRUE)/COUNTIF(B:B,"D")`

Test it: for PO-2471/1, G2 is day 9, H2 day 11, I2 zero, L2 FALSE. Point G2 at E2 and I2 becomes 60, L2 TRUE: that is the whole difference. Add holidays as WORKDAY’s third argument. I checked these formulas by script on the 96 sample lines; both calculations match the table.

In the app I suggest, the business rule is applied the moment the supplier changes a date, not when someone checks the file at month end.

## If Excel or your ERP’s supplier portal is enough

I would not recommend a custom portal when:

- You have five or six suppliers and few critical lines: the three-sheet layout is enough.
- Your ERP has a supplier portal and suppliers really log in. Some large ERPs document this: the supplier proposes date, quantity and split changes, which reach the order only once the buyer processes them, splits are applied manually, and confirmation history is kept ([Microsoft Learn, Dynamics 365 Supply Chain Management documentation, read on 15 October 2026](https://learn.microsoft.com/en-us/dynamics365/supply-chain/procurement/vendor-collaboration-work-external-vendors)). For your ERP we check its documentation together; I have not verified every product.

Three questions for your ERP: (1) Do suppliers really log in, or do dates still come by email? (2) Is the first confirmed date kept and OTIF measured against it? (3) Does a date change that threatens a work order alert planning? Three yeses: you do not need a custom app. One no: a spreadsheet layout or a small app fills that gap.

A custom portal makes sense when suppliers will not realistically open ERP accounts, planning runs in a file outside the ERP, or the ERP report cannot measure against the first promise.

## How do we start, who owns the data and code, and can the order list come from the ERP?

In the first step we look at two or three months of open order lines, a few supplier emails and planning’s work order file. The written output covers date and OTIF definitions with your thresholds, the role list, past months recalculated under that definition, whether your ERP can export open order lines and received quantities, and the first version’s scope. It also covers whether a new date in the portal can be written back to the ERP order line: if not, the ERP’s material planning (MRP) keeps planning on the old date, so we decide in the first step whether to write back.

The most common mistake I see in automation projects is picking the most complex process to automate first. So start with the five or six suppliers that hold up assembly most, in this order: supplier login, confirmation, date changes and audit trail; then work order links, critical alerts and splits; then the OTIF report; AI suggestions last.

**Where does the data live?** The app runs on a server (a VPS) that can be opened in your company’s name. Lines, dates and the audit trail are yours, exportable as Excel or CSV at any time. In a small or mid-sized team there is no per-user licence; the cost is the server’s monthly fee plus maintenance.

**How do users sign in?** Internal users and suppliers use their own accounts; the sign-in method and how supplier accounts are opened and closed go into the first step’s written output.

**Who owns the code?** The full source code sits in a repository you can access, with run instructions, a dependency list and known limitations. Because the app is open to external users and processes personal data, I assess access, security, hosting and maintenance separately at the start.

**What if the ERP changes?** The data stays with you; only the order list import is rebuilt, and I share its scope in writing beforehand.

Send two months of open order lines, names masked, through the [contact page](https://oguzerol.com/en/contact/); in the first meeting we look at how far your suppliers’ rates drift between first promise and latest date.

## Frequently Asked Questions

### What if a supplier will not log in?

The date comes by email; AI suggests the change, the buyer approves, and it is logged as “entered by buyer, source: email”. Measurement is unchanged.

### Does the supplier see the price on the order?

You decide whether it sees prices on its own orders; date tracking does not need them. It never sees another supplier’s prices, quantities or dates, whatever the setting.

### Should I show suppliers their own OTIF rate?

Yes, with the definition: “against the first confirmed date, at most 3 working days early, 98% of quantity”. Otherwise it calculates from its latest date, and 91.7% versus 41.7% becomes a dispute. Never show other suppliers’ rates or a ranking.

### For an overseas supplier, which date does “on time” use?

It depends on the delivery term; if the supplier hands goods over at its site or to a carrier, its promise is a ship date. Import duty and customs clearance sit with the seller only under DDP. I measure the supplier on ship date and planning risk on arrival. Confirm the details with your customs broker.

[Back to top ↑](https://oguzerol.com/en/supplier-delivery-date-portal/#icerik)

## You may also find these useful

[Application Status Tracking PortalLet applicants follow their own records and resolve missing documents. Build a status portal with clear next steps, staff review and controlled corrections.](https://oguzerol.com/en/application-status-tracking-portal/)[Role-Based Screens for Sales and OperationsA bespoke web app that gives sales, operations and management purpose-built views of the same records. Built for Excel and Google Sheets workflows.](https://oguzerol.com/en/role-based-sales-operations-screens/)[Supplier Quote Comparison: Units, Tax, Currency, Payment Terms and Freight on One BasisPut supplier quotes on one basis: units, tax, FX rate, payment terms and freight. A four-supplier, twelve-line example with sealed opening and audit trail.](https://oguzerol.com/en/supplier-quote-comparison-report/)

[Browse all articles →](https://oguzerol.com/en/articles/)

WHAT YOU CAN ASK FOR

## How do I work?
Work-hour packages

Tell me about your business and what you need on WhatsApp or by phone; we agree on **a work block of somewhere between 5 and 40 hours** and I start doing what is needed. What you get is not a calendar window — it is net working hours spent directly on your business. I can use 40 hours working three days straight, or deliberately spread it out and finish it over a year — whatever the work calls for. I do not spend my time estimating how long something will take, I spend it doing the work; every hour I spend leaves a lasting result in your business. We keep going for as long as you find it useful.

WORK BLOCKS

## Why not monthly?
Is 40 hours a week?

On a fixed monthly fee both sides are watching the wrong thing: you watch a fixed cost, the other side watches how many more contracts like this they can line up. Working by the hour puts us both in front of the same thing — the real value of the work that got done. I know not having an upfront answer to "how much will this cost in total?" is the natural cost of this model. But instead of paying a fixed fee for months to a setup that is not producing results, you only pay for the qualified time spent on your work — and you see exactly where that time went, start to finish. That is why my clients keep coming back.

5hours300€ + VAT60€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%205-hour%20work%20block.)

10hours500€ + VAT50€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%2010-hour%20work%20block.)

20hours800€ + VAT40€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%2020-hour%20work%20block.)

40hours1,400€ + VAT35€ per hour[Choose this block](https://wa.me/905496546489?text=Hi%2C%20I%27d%20like%20info%20about%20the%2040-hour%20work%20block.)
