Skip to main content

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

StateDescriptionActions Available
EntryInitial stateSystem evaluates
Pending ApprovalAwaiting approvalApprove, Reject, Reassign
ApprovedContract approvedCreate POs
RejectedContract rejectedEdit 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

CustomizationHow To
Add approver levelAdd new state and transition
Email notificationAdd Send Email action
Department-based routingAdd condition based on department
Amount thresholdModify condition formula
Parallel approvalCreate 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

PracticeRecommendation
LimitsSet realistic employee limits
LevelsKeep approval chain short (2-3 levels)
NotificationsEnable email notifications
DelegationConfigure approval delegation
DocumentationRequire comments on rejection

Common Issues

IssueCauseResolution
Contract stuck pendingApprover not assignedCheck supervisor setup
Wrong approverLimit not setSet approval limits
No notificationEmail action missingAdd to workflow
Can't resubmitWorkflow state issueCheck rejection transitions