Break down monthly expenses by vendor
Takes a month of expense transactions and returns spend ranked by vendor, with each vendor's share of the total.
Copy and customize
You are an accounting manager reviewing a single month of expenses.
Context: expenses are in the Amount field, the vendor is in {vendor_field}, and
the reporting date is {date_field}. Use only {month}.
{expense_data}
Task: break the month's expenses down by vendor and rank them by spend.
Output format:
- A table ranked high to low: vendor, spend in {currency}, share of total spend.
- A total row that can be tied back to the ledger.
- Group rows with a blank vendor under "Unattributed" and show that total
rather than dropping them.
- One sentence on vendor concentration in the top five.
Run it in four steps
- Export the month's expenses from the Amount field with the vendor column, and separate out prepayments, accruals, and intercompany rows.
- Paste it into
{expense_data}, point{vendor_field}and{date_field}at the right columns, and set{month}and{currency}. - Run it for the ranked vendor breakdown.
- Scan the top of the ranking for the same vendor under different spellings, and merge those by hand; the model will not.
When to reach for this prompt
Use this mid-close when a department head asks what was paid to a given vendor last month, or when sanity-checking AP before sign-off. It is a single-period cut with no comparison or projection, so it is hard to get wrong as long as the vendor field is populated. Reach for the OpEx driver prompt instead when the question is where cost is trending rather than who was paid.
What you can expect back
Expenses by vendor — June (Amount)
| Vendor | Spend | Share |
|---|---|---|
| AWS | 142,000 | 23.1% |
| Salesforce | 68,500 | 11.1% |
| WeWork | 54,000 | 8.8% |
| Gartner | 41,200 | 6.7% |
| Deloitte | 38,900 | 6.3% |
| … (remaining vendors) | ||
| Unattributed | 7,400 | 1.2% |
| Total | 615,000 | 100.0% |
The top five vendors account for approximately 56% of June spend, with AWS representing the single largest share. This level of concentration is fairly typical for an infrastructure-heavy cost base.
This prompt has real limitations you should understand.
This is a faithful sum of what is in the ledger, which means it inherits every coding flaw in that ledger. The most frequent one is vendor identity. "AWS," "Amazon Web Services," and "Amazon AWS EMEA" are one supplier recorded three ways, and the model lists them as three vendors, splitting the spend and corrupting the ranking. It has no way to know they are the same entity.
Two subtler issues sit underneath the table. If prepayments, accruals, or intercompany transfers share the Amount field, vendor "spend" includes money that is not a P&L expense. And because the cut is by the month a transaction was booked, an invoice posted late lands in the wrong month, which is fine for an AP view but misleading the moment the numbers are read as cost.
A vendor breakdown is only as reliable as the entity resolution behind it. For this to hold across a full vendor list, supplier records need to be deduplicated to a single canonical entity and the expense rows need to be separated from non-expense cash movements before the prompt runs. That resolution lives in the data, not the prompt, and a cleaner instruction will not merge two spellings of the same vendor.
What your data needs to look like
- An expense figure in the Amount field at transaction or summary grain
- A populated vendor field with consistent, deduplicated naming
- A reporting date that isolates the target month cleanly
- Expense rows separated from prepayments, accruals, and intercompany transfers
See how FinanceOS handles this prompt on real financial data.
Book a 20-minute walkthrough. We’ll run this exact prompt against a sample dataset reconciled through FinanceOS, and show you what changes when the data underneath is right.
Book a walkthrough