email59

Small business email

Gmail filters for a one-person business: invoices, orders and notifications sorted as they arrive

Sixty emails arrive on a normal day. Four are from people who want an answer, six are orders, two are bills. The other forty-eight are notices from your card processor, notifications from tools you use, and newsletters you might read on Sunday. Gmail can sort all of that before you see it, with five filters you set up once.

A filter is a saved search with an instruction attached: every new email that matches the search gets a label, and, if you say so, skips the inbox, gets a star or is marked as read. This piece gives you the five filters most one-person businesses need, with the exact search for each, a file to import all five in one go, the limits Google sets, and the things filters simply can't do.

A table of five Gmail filters for a one-person business. Bills: subject invoice, bill or statement with an attachment, labelled Bills, kept in the inbox and starred. Money/Paid: from stripe.com or paypal.com, not refunds or disputes, skips the inbox. Orders: subject new order or you made a sale, kept in the inbox and starred. Notifications: from noreply, no-reply or notifications, not codes, skips the inbox and is marked read. Read later: the word unsubscribe, not invoices, orders or receipts, skips the inbox. Note: skip the inbox only where a missed email costs nothing. Limits: 1,000 filters and 10,000 labels per account, one label per filter, new mail only unless you tick Also apply.
The five filters. The searches are shortened here; the full ones are below.

How a filter works, in four facts

  1. It starts as a search. On a computer, click the sliders icon at the right of Gmail's search box, fill in the fields (or type the whole search into Has the words), press Search to see what it catches, then Create filter and pick the actions. You can also open one email, press ⋮ and choose Filter messages like these; Gmail fills in the sender for you.
  2. It acts on new mail only. Old mail is left alone unless you tick Also apply filter to matching conversations when you save it. That tick is a one-off: it runs once, then the filter goes back to watching new arrivals.
  3. Every matching filter runs, not just the first. Outlook rules have a "stop processing more rules" switch; Gmail filters don't. An email that matches two filters gets both labels, and if either one says skip the inbox, it skips the inbox. That's why the searches below keep each other's mail out with a minus sign.
  4. It looks at single messages, not whole conversations. Google's help says a reply "will only be filtered if it meets the same search criteria". A client who answers your invoice email in a thread lands in the inbox unless the reply itself matches, which is usually what you want.

Filters are made on the web. The Gmail apps for Android and iPhone show labels and filtered mail but can't create or edit a filter; open gmail.com in a computer browser for the setup.

The search words you'll need

Gmail has more than thirty search operators. A business filter set uses about ten of them:

OperatorMatchesExample for a small business
from:The sender's address or name; a domain catches everyone therefrom:@stripe.com
to: / deliveredto:Who it was sent to; deliveredto: catches mail that arrived through an alias or a forwarddeliveredto:orders@yourshop.example
subject:Words in the subject linesubject:invoice
has:attachmentAny attachmentsubject:statement has:attachment
filename:An attachment's name or typefilename:pdf
list:Mail sent through a mailing list (its List-Id)list:news.example.com
OR and ( )Either word; brackets group themsubject:(invoice OR bill)
-Leave out mail that has this-subject:refund
" "This exact phrasesubject:"new order"
larger:Bigger than a sizelarger:10M

Two habits save trouble. Gmail matches whole words, so invoice doesn't catch invoices; put both in the brackets if your senders use both. And OR goes in capitals, otherwise Gmail searches for the word "or". The full list of operators is on Google's help page (in the sources).

The five filters

Create the labels first (left menu, Labels, +). A label called Money/Paid shows up as Paid nested under Money. Then paste each search into Has the words, check the results, and set the actions.

1. Bills you have to pay

subject:(invoice OR invoices OR bill OR statement OR "payment due") has:attachment -from:me

Actions: apply the label Bills, star it. Keep it in the inbox. A bill you never saw is a late fee. -from:me keeps your own invoices to clients out of it.

2. Money in: payment and payout notices

from:(@stripe.com OR @paypal.com OR @squareup.com) -subject:(refund OR dispute OR chargeback OR action)

Actions: label Money/Paid, skip the inbox. These say money arrived; it arrives whether you read them or not, and your processor's dashboard has the same numbers. The exclusions keep refunds, disputes, chargebacks and anything asking you to act in the inbox, because those come with deadlines. Swap in the processors you actually use; open one of their emails and use Filter messages like these to get the exact sender.

3. Orders

subject:("new order" OR "you made a sale" OR "order placed")

Actions: label Orders, star it, keep it in the inbox. The phrases are examples: shops word their order emails differently, so press Search first and look at what comes back. If your shop sends orders to a separate address such as orders@ that forwards to Gmail, deliveredto:orders@yourshop.example is more reliable than any subject word.

4. Notifications from the tools you use

from:(noreply OR no-reply OR notifications OR notification) -subject:(code OR security OR password OR verify OR "sign-in" OR invoice OR order)

Actions: label Notifications, skip the inbox, mark as read. This is the filter that empties the inbox most: app updates, "someone commented", calendar digests, delivery tracking. The minus list matters more than the plus list. Sign-in codes, security alerts and password resets come from no-reply addresses too, and you want those in front of you the moment they arrive. If your bank sends statements from a no-reply address, filter 1 labels them but this one would archive them: add the bank to the minus list, as in -from:@yourbank.example.

5. Newsletters and offers to read later

unsubscribe -subject:(invoice OR order OR receipt OR refund) -from:(@stripe.com OR @paypal.com OR @squareup.com)

Actions: label Read later, skip the inbox. Since February 2024 Google has required anyone sending more than 5,000 messages a day to Gmail addresses to offer one-click unsubscribe, so nearly every bulk email carries the word. Receipts sometimes do too, hence the exclusions. To keep one newsletter in the inbox, add -list: with its List-Id; Gmail fills that in when you use Filter messages like these on it. Mail you never read at all should be unsubscribed from, not filtered: Delete, unsubscribe or filter explains which one stops the next email.

A sixth one, for the people who pay you

from:(@bigclient.example OR accountant@firm.example)

Actions: label Clients, Never send it to Spam, Always mark it as important. Use Never send it to Spam only for exact addresses or domains of people you know. Never put it on a payment processor or a bank: a fake "PayPal" email let through by a careless filter is exactly the one the spam folder was protecting you from.

What it does to a day of mail

Take the sixty-email day from the top and run it through the filters:

Kind of emailPer dayFilterWhere it goesIn the inbox
From clients and people4none (or 6)Inbox4
Orders63Inbox, starred, Orders6
Bills21Inbox, starred, Bills2
Payment and payout notices52Money/Paid0
Tool notifications254Notifications, marked read0
Newsletters and offers185Read later0
Total6012

Forty-eight of sixty skip the inbox: 80%. Everything left is something to answer, ship or pay. The day is an example, not a measurement, and your split will differ, but in a small shop or a freelance practice machine-sent mail usually outnumbers mail from people by a wide margin. Ten minutes on Sunday with Read later and a glance at Money/Paid covers the rest.

On an Android phone you can go one step further: in the Gmail app, Settings → your account → Manage labels → Orders → Label notifications. The phone then tells you about an order even if you've turned inbox notifications down.

Labels, not folders

Gmail has no folders. A label is a tag, and one email can carry several: an invoice from a client can be in Clients and Bills at once, and it's still one email, counted once against your storage. Skipping the inbox (archiving) only removes the Inbox label; the email stays in All Mail and under its own label, searchable for as long as you keep it. It also keeps taking space, which Archive is not delete goes into.

Keep the list short. Five to ten labels you actually open beat forty you never click. Nest them with a slash (Money/Paid, Money/Refunds) and give the two you watch daily a colour from the label's ⋮ menu.

The limits

LimitFigureSource
Filters per account1,000Gmail API reference, filters.create
Labels per mailbox10,000Gmail API reference, labels
Your own labels applied by one filter1 (make a second filter for a second label)Gmail API filter guide
What a filter checksEach new message, not the whole thread; old mail only with Also applyGmail Help
Forwarding by filterOnly to an address you've verified; one filter per forwarding address; spam is not forwardedGmail Help

A one-person business rarely gets past twenty filters, so 1,000 is far away. The forwarding rule is the one that trips people up: Forward it stays greyed out until the other address has clicked Gmail's verification link. A forwarding filter is also what an intruder adds to read your mail quietly, so look down your filter list for forwards you didn't make; the checks are in A forward you didn't set.

Export once, import anywhere

Filters live in your account, but you can save them as a file. Settings (gear) → See all settings → Filters and Blocked Addresses, tick the filters, press Export. Gmail gives you mailFilters.xml, a text file you can open in any editor. On a new account (a second Gmail, or the business address you move to later) go to the same page, press Import filters, choose the file, Open file, then Create filters.

Here are the five filters above in that format. Save it as five-filters.xml, change the processor domains to yours, create the labels first (Bills, Money with Paid under it, Orders, Notifications, Read later), and import it. If Gmail refuses the file, create the five by hand from the searches above; it takes about ten minutes.

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:apps='http://schemas.google.com/apps/2006'>
  <title>Mail Filters</title>
  <entry>
    <category term='filter'></category>
    <title>Mail Filter</title>
    <content></content>
    <apps:property name='hasTheWord' value='subject:(invoice OR invoices OR bill OR statement OR &quot;payment due&quot;) has:attachment -from:me'/>
    <apps:property name='label' value='Bills'/>
    <apps:property name='shouldStar' value='true'/>
  </entry>
  <entry>
    <category term='filter'></category>
    <title>Mail Filter</title>
    <content></content>
    <apps:property name='hasTheWord' value='from:(@stripe.com OR @paypal.com OR @squareup.com) -subject:(refund OR dispute OR chargeback OR action)'/>
    <apps:property name='label' value='Money/Paid'/>
    <apps:property name='shouldArchive' value='true'/>
  </entry>
  <entry>
    <category term='filter'></category>
    <title>Mail Filter</title>
    <content></content>
    <apps:property name='hasTheWord' value='subject:(&quot;new order&quot; OR &quot;you made a sale&quot; OR &quot;order placed&quot;)'/>
    <apps:property name='label' value='Orders'/>
    <apps:property name='shouldStar' value='true'/>
  </entry>
  <entry>
    <category term='filter'></category>
    <title>Mail Filter</title>
    <content></content>
    <apps:property name='hasTheWord' value='from:(noreply OR no-reply OR notifications OR notification) -subject:(code OR security OR password OR verify OR &quot;sign-in&quot; OR invoice OR order)'/>
    <apps:property name='label' value='Notifications'/>
    <apps:property name='shouldArchive' value='true'/>
    <apps:property name='shouldMarkAsRead' value='true'/>
  </entry>
  <entry>
    <category term='filter'></category>
    <title>Mail Filter</title>
    <content></content>
    <apps:property name='hasTheWord' value='unsubscribe -subject:(invoice OR order OR receipt OR refund) -from:(@stripe.com OR @paypal.com OR @squareup.com)'/>
    <apps:property name='label' value='Read later'/>
    <apps:property name='shouldArchive' value='true'/>
  </entry>
</feed>

Gmail's own export adds an id and a date to each entry and can list more options; the short form above carries only what each filter needs. Keep your exported file somewhere safe: it's the quickest way back after a mistake, and deleting a filter has no undo.

What filters can't do

You might wantFiltersWhat to do instead
Delete newsletters after 30 daysNo. A filter acts once, on arrival, and older_than:30d never matches a new emailA monthly search, label:read-later older_than:30d, select all, delete
Remind you to pay a bill on FridayNo scheduling of any kindSnooze the email to Friday, or star it and check your stars
Sort mail that's already thereOnly through the one-off Also apply tickSearch, select all, apply the label by hand
Match part of a word or a patternNo wildcards or regular expressionsList the word forms with OR
Reply by itselfOnly Send template (turn on Templates under Advanced first), the same text every timeWrite the reply yourself for anything with a name or a number in it
Act on mail in another accountNo, each account has its own filtersExport the XML and import it there

The first row is where most old mail piles up. Filters keep new mail tidy; they never go back and clear out what has gathered over the years.

The short version

  • Five filters: bills (keep, star), money in (skip), orders (keep, star), tool notifications (skip, read), newsletters (skip).
  • Write the minus list carefully. Every matching filter runs, so codes, security alerts, refunds and disputes need an explicit -subject:.
  • Skip the inbox only where a missed email costs nothing.
  • Labels are tags, not folders. One email, several labels, counted once.
  • 1,000 filters and 10,000 labels per account; one of your own labels per filter; new mail only unless you tick Also apply.
  • Export the filters to XML once you're happy with them.

Filters handle what arrives from today on. For the years of mail already sitting there, the free Gmail cleanup on email59.com groups old notifications, shop mail and no-reply senders so you can move them to Trash in a few clicks, after you've looked at the list.

Sources

Checked against Google's help and API pages on 29 October 2026. Menu names can move as Gmail changes. Domains ending in .example are placeholders. Gmail is a trademark of Google LLC; email59 is not affiliated with Google, Stripe, PayPal or Square.

Send your first email More articles