Admin Tutorial · Expense & PO Management

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

The outcome
What you will achieve

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.

Before you start

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)
Step-by-step
1
Step 1

Define expense categories and policy limits

Navigate toSettings → Expense Management → Categories & Policies
  1. 1

    Click Add Category. Recommended structure for a professional services firm:

    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. 2

    For each category, toggle Receipt Mandatory ON or OFF based on the policy in the table above.

  3. 3

    Set the Per-Occurrence Limit for each category. Amounts above this limit will require additional approval tier(s) - configured in Step 2.

  4. 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.

Pro Tip

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.

2
Step 2

Configure multi-level approval rules

Navigate toSettings → Expense Management → Approval Rules
  1. 1

    Click Create Approval Rule. Configure rules in priority order (evaluated top-to-bottom):

    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. 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. 3

    Enable Delegation: approvers can designate a delegate when on leave. The delegate receives all approval requests during the specified period.

  4. 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.

3
Step 3

Link expenses to projects and deals

Navigate toSettings → Expense Management → Project Linking
  1. 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. 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. 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. 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.

Common Mistake

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.

4
Step 4

Configure receipt management and duplicate detection

Navigate toSettings → Expense Management → Receipt & Compliance
  1. 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. 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. 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. 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.

5
Step 5

Set up the employee expense portal

Navigate toSettings → Portal → Expense Submission
  1. 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. 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. 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. 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.

6
Step 6

Validate before go-live

  1. 1

    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

The outcome
What you will achieve

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.

Step-by-step
1
Step 1

Build your vendor database

Navigate toSettings → Purchase Orders → Vendor Management → Vendors
  1. 1

    Click Import Vendors or Add Vendor Manually. For each vendor, capture:

    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. 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. 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.

Pro Tip

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.

2
Step 2

Configure PO templates by vendor type

Navigate toSettings → Purchase Orders → PO Templates
  1. 1

    Create a PO template for each vendor type:

    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. 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.

3
Step 3

Configure the PO approval workflow

Navigate toSettings → Purchase Orders → Approval Workflow
  1. 1

    Create PO approval rules following similar logic to expense approval, with additional steps for larger commitments:

    < $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. 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. 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.

4
Step 4

Set up three-way invoice matching

Navigate toSettings → Purchase Orders → Invoice Matching
  1. 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. 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. 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. 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.

5
Step 5

Vendor performance tracking

Navigate toReports → Vendor Management → Performance Dashboard
  1. 1

    Enable the Vendor Performance Report. This automatically tracks across all POs and invoices:

    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. 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.

Pre-flight check

Validation checklist

  1. 01.Vendor database complete

    Spot-check 5 vendors against accounts payable records; verify fields

  2. 02.PO auto-number generating

    Create and approve a test PO; verify PO number assigned

  3. 03.PO approval chain firing

    Submit test POs at each threshold; verify correct approvers notified

  4. 04.Vendor email notification sent

    Approve a test PO; verify vendor receives PO document by email

  5. 05.Committed budget visible

    Approve a test PO linked to a project; check project budget dashboard

  6. 06.Three-way matching working

    Submit a matching and a mismatched test invoice; verify correct handling

  7. 07.Duplicate invoice detected

    Submit the same invoice twice; verify hold and notification

✓ Ready to launch when all items are checked

FAQ

Expense & PO setup - frequently asked questions

Yes, with a configurable time limit. Most organisations set a retrospective submission window of 30–90 days. Submissions outside this window require manager approval with a reason. The system flags retrospective submissions in the approval queue so approvers can see they are not current-period expenses.

Company card transactions can be automatically imported via bank feed integration. Imported transactions appear in the expense queue for the cardholder to categorise and assign to a project - removing the submission step entirely. The approval workflow still applies, but the expense is pre-populated from the bank data.

The invoice is flagged as a mismatch and held - it does not proceed to payment. Finance is notified with the discrepancy amount. They can: approve a partial payment up to the PO value, raise a PO amendment for the additional amount, or reject the overage and notify the vendor.

Yes. Expense policies can be configured at the team or department level. The sales team might have a higher client entertainment limit than the operations team. Each department’s policy is configured separately, and the correct policy is applied automatically based on the submitter’s team assignment.

Run a parallel period of 2–4 weeks where both processes are active but employees are encouraged to use CrmLeaf for all new expenses. At the end of the parallel period, close the email inbox for expense submissions and complete the cutover. Do not try to migrate historical expenses - start fresh with CrmLeaf for current-period spend.

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