Blog Jun 12, 2026

How to Import Invoice Data into FreshBooks from a PDF

A practical guide to getting PDF supplier invoices into FreshBooks. Use CSV imports and expense tools to skip manual data entry.

FreshBooks is built around the user sending invoices to clients — that's its origin story and it shows. Importing supplier invoices (bills) into FreshBooks is a slightly different conversation, and it's the one most people get stuck on.

This guide covers the practical workflow: how to take a supplier PDF, convert it to a format FreshBooks can use, and get it in without typing every field by hand.

First, what kind of "invoice" are you trying to import?

FreshBooks splits its world into a few categories. Knowing which one you're working with saves a lot of confusion.

  • Invoices (outgoing) — what you send to clients. FreshBooks doesn't really have a bulk-import feature for these because the assumption is you create them inside FreshBooks. If you have a list of past invoices to bring in from another system, you'll typically use the CSV import for invoice history.
  • Expenses (incoming) — supplier bills, receipts, anything you've spent money on. This is what most people mean when they say "import a PDF invoice into FreshBooks". FreshBooks tracks these as expenses, with the PDF attached.
  • Bills (FreshBooks Premium / Select) — a dedicated bill management feature on higher tiers, closer to QuickBooks-style accounts payable.

The supplier-PDF case is the most common, so we'll focus on the expenses workflow, and mention the bills feature for higher-tier users.

Why not just use FreshBooks' receipt capture?

FreshBooks has built-in receipt capture — you snap a photo or email a PDF, the system tries to read it and create an expense draft.

It works fine for individual receipts. The limitations show up when you're processing supplier invoices in volume:

  • It's one-at-a-time.
  • It mostly pulls the total and vendor, not line items.
  • It can be slow on multi-page PDFs.
  • Accuracy varies a lot depending on the invoice layout.

If you're handling more than a handful of supplier invoices a month, doing a PDF-to-CSV conversion and a single CSV import into FreshBooks is much faster.

The workflow in 30 seconds

  1. Convert PDF invoices to CSV.
  2. Format the CSV to match FreshBooks' expense import template.
  3. Upload to FreshBooks under Expenses → Import Expenses.
  4. Review and categorize.

Now the detail.

Step 1: Convert the PDF to CSV

Use a PDF extraction tool to pull the key fields from each invoice:

  • Vendor / merchant name
  • Date
  • Total amount
  • Currency
  • Tax amount
  • Description (a short note about what it was for)
  • Category (optional — you can do this after import)

For a single invoice, how to convert a PDF invoice to CSV shows the workflow. For a whole month's worth at once, batch processing PDF invoices covers the bulk version.

Step 2: Format the CSV for FreshBooks

FreshBooks' expense import is straightforward. The expected columns are:

  • Date — expense date (YYYY-MM-DD works reliably)
  • Description — short description of the expense
  • Category — must match a FreshBooks expense category (e.g. "Office Supplies", "Software")
  • Vendor — supplier name
  • Notes — optional, longer notes
  • Amount — total amount (decimal, no currency symbol)
  • Currency — three-letter code (USD, EUR, GBP, etc.)
  • Taxes — tax amount, if applicable
  • Status — usually Logged or Status Pending

The most efficient setup: download FreshBooks' template first.

  1. Go to Expenses in FreshBooks.
  2. Click the More Actions menu (top right) → Import Expenses.
  3. Click Download a Sample CSV.

Open it, paste your extracted data in, and save.

A few formatting rules to keep things smooth:

Categories must match existing FreshBooks categories. If you have an extracted "Software Subscriptions" but FreshBooks only has "Software", the import will create a new category — which you may not want. Standardize before importing.

Amount is the total expense. No currency symbol, decimal point separator. "1234.56", not "$1,234.56" or "1.234,56".

Date format. Stick to YYYY-MM-DD if you can. FreshBooks accepts other formats but YYYY-MM-DD is the safest cross-region choice.

One row per expense. FreshBooks' expense import doesn't do line items — each row becomes a single expense. If you have multi-line supplier invoices and want each line tracked separately, you can split them into separate rows. If you don't need that detail, one row per invoice (with the total) is fine.

Step 3: Upload to FreshBooks

  1. Expenses → More Actions → Import Expenses.
  2. Click Upload File and select your CSV.
  3. Map columns if FreshBooks doesn't auto-detect them.
  4. Review the preview — FreshBooks shows you what's about to be imported.
  5. Click Import.

Expenses land in your expenses list, ready to be reviewed.

This is the bit FreshBooks doesn't do automatically and a lot of people skip. Each imported expense is just numbers — the source PDF isn't linked.

For a complete audit trail:

  1. Open each expense (or batch through them).
  2. Click the attachment icon and upload the corresponding PDF.

If you've named your PDFs consistently (e.g. 2026-04-acme-inv-1234.pdf), this goes faster than it sounds. For higher-volume cases, FreshBooks' API can attach files programmatically, but that's a developer task.

Step 5: Categorize and assign to clients (if billing back)

If any of these expenses are billable back to clients, mark them as such in FreshBooks. The expense will then appear as available to add to that client's next invoice. This is one of FreshBooks' nicer features and worth the extra 30 seconds.

Common problems and how to fix them

Categories created automatically. If you import a category that doesn't exist, FreshBooks creates it. You'll end up with a messy category list if your CSV has inconsistent naming. Clean up before importing.

Amounts in wrong currency. If you don't specify a Currency column, FreshBooks defaults to your account currency. If you process invoices in multiple currencies, always include the column.

Tax not splitting correctly. FreshBooks' expense tax handling is simpler than a typical accounting tool. You're putting in a flat tax amount, not a tax rate. If you need per-line tax detail, the expenses module isn't the right place — look at the Bills feature on FreshBooks Premium.

Duplicate expenses. FreshBooks doesn't enforce uniqueness on expense imports. If you re-import the same CSV, you'll get duplicates. Delete the previous batch first.

Vendor not matching. If a vendor doesn't exist, FreshBooks creates it. Same problem as categories — be consistent with names.

For FreshBooks Premium / Select users: the Bills feature

Higher FreshBooks tiers include Bills — a more traditional accounts payable feature with vendor management, approval workflows and proper line items.

If you're on one of those tiers and dealing with significant volumes of supplier invoices, use Bills instead of Expenses. The CSV import for Bills follows the same logic as Expenses but with a different template that includes line items, bill numbers, due dates and proper bill statuses (Awaiting Payment, Paid, etc.).

The wider point: stop typing PDFs

The CSV-import workflow above is faster than manual entry whether you're using FreshBooks, Xero, QuickBooks, Sage or anything else. The expensive bit isn't the import — it's the data entry that comes before it.

If you've never used automated extraction, what is invoice data extraction explains how it works without the jargon. The time savings — covered in save time on invoice data entry — usually pay for the tool within the first week.

If you're working across multiple platforms, the same source CSV can usually be reformatted for QuickBooks, Xero or Sage with small tweaks.

Try it on your next FreshBooks import

CsvInvoice turns PDF invoices into a clean CSV in around 10 seconds. The output drops into FreshBooks' expense or bill import with minimal cleanup. Browser-based, no install, no subscription. $0.29 per invoice, paid only for what you convert. Files are encrypted in transit and never shared.

Convert your first invoice →

Skip the typing this week.