Exactly one of the 1,005 vendor bill payments on my NetSuite test account landed on the due date. 995 were early, 896 of them by 10 to 30 days, and weighted by value the account pays 25.9 days ahead of terms. The seven that were late are one story, and I'll get to it.

Paying early sounds like a virtue, and in the procure-to-pay study I treated it as the account's one real bottleneck. This prompt is the follow-on. Vendor Bill Approval and Payment Process Mining takes the approval-and-payment tail of procure-to-pay and goes deeper on three questions: whether approval is even observable, what paying early costs, and which discounts are about to be missed. It's the seventh study in the series that went into the Sonar AI Prompt Library in September.

If you're new to this, Sonar AI is an AI agent that runs inside NetSuite. Every prompt in the library is a playbook that I engineered and tested against live NetSuite data, and you run it inside your own account, against your own records. Nothing leaves the account, and nothing is written to it.

The top of the Vendor Bill Approval and Payment Process Mining sample report, with the executive summary tiles: 1,017 vendor bills, 25.9 value-weighted days early on 995 of 1,005 payments, $1,810 of discount still available on 5 open bills, and 7 late payments cleared in one sweep.

Approval Is a State, Not an Event

Every one of the 1,013 non-pending bills in the account carries an approval status of Approved. None of them has an approver recorded. None has an approval system note. The only trace of a human touching a bill's status is seven notes written by the administrator in one sitting on January 7, and those are status changes from Open to Paid In Full, which is a payment, not an approval.

So approval lead time is unmeasurable on 1,013 of 1,017 bills. The state is set, but no event records when or by whom. The four bills in Pending Approval are the only ones the queue can be timed for, and the oldest, a $1,500 Bedline bill, has been waiting 65 days with nobody assigned to approve it and is 35 days past its due date.

The report's reading is blunt, and I agree with it. If the account intends bills to be approved by someone other than the entering user, then the approval routing workflow is either not running or running without writing to the record. Either enable a workflow that writes the next approver and a system note, so lead time and segregation of duties become auditable, or set the preference to auto-approve openly. Pretending is the worst of the three options.

What Paying Early Costs

The lag columns explain the early payments. 302 bills were paid the day they were entered and 692 within a week, against terms that are Net 30 on 901 bills and Net 15 on 105. Payment is driven by when the bill arrives, and the due date has nothing to do with it.

Section 4 of the report, Payment timing vs terms, with two bar charts of 1,005 pairs by days relative to due date and by bill-to-payment lag, a table breaking the early payments down by lag, and a census of terms on bills.

The cost is shown as a formula with the assumption visible: the value paid early, times the value-weighted days early, divided by 365, times a 5% cost of funds. That gives about $10,300 over the 23-month window, or roughly $5,400 a year. The 5% is an assumption and the report says so, so you can substitute your own. It's a small number on this account. The point is that it's a number for nothing. The vendors already granted the terms.

The Discount Window

Five open bills carry discount terms, 1% or 2% if paid within ten days. They're the first bills with discount terms ever entered in this account, and the window on all five closes between September 10 and September 13, six to nine days after the run. Paying them inside the window saves $1,810.40, and $1,200 of that is on a single $120,000 Davidson Leasing bill.

There's a wrinkle on that one, and the report catches it. The Davidson bill links forward only to a revenue-recognition journal, not to a payment or a receipt, which suggests it may be a lease accrual rather than a payable in the usual sense. The recommendation is to confirm that before September 13, and then take the discount if it's real.

I think that this section is the best argument in the report for running it. Given the account's habit of paying within a week of entry, all five bills would normally have been paid inside the window already. None has been. The first time the account could have captured a discount is the first time it didn't pay early.

The Seven Late Payments

Seven bills from Generation N, numbered VB01 through VB08 with VB05 paid on time, sat 95 to 330 days past due on Net 15 terms and were cleared in one $341,743.03 payment three days after the run. Every other Generation N bill, 81 of 88, was paid within three days of entry. This is one numbered series that was excluded from the normal payment run, and the report suggests checking whether the series was on payment hold or was simply never selected in Pay Bills.

VB05 is its own small story. It has two payments dated the same day for the same $33,700. One is voided, with a memo reading "Demo Ex," and linked to a reversal journal. The other is live. The net effect is one payment, and the audit trail shows a duplicate caught and voided the same day. The report reads that as the control working.

How It's Built

SuiteQL over transaction, nexttransactionlinelink, and systemnote. Six queries, verbatim in the appendix, with notes on the status letters and on which fields are exposed. The hand-check reconciles the bill counts, the terms census to the total bill value, the pairs by timing bucket, the early-payment value, the discount arithmetic, the late sweep net of credit, and the open and pending registers. Nothing was altered.

Wrapping Up

This prompt overlaps with the procure-to-pay study by design. That one covers the whole flow from purchase order to payment and tells you where the exposure is. This one takes the payment end of it and tells you what to do this week. On the test account, that's pay five bills by a specific date, assign an approver to two others, and find out why one series of bills skipped eleven payment runs.

Vendor Bill Approval and Payment Process Mining is in the paid tier of the library. The full sample report from the test account is online, and I covered the whole September release in a separate post.

Paying early for free is a working-capital gift to your vendors. This account has been giving it for two years, and the first discount it was ever offered is about to expire.