Skip to Content

Example 4: Approval Workflow

Define business rules without ambiguity

Poor Specification

Purchase Approval System

We need an approval workflow for purchases. Different people should approve based on amount.

Process:
- Employee creates purchase request
- Manager approves
- For big purchases, higher approval needed
- Finance should be involved
- Track status
- Send notifications

System should prevent unauthorized purchases and maintain audit trail. Should be flexible for different scenarios.

Urgent requests should be handled quickly. Integration with accounting system required.

❌ Problems:

  • No approval limits defined
  • "Big purchases" is vague
  • Unclear escalation path
  • "Flexible" undefined
  • No urgency criteria

Better Specification

Purchase Order Approval Workflow

Approval Matrix:
< $1,000: Direct Manager
$1,000-$5,000: Manager + Department Head
$5,000-$25,000: Above + CFO
> $25,000: Above + CEO

Workflow Steps:
1. Requester submits (vendor, items, amount, justification)
2. System routes per matrix above
3. Approvers have 48 hrs (email at 0, 24, 47 hrs)
4. Any rejection returns to requester with reason
5. Approval creates PO in Odoo Accounting

Special Rules:
- Urgent flag: 4-hour SLA, SMS alerts
- Budget exceeded: Auto-reject with message
- Delegation: Out-of-office auto-forwards

Audit: Log all actions with timestamp, user, IP

✓ Clear improvement:

  • Exact approval limits
  • Step-by-step flow
  • Specific timeframes
  • Defined special cases
  • Audit requirements clear