Convert profit and loss PDF to Excel on Mac (2026 guide)
Turn P&L statement PDFs into Excel on Mac — read on-device; only the text is uploaded — one row per account line, ready for the trend pivot and due-diligence math.
Turn your PDFs into clean Excel workbooks with ignitai on your Mac — first document free (up to 4 pages), then $29.99/month (USD). ignitai turns PDFs — even scans and photos — into clean Excel workbooks on your Mac. Your first document (up to 4 pages) is free; then $29.99/month (USD) for 80 pages a week.
Get ignitai on the App StoreThe broker’s email has three attachments: profit and loss statements for 2023, 2024, and 2025, exported to PDF from the seller’s QuickBooks. You’re two weeks into diligence on the business, and every question that matters — is revenue actually growing, what happens to margin when the owner’s salary is normalized out, which expense lines move with sales and which are fixed — is a spreadsheet question. The broker will not send a QuickBooks backup. The PDFs are what you get: forty account lines each, indented under Income, Cost of Goods Sold, and Expenses, with subtotals at every level and Net Income at the bottom. Three years of answers, none of them computable.
Every finance-adjacent role meets a version of this. The fractional CFO whose five clients each email a monthly P&L printed from a different system. The bookkeeper handed two years of a predecessor’s P&L PDFs and asked for a trend line. The franchise operator consolidating twelve locations whose managers all print rather than export. The borrower whose lender wants a month-by-month P&L history in a workbook, sourced from statements that exist only as PDFs in an email thread. The numbers are all there; the numbers are all trapped in a print layout built for reading, not computing.
This guide is the Mac workflow: convert profit and loss PDFs to Excel on Mac — read on-device, only the text sent to ignitai’s servers — with one row per account line, sections and periods as columns, ready for the trend pivot, the common-size analysis, and the diligence model.
In this guide10 sections
Why P&L statements defeat table extractors
A P&L looks like a simple two-column table and is structurally the opposite, which is why grid-based tools mangle it:
- The hierarchy lives in indentation. Income, COGS, and Expenses are sections; accounts nest under them, sometimes two levels deep. The only thing encoding that structure is horizontal whitespace, which grid extractors read as ragged column boundaries — so “Payroll Expenses” and the “Wages” line under it land in different columns, and the section membership every pivot needs simply isn’t in the output.
- Subtotals interleave with data. Total Income, Total COGS, Gross Profit, Total Expenses, Net Operating Income, Net Income — a standard P&L is a quarter subtotal lines by row count, printed in the same columns as the accounts. Import them as data and every rollup double-counts; your extracted “total expenses” is suddenly twice the printed one.
- Comparative columns multiply the grid. A QuickBooks P&L by month prints twelve amount columns plus a total; a comparative prints this year, last year, and change. Grid tools return the wide grid with the header row garbled — but analysis wants long format, one row per account per period, and no grid extractor reshapes on the way out.
- Negatives print as parentheses, and old statements are scans. “(4,812.00)” is a negative number to an accountant and a string to a naive importer. And the 2019 statements in the permanent file are scanned paper — a layout parser needs a text layer; a scan has to be read, not parsed.
The fix is an extractor that understands the document — that “Wages” belongs to Expenses whichever indent depth it printed at, that parentheses mean negative, that Gross Profit is arithmetic rather than an account. 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 QuickBooks, Xero, and the franchise’s legacy POS reports in the same folder:
-
Drag the PDFs in — or use the file picker, or right-click → Open With from Finder. The born-digital exports and the scanned prior years work the same way; the scanned-PDF walkthrough covers capture-quality details for the paper ones.
-
Describe the output shape in plain English. A prompt is required — the Convert button stays disabled without one. Start from the Table starter or write your own, one clause per failure mode above:
“One row per account line: section (Income, COGS, Expenses, Other Income, Other Expenses), account, amount. Take section from the heading each account is indented under. Skip subtotal and computed lines — Total Income, Total COGS, Gross Profit, Total Expenses, Net Operating Income, Net Income. Parentheses mean negative. Bare amounts, no currency symbols or thousands separators.”
Save it as a preset — it syncs to your other devices via iCloud — and every client’s monthly PDF is one click from being model-ready.
-
Pick Excel, hit Convert. Each PDF is read on your Mac — never uploaded — and only the recognized text goes to ignitai’s servers to build the sheet. On macOS 26, Apple’s native on-device table recognition sharpens extraction from the indented layouts; the same flow works back to macOS 14.4. A year of monthly statements is usually ready in under a minute.
-
Open the result in Excel or Numbers. One worksheet, one row per account line — bare amounts, negatives as minus signs — and because the Excel file holds real numbers, the first pivot works the moment it opens. In ignitai, the amount column’s on-screen total and the original page make a quick check before export; edits happen in the spreadsheet.
Monthly columns become pivot-ready rows. If the P&L prints months across the page — the QuickBooks “P&L by Month” layout — ask for long format: “one row per account per month: section, account, month, amount.” The wide grid nobody can chart comes back as the tall table everything downstream wants.
Three years, one batch. Select all thirty-six monthly PDFs in Finder and drag them in together, with the prompt extended by one clause: “add the period from the report header.” Filenames never leave your Mac, so there’s no filename column — identity has to come from the document itself, and every P&L prints its period (and company name, if you’re consolidating locations) at the top. One sheet, one row per account per period. Thirty-six reports can run past one week of the plan’s allowance (80 pages a week, up to 320 a month), so check the page count ignitai shows before you convert and add extra pages if the run needs them. Scanned paper statements photographed as images run as their own batch: a drop mixing PDFs and images imports only the PDFs.
One table per run — pick the grain. One row per account per period is the analysis grain. The balance sheet that came stapled to the P&L is a different document and a different run with its own prompt, not extra sheets in the same workbook — and the trial balance behind both has its own Mac flow.
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. And a P&L is a worst case even on Windows: From PDF detects visual grids, so the indentation hierarchy flattens into misaligned columns, every subtotal arrives embedded in the data, and a by-month layout comes back as a wide garbled grid you then unpivot by hand. Against the scanned years it returns nothing at all.
Method 3: a pdfplumber script (for one system, forever)
If every statement comes from one system, one report format, born-digital — say, your own company’s QuickBooks P&L, monthly, forever — a Python script with pdfplumber and pandas is a defensible build. The costs arrive on schedule: section membership means tracking indent depth in x-coordinates, subtotal exclusion means label-matching rules that break on renamed accounts, the system’s next report tweak silently shifts your coordinates, and the second client on a different system doubles the script. The scanned years it can’t touch at all. For a folder that mixes systems, clients, and paper, the maintenance never amortizes.
Method 4: web converters (the never-upload line)
Generic web PDF-to-Excel tools share Power Query’s grid blindness on indented layouts — and on this document the quality question is beside the point. A P&L is the business’s complete operating picture: revenue, margins, payroll costs, rent, what the owner takes out. In diligence it’s covered by an NDA; in a client engagement it’s covered by your confidentiality obligations. Uploading it to a free converter you don’t control is a data-handling decision made on someone else’s behalf. With ignitai the PDF stays on your Mac and only the recognized text goes to ignitai’s servers, where the AI builds the sheet; the finished file is kept in your ignitai account until you delete it. That is a smaller exposure than handing the whole PDF to a free converter, not a zero one — check it against your own confidentiality terms before running someone else’s documents.
On iPhone and iPad
P&Ls don’t always arrive at the desk:
- iPhone — the seller slides a printed P&L across the table at the diligence meeting: capture the pages with the in-app camera scan, apply the saved preset, and the margin math is rows before the meeting ends. A Live Activity shows conversion progress from the lock screen. A PDF in Mail goes in through the share sheet the same way.
- iPad — month-end review away from the desk: collect the clients’ emailed PDFs in 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 the Mac where the model lives.
One subscription covers iPhone, iPad, Mac, and Vision Pro, so the preset travels with the engagement.
The analysis pass: what the P&L sheet unlocks
The sheet isn’t the deliverable — the answers are:
- Recompute the subtotals first. The prompt skipped Total Income, Gross Profit, and Net Income deliberately: rebuild them with SUMIFS over the
sectioncolumn and check them against the printed statement. If your computed Net Income matches the PDF’s, every account line made it across — the P&L’s own arithmetic is your extraction check. - Build the trend pivot.
account × periodwith amounts as values: three years of monthly statements become the revenue trajectory, the expense creep, and the seasonality picture in one pivot. This is the task with no manual shortcut — forty lines × thirty-six months is retyping purgatory, and one transposed digit becomes a phantom trend. - Run the common-size analysis. Divide every line by its period’s total income and margins become comparable across months, years, and — for the franchise case — locations printed by different systems.
- Normalize for diligence. Add an
adjustmentcolumn for owner’s salary, one-time items, and personal expenses run through the business; the recast EBITDA the deal hinges on is a formula over verified rows instead of a retyped guess. - Tie the lines that matter. The labor line should tie to actual payroll runs — the payroll register Mac flow extracts that side. Cash-basis revenue should reconcile toward deposits — the bank-statement-to-Excel guide turns the statements into the deposit detail. Reimbursed costs roll up from the expense report flow. A P&L that ties to registers and bank activity is diligence-grade; one that doesn’t is a brochure.
When not to use this
- You have system access. QuickBooks, Xero, and every mainstream accounting system export a P&L to XLSX directly from the report screen — and QuickBooks’ export preserves the by-month columns. If you can log in, or can get the client to click Export instead of Save as PDF, take the export. The PDF path is for diligence targets, predecessor records, clients who only ever send print layouts, and the scanned years.
- You need the full statement package. Audited financials are a package — balance sheet, cash flows, footnotes — and the footnotes are prose, not a table job. Extract the P&L and balance-sheet tables by all means, but read the footnotes yourself; that’s where the bodies are buried.
Bottom line
For P&L PDFs that need to become a model on a Mac: gather the folder — every period, every location, the scanned years, all of it — drag the stack into ignitai, write the one-paragraph prompt (one row per account line, section from the indentation, skip the computed subtotals, period from the header), pick Excel, Convert, then recompute Net Income against the printed statement before you trust a single trend. Use a pdfplumber script only for a single-system born-digital feed you want to own; keep client and diligence financials away from web converters entirely. The engagement’s hours belong on the margin story and the normalization calls — not the retyping — and the on-device read means the statements never left your Mac to get there.
Get ignitai on the App Store — free download; your first document (up to 4 pages) converts free with Sign in with Apple, and one subscription covers iPhone, iPad, Mac, and Vision Pro.
FAQ
How do I convert a profit and loss PDF to Excel on a Mac?
Drag the P&L PDFs into ignitai, describe the rows in one sentence — section, account, amount, parentheses mean negative, skip the subtotal lines like Total Income, Gross Profit, and Net Income — pick Excel, and hit Convert. The PDFs are read on your Mac, and only their text goes to ignitai’s servers; the result is one sheet with one row per account line, ready to pivot.
Can it handle a P&L with monthly columns across the page?
Yes — ask for long format in the prompt: one row per account per month, with columns account, month, amount. A twelve-column QuickBooks P&L by month comes back as pivot-ready rows instead of a wide grid, which is the shape trend analysis and charting actually need.
How do I combine three years of monthly P&Ls into one sheet?
Run all thirty-six PDFs as one batch with one prompt, and add the period from each report’s header as a column. Filenames never leave your Mac, so there is no filename column — the period printed on the statement is what keeps the months apart. One sheet, one row per account per month, and the trend pivot builds itself.