Convert expense report PDF to Excel on Mac (2026 guide)
Turn expense report PDFs into clean Excel sheets on Mac — read on-device, never uploaded — employee, date, merchant, category, and amount in their own columns.
ignitai turns PDFs — even scans and photos — into clean Excel workbooks on your Mac — your first conversion is free, then $19.99/mo after a 3-day free trial.
Download on the App Store ignitai — free downloadMonth-end, and the expense reports are in: four came out of Expensify as PDF exports, two out of Concur, one is a Word template the sales lead has used since 2019, and one is a scanned paper form with the receipts stapled behind it. The reimbursement run needs the same thing from every one of them — who spent what, when, at which merchant, in which category — as rows in a spreadsheet. What the PDFs offer instead is eight different print layouts, subtotals after every category, and pages of receipt thumbnails. So whoever does the books retypes it all into Excel, line by line, and hopes no amount got transposed between the page and the payroll run.
This is the quiet tax on every small finance operation. The bookkeeper coding client expenses to the general ledger. The office manager running monthly reimbursements for a ten-person team. The accountant whose clients email whatever their expense app prints. The data was born structured — the employee’s app or spreadsheet built the report from a table — and the PDF is just the print layout it got trapped in on the way to your inbox.
This guide is the Mac workflow: convert an expense report PDF to Excel on Mac — read on-device, never uploaded — with employee, date, merchant, category, and amount in their own columns, subtotal rows gone, and the receipt-image pages ignored.
Why expense reports break table extractors
An expense report is a table wearing a costume, and every part of the costume defeats grid-based extraction:
- Every tool prints a different layout. Expensify’s export doesn’t look like Concur’s, which doesn’t look like Zoho’s, which doesn’t look like the Word template a contractor fills in by hand. Template-based extractors need a mapping per format; a real inbox sees them all in the same week.
- The identity lives in the header, not the table. Employee name, report period, business purpose, and cost center sit in a block at the top; the expense lines sit in the table below. The reimbursement sheet needs both on every row. A grid extractor sees two unrelated regions and hands you expense lines with no idea whose they are.
- Subtotals live inside the table. Lines grouped by category or by trip, a subtotal after each group, a grand total at the end — and every one of those rows, left in the extraction, silently inflates the reimbursement sum downstream.
- The report doesn’t end when the table does. Most expense-tool exports append every attached receipt as an image page after the summary. A grid extractor happily “finds” tables in those thumbnails and appends fragments of Starbucks receipts to your data.
- The paper ones are scans. The field tech’s handwritten-then-photocopied form, the stapled stack that went through the office scanner — a layout parser gets nothing from a scan; it needs to be read, not parsed.
The fixes require understanding the document — knowing a category subtotal from an expense line, and a summary table from a receipt thumbnail. That’s what a prompt-driven extractor does that a grid tool can’t.
Method 1: ignitai on Mac (the read-on-device way)
ignitai extracts by description, not by layout template, so one prompt covers whatever the expense tool prints:
-
Drag the PDF in — or use the file picker, or right-click → Open With from Finder. A scanned paper form works the same way as a born-digital export; the scanned-PDF walkthrough covers the scan-quality details.
-
Describe the output shape in plain English. A prompt is required — the Convert button stays disabled without one — and each structural habit above becomes a clause:
“One row per expense line: employee (from the header), report_period, expense_date, merchant, category, description, amount, currency. Repeat employee and report_period on every row. Skip subtotal, category-total, and grand-total rows. Use only the expense summary table — ignore the attached receipt images. ISO dates, bare amounts.”
Save it as a preset — it syncs to your other devices via iCloud — and next month’s stack is one click.
-
Pick Excel, hit Convert. The PDF is read on your Mac — never uploaded — and only the recognized text goes to ignitai’s private hosted pipeline to build the sheet. On macOS 26, Apple’s native on-device table recognition makes dense multi-column reports extract noticeably sharper; the same flow works back to macOS 14.4. A typical report is usually ready in under a minute.
-
Open the result in Excel or Numbers. One worksheet, one row per expense line, every cell clean text — ISO dates, bare amounts — so one formatting pass types the columns for the ledger. The in-app preview is read-only (rename only); edits happen in the spreadsheet.
A month is one batch. Ten employees’ reports for the reimbursement run? Select all ten PDFs in Finder and drag them in together with the same prompt — they consolidate into one worksheet, one row per expense line across the whole team. The prompt’s employee column does the work of keeping them apart: filenames never leave your Mac, so there’s no filename column, and the name has to come from each report’s own header — which every expense tool prints prominently. If one report is a photographed paper form rather than a PDF, it runs as its own batch: a drop mixing PDFs and images imports only the PDFs.
One table per run. The output is always one table on one worksheet. If you also want the per-category summary block as its own dataset — category, budget, actual — that’s a second run with a second prompt, not extra sheets in the same workbook.
Method 2: Excel for Mac’s Get Data (no PDF connector)
Excel for Mac ships Power Query under Data → Get Data, but the Mac connector list — Text/CSV, XLSX, XML, JSON, SharePoint, SQL Server, OData — has no From PDF option; that connector is Excel-for-Windows-only. Even on a Windows machine, From PDF detects one visual grid per page: the header block arrives as a disconnected mini-table, category subtotals land inside the data, and the receipt-thumbnail pages contribute garbage fragments. The cleanup that follows is the retyping job wearing a different hat — and it gets nothing at all from the scanned paper forms.
Method 3: Preview + Numbers (the two-report fallback)
For a single one-page report: open the PDF in Preview, select the table, copy, paste into Numbers, and repair the columns by hand. Workable once; not monthly. Wrapped descriptions paste as extra rows, the employee name doesn’t travel with the lines, and Numbers has no Text to Columns command, so every merged cell is a manual fix. The moment there’s a stack, this path costs more than it saves.
Method 4: web converters (the employee-data line)
Generic web PDF-to-Excel tools share Power Query’s per-page grid blindness — fragments, junk subtotal rows, receipt-thumbnail noise — and their free tiers gate at a few pages, which a receipts-attached report exceeds immediately. But the disqualifying issue is the content. An expense report pairs a named employee with card last-fours, travel dates, hotel locations, and a month of spending patterns. Uploading that to a free converter you don’t control is a data-handling decision about your team, not about you. The on-device read exists for exactly this class of document: the PDF stays on your Mac, and only recognized text touches ignitai’s private pipeline.
On iPhone and iPad
The stack doesn’t always arrive at the desk:
- iPhone — the field tech hands over a paper expense form: capture it with the in-app camera scan, apply the saved preset, and the lines are in a sheet before the coffee’s done. A report that arrives as a photo in a text goes in through the share sheet the same way.
- iPad — reviewing reports away from the desk: save the PDFs to Files, multi-select them from the picker or share sheet (there’s no external drag-and-drop into the app on iPad), convert with the synced preset, and iCloud puts the XLSX on your Mac for the ledger.
One subscription covers iPhone, iPad, Mac, and Vision Pro, so the preset travels with you.
The reconciliation pass: what the clean sheet unlocks
The sheet isn’t the deliverable — the checks are:
- Tie out the totals.
=SUMIF()onemployeeagainst each report’s printed grand total. Because the subtotal rows were skipped at extraction, the sums are honest — no double-counting a category total as a line. - Build the reimbursement pivot. Rows = employee, values = sum of
amount: the payroll-run numbers in thirty seconds, for the whole team, from one sheet. - Code the ledger. A pivot by
categorymaps straight onto GL accounts, and the odd “other” lines surface immediately instead of hiding in eight separate PDFs. - Reconcile against the card. Reports say what employees claim; the corporate card statement says what was charged. The credit-card-statement-to-Excel guide covers extracting the other side of that match — and for the loose receipts behind the claims, the receipts-to-spreadsheet workflow closes the loop from the paper end.
If approvals happen in a shared workbook, the same XLSX imports straight into Google Sheets — the PDF-to-Google-Sheets Mac guide covers that handoff.
Bottom line
For expense report PDFs that need to become a reimbursement-ready Excel sheet on a Mac: drag them into ignitai, write the one-paragraph prompt (one row per expense line, employee from the header, skip subtotals, ignore receipt images), pick Excel, Convert, then run the tie-out and the reimbursement pivot. Use Preview-and-paste for a single one-page report; keep employee data away from web converters entirely. The bookkeeper’s hour belongs on the coding and the policy questions, not the retyping — and the on-device read means the reports never left your Mac to get there.
Get ignitai on the App Store — sign in with Apple, first conversion free, then $19.99/mo after a 3-day trial; one subscription covers iPhone, iPad, Mac, and Vision Pro.
FAQ
How do I convert an expense report PDF to Excel on a Mac?
Drag the PDF into ignitai, describe the columns in one sentence — employee, expense date, merchant, category, description, amount — and tell it to take the employee name from the header, skip subtotal and total rows, and use only the summary table rather than the attached receipt images. Pick Excel and hit Convert. The report comes back as one sheet with one row per expense line, ISO dates, and bare amounts.
Does it work with Expensify, Concur, or Zoho Expense PDFs?
Yes — the extraction is driven by your plain-English description of the output, not by a layout template, so the same prompt handles whatever format the expense tool prints. Per-category groupings, embedded subtotals, and the pages of receipt thumbnails after the summary table are exactly the structures you tell it to flatten, skip, or ignore.
Are the expense reports uploaded?
No — each PDF is read on your Mac and never uploaded. Only the text recognized on-device is sent to ignitai’s private hosted pipeline to build the sheet. An expense report pairs employee names with card digits, travel dates, and spending patterns, which is not a document to feed a free web converter.