Glossary
QuickBooks Bank Rule
A QuickBooks bank rule is a saved instruction that watches transactions arriving from your bank feed and, when one meets the conditions you set, fills in the category, payee and other details for you, or posts the transaction outright if you tell it to.
Also called: bank rule, banking rule, bank feed rule, categorization rule
Definition
A bank rule is the only piece of QuickBooks automation that acts on a transaction before a human sees it. Everything else in the bank feed waits for a click. A rule does not.
That is the whole reason the object is worth understanding rather than just using. A rule is three things bolted together: a set of conditions that decide which transactions it claims, a set of values it writes onto them, and a switch that decides whether it suggests those values or simply commits them. Most people set the first two and never look at the third.
Intuit is direct about what rules are for. When you download transactions from your bank, you need to categorize them so that they enter the right accounts, and bank rules can do this automatically. On a file where every transaction has one obvious home, that is unambiguously good. On a file where an integration is already writing the underlying detail, a rule can be the fastest way to book the same money twice.
Key points
- +Conditions match on Description, Bank text or Amount, using Contains, Doesn’t contain, or Is exactly.
- +Each rule is scoped to Money in or Money out, and to one bank account or All bank accounts.
- +One rule can carry up to 5 conditions. A file can hold up to 2,000 rules.
- +Rules are ordered, and Intuit states that the rule with the highest priority will always be applied first.
- +Auto-confirm is opt-in per rule and changes a rule from a suggestion into a posting.
- +Rules are applied to transactions on the For review tab, not to transactions already in your books.
- +A rule cannot tell a Stripe payout apart from any other deposit unless a condition you wrote can.
What a rule can actually see
A rule is narrower than most people assume, and knowing exactly how narrow is what makes the rest of this predictable.
In the Conditions fields you specify whether the rule applies to Description, Bank text, or Amount. Then you select Contains, Doesn’t contain, or Is exactly to decide how QuickBooks applies the rule. That is the entire vocabulary. There is no condition for the source of a transaction, no condition for whether something else in your books already accounts for it, and no way to ask whether a matching record exists elsewhere in the file.
Around the conditions sit two scoping choices. A rule is set to either Money in or Money out, and from the in dropdown you select a bank account, or select All bank accounts. Both are easy to leave broad, and a rule scoped to All bank accounts on Money in will look at every deposit that lands anywhere in the file.
The limits are generous enough that they are rarely the constraint. You can set a single rule with up to 5 conditions, and you can create up to 2,000 bank rules.
The practical consequence of that condition list is the boundary this whole entry turns on. A rule matches on text and amount. A Stripe payout arriving in your checking account is text and an amount. So is a customer refund, a transfer between your own accounts, and a deposit from a second processor. If two of those share a descriptor fragment, one rule claims both, and nothing about the rule mechanism will tell you it happened.
Priority, and which rule wins
Rules are not evaluated as a set of independent filters. They are ordered, and the order is a thing you control and are responsible for.
Intuit states the behavior plainly: the rule with the highest priority will always be applied first. To change it, you reorder your bank rules priority, select reorder and drag the rule to your desired order.
That sentence is doing more work than it looks like it is. It means a broad rule sitting above a narrow one will claim transactions the narrow rule was written for, and the narrow rule will look broken while being perfectly correct. The usual shape of this is someone writing a careful rule for one specific descriptor, watching it never fire, and concluding that rules do not work, when in fact a rule they wrote eight months ago and forgot about is matching on a two-word fragment above it in the list.
The discipline is the same one that applies to any ordered rule list: most specific at the top, broadest at the bottom, and treat a rule that matches on a short generic string as something that belongs near the bottom or does not belong at all.
Worth noting where the ordering does not reach. Rules are applied to what QuickBooks is about to show you for review. They do not reach back into transactions you have already accepted, so fixing a rule stops future damage and repairs none of the past.
Auto-confirm turns a suggestion into a posting
Every rule carries an opt-in setting labelled Automatically confirm transactions this rule applies to. Enabling it means any transactions on the For review tab that meet the conditions are automatically added.
This single checkbox is the difference between two very different objects. Off, a rule is a data-entry shortcut: it pre-fills the category and payee, you glance at the result, you click. Whatever the rule got wrong, you see before it reaches your books. On, the rule is a posting mechanism that runs without you, and whatever it gets wrong reaches your books first and is found later, if at all.
Neither setting is correct in general. Auto-confirm on a rule matching an exact recurring amount from a named vendor saves real time at near-zero risk. Auto-confirm on a rule matching a common descriptor fragment is a machine that writes entries you did not review into a period you will later have to reconcile.
The test worth applying before enabling it: if this rule matched something it should not have, when would I find out? If the honest answer is at month end, or when the accountant asks, the rule should be suggesting rather than confirming.
Why the standard Stripe advice is the dangerous rule
Almost every general guide to Stripe bookkeeping arrives at the same recommendation, which is to set up a bank rule that categorizes your Stripe deposits to income. For a business hand-keying nothing and syncing nothing, that advice is fine. For a business whose Stripe activity is already being written into QuickBooks by an integration, it is precisely the wrong rule, and the reasons stack.
The first is that a payout is not revenue. A payout is a movement of money you have already earned, arriving net of fees. Booking it to an income account records income that either does not exist, because the sales are already recorded, or exists at the wrong amount, because the fees have been taken out of it and are now invisible.
The second is that a rule cannot distinguish these cases. It sees a deposit whose description contains a payment processor’s name. It has no way to ask whether the sales behind that deposit are already sitting in your file.
The third is the compounding one, and it is why this belongs in a definition rather than a troubleshooting note. If the rule has auto-confirm on, it does not create one wrong entry. It creates a wrong entry per payout, on the payout schedule, indefinitely, and each one looks entirely plausible in isolation: a real deposit, on a real bank statement, from a real payer. Cleaning up the entries without removing the rule means the rule refills them.
The correct handling on a synced file is not a better rule. It is the absence of one, so that each payout arrives on the review tab and can be matched to the record the sync already wrote, rather than added as something new.
What a rule is intercepting on an Acodei file
Acodei does not detect, disable, or work around bank rules, and nothing in Acodei’s product documentation describes it doing so. A rule is a QuickBooks object acting on the QuickBooks side of the bank feed, and it is invisible from the sync. What the documentation does describe is the shape of the record a rule would be landing on top of, which is what makes the interaction predictable.
The holding account is the QuickBooks account that stands in for your Stripe balance. Every synced sale is deposited into it, and every payout moves money out of it into the real bank account. What the payout looks like on the bank feed depends on which holding account you chose. With Undeposited Funds, the payout is an itemized Deposit that matches the bank line and shows its composition. With a regular asset clearing account, the payout is a single Transfer for the net amount that matches the bank line, and the composition lives on the individual sales records instead.
In both cases the important word is matches. There is already a record in QuickBooks for that payout, and the intended action on the review tab is to match the bank line to it. A rule that auto-confirms the same line adds a second record instead, which is why the failure presents as doubled revenue rather than as a sync error. Nothing errored. The sync did its half correctly and the rule did its half correctly, and the two halves are not aware of each other.
Acodei’s duplicate protection does not close this gap, and it is worth being exact about why. With Duplicate Protection enabled, the QuickBooks DocNumber on a synced record is set to the Acodei transaction id, so a re-sent webhook collides with the record that already exists instead of writing a second copy. That mechanism covers the records Acodei itself writes. A record a bank rule created from the bank side has a different origin and no such identifier, so it is not something duplicate protection can see.
The repair path on the Acodei side is the Data Feed, which is the ledger of every synced, pending and errored transaction with its status and error message. Where a synced record needs rebuilding, the documented action is to resync from the Data Feed rather than to hand-edit the QuickBooks record, because manual edits break the linkage Acodei uses for reconciliation and reversal. Note the division of labour: the rule’s output is not an Acodei record, so removing it is QuickBooks-side work. Resync is for the records Acodei wrote.
Want to see this on your own Stripe data?
Start a free trialFrequently asked questions
What can a QuickBooks bank rule match on?
Three fields. Intuit specifies that in the Conditions fields you choose whether the rule applies to Description, Bank text, or Amount, then select Contains, Doesn’t contain, or Is exactly. A rule is also scoped to Money in or Money out and to a single bank account or All bank accounts, and can carry up to 5 conditions.
What happens when two bank rules match the same transaction?
The order decides. Intuit states that the rule with the highest priority will always be applied first, and you can reorder your bank rules priority by selecting reorder and dragging a rule to your desired position. A broad rule sitting above a specific one will claim transactions the specific rule was written for, which is the most common reason a rule appears not to fire.
What does the auto-confirm setting on a bank rule do?
It removes the review step for that rule. The setting is labelled Automatically confirm transactions this rule applies to, and with it enabled, any transactions on the For review tab that meet the conditions are automatically added. Without it a rule pre-fills details and waits for you. With it the rule posts to your books on its own.
Should I create a bank rule for my Stripe deposits?
Not if an integration is already recording your Stripe sales in QuickBooks. A payout is money you have already earned arriving net of fees, so categorizing it to income records revenue that is either duplicated or wrong by the amount of the fees. The intended action on a synced file is to match the payout to the record the sync already wrote, and a rule that auto-adds it prevents exactly that.
Do bank rules apply to transactions I have already categorized?
No. QuickBooks applies rules to transactions on the For review tab, which is the queue of downloaded transactions waiting on you. Editing or deleting a rule changes what happens to transactions arriving from now on and does not revisit anything already accepted, so a rule fix and a cleanup of what the rule already did are two separate jobs.
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
- The bank rule that recategorizes your Stripe deposits
- Preventing duplicate Stripe transactions
- QuickBooks bank deposit
- Optimizing bank feeds in QuickBooks
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
- QuickBooks Expense
- QuickBooks Journal Entry
- Stripe Financial Account
- Holding Account
- Accounts Receivable
- Bank Feed
- Deferred Revenue
- Stripe PaymentIntent
- Stripe Checkout Session
- Stripe SetupIntent
- Stripe PaymentMethod
- Stripe Charge
- Stripe Refund
- QuickBooks Invoice
- QuickBooks Class Tracking
- QuickBooks Location Tracking
- QuickBooks Project
- QuickBooks Closing Date
- Stripe Invoice Line Item
- Stripe Proration
- Stripe Invoice Status
- Stripe Shipping Rate
- Stripe Transfer
- Stripe Mandate
- Stripe on_behalf_of
- Stripe Invoice Item
- QuickBooks Estimate
- Stripe Invoice Payment
- Stripe Invoice Payment Settings
- Stripe Billing Meter
- Stripe Invoice Template
- Stripe Price
- Stripe Subscription Schedule
- Stripe Subscription Item
- QuickBooks Recurring Transaction
- QuickBooks Sub-Customer
- QuickBooks Audit Log
Ready to try Acodei?
Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.