Bill vs Expense in QuickBooks Online: What's the Difference

Aug 15, 2026

PDF, JPG, PNG, BMP, HEIC, TIFF

Upload your bank statement

Same tool as our bank statement to QBO converter. Free to try, no card needed.

The difference between a bill and an expense in QuickBooks is timing, and nothing else. A bill records something you owe and will pay later, so it increases Accounts Payable and stays open until you settle it through Pay Bills. An expense records something you have already paid, so it reduces your bank or card balance immediately and never touches Accounts Payable. If money has already left the account, it is an expense. If a vendor is waiting to be paid, it is a bill.

Last updated August 2026. QuickBooks Online is mid rollout of a redesigned interface, so the create button reads + Create in newer accounts and + New in older ones.

That sounds simple enough to not need an article. It needs one because QuickBooks lets you record the same real world event either way without complaining, and the damage does not surface until someone runs a balance sheet three months later and asks why Accounts Payable is full of vendors who were paid ages ago. Here is what each transaction actually does, what breaks when you pick the wrong one, and how to fix the ones already in the file.

Bill vs expense vs check, side by side

QuickBooks Online gives you three ways to record money going to a vendor, plus a fourth if you are using QuickBooks Bill Pay. They differ in one dimension: whether a liability is created and has to be cleared later.

BillExpenseCheck
When it happenedYou owe it, payment is due laterAlready paidPaying now, by check
Accounts PayableIncreases, stays open until paidNot touchedNot touched
Bank balanceUnchanged until the bill paymentDrops immediatelyDrops immediately
Needs a second transactionYes, a bill paymentNoNo
Shows on A/P agingYesNoNo
Where to create it+ Create > Bill+ Create > Expense+ Create > Check
Desktop equivalentVendors > Enter BillsBanking > Write Checks or a card chargeBanking > Write Checks

Check and Expense do the same thing to your books. The only real difference is that a Check carries a check number and can be queued for printing, while an Expense is meant for card swipes, ACH transfers and anything else that does not involve a physical check.

When to enter a bill

Enter a bill when a vendor invoice arrives with payment terms and you are not paying it today. Net 30 from a supplier, a quarterly insurance premium, a subcontractor invoice, rent invoiced in advance, a professional services retainer billed monthly. Anything where there is a real gap between getting the invoice and sending the money.

The gap is the point. Recording the bill on the day it arrives puts the expense in the period the work or goods actually belong to, which is what accrual accounting is for, and it gives you a payables list you can plan cash around. Without bills, your Accounts Payable Aging report is empty and you are managing vendor payments out of an inbox.

Bills are also what make vendor balances meaningful. Open a vendor in QuickBooks and the balance you see is built from unpaid bills. If your team codes everything as expenses, every vendor shows a zero balance no matter how much you owe them.

When to enter an expense instead

Enter an expense when the money is already gone. A card swipe at the hardware store, a software subscription that charges automatically, a wire you sent from the bank's website, a fuel purchase, a reimbursement handed over in cash. There is nothing outstanding, so there is nothing for Accounts Payable to track.

Creating a bill for these is not a small stylistic preference. It opens a payable that somebody now has to remember to close, and if they close it with a second transaction rather than by linking the existing one, the cost is in your profit and loss twice. Most bookkeepers who inherit a messy file find a cluster of these around subscriptions and card spend.

The practical test: at the moment you are typing, is the vendor still waiting for money? Yes means bill. No means expense.

What breaks when you pick the wrong one

Both mistakes are recoverable, but they distort different reports, and they are worth being able to recognize from the symptom alone.

The mistakeWhat you see laterHow to fix it
Recorded an expense when a bill already existedThe bill stays open on A/P aging, the vendor looks unpaid, and the cost appears twice in the P&LDelete the expense and redo the payment through Pay Bills, or leave the expense and delete the duplicate bill if the bill was never needed
Recorded a bill for something already paidA payable that never clears, and an overstated Accounts Payable balanceLink the existing payment to the bill through Pay Bills, or delete the bill and keep the expense
Paid a bill by writing a check instead of using Pay BillsMoney left the bank, the bill is still open, and the expense is doubledDelete the check and reissue the payment from Pay Bills against the open bill
Entered a bill and an expense for the same invoiceDuplicated cost, and a vendor balance that does not agree with their statementKeep whichever one matches how the money actually moved and remove the other

There is a fast way to find all of these at once. Run the Accounts payable aging summary and scan for vendors you know are current. Anything sitting in the 90 day bucket for a supplier you pay on time is almost certainly a bill that was paid outside of Pay Bills.

How to enter a bill in QuickBooks Online

  1. Select + Create (or + New), then Bill.
  2. Choose the vendor. Create the vendor here if it is new rather than typing a name into the memo.
  3. Enter the Bill no. exactly as the vendor shows it. QuickBooks uses this to warn you about duplicates for the same vendor.
  4. Set the Bill date to the invoice date and choose the Terms. QuickBooks calculates the due date from the terms, and that due date is what drives your aging report.
  5. Code the amount. Use Category details for services and overhead, Item details for products you stock or resell.
  6. Save. The amount is now in Accounts Payable and appears on the Unpaid Bills report.

When you pay it, use + Create > Pay bills, or the Make payment button on the bill itself. The full workflow, including partial payments, vendor credits and the QuickBooks Bill Pay tiers, is in our guide to paying bills in QuickBooks Online.

How to record an expense in QuickBooks Online

  1. Select + Create, then Expense.
  2. Choose the Payment account, which is the bank or credit card the money actually left. This is the field that decides whether the transaction ever matches your bank feed.
  3. Set the Payment date to the date the money moved.
  4. Enter the payee and the payment method, then code the amount to the right expense account.
  5. Save.

Most expenses never need to be typed at all. If the account is connected, the transaction arrives in the For review tab and you categorize it there, which creates the same expense with the amount and date already correct. Hand keying expenses that are about to download anyway is how duplicates get created.

Bill vs expense in QuickBooks Desktop

The logic is identical, the menus are not. Bills live under Vendors > Enter Bills and are paid under Vendors > Pay Bills. Immediate payments go through Banking > Write Checks or are entered as credit card charges.

Desktop is more helpful than QuickBooks Online about one specific error. If you open Write Checks and pick a vendor who has open bills, QuickBooks warns you that open bills exist and offers to take you to Pay Bills instead. Take the offer. Ignoring that prompt is the single most common source of stale payables in Desktop files.

One more Desktop quirk worth knowing: the Accounts Payable account does not exist in a company file until the first bill is entered. If you are looking for A/P in a file and cannot find it, nobody has ever used bills in it.

Why the bank feed cannot decide this for you

Bank feeds are good at telling you money moved and bad at telling you why. A $3,400 withdrawal to a supplier looks the same whether it settles an invoice you entered six weeks ago or pays for something you bought this morning, so QuickBooks offers a Match when it finds an existing transaction and an Add when it does not. Choosing Add on a payment that should have matched an open bill is exactly how the double count happens.

The habit that prevents it is boring and effective: before categorizing anything in the For review tab, check whether that vendor has open bills. If they do, the withdrawal almost certainly belongs to one. Our guide to categorizing transactions in QuickBooks Online covers the review workflow, and firms handling a high volume of supplier invoices usually reach for dedicated accounts payable automation to capture and code the invoices before they ever reach the ledger.

The other half of the problem is a bank feed that is not there. Connections only reach back about 90 days, some accounts were never connected, and catch up work routinely covers a year of missing history. With no bank transactions in the file, nothing can be matched to anything and every payment has to be guessed at. Converting the PDF statements into a .qbo file and importing them puts the real withdrawals back in the account, at which point the bills, the payments and the bank finally agree. You can run a statement through the converter at the top of this page.

Frequently asked questions

Is a bill an expense in QuickBooks?

A bill does record an expense, but it is not the Expense transaction type. Entering a bill debits the expense account you code it to and credits Accounts Payable, so the cost hits your profit and loss immediately while the cash stays in the bank until you pay it. The Expense transaction type does the same debit but credits the bank account directly.

Should I enter a bill if I pay it the same day?

Usually not. If the money leaves the same day, an expense or a check records it in one step with nothing left to clear. The exception is when you want the vendor invoice number, terms and document attached in one place for audit purposes, in which case entering the bill and paying it immediately through Pay Bills is perfectly valid.

What happens if I enter a bill and an expense for the same invoice?

The cost is recorded twice: once when the bill posts to the expense account, and once when the expense does. Your profit and loss overstates spending, Accounts Payable shows a payable that will never clear, and the vendor balance disagrees with their statement. Delete whichever transaction does not match how the money actually moved.

Can I change a bill into an expense in QuickBooks Online?

There is no conversion button. You delete the bill and create the expense, or the other way around. If a bill payment is already linked to the bill, delete the payment first, then the bill, then record the correct transaction. Check the Related transactions panel on the bill before deleting anything so you know what is attached to it.

Does an expense show up in Accounts Payable?

No. An expense debits the expense account and credits the bank or card account it was paid from, bypassing Accounts Payable completely. That is why a vendor you always pay by card shows a zero balance in QuickBooks even though you spend thousands with them a year.

Which is better for tracking vendor spending, bills or expenses?

For total spend per vendor, neither is better, because both post to the vendor record and both appear on the Expenses by Vendor Summary report. For knowing what you currently owe, only bills work. Use bills wherever there are real payment terms and expenses for everything already settled.

How do I find bills that were paid with an expense by mistake?

Run the Accounts payable aging summary and look for vendors you know are current, especially anything sitting past 60 days. Open each suspect bill and check Related transactions. A bill with no linked bill payment, for a vendor whose bank withdrawals you can see, is the pattern you are hunting.

For the payment side of the workflow, including partial payments, vendor credits, QuickBooks Bill Pay and why a bill still shows unpaid, see our guide to paying bills in QuickBooks Online. To get the bank side of your books complete, start with importing a bank statement into QuickBooks Online.

Convert your first statement free.

Upload a PDF bank statement, see every transaction extracted in seconds. No card to try it.

Still comparing tools? See our bank statement to QuickBooks converter comparison.