Approval Workflow
Guide to Purchase Contract approval routing, limits, and workflow customization.
Overview
APPROVAL WORKFLOW PROCESS
═══════════════════════════════════════════════════════════════════
CREATE CONTRACT APPROVAL CHECK RESULT
─────────────── ────────────── ──────
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Employee │ │ Max Amount vs │ │ Approved │
│ Creates │────►│ Employee │────►│ OR │
│ Contract │ │ Purchase Limit │ │ Sent for │
└─────────────────┘ └─────────────────┘ │ Approval │
└─────────────────┘
If Max Amount > Employee Limit → Requires Approval
If Max Amount ≤ Employee Limit → Auto-Approved
Default Approval Workflow
Purchase Contract Approval Workflow
NetSuite includes a standard workflow: Purchase Contract Approval Workflow
STANDARD WORKFLOW STATES
───────────────────────────────────────────────────────────
┌─────────────┐
│ Entry │
└──────┬──────┘
│
▼
┌─────────────┐ Approval ┌─────────────┐
│ Check If │────► Required ───────►│ Pending │
│ Approval │ │ Approval │
│ Required │ └──────┬──────┘
└──────┬──────┘ │
│ │
│ No Approval Approved│ Rejected
│ Needed │
│ │
▼ ┌──────┴──────┐
┌─────────────┐ │ │
│ Approved │◄──────────────────────┤ Review │
└─────────────┘ └─────────────┘
Approval Limits
Employee Purchase Limit
EMPLOYEE LIMIT SETUP
───────────────────────────────────────────────────────────
Navigation: Lists > Employees > Employees > [Employee]
Purchasing Subtab:
┌────────────────────────────────────────────────────────┐
│ Purchase Limit: $50,000 │
│ │
│ This employee can: │
│ • Create contracts up to $50,000 without approval │
│ • Contracts > $50,000 require supervisor approval │
└────────────────────────────────────────────────────────┘
Supervisor/Approver Limit
APPROVER LIMIT SETUP
───────────────────────────────────────────────────────────
Navigation: Lists > Employees > Employees > [Supervisor]
Purchasing Subtab:
┌────────────────────────────────────────────────────────┐
│ Purchase Approval Limit: $100,000 │
│ │
│ This approver can: │
│ • Approve contracts up to $100,000 │
│ • Contracts > $100,000 go to next level │
└────────────────────────────────────────────────────────┘
Approval Routing Logic
APPROVAL ROUTING DECISION
───────────────────────────────────────────────────────────
Employee: John Smith
Purchase Limit: $50,000
Supervisor: Jane Doe
Supervisor: Jane Doe
Purchase Approval Limit: $100,000
Supervisor: CFO
Contract Max Amount: $75,000
Routing:
$75,000 > $50,000 (John's limit) → Needs approval
$75,000 < $100,000 (Jane's limit) → Jane can approve
Route: John → Jane (approved)
─────────────────────────────────────────────────────────────
Contract Max Amount: $150,000
Routing:
$150,000 > $50,000 (John's limit) → Needs approval
$150,000 > $100,000 (Jane's limit) → Jane can't approve
$150,000 < CFO's limit → CFO can approve
Route: John → Jane → CFO (approved)
Workflow States
State Descriptions
| State | Description | Actions Available |
|---|---|---|
| Entry | Initial state | System evaluates |
| Pending Approval | Awaiting approval | Approve, Reject, Reassign |
| Approved | Contract approved | Create POs |
| Rejected | Contract rejected | Edit and resubmit |
Approver Actions
APPROVER VIEW
───────────────────────────────────────────────────────────
Pending Approval: Contract PC-00125
┌────────────────────────────────────────────────────────┐
│ Contract: PC-00125 │
│ Vendor: ABC Supply Inc. │
│ Max: $75,000 │
│ Requestor: John Smith │
│ │
│ Actions: │
│ [Approve] [Reject] [Reassign] │
│ │
│ Comments: │
│ [________________________________] │
└────────────────────────────────────────────────────────┘
Workflow Customization
Accessing Workflow
CUSTOMIZE APPROVAL WORKFLOW
───────────────────────────────────────────────────────────
Navigation: Customization > Workflow > Workflows
Search: Purchase Contract Approval
┌────────────────────────────────────────────────────────┐
│ Workflow: Purchase Contract Approval Workflow │
│ Record Type: Purchase Contract │
│ Status: Released │
│ │
│ [Edit] [Copy] [Deactivate] │
└────────────────────────────────────────────────────────┘
Recommendation: Copy workflow before customizing
Common Customizations
| Customization | How To |
|---|---|
| Add approver level | Add new state and transition |
| Email notification | Add Send Email action |
| Department-based routing | Add condition based on department |
| Amount threshold | Modify condition formula |
| Parallel approval | Create additional approval paths |
Example: Email Notification
ADD EMAIL NOTIFICATION
───────────────────────────────────────────────────────────
State: Pending Approval
Action: Send Email
Email Configuration:
┌────────────────────────────────────────────────────────┐
│ Action: Send Email │
│ Trigger: On Entry │
│ │
│ Recipient: Supervisor │
│ Subject: Contract Pending Approval: ${record.name} │
│ │
│ Body: │
│ Contract ${record.tranid} requires your approval. │
│ Vendor: ${record.entity} │
│ Amount: ${record.maximumamount} │
│ │
│ Click here to review: ${record.recordurl} │
└────────────────────────────────────────────────────────┘
Multi-Currency Limitation
[!WARNING] The standard Purchase Contract Approval Workflow does not support the Multiple Currencies feature.
MULTI-CURRENCY LIMITATION
───────────────────────────────────────────────────────────
Issue:
Employee limit: $50,000 (USD)
Contract amount: €45,000 (EUR)
System compares: 45,000 vs 50,000
Result: No approval needed (incorrect!)
Actual USD value: €45,000 × 1.08 = $48,600
Resolution Options:
1. Use base currency amounts only
2. Custom workflow with currency conversion
3. Manual approval process for multi-currency
Approval Dashboard
Pending Approvals Portlet
PENDING APPROVALS VIEW
───────────────────────────────────────────────────────────
Navigation: Home > Pending Approvals Portlet
OR: Transactions > Purchases > Approve Purchase Contracts
┌────────────────────────────────────────────────────────────────┐
│ Pending Contract Approvals │
├────────────────────────────────────────────────────────────────┤
│ Contract Vendor Amount Requestor Date │
│ ──────── ────── ────── ───────── ──── │
│ PC-00125 ABC Supply $75,000 John Smith 01/15 │
│ PC-00126 XYZ Parts $120,000 Mary Jones 01/16 │
│ PC-00127 Global Co. $45,000 Bob Lee 01/17 │
└────────────────────────────────────────────────────────────────┘
Click to view and approve
Approval History
Viewing Approval History
CONTRACT APPROVAL HISTORY
───────────────────────────────────────────────────────────
Contract: PC-00125
System Notes Subtab:
┌────────────────────────────────────────────────────────────────┐
│ Date User Action │
│ ──── ──── ────── │
│ 01/15/26 John Smith Created (Pending Approval) │
│ 01/15/26 System Routed to Jane Doe │
│ 01/16/26 Jane Doe Approved │
│ 01/16/26 System Status changed to Approved │
└────────────────────────────────────────────────────────────────┘
Rejection Handling
Reject and Revise
REJECTION PROCESS
───────────────────────────────────────────────────────────
1. Approver rejects contract
┌────────────────────────────────────────────────────┐
│ Rejection Reason: │
│ [Amount exceeds budget. Reduce to $50,000.] │
│ │
│ [Confirm Reject] │
└────────────────────────────────────────────────────┘
2. Requestor notified (if email enabled)
3. Requestor edits contract
• Reduce maximum amount
• Modify terms
4. Resubmit for approval
• Enters approval workflow again
Best Practices
Approval Configuration
| Practice | Recommendation |
|---|---|
| Limits | Set realistic employee limits |
| Levels | Keep approval chain short (2-3 levels) |
| Notifications | Enable email notifications |
| Delegation | Configure approval delegation |
| Documentation | Require comments on rejection |
Common Issues
| Issue | Cause | Resolution |
|---|---|---|
| Contract stuck pending | Approver not assigned | Check supervisor setup |
| Wrong approver | Limit not set | Set approval limits |
| No notification | Email action missing | Add to workflow |
| Can't resubmit | Workflow state issue | Check rejection transitions |
Related Topics
- Contract Setup - Creating contracts
- Contract Fulfillment - PO creation
- Contract Management - Lifecycle