Import Bills into Xero in Bulk from Email with a Xero Bills CSV Template
A month of vendor invoice emails, one Xero import
Parse the AP inbox and download one file in the Xero bills template: ContactName, EmailAddress, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount, AccountCode, TaxType and Currency, one row per bill. It works on invoices written in the email body, which the Xero bills email address cannot read. Upload .eml or .msg files, a .zip, or connect the mailbox over IMAP.
Connect a Gmail or IMAP mailbox to parse new mail automatically, or paste an email below to test the converter now.
Create a free account to download. No credit card required.
To import bills into Xero from email in bulk, turn each vendor invoice email into one row of the Xero bills template (ContactName, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount and AccountCode), then upload it from Bills to pay with Import. Xero creates the rows as draft bills for review. MailParse reads the invoice emails (body, HTML tables, and digital PDF or CSV attachments on Plus and higher) and gives you that file as CSV or Excel.
- 11 columns
- ContactName through Currency
- 5,000
- Bills per downloaded file
- 10,000
- Emails in one .zip upload
- 3 date formats
- MM/DD/YYYY, DD/MM/YYYY or ISO
Xero gives every organization a bills email address, and for a vendor who attaches a clean PDF it does the job: forward the message, a draft bill appears with the file attached. The trouble starts with everyone else. A lot of US vendors never attach anything. SaaS subscriptions, utility portals, freight brokers, staffing agencies and contractors write the invoice number, period, due date and amount straight into the email or into an HTML table, and the bills address has no file to read. Someone still opens each one and types the bill.
The other route Xero offers is the bills import: a CSV in Xero's template, uploaded once, that creates a whole batch of draft bills. It is fast, but only if somebody builds the file, and building it from an inbox is exactly the manual work you wanted to stop. MailParse does that step. It parses the invoice emails into fields and writes the Xero bills file for you, so a bookkeeper reviews 200 rows instead of keying 200 bills. If a sister entity runs on QuickBooks Online or NetSuite, the same parsed emails export in those layouts, see importing bills into QuickBooks Online from email and the NetSuite vendor bill import.
What the converter does
Everything you need to turn the email your team receives into a spreadsheet it can actually use.
The columns Xero's template expects
ContactName, EmailAddress, InvoiceNumber, InvoiceDate, DueDate, Description, Quantity, UnitAmount, AccountCode, TaxType and Currency, with the asterisked headings exactly as Xero writes them, so the import screen recognizes the file without remapping.
Invoices in the email body
Values come from labels such as Invoice No, Due Date and Amount Due in the subject, body and HTML tables. That covers the vendors who never attach a PDF, which is where the bills email address leaves you typing.
Digital PDF and CSV attachments
On Plus and higher MailParse also reads the text inside vendor-generated PDF and CSV attachments up to 8 MB, so a mixed inbox of body invoices and attached invoices lands in one file.
AccountCode filled on every row
Xero does not fall back to the supplier's default purchase account when AccountCode is blank on an import. Type the code from your chart of accounts once before you download, and every row carries it. Change single rows in the sheet when a vendor codes elsewhere.
Contact email kept for matching
EmailAddress holds the sender of the invoice email. It helps you spot two vendors with similar names and match each row to the right Xero contact before you upload.
No bill silently dropped
An email with no readable amount still gets a row with UnitAmount empty, so the gap shows up in review. A missing invoice number gets a unique MP reference so Xero does not reject the row as a duplicate.
How to import bills into Xero from email
Four steps from an inbox of vendor invoices to a batch of draft bills in Xero.
Get the invoice emails in
Upload saved .eml or .msg files, a whole folder, or a .zip of up to 10,000 messages. Or connect the AP mailbox over IMAP, or forward invoices to your MailParse forwarding address so each one is parsed within minutes.
Name the fields once
Save fields such as vendor, invoice_number, invoice_date, due_date and amount_due. Labels written the usual way are picked up without setup, and your saved fields win when a vendor words things differently.
Download the Xero file
In Parse History choose Xero bills, CSV or Excel, the period, the date format your organization uses and the account code, then download. Check contact names against your Xero contacts so no duplicate suppliers get created.
Import in Xero
Open Bills to pay, choose Import, upload the file and pick whether amounts are tax inclusive or exclusive. Xero lists the rows it will create; confirm and the bills arrive as drafts for approval.
Who imports bills into Xero this way
Xero users whose supplier invoices mostly arrive as email text or vendor-generated PDFs.
Bookkeepers with Xero clients
Parse each client's invoice folder separately, download its Xero file with that client's account code, and load a month of bills per client in a few minutes instead of an afternoon per client.
Small business owners doing their own AP
Forty recurring vendors bill by email every month. One parse and one import on the first of the month replaces forty Create bill screens.
Controllers catching up a backlog
Moving to Xero mid-year, or behind after a busy quarter? Export the old invoice emails as a .zip, parse them in one batch and import the bills you are missing.
Firms whose vendors do not attach PDFs
Logistics, property management and agencies get most bills as body text from portals. That is the slice the Xero bills email address and photo capture apps handle worst.
Why import bills into Xero instead of keying them
One import instead of a stack of forms
Create bill is fine for five invoices. An import creates the whole batch as drafts and the file doubles as a list of exactly what went in.
Fewer transposed numbers
Invoice numbers and amounts are copied from the email text, not retyped, so a 1,245 versus 1,425 slip stops reaching the ledger.
Nothing to connect to your Xero org
No app connection, no access token and no permissions on your Xero organization. You upload a file you have already checked, and nothing in this flow touches payments.
The data stays reusable
The same parsed emails export to Excel, CSV or JSON for spend analysis or a vendor audit, so the parsing work is done once.
Ways to get emailed vendor invoices into Xero compared
Four routes are realistic for a Xero user. The deciding question is how your vendors send invoices: as an attached PDF, as text in the email, or as paper you scan.
| Decision point | MailParse plus bills import | Xero bills email address | Capture apps (Hubdoc, Dext) | Keying into Create bill |
|---|---|---|---|---|
| How bills get in | Parses the inbox in bulk, then one import per batch | Forward each email, one draft bill per attached file | Vendors or you send documents in, the app publishes to Xero | A person reads each email and types the bill |
| Invoice written in the email body or an HTML table | Yes, plus digital PDF and CSV attachment text on Plus and higher | No, it needs an attached file | Varies by app, check with your own vendors | Yes, by hand |
| Scanned or photographed paper | No, digital text only. No OCR of scans | Yes, attached PDF or image files | Yes, that is their core strength | Yes, a human reads anything |
| A backlog of old emails | Yes, a .zip of up to 10,000 emails in one upload | Each one forwarded by hand | Each document sent or uploaded | Each one typed |
| Setup | None inside Xero, you upload a file | None, built into Xero | An app connection to your Xero org | None |
| Best for | Many bills that arrive as email text or digital PDFs | A handful of vendors who always attach a clean PDF | Receipts, paper bills and expense claims | Very low volume |
Xero and capture app behavior described from their public help pages; check your own subscription for the features you have. MailParse does not post bills into Xero from this page: it gives you the import file, and Xero creates the draft bills when you run the import.
Frequently asked questions
How do I import bills into Xero?
Open Bills to pay, choose Import, and download Xero's bills template if you do not have a file yet. Fill one row per bill line with contact, invoice number, dates, quantity, unit amount and account code, upload it, choose whether amounts are tax inclusive or exclusive, and confirm. Xero creates the bills as drafts.
Can you bulk import bills into Xero?
Yes. The bills import creates as many draft bills as your file has invoice numbers, which is the practical way to load a month of supplier invoices at once. The work is building the file. MailParse builds it from the invoice emails, so the import is the only step left in Xero.
Which columns does the Xero bill import template need?
The headings with an asterisk are required: ContactName, InvoiceNumber, InvoiceDate, DueDate, Quantity, UnitAmount, AccountCode and TaxType, with Description and EmailAddress optional. Keep the headings exactly as Xero writes them. The MailParse Xero file uses those headings, with TaxType left for you to set.
Why does Xero not use the supplier's default account on imported bills?
On a CSV import Xero takes the AccountCode from the file and does not fall back to the default purchase account saved on the contact. Leave it blank and the row fails or lands uncoded. MailParse fills the account code you type before downloading on every row, and you can change single rows in the sheet.
Can Xero read an invoice from the body of an email?
Not through the bills email address. It creates draft bills from attached PDF and image files, so an invoice written in the message itself has nothing for it to read. That is the gap MailParse covers: it reads the subject, body and HTML tables, and on Plus and higher the text of digital PDF and CSV attachments.
What date format should the Xero bills CSV use?
Use the format that matches your Xero organization's regional settings, which for a US organization is usually MM/DD/YYYY. A mismatch is a common reason an import shows the wrong month or rejects rows. MailParse lets you pick MM/DD/YYYY, DD/MM/YYYY or ISO before you download.
Does MailParse pay suppliers or post bills straight into Xero?
No. It only prepares the bill data and the import file. It never touches your bank, supplier payments or approvals, and it does not connect to your Xero organization. Bills are created when you run the import, and you approve and pay them the way you do today.
Which plan includes the Xero bills import file?
Every paid plan includes the Xero, QuickBooks Online and NetSuite bills import files in CSV or Excel. Reading digital PDF and CSV attachment text starts on Plus. You can parse 3 of your own invoice emails before signing up to see which fields it finds.
Turn this month of vendor invoice emails into one Xero import file
Upload the invoice emails or connect the AP mailbox, name the fields once, and download a Xero bills CSV or Excel file ready for Bills to pay, Import.