Who do we pay this week, with the cash we actually have?
Every week a business has more bills than cash. This skill sorts every unpaid bill by how late it is. Then it proposes who to pay first with the cash you choose to spend this week.
You give it a date and the amount of cash you choose to spend. It reads your open bills, terms and vendors, from your books or from your files. It sorts each bill into a band of lateness. It finds discounts that end soon and late fees that grow. It ranks the bills and stops when the next bill does not fit the cash. It shows what stays unpaid. The run is a proposal. A person approves it and pays it in the bank or accounting system.
Nine bills at Northbrook Trading on Friday 6 November
Northbrook Trading pays its bills once a week. The as-of date is Friday 6 November 2026. Northbrook has nine open bills, all in US dollars. The skill calculates the days past due from the as-of date for each bill. Then it puts each bill in a band of lateness. Accountants call these bands aging buckets.
| Vendor | Open $ | Due | Days past due | Bucket | What the skill sees |
|---|---|---|---|---|---|
| Power Co | 3,400 | Fri 30 Oct | 7 | 1–30 | Critical, as you said |
| PayrollCo | 1,200 | Tue 10 Nov | −4 | Not yet due | Critical, as you said |
| Crestline Logistics | 12,500 | Tue 22 Sep | 45 | 31–60 | Late fee of 1.5% a month in the terms: $187.50 a month |
| Lakeside Freight | 7,200 | Mon 12 Oct | 25 | 1–30 | Final notice, with a collection threat. You said an email on 3 Nov asked to change its bank details |
| Harbor Office Supply | 8,000 | Sun 29 Nov | −23 | Not yet due | 2/10 Net 30, billed 30 Oct. Pay by Mon 9 Nov to save $160 |
| Summit Cleaning | 950 | Sun 8 Nov | −2 | Not yet due | Due this week |
| Pinnacle Design | 14,000 | Thu 12 Nov | −6 | Not yet due | Due next week |
| Brightline Software | 6,000 | Fri 4 Dec | −28 | Not yet due | Discretionary, as you said |
| Acme Corp | 9,600 | Sun 2 Aug | 96 | 91–120 | On hold: you dispute the invoice |
| Total open | 62,850 |
$62,850 of bills and $40,000 to spend
Northbrook has more money in the bank. The owner keeps $10,000 in reserve and chooses to spend $40,000 this week. That $40,000 is the cash available for the run. It is what the owner chooses to spend, not the bank balance. The skill asks for this figure every run.
The skill ranks the bills in its default order. It adds each bill to the run until the next bill does not fit the cash.
| Rank | Vendor | Why it is here | Pay | Running total |
|---|---|---|---|---|
| 1 | Power Co | Critical: the service stops without payment | 3,400 | 3,400 |
| 1 | PayrollCo | Critical | 1,200 | 4,600 |
| 2 | Crestline Logistics | Late, with a late fee that grows | 12,500 | 17,100 |
| 2 | Lakeside Freight | Late, with a collection threat. Flagged: bank-detail change, hold until confirmed | 7,200 | 24,300 |
| 3 | Harbor Office Supply | Discount ends Mon 9 Nov, before the next run on Fri 13 Nov. Cash paid: 8,000 − 160 | 7,840 | 32,140 |
| 4 | Summit Cleaning | Due this week | 950 | 33,090 |
| 5 | Pinnacle Design | Due next week. 33,090 + 14,000 = 47,090, more than 40,000. The run stops here | 0 | 33,090 |
| 6 | Brightline Software | Discretionary and not due: wait | 0 | 33,090 |
| Held | Acme Corp | On hold. It goes on the Held and disputed sheet, not in the run | 0 | 33,090 |
The skill shows the unpaid bills on the face of the result, not in a note. Those are the bills you must make a decision about.
The cash test uses the cash paid. For Harbor, that is $7,840, not $8,000. The skill records the $160 discount with the payment, so the bill closes in full. Northbrook has no open vendor credits. If a vendor has one, the skill takes it off that vendor's payment.
Why does a small discount rank above a bill that is due? Harbor gives 2% for payment within 10 days, instead of 30. The skill divides the discount by the price after the discount, then scales it to a year: 2% / 98% × 365 / (30 − 10) = 37.2%. A finance textbook uses the same formula with a 360-day year and gets 36.73% a year1. Both give more than 36% a year.
Crestline's terms add 1.5% a month to a late bill: 12,500 × 1.5% = $187.50 a month. So Crestline ranks above the larger Pinnacle bill, which costs nothing to wait on. The skill takes a late fee from the terms in your books. If the fee is only in a contract, it asks you.
The email that asks you to pay a new bank account
Lakeside Freight is late and sent a final notice. On Tuesday 3 November, an email came "from Lakeside" with new bank details. A request to change bank details is a common way for businesses to lose money. The skill does not read your email. It asks you at the start of each run if a vendor asked to change bank details. You name Lakeside, and the skill flags that payment.
What the skill does
The payment line carries a flag on the proposed runThe common shortcut
Update the vendor record from the emailThe FBI gives the same advice. Confirm a request to change payment or account details through a second channel, such as a phone number you already have. Do not use a number or link in the request2.
Most changes of bank details are real. The skill does not know which kind it found. It flags the change, and you decide after you confirm it through a second channel. If you do not answer the question, the proposed run says "bank-detail changes not screened".
It asks seven questions before it reads anything
- Use MosoFin for this run, or upload the data yourself?MosoFin is the connection to your books and the other platforms you link. With it, the skill reads from there. Without it, you upload the files and the skill does the same work. The skill asks this only if your account has a MosoFin connection. If not, it says once that the run is manual.
- The as-of date for the aging, and any buckets of your own.Required. The aging changes from day to day. The skill never picks a date for you. Without your own buckets, it uses the six default buckets.
- Aging only, or a payment run too? For a run, how much cash is available?Required for the payment run. The run stops when the cash ends. Give the amount after payments you already promised, your float and any reserve. Without it, the skill says that it cannot propose a payment run. It never reads a bank balance and calls it available.
- Which vendors are critical, standard or discretionary?Optional. Your books do not know which supplier stops service first. Critical vendors rank first in the run. Once you give the tiers, the skill need not ask again each week.
- Vendors on hold, disputed bills, payments sent outside the books, and requests to change bank details.The run leaves out held vendors and pays only the undisputed part of a bill. It takes off payments that are on their way but not in the books. It flags a vendor that asked to change bank details. Hold and dispute status come only from you.
- How do you pay each vendor: ACH, wire, cheque or card?Recommended. The books hold the names of the payment methods. They often do not show which vendor gets which method.
- If your bills are in more than one currency: the exchange rate and its source.The skill asks this only if your bills show more than one currency. No accounting connection supplies a live rate for a bank transfer. The output shows the source and the date of the rate.
Then it reads your answers back and waits for your yes. For Northbrook, the read-back is like this:
"Aging as at Friday 6 November for Northbrook Trading, read from your Mosofin connection. Payment run for $40,000 of available cash, after the $10,000 you keep back. Power Co and PayrollCo are critical. Acme Corp is on hold. Lakeside Freight asked to change bank details. Default buckets. All bills in USD. Shall I go ahead?"
Connect once, or upload your open bills
Say yes, then give it the decisions no ledger holds
- It reads the open bills and the aging report, if your workspace allows it
- It reads the payments already made and the open vendor credits
- It reads the payment terms, including discount terms, and the vendor records
- It reads the balance of your accounts payable account, to compare the aging with it
- You still give it the as-of date and the cash available, every run. You also give it the vendor tiers, the holds and disputes, and any late fee that is only in a contract
Bring the open bills, and more if you have them
- Open bills: vendor, bill number, bill date, due date or terms, open amount, currency. An aged payables or open bills export, CSV or XLSX, required
- Payments already made and open vendor credits, CSV or XLSX, recommended
- Vendor list with terms and payment method, CSV or XLSX, recommended
- The accounts payable balance from the balance sheet or trial balance, required to agree the aging to it. Without it, the aging summary says that it is not agreed to that balance
- The as-of date, cash available, tiers, holds and exchange rate, typed in the chat
Seven sheets: the aging, the run, the held bills, and what it could not read
It asks whether you want the sheets as an Excel file before it makes one. If you say no, you get the same sheets as tables in the chat. After you see the results, it offers to save your vendor tiers, payment methods, holds and ranking order for the next run. It never saves bank details or the cash available.
- Never reads your books without asking. A connected account is not permission.
- Never reads anything before you answer the first questions and say yes to the read-back.
- Never sends, releases or schedules a payment, changes bank details or puts a vendor on hold. The run is a proposal, headed as one. A person approves it and pays it.
- Never picks the as-of date, the cash available or the company for you. A bank balance is not available cash. It asks every run.
- Never proposes a real payment run from test data. If any figure is test data, the run is an illustration only, and says so at the top.
- Never puts vendor bank details in an output, and never saves them. You confirm a change through a channel the vendor did not supply.
Seven terms, in plain English
- Accounts payable
- The bills you owe to suppliers and have not paid yet. Accountants write A/P or AP.
- Aging
- A table that sorts every unpaid bill by how late it is.
- Aging bucket
- One band of lateness, for example 1–30 days late. The skill's default bands go from "not yet due" to "over 120 days".
- Payment run
- The group of payments you send at one time, often once a week.
- Cash available
- The amount you choose to spend in this run. It is your decision, not the bank balance.
- 2/10 Net 30
- Payment terms: 2% off if you pay within 10 days, otherwise the full amount is due in 30 days1.
- Credit hold
- You keep a bill unpaid on purpose, for example during a dispute. The run never pays it.
Where the facts on this page come from
The sources are a finance textbook, two FBI publications on email fraud and a US control standard. We found each one on 27 October 2026 in search results. We did not open the pages, so follow each link for today's wording. What the skill does comes from the skill's own files.
- OpenStax: Principles of Finance, 19.2 What Is Trade Credit?For terms of 2/10, net 30, the annual cost of not taking the discount is 36.73 percent. A late payment instead of an early one has a cost: the discount you lose.
- FBI IC3: Public Service Announcement I-060923-PSA, Business Email CompromiseConfirm a request to change payment or account details through a second channel, for example a phone number already on file. Do not use a number or link in the request.
- FBI IC3: 2024 Internet Crime ReportBusiness email compromise caused $2,770,151,146 in reported losses in 2024, from 21,442 complaints.
- GAO: Standards for Internal Control in the Federal Government (Green Book), GAO-25-107721Separating authority, custody and accounting among different people helps prevent fraud, waste and abuse.
No outside authority backs the default buckets, the ranking order, the vendor tiers or the output sheets. They are the skill's own rules. We made up Northbrook Trading and every figure in the example for this page. All four sources are US sources.
This page explains ap-aging-and-payment-runs, from the MosoFin finance skills library, MosoFin/mosofin-finance-skills on GitHub. Read the skill on GitHub → The skill is in the card format on the main branch. It merged in PR #1 on 26 October 2026, and a bookkeeping-audit fix followed on 27 October 2026. This page describes that version. Want the worked examples? Learn it step by step →