MosoFin · AP aging and payment runs, in plain words

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.

The 20-second version

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.

What a run finds

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.

VendorOpen $DueDays past dueBucketWhat the skill sees
Power Co3,400Fri 30 Oct71–30Critical, as you said
PayrollCo1,200Tue 10 Nov−4Not yet dueCritical, as you said
Crestline Logistics12,500Tue 22 Sep4531–60Late fee of 1.5% a month in the terms: $187.50 a month
Lakeside Freight7,200Mon 12 Oct251–30Final notice, with a collection threat. You said an email on 3 Nov asked to change its bank details
Harbor Office Supply8,000Sun 29 Nov−23Not yet due2/10 Net 30, billed 30 Oct. Pay by Mon 9 Nov to save $160
Summit Cleaning950Sun 8 Nov−2Not yet dueDue this week
Pinnacle Design14,000Thu 12 Nov−6Not yet dueDue next week
Brightline Software6,000Fri 4 Dec−28Not yet dueDiscretionary, as you said
Acme Corp9,600Sun 2 Aug9691–120On hold: you dispute the invoice
Total open62,850
Example figures for a made-up company, in dollars. A negative number of days means the bill is not yet due. The skill takes the critical and discretionary tiers from you, because your books do not hold them.
Not yet due$30,1501,200 + 8,000 + 950 + 14,000 + 6,000
1–30 days late$10,6003,400 + 7,200
31–60 days late$12,500Crestline. The 61–90 bucket is $0
91–120 days late$9,600Acme, on hold. Over 120 days is $0. All buckets: 30,150 + 10,600 + 12,500 + 9,600 = 62,850
Who gets paid first

$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.

RankVendorWhy it is herePayRunning total
1Power CoCritical: the service stops without payment3,4003,400
1PayrollCoCritical1,2004,600
2Crestline LogisticsLate, with a late fee that grows12,50017,100
2Lakeside FreightLate, with a collection threat. Flagged: bank-detail change, hold until confirmed7,20024,300
3Harbor Office SupplyDiscount ends Mon 9 Nov, before the next run on Fri 13 Nov. Cash paid: 8,000 − 1607,84032,140
4Summit CleaningDue this week95033,090
5Pinnacle DesignDue next week. 33,090 + 14,000 = 47,090, more than 40,000. The run stops here033,090
6Brightline SoftwareDiscretionary and not due: wait033,090
HeldAcme CorpOn hold. It goes on the Held and disputed sheet, not in the run033,090
Example figures for a made-up company, in dollars. The ranking order is the skill's own default. You can give it a different order. Pinnacle is not late. It waits for the next run on Friday 13 November.
Proposed run$33,0903,400 + 1,200 + 12,500 + 7,200 + 7,840 + 950, as a proposal
Cash left$6,91040,000 − 33,090, from the cash you chose to spend
Left unpaid$29,600Pinnacle 14,000 + Brightline 6,000 + Acme 9,600 on hold
Discount saved$1602% of 8,000. The parts re-add: 33,090 + 160 + 29,600 = 62,850

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 mistake it catches

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 run
Lakeside, in the proposed run$7,200
Bank-detail change?yes
Payment to the new detailshold
The flag says: "Hold until confirmed by phone on a number from your records, not from the request." The skill never puts bank details in an output and never saves them.

The common shortcut

Update the vendor record from the email
Lakeside, paid$7,200
Pay tonew account
Lakeside receives$0
If the email was false, $7,200 goes to a stranger. Lakeside is still unpaid and still sends a final notice.

The 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.

Reported losses, 2024$2.77 billionFrom business email compromise in the US, $2,770,151,146 in total3
Complaints, 202421,442Business email compromise complaints in the same report3
Who decidesA personThe skill proposes the run. A person approves it. The bank or the accounting system pays it. Splitting those roles between people helps prevent fraud, waste and abuse4

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".

How a run starts

It asks seven questions before it reads anything

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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?"
What you need

Connect once, or upload your open bills

Connected with MosoFin

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
Uploading instead

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
What you get back

Seven sheets: the aging, the run, the held bills, and what it could not read

Aging summaryEach vendor against each bucket, with totals. It says if the aging came from your report or if the skill built it from the bills.
Aging detailEvery bill with its dates, days past due, bucket, terms, discount, late fee, tier and status.
Proposed payment runEach payment with its reason, its discount, the cash paid and any bank-detail flag. Then the total, the cash available, the cash left and the bills that wait. Headed as a proposal: no payment has been made or scheduled. It ends with blank lines for the preparer and the approver.
Held and disputedEach held or disputed amount, with the reason, the date it started and who owns it.
DiscountsEvery discount with its last day, its amount and its return a year, highest return first.
ExceptionsBills with data problems to fix before payment, and any due date the skill calculated from the terms.
CoverageFor each task, what the skill read, with which tool, and what you must supply because it could not read it.

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.

What it never does
  • 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.
Words you'll hear

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.
Sources

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.

  1. 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.
  2. 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.
  3. FBI IC3: 2024 Internet Crime ReportBusiness email compromise caused $2,770,151,146 in reported losses in 2024, from 21,442 complaints.
  4. 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.

About this skill

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 →