Configure expense approvals & purchase orders in CrmLeaf
Two linked tutorials for admins setting up expense management and purchase order workflows for deal and project teams.
Setting up expense approval workflows
A fully configured expense management system with category policies, multi-level approval rules, project/deal code linking, receipt enforcement, and real-time budget alerts - so every expense is captured accurately at point of spend and processed without month-end chaos.
Prerequisites
- ·Admin access to CrmLeaf (Settings > System Admin)
- ·Your expense categories defined (travel, accommodation, entertainment, equipment, etc.)
- ·Expense policy limits agreed with finance (per-category, per-role, per-occurrence limits)
- ·Approval hierarchy confirmed (who approves what, at which thresholds)
- ·Active projects and deals in CrmLeaf (expenses will link to these)
Define expense categories and policy limits
- 1
Click Add Category. Recommended structure for a professional services firm:
Category Receipt Required Per-Occurrence Limit Notes Travel - Flights Yes (mandatory) No limit (policy-governed) Requires pre-approval via PO for > $500 Travel - Accommodation Yes (mandatory) $250/night standard; $350 exec Hotel receipts must show room rate Travel - Ground Yes above $50 $80/day Includes taxis, rideshare, parking Client Entertainment Yes (mandatory) $150pp standard; $250pp exec Must include attendee names on submission Meals - Internal Yes above $30 $40/person No alcohol expenseable under $100 total Software & Subscriptions Yes (mandatory) $200/month per tool Requires IT approval for new tools Equipment & Hardware Yes (mandatory) $500 self-approve; > $500 PO required PO process applies above threshold Training & Conferences Yes (mandatory) $1,500/year per employee Requires manager pre-approval Contractor / Freelancer Invoice required Always via PO No direct expense - use PO module Travel - Flights
- Receipt Required
- Yes (mandatory)
- Per-Occurrence Limit
- No limit (policy-governed)
- Notes
- Requires pre-approval via PO for > $500
Travel - Accommodation
- Receipt Required
- Yes (mandatory)
- Per-Occurrence Limit
- $250/night standard; $350 exec
- Notes
- Hotel receipts must show room rate
Travel - Ground
- Receipt Required
- Yes above $50
- Per-Occurrence Limit
- $80/day
- Notes
- Includes taxis, rideshare, parking
Client Entertainment
- Receipt Required
- Yes (mandatory)
- Per-Occurrence Limit
- $150pp standard; $250pp exec
- Notes
- Must include attendee names on submission
Meals - Internal
- Receipt Required
- Yes above $30
- Per-Occurrence Limit
- $40/person
- Notes
- No alcohol expenseable under $100 total
Software & Subscriptions
- Receipt Required
- Yes (mandatory)
- Per-Occurrence Limit
- $200/month per tool
- Notes
- Requires IT approval for new tools
Equipment & Hardware
- Receipt Required
- Yes (mandatory)
- Per-Occurrence Limit
- $500 self-approve; > $500 PO required
- Notes
- PO process applies above threshold
Training & Conferences
- Receipt Required
- Yes (mandatory)
- Per-Occurrence Limit
- $1,500/year per employee
- Notes
- Requires manager pre-approval
Contractor / Freelancer
- Receipt Required
- Invoice required
- Per-Occurrence Limit
- Always via PO
- Notes
- No direct expense - use PO module
- 2
For each category, toggle Receipt Mandatory ON or OFF based on the policy in the table above.
- 3
Set the Per-Occurrence Limit for each category. Amounts above this limit will require additional approval tier(s) - configured in Step 2.
- 4
Enable the Mileage Rate Calculator for ground travel if your team uses personal vehicles: Settings → Expense → Mileage Rate → enter your standard rate per mile/km.
Keep your expense category list to 8–12 categories. More than 12 creates decision fatigue at submission - employees choose randomly when faced with too many options, which defeats the purpose of categorisation. If you need more granularity, use sub-categories rather than top-level categories.
Configure multi-level approval rules
- 1
Click Create Approval Rule. Configure rules in priority order (evaluated top-to-bottom):
Rule Name Condition Approval Chain Notification Auto-approve low value Amount < $50 AND receipt present AND category = Meals/Ground Auto-approved Submitter confirmation email Manager approval Amount $50–$500 AND all required fields present Direct manager Manager email + in-app Manager + Dept Head Amount $501–$1,500 Direct manager → Department head Sequential; next approver notified on prior approval Finance approval required Amount > $1,500 OR category = Equipment > $500 Manager → Dept Head → Finance Sequential chain; Finance final Executive expenses Submitter role = Executive CFO direct CFO notified immediately Policy exception Expense marked as 'exception request' Manager → Finance → CEO For legitimate over-policy spend Auto-approve low value
- Condition
- Amount < $50 AND receipt present AND category = Meals/Ground
- Approval Chain
- Auto-approved
- Notification
- Submitter confirmation email
Manager approval
- Condition
- Amount $50–$500 AND all required fields present
- Approval Chain
- Direct manager
- Notification
- Manager email + in-app
Manager + Dept Head
- Condition
- Amount $501–$1,500
- Approval Chain
- Direct manager → Department head
- Notification
- Sequential; next approver notified on prior approval
Finance approval required
- Condition
- Amount > $1,500 OR category = Equipment > $500
- Approval Chain
- Manager → Dept Head → Finance
- Notification
- Sequential chain; Finance final
Executive expenses
- Condition
- Submitter role = Executive
- Approval Chain
- CFO direct
- Notification
- CFO notified immediately
Policy exception
- Condition
- Expense marked as 'exception request'
- Approval Chain
- Manager → Finance → CEO
- Notification
- For legitimate over-policy spend
- 2
For each rule, set the Approval Deadline: the number of business hours the approver has to act before an escalation notification is sent. Recommended: 24 hours for standard; 4 hours for expenses flagged urgent.
- 3
Enable Delegation: approvers can designate a delegate when on leave. The delegate receives all approval requests during the specified period.
- 4
Under Rejection Rules, configure what happens when an expense is rejected: the submitter is notified with the rejection reason (mandatory field for approvers) and given 5 business days to resubmit with corrections or provide additional information.
Link expenses to projects and deals
- 1
Enable Mandatory Project/Deal Code: toggle ON. This makes the project or deal selection a required field on every expense submission - the form cannot be submitted without it.
- 2
Under Employee Assignment, confirm that employees are assigned to their active projects and deals in the Project Management module. Only assigned projects/deals appear in an employee's expense submission dropdown.
- 3
Enable Default Project for Teams: for teams that work predominantly on one project (e.g. a dedicated client delivery team), set a default project code. The field will be pre-populated but still editable.
- 4
Configure Budget Alert Thresholds per project: navigate to each active project → Budget Settings → set alert at 80% and 95% of budget. The project manager receives an in-app and email notification when these thresholds are crossed.
Setting up the project linking but not assigning employees to projects first. If employees are not assigned to a project in the Project Management module, that project will not appear in their expense dropdown - and they will complain that 'the right project isn't showing.' Always check project assignments before launching the expense module.
Configure receipt management and duplicate detection
- 1
Enable OCR Receipt Scanning: when an employee photographs a receipt, CrmLeaf extracts the vendor name, date, and amount automatically and pre-fills the expense form.
- 2
Enable Duplicate Detection: the system compares each incoming receipt image against previously submitted receipts. If a duplicate is detected (same vendor, amount, and date within 48 hours), the submission is flagged and held for admin review before entering the approval queue.
- 3
Set Receipt Retention Policy: define how long receipt images are stored (typically 7 years for tax compliance). Enable automatic archiving to your connected cloud storage after the retention period.
- 4
Under Compliance Flags, enable automatic flagging for: weekend submissions of large amounts, round-number amounts above $200 (often estimates rather than actual receipts), and repeated same-day submissions from the same employee above a threshold.
Set up the employee expense portal
- 1
Enable the Employee Expense Portal. This gives every employee a personal expense dashboard where they can submit new expenses, track approval status, view their expense history, and see their remaining budget allocation for the current period.
- 2
Configure Submission Guidance: add a short policy summary visible on the submission form - key limits, receipt requirements, and the categories that require pre-approval.
- 3
Enable Mobile App Access: ensure all employees have the CrmLeaf mobile app installed. The mobile receipt capture feature - photo → automatic OCR → pre-filled form → submit - is the highest-adoption path for point-of-spend capture.
- 4
Send the Launch Communication: before going live, send a brief email to all employees explaining the new process, the mobile app download link, and the key policy points.
Validate before go-live
- 1
Validation Check How to Test Receipt OCR fills form correctly Submit a test receipt via mobile app; verify fields pre-filled Mandatory project code enforced Attempt submission without project code; verify blocked Approval routing fires correctly Submit test expenses at each threshold; verify correct approver notified Duplicate detection working Submit same receipt twice; verify flag on second submission Budget alert fires at 80% Post test expenses to a project at 79% budget; push to 81% and verify alert Policy limit blocks over-threshold Submit an expense over the category limit; verify escalation required Employee portal accessible Log in as a test employee; verify dashboard and submission form visible Receipt OCR fills form correctly
- How to Test
- Submit a test receipt via mobile app; verify fields pre-filled
Mandatory project code enforced
- How to Test
- Attempt submission without project code; verify blocked
Approval routing fires correctly
- How to Test
- Submit test expenses at each threshold; verify correct approver notified
Duplicate detection working
- How to Test
- Submit same receipt twice; verify flag on second submission
Budget alert fires at 80%
- How to Test
- Post test expenses to a project at 79% budget; push to 81% and verify alert
Policy limit blocks over-threshold
- How to Test
- Submit an expense over the category limit; verify escalation required
Employee portal accessible
- How to Test
- Log in as a test employee; verify dashboard and submission form visible
Purchase orders & vendor management
A complete purchase order workflow with vendor database, PO creation and approval, three-way invoice matching, and vendor performance tracking - so every external spend commitment is visible, approved, and reconciled before payment.
Build your vendor database
- 1
Click Import Vendors or Add Vendor Manually. For each vendor, capture:
Field Description Why It Matters Vendor Name Legal trading name Used on POs and invoice matching Vendor Type Supplier / Contractor / Freelancer / Consultant Determines PO template and payment terms Primary Contact Name and email of account manager Auto-included on PO communications Payment Terms Net 30 / Net 14 / On receipt / etc. Auto-applied to invoices from this vendor Rate Card Hourly/daily rate or unit pricing Referenced when creating POs Tax ID / VAT Number Regulatory requirement Required for compliant invoicing Bank Details Payment destination Securely stored for payment processing Preferred Currency For international vendors Auto-applies to POs and invoice matching Vendor Name
- Description
- Legal trading name
- Why It Matters
- Used on POs and invoice matching
Vendor Type
- Description
- Supplier / Contractor / Freelancer / Consultant
- Why It Matters
- Determines PO template and payment terms
Primary Contact
- Description
- Name and email of account manager
- Why It Matters
- Auto-included on PO communications
Payment Terms
- Description
- Net 30 / Net 14 / On receipt / etc.
- Why It Matters
- Auto-applied to invoices from this vendor
Rate Card
- Description
- Hourly/daily rate or unit pricing
- Why It Matters
- Referenced when creating POs
Tax ID / VAT Number
- Description
- Regulatory requirement
- Why It Matters
- Required for compliant invoicing
Bank Details
- Description
- Payment destination
- Why It Matters
- Securely stored for payment processing
Preferred Currency
- Description
- For international vendors
- Why It Matters
- Auto-applies to POs and invoice matching
- 2
Set Vendor Risk Rating for each vendor: Low (established suppliers), Medium (new or single-source vendors), High (vendors with past disputes or single-point-of-failure supply). High-risk vendors trigger additional review steps in the PO approval process.
- 3
Enable Vendor Portal Access for key vendors: this gives them a login to submit invoices directly into CrmLeaf against their open POs, eliminating the email-invoice-to-accounts-payable cycle entirely.
When first building the vendor database, import from your accounts payable system or bank statement. Every payee from the last 12 months should become a vendor record. This catches the 'shadow vendors' - freelancers and suppliers being paid without being properly onboarded - that are common sources of compliance risk.
Configure PO templates by vendor type
- 1
Create a PO template for each vendor type:
Vendor Type Required PO Fields Approval Threshold Contractor / Freelancer Name, SOW description, daily rate, max days, project code All contractor POs require manager + finance approval Software / SaaS Vendor Tool name, subscription tier, per-seat cost, annual total, IT approval IT approval required for all new tools Equipment Supplier Item description, quantity, unit cost, delivery date, asset tag POs > $500 require dept head approval Professional Services Firm name, scope, deliverables, fixed fee or T&M, project code All PS POs require dept head + finance Travel Vendor Preferred supplier only, booking reference, traveller name, project Manager approval; finance for > $1,500 Contractor / Freelancer
- Required PO Fields
- Name, SOW description, daily rate, max days, project code
- Approval Threshold
- All contractor POs require manager + finance approval
Software / SaaS Vendor
- Required PO Fields
- Tool name, subscription tier, per-seat cost, annual total, IT approval
- Approval Threshold
- IT approval required for all new tools
Equipment Supplier
- Required PO Fields
- Item description, quantity, unit cost, delivery date, asset tag
- Approval Threshold
- POs > $500 require dept head approval
Professional Services
- Required PO Fields
- Firm name, scope, deliverables, fixed fee or T&M, project code
- Approval Threshold
- All PS POs require dept head + finance
Travel Vendor
- Required PO Fields
- Preferred supplier only, booking reference, traveller name, project
- Approval Threshold
- Manager approval; finance for > $1,500
- 2
For each template, set the Committed Budget Impact: when a PO is approved, this amount is automatically committed against the linked project budget. The project manager's budget dashboard updates immediately - before any invoice is received.
Configure the PO approval workflow
- 1
Create PO approval rules following similar logic to expense approval, with additional steps for larger commitments:
PO Value Range Approval Chain SLA for Approval < $500 Manager only 24 business hours $500 – $2,000 Manager → Department Head 48 business hours $2,001 – $10,000 Manager → Dept Head → Finance 72 business hours > $10,000 Manager → Dept Head → Finance → CEO 5 business days Any - new vendor first PO Manager → Finance → Procurement review 72 hours (new vendor check) < $500
- Approval Chain
- Manager only
- SLA for Approval
- 24 business hours
$500 – $2,000
- Approval Chain
- Manager → Department Head
- SLA for Approval
- 48 business hours
$2,001 – $10,000
- Approval Chain
- Manager → Dept Head → Finance
- SLA for Approval
- 72 business hours
> $10,000
- Approval Chain
- Manager → Dept Head → Finance → CEO
- SLA for Approval
- 5 business days
Any - new vendor first PO
- Approval Chain
- Manager → Finance → Procurement review
- SLA for Approval
- 72 hours (new vendor check)
- 2
Enable PO Number Auto-Generation: every approved PO receives a unique sequential number (e.g. PO-2026-0147). This number must appear on the corresponding vendor invoice for matching.
- 3
Configure the PO Communication Template: when a PO is approved, CrmLeaf automatically emails the vendor with the PO document attached, the PO number, the agreed scope and amount, and instructions for invoice submission.
Set up three-way invoice matching
- 1
Enable Automated Three-Way Matching. When a vendor invoice is received, the system matches it against:
- The Purchase Order (amount, vendor, description)
- The Goods Receipt or Service Confirmation (has the deliverable been confirmed?)
- The Invoice itself (amount, date, PO number reference)
- 2
Configure Matching Tolerances: small discrepancies (e.g. rounding differences of < $5, or currency fluctuation within 1%) can be set to auto-match rather than requiring manual review.
- 3
Set Mismatch Handling Rules:
- Invoice amount > PO amount by > tolerance: flag for finance review; do not process payment
- Invoice with no matching PO number: route to AP queue as unmatched; notify finance
- Duplicate invoice (same vendor, amount, date): hold and notify AP manager
- 4
Enable the Goods Receipt Confirmation step for physical goods purchases: the receiving team member must confirm receipt in CrmLeaf before the invoice is released for payment. This prevents payment for goods not yet delivered.
Vendor performance tracking
- 1
Enable the Vendor Performance Report. This automatically tracks across all POs and invoices:
Metric What It Measures Alert Threshold On-time delivery rate % of POs where deliverable confirmed by agreed date Alert if < 85% over trailing 6 months Invoice accuracy rate % of invoices matching PO without discrepancy Alert if < 95% over trailing 6 months Average payment-to-delivery time Days from PO approval to deliverable confirmation Flag if > 30% above contracted SLA Dispute rate % of POs with a formal dispute raised Alert if > 2 disputes in 12 months Spend concentration % of total vendor spend with single supplier Alert if > 40% with any single vendor On-time delivery rate
- What It Measures
- % of POs where deliverable confirmed by agreed date
- Alert Threshold
- Alert if < 85% over trailing 6 months
Invoice accuracy rate
- What It Measures
- % of invoices matching PO without discrepancy
- Alert Threshold
- Alert if < 95% over trailing 6 months
Average payment-to-delivery time
- What It Measures
- Days from PO approval to deliverable confirmation
- Alert Threshold
- Flag if > 30% above contracted SLA
Dispute rate
- What It Measures
- % of POs with a formal dispute raised
- Alert Threshold
- Alert if > 2 disputes in 12 months
Spend concentration
- What It Measures
- % of total vendor spend with single supplier
- Alert Threshold
- Alert if > 40% with any single vendor
- 2
Schedule a Quarterly Vendor Review: the performance dashboard generates a PDF report per vendor. Use this in annual contract renewals - vendors with consistently poor performance metrics have their contracts reviewed or rates renegotiated.
Validation checklist
01.Vendor database complete
Spot-check 5 vendors against accounts payable records; verify fields
02.PO auto-number generating
Create and approve a test PO; verify PO number assigned
03.PO approval chain firing
Submit test POs at each threshold; verify correct approvers notified
04.Vendor email notification sent
Approve a test PO; verify vendor receives PO document by email
05.Committed budget visible
Approve a test PO linked to a project; check project budget dashboard
06.Three-way matching working
Submit a matching and a mismatched test invoice; verify correct handling
07.Duplicate invoice detected
Submit the same invoice twice; verify hold and notification
✓ Ready to launch when all items are checked
Expense & PO setup - frequently asked questions
Related guides
Ready to put this tutorial into practice?
Start free, migrate from any tool, and configure your service-desk workflows in days, not weeks.
Free 14-day trial · Free onboarding · Free data migration · Cancel anytime