Every QC team faces the same bad trade-off. Inspect 100% of incoming receipts, including from a vendor with years of clean deliveries, and the receiving dock turns into a bottleneck. Inspect a fixed percentage across the board, and a brand-new, unproven vendor gets the same light scrutiny as your most reliable one.
Flexible sampling plans in Dynamics 365 Supply Chain Management fix this by letting the system adjust inspection intensity based on each vendor's own track record — not a flat rule applied to everyone.
A flexible sampling plan defines multiple trust levels. The system moves a vendor between them automatically, based on real inspection results:
Item sampling — what percentage of a lot gets inspected at each level
Rounds — how many consecutive passes earn a move to a more lenient level
Skip lot — once trust is high enough, only 1 in N receipts gets inspected at all
Number of fails — how many failures trigger a drop back to a stricter level
Alert role — who gets notified the moment that happens
A tested three-level setup:
Level 1 — 30% of each receipt inspected
Level 2 — 10% inspected, reached after enough clean passes at Level 1
Level 3 — skip-lot: only 1 in 3 receipts inspected at all
Any single failure, at any level, sends the vendor straight back to Level 1
The system fires a real alert to the role responsible for quality, and tightens inspection starting on the very next receipt
PRE-REQUISITE CONFIGURATION
1. Test
Path: Inventory management > Setup > Quality control > Tests
Test = QCFLEXTEST, Description = "QC Flexible TEST", Type = Option.
2. Item sampling
Inventory management > Setup > Quality control > Item sampling
Item sampling = 30%LOT, Description = "30% lot", Quantity specification = Percent, Value = 30
3. Test group
Path: Inventory management > Setup > Quality control > Test groups
Test group = TGFLEX, Description = "Flexible sampling test", Item sampling = 30%LOT , Acceptable quality level = 100.
On Overview, select Add: Sequence number = 1, Test = QCFLEXTEST, Variable = Pass\Fail , Default outcome = Pass.
4. Flexible sampling plan
Inventory management > Setup > Quality control > Flexible sampling plans
Flexible sampling plan code = FSPTEST, Name = "Flexible sampling Test", Alert role = Quality control manager, Approved = Yes
Detail
5. Quality association
Path: Inventory management > Setup > Quality control > Quality associations > New
Header: Reference type = Purchase, Item code = Table, Item = A0001
i. Tab Conditions: Site = 2 , Applicable warehouse type = All, Account code = Table, Account selection = US-108
ii. Tab Process: Event type = Registration
iii. Tab Quality order process: Event blocking = Product receipt, Quarantine upon validation failure = No, Quality processing policy = Create quality order
iv. Tab Specifications: Flexible sampling = Yes, Flexible sampling plan code = FSPTEST, Effective = today
STEP BY STEP DEMO
1. PO-1 (Level 10, round 1/2) - Pass Quality order
Initially, D365 sets the current level is 10. That mean QC team need to strictly test 30% registered lot quantity. And no skip-lot applies at this stage.
Based on the pre-requisite configuration, item sampling is 30%LOT, so system will split into two registered lines.
After validating pass QO, new flexible sampling plan activity will be created and level is 10. That mean as our pre-configuration, QC team need to keep testing 30% lot at the next Quality Order.
2. PO-2 (Level 10, round 2/2) - Pass Quality order
PO-2 creation
After passing this quality order and meeting the reference pass criteria (passing 2 consecutive quality orders), the system updates the Flexible Sampling Plan activity to Level 20. Level 20 is less strict than Level 10, reducing the inspection requirement from 30% to 10% of the lot quantity.
3. PO-3 (Level 20, round 1/2) - Pass Quality order
For PO-3, D365 only selects 10% of the lot for sampling based on Level 20 rules
4. PO-4 (Level 20, round 2/2) - Pass Quality order
As Flexible sampling plan, we want to test 2 rounds at level 20, so this is the second Quality order for level 20.
Upon passing PO-4 (the second round at Level 20), the system promotes the vendor/item to Level 30 for subsequent registration.
5. PO-5,PO-6, PO-7 (Level 30, skip lot 1 in 3) - Pass Quality order
PO-5
At Level 30, only 1 out of every 3 receipts requires inspection. This lower inspection frequency reflects high vendor trust based on past performance.
As we can see here, after registering quantity, a new record is created and the status is marked as Skipped.
PO-6
As expectation, the next registering item, a new record is created and mark as quality order skipped
PO-7
This is the third quality order, so a new quality order should be created.
After two skipped quality order, the third quality order is created for level 30.
6. PO-8, PO-9, PO-10 (Level 30) - Fail Quality order - Revert to level 10
Now let's look at a failed quality order scenario. After PO-8, PO-9 were skipped and failing PO-10 causes the system to mark the line as Failed and automatically reset the vendor's activity back to Level 10 for stricter inspection on the next receipt.
Let validate fail the next quality order
After validating fail Quality order, the Flexible sampling plan activity details mark line 12 as fail, and create a new line 13 to indicate that because the quality order failure so now the current level must be updated to level 10 for more strictly inspection.
7. Fail and notify via in-app notification
Furthermore, after inspection failure, the quality control manager role could receive an in-app notification as below for more checking.