Browse the knowledge base

Bulk-approve up to 50 invoices

In the review queue, filter to narrow down (vendor / amount / client), tick checkboxes for up to 50 items, click Bulk approve. Each approval gets its own audit entry. The 50-cap is intentional UX-safety. For larger backlogs, run multiple batches; the selection persists if you scroll.

When to use bulk-approve

The bulk-approve flow exists for the case where you don't need to look at each invoice individually. The most common triggers:

  • Recurring SaaS subscriptions at predictable amounts — Adobe €29, GitHub €4, AWS €127 every month, same vendor, same payment cycle. Reading each one is wasted attention.
  • End-of-month catch-up — your client uploaded 30 routine receipts during the busy week. Most are obvious; bulk-approve the obvious, drill into the unusual.
  • Pre-filtered, pre-trusted view — "all from Stripe payouts under €200" where you trust the auto-match and just want to confirm everything in one click.
  • Backlog clearance — first time on a new client's books with 200 historical invoices in the queue. Bulk-approve the obvious, leave the questionable.

When NOT to use bulk-approve: anything you'd want to flag. Flag operations are per-invoice on purpose (different reasons, different comments, different client communication). If you find yourself wanting to bulk-flag, that's a signal that a matching rule or a per-client policy adjustment would solve the upstream problem.

The walk-through

Step 1 — open the review queue

From your cockpit, click into the Review queue panel (or navigate to it directly). The queue shows items from all your clients combined.

Step 2 — apply a filter

Filters are the key to safe bulk-approve. Approving 50 random items is dangerous; approving 50 items that match a specific filter (vendor + amount range) is fast and safe.

Common filter combinations:

  • Vendor + amount range: vendor contains "Stripe" AND amount < €200 — covers recurring Stripe payouts.
  • Client + status + age: client = AcmeGmbH AND status = re-submitted AND age > 3 days — clear out a stuck pile after a long phone call.
  • Type + amount: type = receipt AND amount < €50 — bulk-approve all small receipts under €50.

Filter chips appear above the queue. Combine with AND-logic by chaining.

Step 3 — select items

Tick the checkbox next to each invoice you want to approve. Two faster paths:

  • Header checkbox — selects all visible items in the current filtered view. Be careful: if your filter is loose, you might select more than you intended. Always glance at the count.
  • Range-select — click the first item's checkbox, then shift-click the last item's checkbox to select the whole span.

The action bar at the bottom of the queue updates in real-time: "23 selected", "50 selected (max)".

Step 4 — bulk approve

When you have your selection, click Bulk approve in the action bar. A confirmation dialog appears with:

  • Count — "Approve 23 invoices?"
  • Sample list — first 5 client+vendor+amount triples so you can sanity-check the selection
  • Total amount — sum of all selected invoices (sometimes useful for "wait, that's a lot of money in one click" gut-check)
  • Cancel / Confirm buttons

Confirm only if the sample looks right. The dialog is the last chance to catch a mis-filtered selection.

Step 5 — what happens after confirm

Each invoice gets an independent audit-log entry with bulk_approved_by: <your user-ID>, bulk_batch_id: <UUID>, timestamp. The batch-ID lets you trace any item back to the bulk action that approved it (useful if you later need to reverse a batch).

The selected invoices leave the queue. Other items (not selected) stay. The next refresh shows the queue with the bulk-approved items gone.

A success toast confirms: "23 invoices approved" with a link to the batch details if you want to inspect.

The 50-item cap

The cap is 50 items per single bulk action. Two reasons:

  • UX safety. Confirming 200 invoices in one click is dangerously fast. The 50-cap forces a moment of attention; if you're bulk-approving 300 items, you should be doing it in 6 batches with a 5-second pause between, not in one click.
  • Audit clarity. Each approval creates an independent audit-log entry. Large batches are easier to navigate in the audit view when limited to 50 per batch.

For clearing large backlogs (200+ items), do multiple batches of 50. The selection persists if you scroll, so reaching the second batch is one filter-change away.

The cap is not adjustable today. We've considered configurable thresholds but the consensus has been "safety > convenience" for an action that's hard to reverse.

What bulk-approve does NOT do

  • It does not bulk-flag. Flagging is per-invoice for a reason (different reasons, different client communication). See using flag templates.
  • It does not bulk-categorise. Use matching rules for that — they fire automatically on new transactions.
  • It does not retroactively un-approve. To reverse, open each invoice individually and click Re-flag for me (within 24 hours of approval). Beyond 24h, flag fresh as a new issue.
  • It does not bulk-export. That's a separate cross-client action — see bulk export as a tax advisor.

Client-side notification

Clients do not get 50 separate emails when you bulk-approve 50 of their invoices. The notification system batches per-action: one digest email per client per day, summarising what changed. ("Your advisor approved 50 invoices today: ".)

This keeps the client's inbox sane and prevents the bulk-action from looking like a notification storm.

Edge cases

I bulk-approved and the client got 50 notifications. They don't — see client-side notification above. The client gets one digest per day per client-side notification policy. If they're claiming they got 50 notifications, ask them to forward an example; we'll investigate any duplication bug.

I selected 60 but the button shows "50 selected". The cap clamps your selection silently to the first 50. Click Show next 50 or remove some manually to be intentional about which 50 you're approving. The "silently clamps" behaviour is by design — better to clamp than to let you accidentally batch 60.

I accidentally bulk-approved the wrong filter. Each approval is reversible individually within 24 hours via Re-flag for me. The batch-ID in the audit log helps you find them: search audit log for bulk_batch_id = <the ID> and you get the list of all 50 in one query. Re-flag each (or write a script if you have API access — see the per-customer batch-revert workaround below).

I want to bulk-approve across multiple clients. The queue is cross-client by default. Just don't filter by client — the bulk action will span all clients with items in the current filtered view.

Filter shows 30 items but bulk-approve button is greyed out. You haven't ticked any checkboxes. The action bar only appears with a non-zero selection. Tick the header checkbox to select all visible.

Client comes back later asking "why did you approve invoice X?" Open the invoice → audit log tab → shows your user-ID + the bulk_batch_id. Search the batch ID to find the other 49 invoices that were approved in the same action; usually that context tells the story.

Batch-revert workaround for large mistakes — if you accidentally bulk-approved 50 items that should have been flagged, the fastest cleanup is: open the audit log, filter by bulk_batch_id, select all, click Re-flag for review (mass action available within 24h of the original bulk). For larger reversals or older batches, write to [email protected] with [TECHNICAL] + the batch ID — we can do a server-side batch-reset for legitimate cases.

API access for programmatic bulk? Not exposed publicly today. For high-volume firms that want to script their approvals, write to [email protected] with [SALES] API access for tax-advisor batch approve. Enterprise pricing applies.

Related

Didn't answer your question? Write to [email protected] · the AI chat in the bottom-right corner answers most common questions.