Glossary
QuickBooks Expense
A QuickBooks expense is the transaction that records a business cost you have already paid, combining the cost and the payment into one document so no accounts payable balance is ever created.
Also called: purchase, record an expense, expense vs bill, QBO expense transaction, enter an expense
Definition
Every form in QuickBooks answers a question about timing. The expense answers the simplest one: the money is already gone.
Intuit puts the rule in a single sentence. "Enter an expense when you have already paid for a business cost. If you plan to pay for the cost in the future, enter it as a bill instead." That is the whole distinction, and Intuit says so directly: "the primary difference between these transaction types is the timing of the payment."
A bill creates an obligation. You received something, you owe for it, and accounts payable carries that balance until a separate bill payment settles it. Two transactions, with a liability living between them. An expense collapses that into one. Intuit describes checks and expenses as recording "the expense and the payment simultaneously", used when "there is no money owed to the vendor after the transaction."
Getting the choice wrong is not cosmetic. Enter a bill and pay it with an expense instead of a bill payment, and you have recorded the cost twice while the vendor balance sits open as though nothing was paid. Intuit warns against exactly this, because it produces reporting inaccuracies and does not decrease the vendor balance.
For anyone reconciling a payment processor, the expense turns out to be the form that fits almost everything, and for a reason worth stating plainly. Stripe does not invoice you and wait. It deducts.
Key points
- +Records a cost that has already been paid. The expense and the payment are the same document.
- +Creates no accounts payable. If a payable should exist, the correct form is a bill.
- +The Payment account field says where the money came from; the Category field says what kind of cost it was.
- +Intuit distinguishes a check from an expense by delivery: a check is for printing, an expense is for card and electronic payments.
- +Never pay an existing bill with an expense. The cost is recorded twice and the vendor balance stays open.
- +Stripe fees are a natural fit, because Stripe deducts them before the money reaches you and no payable ever exists.
What the expense form actually asks
The form is short, and the two fields that matter most are easy to conflate because both are called accounts.
You enter a **Payee**, a **Payment account**, a **Payment date**, and a **Payment method**, then the cost itself under **Category details** or **Item details**, with optional **Tags** and the **Amount**.
The two that carry the accounting are these. Intuit describes the **Payment account** as "the account you used to pay for the expense", so it is the source of the money: a bank account, a credit card, a clearing account. And in the **Category** dropdown you "select the expense account you use to track expense transactions", so that is the destination, the profit and loss line the cost belongs to.
Source and destination. Money left one account, and it became a cost of a particular type. An expense with the right amount, the right date, and the wrong category is not a small error, because the amount is correct everywhere except the only report anyone reads it on.
Expense, bill, or check
QuickBooks offers three forms that all end with a vendor being paid, and the choice between them is about timing and delivery rather than about the money.
Use a **bill** when you "receive items or services now but will pay for them later", which is Intuit's framing, and which is what puts the amount into accounts payable. This is the right form when you need vendor balances to be accurate, and it is the one accrual-basis reporting depends on.
Use a **check** or an **expense** when you "pay for items or services immediately (at the time of purchase)". Between those two, Intuit's distinction is mechanical: a check if you need to print a physical check, an expense for a credit card or electronic funds transfer payment.
The practical test is a single question. After this transaction, does the vendor still have your money coming to them? If yes, it is a bill. If no, it is an expense.
Why processor costs are expenses and not bills
A Stripe fee never passes through a state where you owe it.
When a customer pays you $200 and Stripe keeps $6.10, there is no moment at which Stripe has provided a service and is waiting to be paid for it. The deduction happens inside the same movement of money as the sale. By the time the balance is yours, the fee is already out of it, and what eventually reaches your bank account is the net.
That is why the accounts payable question never arises for processor costs, and it is not a simplification anyone chose for convenience. There is genuinely no payable to record, so a bill would be inventing a liability that did not exist and settling it in the same breath.
The same logic covers most of what a processor charges you. Transaction fees, monthly product fees, instant payout fees, card spend on a Stripe-issued card: all money that has already left before you see the record of it. The expense is the form built for exactly that shape.
The gross revenue question underneath the form
There is a reporting consequence to booking fees as expenses rather than netting them, and it is the reason the choice gets argued about at all.
If the fee is subtracted from the sale itself, your revenue line shows what you actually received. If the fee is a separate expense, your revenue line shows the full amount the customer paid and the fee appears further down as a cost. Same profit, different top line, and the gap is the entire fee total for the period.
Which one is right depends on how you want to read your own numbers, and on what your accountant expects to see. It is a genuine decision rather than a preference, and it is argued out properly in the guide to [sync settings that change your books](/blog/stripe-quickbooks-sync-settings-accounting-impact). What belongs here is only the mechanical half: when fees are separated out, the QuickBooks form that carries them is this one.
How Acodei creates expenses in QuickBooks
Acodei writes QuickBooks expenses in two distinct situations, and they come from different parts of Stripe.
**Stripe fees, when you have asked for them separately.** By default Acodei records the Stripe fee as a negative line on the sales receipt, netting the receipt down to what actually entered your Stripe balance. Turn on **Record Fee as Purchase / Expense** and the fee instead posts as a separate Purchase or Expense while the sales receipt stays gross. That setting **requires a Non-Undeposited-Funds payout method**, which is the prerequisite that catches people, and the requirement runs the other way too: under a Non-UF holding account with Invoice Sync enabled, fees can **only** be shown as an expense. On the invoice payment path the Stripe fee posts as a separate expense as well.
There is a matching option for daily summary accounts on Non-UF, which records all Stripe fees as Purchases rather than as line items on sales receipts or bank deposits. Acodei's own documentation notes two consequences of it: fees will use the Purchase Tax Rate where applicable, and older transactions may need reprocessing if the feature is turned on retroactively.
**Money spent from a Stripe Financial Account.** This is the other source, and here the expense is not about fees at all. An `outbound_payment`, which is Stripe sending money to a vendor, contractor, or other external recipient, becomes a Purchase or Expense in QuickBooks paid from your Stripe Financial Account holding account for that currency, categorized to the expense account you chose in Account Mapping. A `received_debit`, which is typically spend on a Stripe-issued card, produces the same shape.
Two details on that path are worth knowing before you go looking for them. Acodei currently **cannot retrieve the recipient name** for outbound payments, so those purchases are assigned to a default vendor named "Stripe"; Stripe has confirmed the issue and is working on a fix. And when a connection's expense batch interval is set to daily, outbound payments and received debits do not each produce their own record. They collapse into a single daily journal entry per account, which is a different transaction shape to expect in your register.
Want to see this on your own Stripe data?
Start a free trialFrequently asked questions
What is an expense in QuickBooks Online?
It is the transaction that records a business cost you have already paid. Intuit's rule is direct: enter an expense when you have already paid for a business cost, and enter a bill instead if you plan to pay for it in the future. Because the cost and the payment are the same document, no accounts payable balance is created.
What is the difference between an expense and a bill in QuickBooks?
Timing. Intuit states that the primary difference between these transaction types is the timing of the payment. A bill is for items or services you receive now and will pay for later, which puts the amount into accounts payable. An expense is for something paid immediately, and it records the expense and the payment simultaneously.
Can I use an expense to pay a bill I already entered?
No. Intuit warns against it specifically, because it produces reporting inaccuracies and does not decrease the vendor balance. The cost ends up recorded twice, once on the bill and once on the expense, while accounts payable still shows the vendor as unpaid. Use a bill payment instead.
What is the difference between the Payment account and the Category on an expense?
They are the two ends of the transaction. The Payment account is where the money came from: Intuit describes it as the account you used to pay for the expense. The Category is the expense account you use to track expense transactions, so it is the profit and loss line the cost lands on.
Should Stripe fees be recorded as an expense in QuickBooks?
They can be, and it is a real choice rather than a default. Acodei records the Stripe fee as a negative line on the sales receipt unless you turn on Record Fee as Purchase / Expense, which books fees as QuickBooks expenses and leaves the sales receipt gross. That setting requires a Non-Undeposited-Funds payout method, and under Non-UF with Invoice Sync enabled, expenses are the only fee placement available.
Why do my Stripe expenses show a vendor named Stripe?
For expenses created from Stripe Financial Account outbound payments, Acodei cannot currently retrieve the exact recipient name, so those purchases are assigned to a default vendor called "Stripe". Stripe has confirmed the issue on their side and is working on a fix.
Why is there one daily journal entry instead of individual expenses?
Because the connection's expense batch interval is set to daily. In that mode, outbound payments and received debits do not each produce an individual Purchase or Expense; they collapse into one daily journal entry per account. The per-event expense records are what you get in the default instant mode.
What customers say about running Stripe through Acodei

“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
Related reading
- Stripe Fee
- QuickBooks Sales Receipt
- Reconciling Stripe fees in QuickBooks
- Sync settings that change your books
- When the Stripe fee product breaks your sync
More glossary terms
- Undeposited Funds
- Stripe Balance Transaction
- Available vs Pending Balance
- Stripe Dispute
- Stripe Fee
- Stripe Balance Adjustment
- QuickBooks Credit Memo
- Stripe Tax
- QuickBooks Tax Code
- Stripe Reserve
- Stripe Tax Rate
- Stripe Fee Credit
- Stripe Credit Note
- QuickBooks Product/Service Item
- Stripe Payout
- QuickBooks Sales Receipt
- QuickBooks Bank Deposit
- QuickBooks Transfer
- Stripe Authorization Hold
- QuickBooks Refund Receipt
- QuickBooks Payment
Ready to try Acodei?
Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.