Contract Fulfillment
Guide to creating Purchase Orders from Purchase Contracts and tracking contract utilization.
Overview
CONTRACT TO PO FLOW
═══════════════════════════════════════════════════════════════════
PURCHASE CONTRACT PURCHASE ORDERS
───────────────── ───────────────
┌─────────────────────┐
│ Contract: PC-00125 │
│ Vendor: ABC Supply │
│ Max: $100,000 │
│ Items: │
│ - WIDGET-100 $25 │
│ - WIDGET-200 $45 │─────┬──► PO-00501: $15,000
└─────────────────────┘ │
├──► PO-00523: $22,000
│
├──► PO-00567: $18,000
│
└──► More POs...
───────────────
Total: $55,000
Remaining: $45,000
Linking PO to Contract
Method 1: From Contract Record
CREATE PO FROM CONTRACT
───────────────────────────────────────────────────────────
1. Navigate to Contract
Transactions > Purchases > Purchase Contracts > List
2. Open contract record
3. Click "Create Purchase Order" button
4. PO is pre-populated:
┌────────────────────────────────────────────────────┐
│ Purchase Order (from PC-00125) │
│ │
│ Vendor: ABC Supply Inc. [Auto-filled] │
│ Contract: PC-00125 [Auto-filled] │
│ Terms: Net 30 [From contract] │
│ Location: Main Warehouse [From contract] │
│ │
│ Items (from contract): │
│ WIDGET-100 Qty: [___] Rate: $25.00 │
│ WIDGET-200 Qty: [___] Rate: $45.00 │
└────────────────────────────────────────────────────┘
5. Enter quantities needed
6. Save
Method 2: During PO Entry
SELECT CONTRACT ON NEW PO
───────────────────────────────────────────────────────────
1. Create new Purchase Order
Transactions > Purchases > Enter Purchase Order
2. Select Vendor
3. In "Purchase Contract" field, select contract
┌────────────────────────────────────────────────────┐
│ Vendor: ABC Supply Inc. │
│ Purchase Contract: PC-00125 - Annual Supply ▼ │
│ ├── PC-00125 (Active) │
│ └── PC-00089 (Expired) │
└────────────────────────────────────────────────────┘
4. Contract items available for selection
Contract pricing automatically applied
Auto-Population
Fields Populated from Contract
| Field | Source | Behavior |
|---|---|---|
| Vendor | Contract header | Required match |
| Terms | Contract terms | Auto-filled |
| Department | Contract classification | Auto-filled |
| Class | Contract classification | Auto-filled |
| Location | Contract classification | Auto-filled |
| Items | Contract items | Available to add |
| Rates | Contract pricing | Auto-calculated |
Pricing Application
CONTRACT PRICING ON PO
───────────────────────────────────────────────────────────
Contract PC-00125 Pricing:
WIDGET-100:
Qty 1-100: $28.00
Qty 101-500: $25.00
Qty 501+: $23.00
PO Entry:
Item: WIDGET-100
Qty: 300
System calculates:
Tier: 101-500
Rate: $25.00
Amount: 300 × $25.00 = $7,500
Commitment Tracking
Contract Utilization
CONTRACT UTILIZATION VIEW
═══════════════════════════════════════════════════════════════════
Contract: PC-00125 - Annual Supply Agreement
Status: Active
Period: 01/01/2026 - 12/31/2026
Amount Tracking:
┌────────────────────────────────────────────────────────┐
│ Minimum Amount: $10,000 │
│ Maximum Amount: $100,000 │
│ │
│ Purchased to Date: $55,000 │
│ ████████████████████████████░░░░░░░░░░░░░ 55% │
│ │
│ Remaining: $45,000 │
│ Status: ● Minimum Met ✓ │
└────────────────────────────────────────────────────────┘
Item Tracking:
┌────────────────────────────────────────────────────────┐
│ Item Contracted Purchased Remaining │
│ ──── ────────── ───────── ───────── │
│ WIDGET-100 1,000 600 400 │
│ WIDGET-200 500 250 250 │
│ SUPPLY-001 2,000 1,200 800 │
└────────────────────────────────────────────────────────┘
Min/Max Enforcement
Minimum Amount
MINIMUM AMOUNT TRACKING
───────────────────────────────────────────────────────────
Purpose: Ensures buyer honors committed purchase volume
Contract: PC-00125
Minimum Amount: $10,000
Purchased: $8,500
Alert (before expiration):
┌────────────────────────────────────────────────────────┐
│ ⚠️ Contract PC-00125 Minimum Not Met │
│ │
│ Minimum Required: $10,000 │
│ Current Purchases: $8,500 │
│ Shortfall: $1,500 │
│ │
│ Days Until Expiry: 30 │
│ │
│ Action: Create additional purchase orders │
└────────────────────────────────────────────────────────┘
Maximum Amount
MAXIMUM AMOUNT ENFORCEMENT
───────────────────────────────────────────────────────────
Purpose: Triggers approval when spending limit exceeded
Contract: PC-00125
Maximum Amount: $100,000
Purchased to Date: $95,000
New PO Amount: $12,000
Warning:
┌────────────────────────────────────────────────────────┐
│ ⚠️ This PO will exceed contract maximum │
│ │
│ Contract Maximum: $100,000 │
│ Already Purchased: $95,000 │
│ This PO: $12,000 │
│ ──────────────────────────────────────── │
│ New Total: $107,000 │
│ Over Maximum By: $7,000 │
│ │
│ Options: │
│ ● Submit for additional approval │
│ ○ Reduce PO amount │
│ ○ Cancel │
└────────────────────────────────────────────────────────┘
Contract History
Linked Purchase Orders
CONTRACT HISTORY VIEW
───────────────────────────────────────────────────────────
Contract: PC-00125
Transactions Subtab:
┌────────────────────────────────────────────────────────────────┐
│ Type Number Date Amount Status │
│ ──── ────── ──── ────── ────── │
│ PO PO-00501 01/15/26 $15,000 Fully Billed │
│ PO PO-00523 02/10/26 $22,000 Received │
│ PO PO-00567 03/05/26 $18,000 Pending Receipt │
│ │
│ Total Linked: $55,000 │
└────────────────────────────────────────────────────────────────┘
Click any PO to view details
Expiration Alerts
Alert Configuration
CONTRACT EXPIRATION ALERT
───────────────────────────────────────────────────────────
System generates alerts before contract expiry:
Alert Settings:
Days Before: 30, 14, 7
Alert Example (30 days):
┌────────────────────────────────────────────────────────┐
│ Subject: Contract PC-00125 Expiring in 30 Days │
│ │
│ Contract: PC-00125 - ABC Supply Annual │
│ Vendor: ABC Supply Inc. │
│ Expires: 12/31/2026 │
│ │
│ Utilization Summary: │
│ Maximum: $100,000 │
│ Purchased: $55,000 (55%) │
│ Remaining: $45,000 │
│ │
│ Action Required: │
│ • Review contract terms │
│ • Initiate renewal if needed │
│ • Complete remaining purchases │
└────────────────────────────────────────────────────────┘
Non-Contract Items
Adding Items Not in Contract
NON-CONTRACT ITEMS ON PO
───────────────────────────────────────────────────────────
Scenario: PO linked to contract, but need additional items
Contract PC-00125 Items:
- WIDGET-100
- WIDGET-200
PO Entry:
┌────────────────────────────────────────────────────────┐
│ Contract: PC-00125 │
│ │
│ Items: │
│ WIDGET-100 100 $25.00 [From contract] │
│ WIDGET-200 50 $45.00 [From contract] │
│ PART-999 25 $15.00 [Not in contract]│
└────────────────────────────────────────────────────────┘
Behavior:
• Contract items use contract pricing
• Non-contract items use standard pricing
• All items included in contract spending total
Receiving and Billing
Flow After PO Creation
FULFILLMENT FLOW
───────────────────────────────────────────────────────────
PO Created from Contract
│
▼
┌──────────────────┐
│ Item Receipt │ ← Goods received at warehouse
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Vendor Bill │ ← Invoice received from vendor
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Payment │ ← Bill payment
└──────────────────┘
Contract Updates:
• Purchased amount increases at PO creation
• No additional tracking changes at receipt/bill
Best Practices
Contract Fulfillment
| Practice | Recommendation |
|---|---|
| Link correctly | Always select contract when ordering |
| Monitor usage | Review utilization weekly |
| Alert response | Act on expiration alerts |
| Documentation | Note reason for non-contract items |
Common Issues
| Issue | Cause | Resolution |
|---|---|---|
| Contract not available | Different vendor selected | Match vendor |
| Wrong pricing | Contract not selected | Link PO to contract |
| Item not from contract | Item not in contract | Add to contract or use standard |
| Exceeded maximum | No approval workflow | Enable approval |
Related Topics
- Contract Setup - Creating contracts
- Contract Pricing - Pricing details
- Contract Management - Renewals
- Contract Reporting - Analysis