
A payment schedule is a promise: this vendor, this amount, this date. Controllers stop trusting the schedule when it lives in three places and none of them match the bank.
Trust comes from one record that intake, approval, and payment all update. Not from a prettier calendar.
If the schedule and the invoice queue disagree, the queue should win. The calendar is a view of the queue.
Start with approved invoices and their due dates. Group them into payment runs. That grouping is the schedule.
If you invent dates first and attach invoices later, you will pay early, pay twice, or skip a vendor who was waiting on a person.
Net 30 is not a slogan. It is a due date on a record. If AP cannot see that date next to approval status, the term is decoration.
Early-pay discounts need the same treatment. Put the cutoff on the invoice. Let the controller choose, in writing, whether to take it.
A trusted schedule batches work. Tuesday's run is a list of approved invoices that share a date. The controller reviews the batch, not twenty separate pings.
Emergency wires still happen. Mark them as exceptions so they do not rewrite the default schedule.
If anyone can drag a due date, the schedule is a suggestion. Limit date changes to the controller or a named backup, and keep the history.
Vendors will ask to be paid early. That is a request. It should show up as a request, not as a silent edit.
Reconciliation is how you keep trust. If a payment left the bank and the invoice is still open, the schedule is lying. Close the loop the same day if you can.
Capvolta is not the bank. The bank statement is still the cash fact. The schedule is the operations fact. They have to meet.
Control keeps vendor terms, invoice due dates, and payment batches in one queue. You still send money through your bank. You keep the why in Control.
Controllers trust a schedule they can audit. That is the product job.
Account notifications for payments, invoices, and cash flow warnings. No promotional messages.

