I will extract data from text based PDF invoices and tables into excel or CSV
About this Gig
Have invoices, bank or vendor statements, or tables stuck inside PDFs? I'll pull the data out and deliver a clean Excel (.xlsx) or CSV file you can sort, filter and total.
What you get
- Text and tables extracted from text-based (digital) documents
- One field per column (invoice number, date, vendor, line items, totals)
- Dates and numbers cleaned so they work in Excel
- Totals and row counts checked against your source; unclear items flagged, not guessed
How it works
I write a small Python script for your layout, run it on your files, and check the output. Premium also includes the script and a short README so you can reuse it.
Please note
- Text-based files only. If you can select and copy the text, it should work. Scanned or photographed pages are not supported (no OCR). Not sure? Send me a sample first.
- Best for consistent layouts. Very messy tables may need flagging; I'll tell you up front.
Technology:
Excel
•
Python
Expertise:
Data extraction
•
Data manipulation
•
Data validation
FAQ
Does this work on scanned PDFs or photos of documents?
No. This gig covers text-based (digital) PDFs only, where you can select and copy the text. Scanned/image PDFs need OCR, which I don't offer. Not sure which you have? Message me before ordering and I'll check a sample.
How do I know if my PDF is text-based?
Open it and try to highlight a word with your cursor. If it highlights, it's text-based. Bank/vendor-downloaded statements and invoices usually are.
Are my files kept private?
I use your files only to do the work, I won't share them, and I'll delete them from my working storage after delivery plus the revision window. Please remove or mask anything you don't need me to see (full account numbers, SSNs).
What if my PDFs have different layouts or messy tables?
Basic/Standard cover one consistent layout; Premium covers up to 2. Heavily irregular, multi-column or merged-cell tables may not extract perfectly. I'll tell you up front if I see that in your sample, and I'll flag any rows I'm not sure about rather than guess.
