An accounts payable template is a spreadsheet for tracking the short-term money your business owes vendors and suppliers. It keeps every outstanding invoice in one place, so you can manage cash flow and pay before late fees hit.
It is the working list of everything you owe suppliers but haven't paid yet. Each invoice gets one row with its amount, terms and due date, and the sheet totals what is outstanding.
Finance teams use it to see upcoming payments, catch invoices slipping past due and plan cash before each payment run.
Small businesses often run AP entirely from a template like this. Larger teams keep one alongside their accounting system to check that nothing has been missed, and to work through exceptions before the books close.
Name, contact details and tax ID, so every payment reaches the right supplier.
Number, date, description and total: the record you match against the PO.
Due date, discount terms and approval status, which together decide when to pay.
Current, 1-30, 31-60, 61-90 and 90+ days overdue, so late bills stand out.
Ready to use in Excel, Google Sheets and PDF. Fill it in, save it, reuse it.
A supplier sends a bill for goods or services. Check it has an invoice number, date and PO.
Log it in the ledger the day it arrives, not when you pay. That keeps your liabilities accurate.
The budget owner confirms the goods arrived and the price is right. Only approved bills get paid.
Pay by the due date, or earlier for a discount. Note the payment date and reference.
At month-end, match the ledger to your books and the bank. Fix any gap before you close.
Start with six columns: Vendor, Invoice no., Due date, Amount, Paid, Balance. Add PO, approval and aging once the basics are routine.
The ledger is the heart of the template. Everything else, from aging to KPIs, reads from it. Keep one row per invoice, never merge bills, and use the vendor's own invoice number so duplicates are easy to spot.
| Vendor | Invoice | PO | Match | Due | Amount | Balance |
|---|---|---|---|---|---|---|
| Brightline Software | BL-20931 | PO-1042 | Matched | 02 Oct | 14,400.00 | 14,400.00 |
| Northwind Logistics | NW-4471 | PO-1027 | Matched | 17 Sep | 2,500.00 | 2,500.00 |
| Acme Office Supply | AOS-7781 | None | No PO | 10 Oct | 642.18 | 642.18 |
| Harbour Facilities | HF-0932 | PO-0988 | Matched | 15 Aug | 9,750.00 | 4,750.00 |
| Kestrel Data | KD-118 | PO-1051 | Variance | 10 Oct | 6,300.00 | 6,300.00 |
| Total | 33,592.18 | 28,592.18 |
Illustrative data, not real vendors.
Works in Excel and Google Sheets. Headers in row 1, data from row 2, formulas copied down.
| Col | Header | Entry or formula | What it does |
|---|---|---|---|
| A | Vendor | Text | Who you owe |
| B | Invoice no. | Text | With vendor, your duplicate check |
| C | Invoice date | Date | When the invoice was issued |
| D | PO no. | Text | Blank = no PO, an exception |
| E | Terms (days) | Number, e.g. 30 | Net payment terms |
| F | Due date | =C2+E2 | Last day to pay |
| G | Amount | Currency | Invoice total |
| H | Paid | =SUMIF(Payments!A:A, | Adds up every payment logged |
| I | Balance | =G2-H2 | Still outstanding |
| J | Status | =IF(I2=0, | Paid, open or overdue |
| K | Days past due | =IF(I2=0, | Feeds the aging schedule |
| L | Approval | Drop-down: Pending, Approved, On hold | Nothing is paid until Approved |
| M | Payment date | Date | Date of the final payment |
Log every payment on a Payments tab. Column H adds them up, so part-paid bills show the right balance.
| Invoice no. | Date | Amount | Method | Reference |
|---|---|---|---|---|
| HF-0932 | 15 Aug | 3,000.00 | ACH | PAY-2201 |
| HF-0932 | 15 Sep | 2,000.00 | ACH | PAY-2264 |
Harbour's 9,750.00 invoice: two payments, 5,000.00 paid, 4,750.00 left.
Aging turns a long list of bills into a short list of decisions. Anything in the 31-60 bucket or later usually means a dispute, a missing approval or a cash problem, so look at those rows first. The payment run view then tells you what to pay this week and next.
Sample ledger as at 30 Sep 2026. Read more on the AP aging report.
These read columns I, J and K from the ledger.
| Bucket | Formula |
|---|---|
| Current (not yet due) | =SUMIFS(I:I, |
| 1-30 days overdue | =SUMIFS(I:I, |
| 31-60 days overdue | =SUMIFS(I:I, |
| 61-90 days overdue | =SUMIFS(I:I, |
| 90+ days overdue | =SUMIFS(I:I, |
| Total accounts payable | =SUM(I:I) |
Use these to plan this week's and next week's payments, or to answer a supplier asking what they're owed.
| View | Formula |
|---|---|
| Due in the next 7 days | =SUMIFS(I:I, |
| Due in 8-14 days | =SUMIFS(I:I, |
| Balance for one vendor | =SUMIF(A:A, |
Reconciliation is how you prove the ledger is right. Most gaps come from three causes: a bill posted to the books but never logged, a payment recorded twice, or a credit note nobody entered. Finding them monthly keeps them small.
Ledger total vs the GL AP account, same date. Tick payments off the bank statement.
To specific invoices, payments or journals. Check large vendors' statements.
Resolve every item until the difference is zero.
Illustrative figures. More in the AP reconciliation guide.
You don't need all seven on day one. Track cycle time and exception rate first, since they show where invoices get stuck. Add cost per invoice and DPO once the numbers are steady, and review them monthly with the controller.
| KPI | Formula | What it tells you |
|---|---|---|
| Invoice cycle time | Avg days, received to approved | Approval speed. The average is 9.2 days (Ardent Partners). |
| Cost per invoice | Total AP cost ÷ invoices processed | Efficiency of the function, including staff time. Falling cost means less manual work. |
| AP turnover | Supplier purchases ÷ average AP | How many times a year you clear payables. A sudden rise can mean you're paying too early. |
| Days payable outstanding | 365 ÷ AP turnover | How long you hold cash before paying. Longer helps cash flow, as long as you stay within terms. |
| Exception rate | Invoices needing fixes ÷ total | How often invoices arrive with no PO, a price gap or missing data. Lower is better. |
| PO coverage | Invoices with a PO ÷ total | How much spend was approved before the vendor billed. Aim to raise it every quarter. |
| On-time payment rate | Paid by due date ÷ paid | Your exposure to late fees and supplier friction. |
Run the checklist on every invoice, not just the large ones. Small invoices are where duplicate payments and fake bank changes slip through most often. The download adds an owner and a due date to each check.
A policy turns the checklist into rules people follow. Keep it to one page, have the CFO or controller sign it, and review it once a year or when approval limits change.
Who requests, approves, records and pays. No one person should do all four.
One intake address, the fields every invoice must have, and how fast it's logged.
When a PO is required, and the price tolerance for three-way matching.
Who can approve what, by amount and spend category.
The payment run schedule, and how new vendors and bank changes are verified.
Accrual cut-off, the reconciliation deadline and who signs off.
Most AP exceptions start before the invoice. Spendflo fixes intake and approvals first.
See how it worksPay the full amount within 30 days of the invoice date.
Take 2% off if you pay within 10 days; otherwise pay in full by day 30.
End of month. Net 30 EOM means due 30 days after the invoice month ends.
Payable as soon as the invoice arrives.
Pay the full amount within 60 days of the invoice date.
| Event | Debit | Credit | Amount |
|---|---|---|---|
| Record the bill (Brightline) | Software expense | Accounts payable | 14,400.00 |
| Pay the bill | Accounts payable | Cash | 14,400.00 |
| Return goods (Acme) | Accounts payable | Office supplies expense | 142.18 |
| Pay early with 2% discount (Kestrel) | Accounts payable 6,300.00 | Cash 6,174.00 · Purchase discounts 126.00 | 6,300.00 |
Illustrative amounts from the sample ledger.
Accounts payable is a liability, so a credit increases it and a debit reduces it. The early-payment row shows why discounts matter: you clear the full 6,300.00 liability but only 6,174.00 leaves the bank, and the 126.00 difference is recorded as a purchase discount, which lowers what the purchase cost you.
Not when you pay them. Otherwise the ledger understates what you owe.
Approve the spend before the invoice, so AP isn't chasing approvals afterwards.
A fixed weekly review catches late payments and early-pay discounts in time.
Match the ledger to the GL and the bank statement before you close the month.
Note every dispute and its outcome, so it doesn't sit unseen in the aging report.
Two invoices for the same amount are common. Check invoice number and vendor instead.
This is how most payment fraud starts. Always verify by phone on a number you already hold.
Without it, surprise invoices look exactly like approved ones.
A ledger that's never tied to the GL can't be trusted at audit.
Export the unpaid bills report from QuickBooks, Xero or NetSuite and paste it in. Don't retype.
Fill the PO column for every open bill. The blanks become your first exception list.
Add each bill the day it arrives, before approval. Sort by due date every week.
Tie the ledger to the GL, update the KPI tab and file the signed reconciliation.
Kestrel Data bills 6,300.00 on 2/10 Net 30 against PO-1051, approved at 6,000.00. The 300.00 gap flags a Variance. Settle it by 20 Sep and paying early saves 126.00; miss it and the discount is gone.
Every part on this page, in Excel, Google Sheets and PDF, with the examples filled in.
The ledger, aging and checklist are enough. If one person does everything, add a second reviewer for payments over a set amount.
Match every invoice to a PO, pay on a weekly run and reconcile monthly. Watch the exception rate: when it climbs, manual matching is costing you.
One ledger per entity, plus a tax column for VAT or GST. Beyond this, consider AP software.
Best for most teams.
Best for shared, live files.
Checklist, policy and a blank ledger, ready to print.
$3.7B in software spend processed through Spendflo, at 30% average savings.
See your savingsA good AP template shows what you owe, proves the number at month-end and catches invoices that shouldn't be paid. When exceptions pile up faster than you can clear them, the fix usually sits upstream, in how purchases are approved.
Every unpaid bill, its due date and its balance in one ledger.
Open the ledger →2A monthly reconciliation ties the ledger to your general ledger.
Open reconciliation →3PO matching, approvals and a ten-point checklist catch errors before cash leaves.
Open the checklist →Quick answers to what people ask most about the accounts payable template.
Set up columns for vendor, invoice number, invoice date, terms, due date, amount, paid and balance. Add the status and days-past-due formulas shown above, then an aging summary with SUMIFS. To skip the setup, download the free Excel template from this page.
Record each bill when it arrives, get it approved, pay it by the due date and reconcile at month-end. Start small with six columns and add PO matching and aging later. Download the template and use the simple version to begin.
Yes. Microsoft offers general accounting templates for Excel, but most don't track POs, approvals or aging. This page offers a free accounts payable template to download in Excel, Google Sheets or PDF, with all of those built in.
Record every bill on arrival, pay only approved invoices that match a PO, and split requesting, approving and paying between people. Verify bank changes by phone and reconcile monthly; the download includes a checklist for all of it.
One that checks each invoice at five stages: verify, record, approve, pay and reconcile. It should be short enough to run on every invoice. Download the template for a ten-point version with an owner column.
Accounts payable
Purchase orders
Contracts
Vendor management
Sourcing and RFx
Budgets and business cases
Procurement
Purchasing
Software buying
Supply chain
Spendflo handles intake, approvals and contracts before the invoice arrives, so bills already match. AP automation is coming soon.
Enter your work email and we'll unlock every format.
Didn't start, or need another format? Pick one below.
Google Sheets: upload the file to Google Drive, then open it with Google Sheets.