Skip to content
ignitai
← Back to blog · · 14 min read

Convert credit card statement PDF to Excel on Mac

Consolidate a year of credit card statement PDFs into one Excel workbook on Mac — read on-device, never uploaded — merchants normalized, totals reconciled.

guides credit-cards mac budgeting

ignitai turns PDF bank, card, and brokerage statements into a clean transactions spreadsheet 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 download

It’s tax week, or it’s year-end review, or the accountant finally answered the email about which subscriptions the business actually pays for. Either way, the folder is on the Mac desktop: twelve months of Amex Gold statements, twelve months of Chase Sapphire Reserve, ten months of Apple Card (you switched mid-year), and a couple of stragglers from a Citi card that got closed in February. Forty-plus PDFs, four different issuers, four different table layouts, one spreadsheet that has to answer “how much did we spend on travel this year, normalized to USD, with reimbursable charges flagged?”

The Mac is, for this specific job, the right tool. The keyboard is fast enough to spot-check three hundred rows. The 27-inch display shows the statement PDF and the extracted spreadsheet side by side. And ignitai chews through forty statements in a few minutes, reading each PDF on-device — the statement files are never uploaded.

This guide is the workflow that gets you from “a folder of credit card statement PDFs accumulated across the year” to “one Excel workbook on its way to the accountant” without re-typing a single merchant line, without uploading a year of personal spending to a free-tier web converter, and without paying for one of the SaaS personal-finance tools whose category logic only lives inside their app.

Why Mac (not iPad, not iPhone) for the annual batch

The iPad credit card walkthrough is the right path for the monthly review — three statements arrive on the second of the month, you process them on the couch, the budget pivot updates by dinner. The Mac is different: it’s the device for the annual consolidation — forty-plus files, multiple issuers, multiple years if you’re catching up.

Three reasons the Mac wins for the real batch:

  • Folder semantics. A year of statements arrives in many places: Mail attachments, Wallet exports for Apple Card, downloads from each issuer’s website. macOS lets you stage them in one folder, organized by issuer and month, then select them all and drag the whole set at once. Large multi-issuer selections are simply more comfortable in Finder than in Files on iPad.
  • Spot-checking at speed. A 27-inch display shows the source PDF on the left, the extracted rows on the right, the pivot table on a second window. Three hundred merchant rows is twenty minutes of scroll-and-verify on Mac. On iPad it’s an hour of swapping views.
  • Excel for Mac runs the pivot natively. Multi-sheet workbook, formulas, pivot tables all first-class. iCloud Drive syncs the final back to iPad and iPhone for review on the road.

Why a credit-card batch is harder than a bank-statement batch

The Mac bank-statement guide handles checking-account PDFs in batch. Credit card statements look similar but have four extraction problems a bank-statement tool won’t solve:

  1. Issuer-specific table layouts. Amex puts fees and interest in a top summary, then transactions chronologically. Chase splits transactions by category on some products (Sapphire Reserve) and chronologically on others (Freedom). Citi puts the payment-due block above the transactions; Capital One puts it below. Apple Card’s Wallet-exported PDF has its own clean two-column layout. A naive table extractor handles two layouts well and the others badly.
  2. Merchant strings as the network passed them. Bank statements show payee names you set up yourself (“Verizon”, “PG&E”). Credit card statements show merchant strings as the network passed them: SQ *BLUE BOTTLE COFFEE, TST*PIZZA HOUSE PHX 0431, AMZN MKTP US*PB4XD8RC2. The same coffee shop visited three times can appear as three different strings. Without normalization, the year-end pivot splits “Blue Bottle Coffee” into four rows.
  3. Sign convention is the inverse of bank statements. On a bank statement, debit is money out. On a credit card statement, debit-side is a new charge and credit-side is your payment to the card. Mixing both account types in one workbook needs explicit transaction_type columns.
  4. Fees and interest in separate bands. Credit card statements isolate fees and interest into a “Fees Charged” and “Interest Charged” section that visually mimics the transactions table but isn’t part of it. A tool that mashes those into the main charge list inflates spending totals; one that drops them silently hides actual costs.

Method 1: ignitai statement batch on macOS (the main path)

ignitai handles a credit-card-statement batch the same way it handles an invoice batch — drop the year of statements in one motion, write the prompt once, get one consolidated workbook. The Mac flow:

  1. Stage the folder. Create ~/Documents/Credit-cards/2026/. Inside, one subfolder per issuer: Amex/, Chase/, Apple-Card/, Citi/. Drop each month’s statement PDF into the corresponding subfolder. Filename convention that makes the spot-check easier: 2026-01-amex.pdf, 2026-02-amex.pdf, etc. If your filenames are still the issuer’s defaults (eStatement_20260131_4892.pdf), the extraction will run fine, but renaming first makes the audit trail in the spreadsheet readable later.

  2. Open ignitai. Select the statement PDFs (⌘A inside each issuer folder) and drag them onto the window — or add them with the file picker. Each statement is read on-device — the PDFs never leave the Mac — and only the recognized text is sent to ignitai’s private hosted pipeline.

  3. Describe what to extract, in plain English. For an annual consolidation across multiple issuers:

    *“For each statement, return one row per transaction with: transaction_date (ISO 8601, from the transaction line, not the statement date), post_date (ISO 8601, if shown), merchant_raw (the original string as printed on the statement), merchant_normalized (the canonical merchant — collapse ‘SQ BLUE BOTTLE COFFEE’, ‘BLUE BOTTLE PHX’, ‘BLUE BOTTLE #4 PHX’ to ‘Blue Bottle Coffee’; collapse all Uber Eats variants to ‘Uber Eats’; collapse all Amazon Marketplace variants to ‘Amazon’), category (one of: dining, groceries, transportation, travel, lodging, entertainment, subscriptions, shopping, utilities, healthcare, fees, payment, other), amount (positive for charges, negative for payments and credits), transaction_type (one of: charge, payment, credit, fee, interest), card_issuer (Amex, Chase, Citi, Capital One, Apple Card, etc.), card_last_four, statement_period_start (ISO 8601), and statement_period_end (ISO 8601). If a transaction is a foreign-currency charge, also return foreign_amount and foreign_currency.”

    ignitai keeps the prompt in Previous Prompts — next year it’s one tap to reuse. If you also want statement-level metadata — new balance, due date, fees and interest totals — run the batch a second time with a summary prompt and keep the result as a statements sheet in the same workbook.

  4. Pick XLSX as the output format. One consolidated transactions sheet, one row per charge across every statement, with the card and period columns keeping each row attributable. Values arrive as clean text — set a currency format on amount and a date format on the date columns once in Excel.

  5. Hit Convert. A folder of forty statements across four issuers processes in a few minutes, with live progress — pages read, parts uploaded — across the job.

  6. Spot-check in Excel for Mac. Open the output 2026-credit-cards.xlsx. Around three hundred transaction rows depending on activity — plus forty statement rows if you ran the summary pass. Run the four reconciliation checks below before you trust the totals.

End to end on a year’s worth of statements: under an hour of human time, most of it the spot-check phase.

Why XLSX (not CSV, not Numbers) for the annual consolidation

For bank statements destined for QuickBooks the right output is CSV. For Numbers-native personal sheets, the same XLSX opens directly in Numbers, and one File → Save makes it a .numbers document. For an annual credit-card consolidation, XLSX is the right answer for three concrete reasons:

  1. A workbook holds the whole picture. A year of statements has line-level transactions and statement-level metadata (balance, due date, fees). Each run produces one table; keep the transaction run as a transactions sheet and the summary run as a statements sheet in one workbook, joined by card_last_four plus statement_period_start. CSV leaves you managing loose single-table files.
  2. Pivot tables survive. “How much did we spend on travel in 2026, broken out by card?” is a pivot grouped by card_issuer × category × month. “Which subscriptions are still active and across how many cards?” is a pivot on category = subscriptions grouped by merchant_normalized. XLSX preserves the pivots; CSV is just rows; Numbers’ pivot syntax doesn’t survive the export to the accountant.
  3. Accountants open Excel natively. Whatever your personal preference, the accountant on the receiving end of the email opens .xlsx. Sending .numbers forces a manual export. XLSX is the universal handoff.

If you live in Numbers personally and the destination is your own budget workbook, extract the same XLSX and open it in Numbers — every field lands in its own column, and one File → Save makes it a native .numbers document. For the accountant handoff, XLSX wins.

Method 2: Apple Wallet CSV export (Apple Card only)

For Apple Card specifically, you don’t need PDF extraction at all — but the export lives on the iPhone, not the Mac. There is no standalone Wallet app on macOS (through macOS 26); on the Mac, card.apple.com in Safari shows your statements and monthly PDFs, but the documented CSV export is iPhone-only. The path:

  1. On your iPhone, open Wallet → tap the Apple Card → tap Card Balance.
  2. Scroll to Statements and tap the month you want.
  3. Tap Export Transactions → choose CSV.
  4. AirDrop the CSV to the Mac (or Save to Files → iCloud Drive). Exports are one statement month at a time, so repeat for every month you need.

The CSV is clean: date, merchant, category (Apple’s own categorization), amount, type. No extraction needed. If your entire credit card universe is Apple Card, this is the right path — twelve CSV exports AirDropped over, one concatenation, done.

It does not extend to Amex, Chase, Citi, Capital One, Discover, or any other issuer. Those issuers’ websites typically offer activity downloads in CSV and OFX/QFX formats, but usually limited to recent periods — the statement period or a rolling window. For multi-issuer households — which is most households — the PDF batch path covers the older statements the downloads don’t reach.

Method 3: Excel for Mac’s Get Data (no PDF connector)

Excel for Mac ships Power Query under Data → Get Data, but the Mac’s connector list — Text/CSV, XLSX, XML, JSON, SharePoint, SQL Server, OData — has no From PDF option; that connector is Excel-for-Windows-only. Excel offers no native PDF path on the Mac, so a statement PDF has to go through something else before Excel ever sees it. And even where From PDF exists (Excel on Windows), it treats the statement as a generic tables document: a merchant_raw column and nothing else — no categorization, no normalization, fees and interest in a separate detected table. For personal finance where the data should stay on the Mac and the categorization should land in the same pass, the on-device path is the something else that’s shortest.

Method 4: web converters (and why not for a year of statements)

Smallpdf, iLovePDF, PDFTables, and the rest of the web-converter category treat a statement PDF as a generic table-extraction job. For a year of statements specifically they’re the wrong posture: free-tier privacy terms typically allow processing submissions, the merchant categorization is yours to add manually for three hundred rows after, and the free file cap (usually five per month) doesn’t survive past the first issuer’s folder. For one tutorial PDF with no real spending data, fine. For an annual consolidation, no.

The four reconciliation checks for the annual batch

Once the XLSX is written and opened in Excel for Mac, four quick checks separate “I have a file” from “I have a row I can trust on my Schedule C”:

  1. Statement total reconciliation, per statement. For each statement, sum the amount column from transactions filtered to that card_last_four + statement_period_start. The sum, plus the prior balance, minus any payments, should equal the new balance printed on the statement (or on your statements summary sheet, if you ran the second pass). A divergence on one statement means a transaction got missed or duplicated during extraction. Sort the affected statement’s transactions by transaction_date and scan for gaps; cross-check against the source PDF for the missed row.
  2. Payment sign sanity. Filter transaction_type = payment across the whole transactions sheet. Every row should have a negative amount. A payment that landed positive will inflate the spending total when the pivot table runs; the year-end category totals will all be too high by the sum of mis-signed payments. Fix the column type at the row, then re-run the pivot.
  3. Merchant normalization spot-check. Pivot the transactions sheet by merchant_normalized, sort descending by row count. The top forty rows are the merchants you spent with most often this year. Scan for variants of the same merchant that didn’t merge — Trader Joes vs Trader Joe's, STARBUCKS #4831 left unnormalized, Amazon and Amazon Marketplace split. Edit the column in place, then update the saved prompt for next year. Three iterations of this and the prompt is reusable across years.
  4. Fees and interest as their own line items. Filter transaction_type IN (fee, interest). There should be one or two rows per card_last_four per statement period at most — annual fees, late fees, interest charges. If a statement’s printed “Fees Charged” total is higher than the sum of its fee-typed rows, the extractor missed some. Cross-reference the source PDF’s fees section.

Skip these four and the year-end spending picture is wrong in subtle ways — the dining total under-counts because four Blue Bottles stayed split, the travel total over-counts because a $4,200 payment landed positive, the fees line of the Schedule C is short because the late fee on the May Citi statement got pulled into a transaction row.

A worked example: small business owner consolidating 2026

A sole proprietor with a single-member LLC, three cards used for the business (Amex Business Gold, Chase Ink Business Cash, and an Apple Card used for business purchases), and a personal Sapphire Reserve used occasionally for client meals. Year-end Mac flow:

  1. Open ~/Documents/Credit-cards/2026/. Four subfolders, twelve statements each. 48 PDFs total.
  2. Select all 48 PDFs across the four issuer folders and drag them into ignitai. The batch processes in a few minutes.
  3. Reuse the annual consolidation prompt from Previous Prompts. Add: “If card_last_four matches 4521 (the personal Sapphire Reserve), set reimbursable = true on dining or travel charges.”
  4. Pick XLSX. Hit Convert.
  5. Open 2026-credit-cards.xlsx. 412 transaction rows across the 48 statements.
  6. Run the four reconciliation checks. Two statements diverge on totals (one missed a foreign-transaction fee, one duplicated a refund line); six minutes to resolve. Three merchant normalizations cleaned up.
  7. Build the year-end pivot: rows = category × card_issuer, values = sum(amount), filter transaction_type = charge. Travel: $8,940. Subscriptions: $2,180. Meals (business + reimbursable): $4,310. Software: $3,720.
  8. Email to the accountant with one line of context.

Total time: about forty-five minutes. Compare to pulling each card’s transaction history from issuer websites and normalizing by hand — two evenings, lower categorization quality because human attention drifts at row two hundred.

When the Mac batch isn’t the right tool

Honest edge cases:

  • Single-statement, mid-month review. Don’t fire up the Mac batch for one statement. Use the iPad monthly walkthrough or the iPhone single-statement Excel path. The Mac batch is for the consolidation, not the recurring review.
  • Apple-Card-only households. Skip the extraction entirely. Use Wallet on iPhone’s built-in Export Transactions for each month and AirDrop the CSVs to the Mac; concatenate twelve CSVs. Faster than the batch, and the categorization is Apple’s own.
  • Statements with disputed or pending transactions. Pending charges shouldn’t go into a year-end consolidation — they may reverse before posting. Add to the prompt: “Skip any row marked ‘Pending’ or in a pending-transactions section.” For disputed charges, ask for a disputed true/false column so they’re flagged for tracking without contaminating the totals.
  • Team spending that arrives as expense reports, not statements. If what lands in the inbox is employees’ finished expense-report PDFs rather than issuer statements, that’s a different extraction shape — header identity, per-category subtotals, attached receipt pages — covered in the expense-report-PDF-to-Excel guide.
  • OFX/QFX issuer exports. If your issuer offers a direct OFX or QFX download for the full year, take it over the PDF batch. Quicken, GnuCash, and Moneydance all import OFX cleanly. The PDF path exists because most issuers don’t offer multi-year OFX, and PDFs are the universal fallback.
  • Statements older than the recognizer is comfortable with. A scan of a 2019 statement that was printed, mailed, scanned, and emailed back will have legibility problems no extractor fully solves. For audit-defense purposes the original PDF matters more than the extracted row; keep the source even if some rows need manual entry.

Bottom line

For a Mac user staring down a year of accumulated credit card statement PDFs that need to become one Excel workbook for the accountant or the year-end budget review: stage them in folders per issuer, select the PDFs and drag them into ignitai, reuse the annual prompt from Previous Prompts, pick XLSX, run the four reconciliation checks. For Apple Card households, Wallet on iPhone’s built-in Export Transactions (AirDropped to the Mac) skips the extraction step entirely. For a single mid-month statement, the iPad path is shorter.

The same app handles the iPad monthly review for the in-the-moment statement, iPhone single-statement extraction for the one statement that lands while you’re traveling, and the Mac batch path for any other PDF folder you’re consolidating. The prompt is the same on all three — write the annual prompt once and reuse the same normalization rules for the monthly iPhone reviews next year.

Get ignitai on the App Store — free download, $19.99/mo unlocks unlimited extractions after the 3-day trial.

FAQ

How do I convert a whole year of credit card statements to Excel on Mac?

Stage the statements in folders per issuer, select the PDFs and drag them into ignitai, write one plain-English prompt, and pick XLSX. Forty-eight statements come back as one consolidated transactions sheet, with card and statement-period columns on every row.

Are the statement PDFs uploaded?

No — each PDF is read on the Mac (macOS 14.4 and later) and never uploaded; only the recognized text goes to ignitai’s private hosted pipeline. On macOS 26, Apple’s newest on-device recognition reads the charge tables natively.

Can Apple Card skip the extraction entirely?

Yes — Wallet on iPhone exports each statement month as CSV (Apple Card → Card Balance → Statements → Export Transactions); AirDrop the files to the Mac and concatenate. That covers Apple Card only — Amex, Chase, Citi, and the rest still need the PDF path.