AP Approval Workflow

Every new bill is routed automatically to the right approval tier — auto-approve, operations, or advisor + owner — based on its amount, contract match, and risk. Configure dollar thresholds and per-tier approvers once, then work the queue from the dedicated Pending Approvals sidebar entry with a "Waiting on me" filter, email, and optional Slack notifications.

Key capabilities

  • Automatic routing into auto-approve, operations, or advisor + owner tiers based on amount and contract match
  • Three-tier approval chain with per-business amount thresholds
  • Per-tier approver assignment — choose who can sign off at each gate
  • Dedicated Pending Approvals queue with tier filter, "Waiting on me" toggle, and inline approve/reject with comments
  • AI risk scoring (0-100 with up to three factors) shown inline on each card
  • Bulk-approve low-risk bills (risk score below 40) in one click
  • Personal pending-count badge that counts only bills waiting on your tiers
  • Email and optional Slack notifications when a bill enters a gate
  • Firm-wide visibility at Settings > Approval Policies, plus a full audit trail

How it works

When a bill is created — manually, by AI, or from an email — the workflow reads its amount and contract match status and picks a tier. Each gate waits for a human response before the next runs.

flowchart TD
  bill["New bill"] --> signals["Risk score + contract match"]
  signals --> route{"Amount & contract"}
  route -->|"<= auto-approve, matched"| auto["Auto-approved"]
  route -->|"<= ops threshold"| ops["Operations approval"]
  route -->|"> ops, over_contract, or needs_review"| adv["Advisor + Owner approval"]
  auto --> ready["Approved - ready to pay"]
  ops --> ready
  adv --> ready

How to use it

  1. Open AP Approvals (under Accounts Payable) and click Set Up Approval Policy if you haven't yet.
  2. Set the Auto-Approve threshold — bills at or below it with a matched contract approve automatically.
  3. Set the Ops Approval threshold — bills between the auto-approve limit and this amount go to operations approvers.
  4. Click Manage approvers to pick who can sign off at each tier (Operations, Advisor, Owner).
  5. As bills are created, the workflow starts automatically — open Pending Approvals to work the queue (the badge shows how many bills wait on you).
  6. Toggle the Waiting on me pill to filter to only the gates your account approves.
  7. Click Approve to advance a bill, or Reject to add a comment — each bill shows as a card with vendor, amount, tier, and risk score.
  8. Use Score risk to flag duplicate or suspicious bills, then Bulk Approve Low-Risk to clear the easy ones.
  9. Advisory firms manage thresholds across all clients from Settings > Approval Policies.

Pro tips

  • Start conservative (e.g. auto-approve under $500, ops up to $5,000) — re-provisioning is idempotent, so clicking Set Up Approval Policy again safely resets thresholds to defaults without breaking bills already in flight.
  • Assign at least one approver per tier — until you do, any user can respond to that tier (fine for small teams, weak governance for larger ones).
  • Run AI risk scoring before working the queue: bulk-approve low-risk bills, then focus on higher-risk items.
  • Add rejection comments so vendors understand returns — quick-pick reasons speed up common cases like duplicate invoices.
  • Keep vendor contracts current: over_contract or needs_review bills skip auto-approve regardless of amount.

In-depth guide

How routing works

When a bill is created (manually, via AI, or from an email/upload), DayZero automatically starts the AP approval workflow. It reads the bill's amount and contract match status and picks a tier:

  • Auto-approve — bills at or below the auto-approve threshold with a matched contract are approved automatically.
  • Operations — bills up to the ops threshold go to Operations.
  • Advisor + Owner — bills above the ops threshold, or flagged over_contract / needs_review, go to Advisor review and then Owner approval.
  • Sequencing — each gate waits for a human response before the next step runs.

Setting thresholds

  • Adjust thresholds — click "Adjust thresholds" to set the auto-approve and ops limits (the Ops threshold must exceed the auto-approve threshold).
  • When changes apply — to bills created after the change; bills already in flight continue through the tier they were routed into.
  • Idempotent provisioning — clicking "Set Up Approval Policy" again with the default values resets the thresholds back to those defaults, so you can use it as a reset button.
  • Firm-wide — advisory firms can update thresholds across all client businesses from Settings > Approval Policies.

Assigning approvers

  • Manage approvers — click "Manage approvers" on the AP Approval page to pick who can respond to each tier.
  • Stored per tier — Operations, Advisor, Owner.
  • No approvers assigned — any user on the business can respond to that tier (legacy, permissive behavior).
  • At least one approver assigned — only those users can approve or reject at that tier; others receive a 403.
  • Counts — approver counts appear on the AP Approval page and the firm-wide Approval Policies page.

Responding to approvals

  • Queue — open the Pending Approvals sidebar entry to see every bill awaiting a response; each shows as a card with vendor, amount, tier, risk score, and time pending.
  • Approve — advances the bill (or completes it if it's the last gate).
  • Reject — adds an inline comment; quick-pick reasons like "Duplicate invoice" or "Wrong amount" are available.
  • Filters — use the tier filter pills to focus on one tier, or the "Waiting on me" pill to hide gates you don't approve.
  • Bulk approve — with AI risk scoring on, bills scoring under 40 can be bulk-approved in one click.
  • Bill detail modal — you can also respond there; it shows an approval card when a workflow is pending.

Sidebar badge

  • Polling — the Pending Approvals badge polls every 30 seconds.
  • Personal — it counts only bills waiting on tiers you're configured to approve, so users not on any tier see no badge.
  • Full queue — clear the "Waiting on me" toggle to see the firm-wide queue when triaging on someone else's behalf.

Notifications

  • On entering a gate — DayZero emails the approvers for that tier, and posts to Slack if a webhook is configured.
  • Best-effort — if delivery fails, the workflow still suspends correctly and the bill still appears on the Pending Approvals page.

Contract match status

Every bill carries a contract match status:

  • matched — it aligns with a known vendor contract.
  • over_contract — it exceeds contract terms.
  • needs_review — the system couldn't confidently match it.
  • Escalation — the workflow escalates over_contract and needs_review bills even when their amount would otherwise auto-approve, so keep vendor contracts current.

AI risk scoring

  • Trigger — click "Score risk" to score draft and pending bills.
  • What it checks — the model looks for duplicate invoices, unusual amounts, and other patterns, returning a 0-100 score with up to three short factors.
  • Workflow — work the highest-risk bills first and revisit the factors when you need context before approving.

Audit trail

  • Per response — every approval or rejection writes a row to the audit log (Settings > Audit Log) with the responding user, the bill, the tier, and the workflow execution id.
  • Workflow events — started, suspended, resumed, completed, and failed are logged too.
  • Result — a full history of who approved what, when, and why, useful for close, investigations, and SOC reviews.

Firm-wide management

Advisory firms manage approval policies for all clients at Settings > Approval Policies:

  • Overview — shows each client's thresholds, whether the workflow is enabled, and the total approvers assigned.
  • Actions — enable the workflow, adjust thresholds, or jump into a client's AP Approval page.

Rollout and feature flag

Automatic routing is gated by the feature_ap_approval_auto_route flag:

  • Flag off — the AP Approval page still configures thresholds and approvers, but bills are approved manually from the Bills page.
  • Flag on — newly created bills start the workflow automatically.
  • Existing drafts — are not retroactively routed.

Start free and put controls on every dollar that goes out.