How to get emailed vendor invoices into QuickBooks Online as bills, not receipts

There are three routes, and only three. QuickBooks Online has a forwarding address of its own — you create it under Transactions, then Receipts, then Forward from email, and QuickBooks generates the address for you. Mail sent to it lands in the For review tab of Receipts, where QuickBooks reads the vendor, the date and the total off the document and waits for a person to confirm what transaction to create from it. The second route is keying the bill yourself. The third is putting a piece of software in front of QuickBooks that turns the email into a finished, coded bill and posts it through the API. The built-in address is free, it is already switched on in your subscription, and for a small portfolio it may be all you need — so the honest version of this page starts by saying what it does before it says where it stops.

Where it stops, for anybody managing property: the forwarding address captures. It does not decide which building a cost belongs to, it does not send the bill to whoever has to sign for it, and it does not compare the bill against what that vendor billed for that building last month. Those three are the work. Capture is the easy part.

Receipt or bill: why the object type is the whole question

This is the phrasing problem behind the most-read community thread on the subject, which is literally titled "How do I force emailed invoices to be treated as a bill rather than a receipt?"

  • A bill is an accounts payable transaction. It has a due date, it ages on your A/P aging report, and it sits unpaid in your books until you pay it. That is what a vendor invoice is.
  • A receipt or expense records money already spent. Nothing ages, because nothing is owed.

If a roofing invoice with net-30 terms is filed as an expense, your A/P balance is understated by the amount of it and nothing in your books will chase it. So "as bills, not receipts" is not pedantry about menus — it is whether your payables are real.

One check before any of this matters: a QuickBooks company file with no Accounts Payable cannot hold a bill at all. That is Simple Start in the United States and EasyStart in Canada. On those, nothing that anybody sells you can post a bill; you export and bring it in another way until the company is upgraded. The connecting QuickBooks Online page lists the editions and what each can carry.

Route A — the address Intuit already gave you

Checked against Intuit's own help article on 2026-09-18. These are Intuit's screens, not ours, and Intuit moves them; trust Intuit's page over this one if the two disagree.

How it works. Go to Transactions, then Receipts, then Forward from email, and claim a custom address. Forward a document to it, or have the vendor send one. It appears in For review with the fields QuickBooks read off it, and a person opens it, confirms the vendor and the amounts and creates the transaction.

What is genuinely good about it. It is included, there is nothing to buy, nothing to connect and no second system holding your documents. For a card receipt photographed at a hardware store it is the right tool and the rest of this page is irrelevant.

Where it stops.

What you needWhat the forwarding address does
Get the document inDoes it. This is what the feature is for.
Decide who may send to itForwarding is turned on per user under Manage forwarding email. A sender who is not on that list gets a reply saying the address is not registered.
Code the cost to a buildingNot attempted. A class is typed by a person on every document, every time.
Route an approvalNot part of Receipts. Bill approval workflows are a QuickBooks Online Advanced feature; on the lower tiers there is no approval step to route to at all.
Notice you already have this billOnly through the separate Warn if duplicate bill number is used setting, under Account and settings, then Expenses. It compares the bill NUMBER you type against that vendor. A re-sent invoice keyed with one digit different does not trip it.
Keep one company file per owner tidyOne address per company file. A firm running a company per ownership entity has an address per company and no rule that sends mail to the right one.

None of those are bugs. They are the boundary of a capture feature, and the reason a category of software exists in front of it.

Xero, for the same reader. Xero has the equivalent: a unique email address per organization that generates a draft bill — Xero's own help page says the bill has to be an email attachment rather than text in the body of the message. Same shape, same boundary: a draft for a person to finish.

Route B — keying it by hand

Open the invoice, read it, open QuickBooks, create the bill, retype the vendor, the invoice number, the date, the due date, the amount and the tax, choose the account, choose the class, save, then file the PDF somewhere a person can find it in eleven months when an owner asks.

The cost is not the typing. It is that the document and the transaction are now in two places, joined by nothing but the invoice number somebody retyped, and that the person doing it is the only control in the system. One invoice is five minutes. Four hundred a month is a job.

Route C — an intake address in front of QuickBooks

This is what inletAP is. The mechanism, stated plainly, because the whole point of this page is the comparison:

  • Your workspace gets its own subdomain of inlet-ap.com, and mailboxes on it — ap@yourcompany.inlet-ap.com. You forward your existing AP mailbox into it, which is the honest route in: mail for a domain you own goes where your own MX records say, so no vendor can take delivery of it. See forwarding your existing mailbox for the Gmail, Outlook.com and Microsoft 365 steps, including the Microsoft 365 outbound rule that silently bounces external forwards.
  • A mailbox per building is the routing rule you do not have to write. An invoice arriving at lakeshore@yourcompany.inlet-ap.com is coded to Lakeshore when the document itself names nothing recognizable — which covers the depressing number of invoices that identify the property only by a job number the vendor invented. See per-property mailboxes.
  • Twenty file types, 20 MB a message, and an invoice typed into the body of an email with no attachment is read as a document too. What you can send has the list.
  • Coding, then approval, before anything posts. A rule can write a GL account onto the document, assign a reviewer, ask a named approver, auto-approve inside conditions you set, or quarantine — the five actions are in the rules reference. An approval tier decides how many different people must sign for an amount and how many hours they have.
  • Then it posts as a Bill. One line per invoice line, or one line when the invoice has none. The invoice date and due date become the transaction and due dates. The invoice number becomes the reference, truncated to the 21 characters QuickBooks allows. Each line carries the account its GL code is matched to, or your default expense account, and its property as a class where the file tracks classes. The source document is uploaded to the bill, and the QuickBooks ID comes back and is recorded against the document, so "where did this end up" is answered with an ID rather than a search.
  • A retry does not create a second bill. The request identifier is minted before the first attempt and reused on every retry of the same post, so a dropped connection replays rather than posting twice.

The free plan is 25 documents a month with no card, which is enough to test the round trip with real invoices rather than a demo.

What none of the three routes do

  • None of them creates master data in QuickBooks. inletAP matches your vendors, GL codes and properties to vendors, accounts and classes that already exist in the company file; it does not invent either side, and a record created in QuickBooks since your last sync cannot be matched until you sync again.
  • None of them pays anything. inletAP has no ACH and no check rails. It produces a bill in your ledger; paying it is still your ledger or your bank.
  • None of them fixes a file with no Accounts Payable. See the edition check above.
  • None of them makes a class appear where the edition has none. On Essentials, bill lines cannot carry a class, so the property does not travel with the cost whatever puts the bill there. Plus and Advanced can, with class tracking switched on in the company file.
  • None of them reads a GL code off the invoice. Your vendor does not know your chart of accounts, so there is nothing on the page to read — the account comes from a rule, a vendor default or a person. Invoice coding is the procedure.

Two things that decide whether a bill posts at all

The arithmetic. Line items are pre-tax and the invoice total is the grand total, so the lines have to add up to the total less tax, within a penny. An item that does not is held back with both figures named rather than posting a bill that settles at the wrong number.

Tax, which splits by country. In the United States there is no purchase tax engine in a QuickBooks company file to work the tax out, so stated tax is written as an extra bill line described "Sales tax" — coded to your sales tax expense account if you set one, otherwise to the account of the largest line. Outside the United States the stated tax must be carried by a matched purchase tax code, and an invoice that states tax with no matched code waits rather than posting short. Export failures is the page for when a bill will not post.

The comparison, in one table

Checked on 2026-09-18.

Intuit forwardingBy handinletAP in front
Document arrives without anybody touching itYes, from allowed sendersNoYes
Creates an A/P bill, not an expenseA person chooses per documentYesYes, every posted document is a Bill
Property on the lineTyped per documentTyped per documentFrom the mailbox, the document or your coding, as a class
Approval before it postsAdvanced tier onlyWhatever your team does informallyApproval tiers, with a quorum and an SLA
Compared against bills you already holdDuplicate bill NUMBER, if switched onHuman memoryNine rules and seven guards, over two years of your own invoices
Source document attached to the billYesIf somebody does itYes, uploaded to the bill
Moves moneyNoNoNo

Common questions

Can I email a vendor invoice straight into QuickBooks Online as a bill?

You can email it straight into QuickBooks, but not straight into a posted bill. QuickBooks Online gives each company a forwarding address of its own, and a document sent to it lands in the For review tab of Receipts for a person to confirm and turn into a transaction.

Why does my forwarded invoice turn into a receipt instead of a bill?

Because the receipts inbox is a capture queue rather than an accounts payable workflow: it reads the vendor, the date and the total, and a person decides what transaction to create. A bill is an accounts payable transaction that ages until it is paid, and an expense is money already spent, so filing a net-30 invoice as an expense understates what you owe.

Who is allowed to send documents to the QuickBooks forwarding address?

Only the people you have given permission to. Intuit turns forwarding on per user under Manage forwarding email, and a sender who is not on that list gets a reply saying the address is not registered, which is worth knowing before you print the address on a purchase order.

Does QuickBooks Online warn me about a duplicate bill?

It can, on the bill number only. Under Account and settings, then Expenses, the setting Warn if duplicate bill number is used compares the number you type against the bills you already hold for that vendor, so a re-sent invoice keyed with one digit different or a second copy with a new number does not trip it.

Can QuickBooks route a bill for approval before it posts?

Bill approval workflows are a QuickBooks Online Advanced feature. On the lower tiers there is no approval step in the ledger at all, so approval is whatever your team does by email before somebody keys the bill.

Does inletAP create vendors or expense accounts in my QuickBooks company?

No. It matches the vendors, GL codes and properties you already hold against the vendors, accounts and classes already in the company file, and an unmatched vendor is a held invoice with the reason on it rather than a new record written into your books.

Does this work the same way in Xero?

The same shape, with different words. Xero also gives an organization a unique email address, and a document sent to it becomes a draft bill for a person to finish, so the capture-versus-coding boundary is the same one. inletAP posts to Xero through its own connector, where the property travels as a tracking option rather than as a class.

Where to go next

More guides