All posts

Coding, close, and accuracy

Where the days actually go in invoice approval

Approvers spend about 90 seconds on an invoice. The invoice waits days. Those are different problems and only one of them is about diligence.

The BillRoute Team7 min read

An approver spends roughly 90 seconds of real attention on an invoice. The invoice spends days in their queue.

Almost every attempt to speed up approvals targets the 90 seconds. The days are where the money is.

Latency and time are different metrics, and only one is measurable by asking

Ask a regional how long they spend approving invoices and they will give you an honest answer about the 90 seconds. They are not the bottleneck in the way the question implies.

The bottleneck is that they are between property visits, their queue is a browser tab, and the invoice sits until they next open it. That is latency, and it is a function of routing and prompting rather than effort.

Distinguishing the two matters because the fixes are unrelated. Reducing time means simplifying the decision. Reducing latency means making sure the right person is prompted, is available, and is replaced when they are not.

Bucket approval time into three ranges, per property and per approver

An average approval time is close to useless. The distribution is the whole story.

Three buckets: under one day, one to three days, over three days. Then read it two ways.

By property, it tells you where the process is broken. One property at four days average with the rest under one is not a portfolio problem.

By approver, it tells you whether it is a staffing problem. A regional covering nine properties with an over-three-days bucket that keeps growing needs an alternate, not a reminder.

BillRoute's spend and procurement analytics buckets exactly this way. The reason those three ranges rather than a mean: a mean of 1.4 days can be everything at one day plus one invoice at 30, and the 30 is the one an owner will ask about.

Four structural causes, in the order they usually appear

Nobody is assigned. The assignments grid shows approvers per property and per role, and an empty cell means nobody is on deck. Invoices route to nowhere and age silently. This is the most common cause and the easiest to miss, because nothing errors.

The approver is unavailable. Vacation, leave, a role change nobody updated. Auto-escalation to an alternate is the fix, and without it a two-week absence puts two weeks of invoices in one queue.

Everything requires approval. If a $38 utility bill from a known vendor routes through PM, regional, and CapEx, you have trained your approvers to skim. Trusted vendor bypass exists for this, and it deliberately does not apply to anything matched to a purchase order.

The chain is longer than the decision. Three tiers on an invoice where one person actually has an opinion. Every tier adds latency and none adds judgment.

Bypass rules are a control, not a shortcut

Worth being careful here, because "skip approval" sounds like the opposite of a control.

A bypass applied to specific designated vendors, recorded in the audit trail, and blocked on any PO-matched invoice is a control. It concentrates approver attention on the invoices that need it.

A bypass applied broadly to reduce queue size is not, and the giveaway is whether anyone can produce a list of which vendors are bypassed and why.

The reason PO-matched invoices are excluded is specific: a PO already encodes an approval decision made before the work, so a price variance against it is exactly the case a human should see.

Speed to submission is the number that tells you if any of this worked

The reference portfolio runs 61.8 minutes from invoice receipt to ERP submission.

That figure spans the whole pipeline, which is why it is the one to track rather than an approval-specific metric. A portfolio at 61.8 minutes has nothing queued at month-end. A portfolio at four days is closing with a week of invoices in flight.

What moved it there: capture and coding removed the volume that needed a human at all, at a 98% automation rate, and routing removed the wait on what was left. Two separate fixes. Teams reliably do the first and underinvest in the second.

The limit worth saying out loud

None of this fixes an approver who does not open their queue.

Routing is a technology problem and it is solvable. Urgency is a management problem and it is not, at least not by us. If a regional's over-three-days bucket keeps growing after escalation and alternates are configured, the remaining conversation is about workload or accountability, and software's only useful contribution is making the number visible.

Pull your approval aging by approver. Who is over three days, and is it the same person every month?

Keep reading

Coding, close, and accuracy

The multifamily month-end close checklist, AP section

Close is late for two reasons: AP is still coding, and nobody can see what has not posted. Six things have to be true on the last day, and each is a query rather than a conversation.

8 min read