Help › Mail
Turn an emailed bill into an expense
Updated
When a bill or receipt lands in your inbox, send it straight to your books without re-typing it:
- Open the email in Mail.
- In the strip above the message, click Extract to Books (or Book this expense for a receipt in the email body).
HQ reads the vendor, amount, and tax and creates a draft bill. The strip then shows an In Books pill reading needs approval. Approving is what posts it to your books; extraction alone never posts.
Approve it without leaving Mail
Click the In Books pill and a small panel opens beside it, showing the supplier, the date, the total, the tax and the category on the document. When the bill needs nothing more than your yes, it offers:
- Approve, which posts it, exactly as approving it in Expenses would;
- Full review, which opens the same review screen Expenses uses, right here in Mail;
- Open in Ledger, which takes you to the bill in Ledger › Expenses. The full list opens with that bill in view and highlighted, with nothing hidden. If the bill is dated outside the period the page is showing, it sits at the top or bottom of its section marked Outside that period with its date. Click Show its period on it to switch the page to that month. If the bill has since been deleted, the page says HQ couldn't find it.
When HQ needs you to look more closely, there is no Approve button. The panel says why, and Full review takes you to the screen where you can fix it. That happens when:
- HQ wasn't sure the document is a bill, or its read was uncertain;
- the tax lines don't add up, or the date could read two ways;
- the currency hasn't been confirmed;
- it looks like a duplicate, a quote, or a supplier credit note;
- it is a receipt and HQ doesn't know yet how it was paid.
A bill that is already approved says In your books.
If the bill is dated in a period you have closed, HQ asks for your reason first, the same as anywhere else; cancel and nothing is posted. If approving is refused for any other reason, the panel says why and stays open.
In a conversation, every message speaks for itself
A bill belongs to one specific message, so on a conversation with several messages the strip is replaced by per-message controls. The conversation reads top to bottom in time order, with the newest message open at the bottom.
- An In Books pill sits beside the sender's name on the message the bill came from, even when that message is collapsed. Click it to see the bill and, when it is ready, approve it there. While the bill hasn't been approved, the panel also offers Not a bill, which works the same way as the button described under "When HQ gets it wrong" below.
- Every open message carries Reply, Reply All, and Forward on its own header line, beside the date. They act on that message alone, so you always know exactly which one you are answering or passing on.
- Scan for a bill sits at the bottom of the open message, next to its attachments, and scans that message alone.
- When you have an attachment open in the viewer, its toolbar also offers Scan for a bill. That scans the message the attachment actually came from, which is the surest way to capture a document you are looking at. Once that message has become a bill, the viewer shows In Books in that spot instead; click it and the viewer closes and the same approve panel opens.
Scroll down and the older messages slide away, leaving the newest one filling the pane with just its header line under the toolbar.
If a scan finds nothing, the message says No bill found in this message right where you clicked, and you can scan again.
When HQ gets it wrong
You can always say the opposite of whatever HQ concluded, from the open email.
It found a bill, but it isn't one. Click Not a bill beside the In Books pill. HQ asks first, naming the bill: Remove the DigitalOcean bill ($14.51) from your books? Press Remove bill and HQ takes it back out of your books and stops scanning that email. If the bill was already approved, its entries are removed and any bank payment matched to it goes back to Ledger › Banking to be matched again; it's refused outright if the period is locked. The email itself stays where it is. You can bring the bill back from Discarded in Ledger › Expenses; restoring it matches the payment again when it can be put back exactly as it was, and otherwise says why not.
On a conversation, Not a bill is in the panel the message's In Books pill opens, and it is offered only before the bill is approved. An approved bill is removed from Ledger › Expenses instead.
When HQ can't tell which bill an email became, the In Books pill says so: it reads "bills from" and the sender's domain, and opens that sender's bills in Ledger › Expenses. If HQ read an email once and nothing in your books leads back to it now, perhaps because the bill was later removed, there is no pill at all. The email offers Extract to Books or Scan for a bill again, the same as an email HQ never scanned, and a bill it finds again is filed as a duplicate if the original is still there.
A bill you already discarded is not in your books, so its pill reads Discarded rather than In Books. Its panel still offers Not a bill: that only tells HQ to stop scanning the email, and the pill goes away.
HQ also doesn't file a document as a bill when it can tell the document isn't one and there is no amount on it: a shipping label, a packing slip, a delivery notice or a waybill. Those emails show No bill found, and Scan it anyway is there if HQ got it wrong.
It says there's no bill, but there is. The strip reads No bill found in this email. Click Scan it anyway and HQ looks again straight away, and this time it reads the whole email: the message itself as well as any attachment, including a forwarded part, so an order confirmation with its total in the body is picked up. Scan for a bill reads an email the same way. Your ruling sticks: a later scan can't quietly go back to hiding it. Because HQ wasn't confident about this one, the new bill may land in the Low Confidence section of Ledger › Expenses rather than Pending. Open it, check the details, then click Move to Pending to send it to your review queue and approve it there.
It didn't say anything at all. Most emails show no strip. Open the email and click Scan for a bill in the toolbar under the message; it works on any email, including one from a sender you've blocked for bill scanning. In a conversation, use the Scan for a bill button at the foot of the message that carries the document, or open the attachment and scan from the viewer.
Your own store's order notifications are left alone. The email Shopify sends a store's staff when a customer places an order is a sale, not a bill, so HQ doesn't scan it and shows no strip on it. A receipt for something you bought from another Shopify store is still scanned. To look in an order notification anyway, click Scan for a bill in the toolbar.
HQ couldn't reach its reading service. If the service that reads documents is down or busy when a bill arrives, HQ doesn't decide the email has no bill. It leaves the email unscanned and tries again by itself over the next couple of hours. The same goes for your mail provider failing to hand over the attachment. If it still can't read the document after a few tries, it stops trying and the email counts toward the not in your books yet card on Books health. That holds even when another attachment in the same email was booked, because the one it couldn't read may be a second bill. Open the email and click Scan for a bill to try again. If you press Scan for a bill while the service is down, HQ says so and schedules one more try by itself a few minutes later, and you can press it again too. If everything in the email is already in your books, it says so rather than adding it a second time. After a long outage there can be many of these emails. Once the service is back, running Scan Emails (or Scan further back) over their dates reads them again, with no need to open each one, and the review list described below has one Read them again button for all of them. Each pass tries an email a few times at most and then leaves it as it was.
A document the reading service refuses outright because of the file itself (an encrypted, damaged, unsupported or oversized file) is different: no outage caused it, and asking again gets the same answer. HQ tries it once and does not try it again by itself, so Scan Emails and Scan further back skip it. It counts on Books health when the email looks like an invoice and nothing from it is in your books yet, and also when another document in the same email was booked, because the one HQ could not open may be a second bill. The card says those have to be entered by hand in Expenses. Scan for a bill on that one email still tries it; Read them again leaves it out, because the same file would be refused again. An error that would hit any email (a fault on HQ's side) is never treated as the file's fault: it is retried like an outage.
If the email's mailbox has been disconnected (Settings asks you to sign in to it again), HQ cannot download its attachments, and trying again cannot help. So it does not count those tries against the email: it holds the email as it is, and reads it once you have reconnected the mailbox and the next email arrives in it. Scan Emails and Read them again read it too, as soon as the mailbox is back. Pressing Scan for a bill on such an email says the mailbox needs reconnecting.
Your plan's scan allowance is used up. On a plan with a monthly limit on bill scans, nothing more is read once the limit is reached. Pressing Extract to Books or Scan for a bill then says your plan's limit is reached, right where you pressed it, with See plans. Scan Emails and Scan further back still run but read nothing: their result says how many bills they held. Emails that arrive meanwhile are not discarded either: Books health shows a card saying how many bills are waiting. Upgrade, or wait for the allowance to reset at the start of next month. Either way the waiting emails are then read automatically, oldest first, the next time a new email arrives in that mailbox.
You marked it "not a bill" by mistake. The strip reads Marked not a bill. Click Undo and the extract button comes back, so you can decide whether to scan.
Blocking a sender
After you mark an email "not a bill", HQ offers Block sender too, which stops it scanning that vendor's mail for bills entirely. That's a separate, deliberate choice: marking one email never blocks a sender by itself. Undo reverses the "not a bill" mark only. To unblock a sender, go to Ledger › Vendor rules.
You can also block from a bill on Ledger › Expenses while it waits for review or sits in Discarded: the block icon asks first, then moves that bill and the sender's other bills waiting for review to Discarded (you can restore them) and skips new bills from the address. Your email is not affected: mail from that sender still arrives as usual.
Reviewing the emails HQ flagged
When HQ spots invoice emails that never made it into your books, it says so on your books-health panel: "N emails look like invoices you haven't recorded." That card gives you two ways in, and both list the exact emails rather than sending you to your inbox to hunt.
Review here opens the list right on the panel. Open as a page takes you to Ledger › Expenses › Invoice emails, which is a normal page, so you can hold Command and click it to open the list in its own tab and keep it beside your books while you work.
Each row names who the email is from, its subject, the date, and which of your connected mailboxes it arrived in. That last one matters: if the same supplier invoice was delivered to two of your accounts, you'll see two rows, and the mailbox is what tells them apart. Click a row to read the message without leaving the list.
When HQ couldn't read a batch of emails
A row HQ could not read (its reading service was down for longer than it keeps trying, or its mailbox needs reconnecting) says Couldn't be read where the others say Needs a decision. When there are any, the top of the list says how many and offers Read them again. One press queues every such email in your book's mailboxes that have Auto Bill Extraction on, from the last 90 days, newest first, up to 100 at a time, and tells you how many it queued. While a batch is reading, the button says Reading… and waits; pressing it again from another tab queues nothing new, and an email another scan is reading at that moment is left to that scan. When it finishes, a single message says how it went: how many bills it added, how many emails held no bill, how many are on a mailbox that needs reconnecting (reconnect it in Settings, Email, and they are read afterwards), and how many still couldn't be read. If more than 100 are waiting, press it again once the first batch is done.
A row whose file HQ cannot open (an encrypted or damaged PDF) says Can't be opened instead, and Read them again leaves it out. Record it on that row still tries it, and the bill can be entered by hand in Expenses.
It reads each email the way an automatic scan does, not the way Scan it anyway does. It does not override a sender you blocked for bill scanning, it does not bring back a bill you deleted for good from the trash, it reads the message itself only when it looks like a bill and no attachment was read, and it skips your own store's order notifications. Scan for a bill on one email does all of those, because you named it. It also leaves out an email that already has a bill in your books. On a plan with a monthly scan limit it asks your allowance before every read, not once for the whole batch (one email can hold several documents, and each read spends a scan). An email it finds the allowance spent for is held, and read once the allowance reopens, exactly as in an ordinary scan.
Clearing the list
Every row carries its own answers, so you never have to clear the whole card to deal with one email.
Record it extracts the bill there and then, the same as scanning it from the open email.
Already recorded is for an invoice you did enter, by hand or from another copy of the same message. HQ records that the email is accounted for and stops asking. This is not the same as "not a bill", and the difference matters: your mail still shows the email as being in your books, which is true.
Not a bill is for a statement, a receipt copy, a newsletter, anything that was never a bill in the first place.
Both answers are permanent, not a reminder pushed a few weeks out. If you change your mind, the row shows Undo, which puts it back to undecided.
When more than one email is still waiting, the bottom of the list offers to mark the rest already recorded in one go.
One thing worth knowing: after you answer an email, it leaves the books-health card for good, even if you undo. The card is a list of emails nobody has looked at yet, and once you've ruled on one it isn't that any more. The review list is where a decided email lives, and where you can change your mind about it.
From your phone
Open the email, tap More, then Find bill. HQ reads it in the background and the bill turns up in Bills and receipts for you to check. Nothing reaches your books until you approve it there.
Reading can take up to a minute, and the card says so while it works. If that email is already in your books, it says so instead of reading it again.