Use a full signature, not one suspicious word

Remove only the rows you can identify as headers so fixing the export does not quietly delete genuine data.

For multipage invoices, use ParseMill to review extracted invoice data beside the source and export separate summary and line-item sheets. Include a page break in your trial and check that every required line made it through. Other report types need their own fit assessment.

For a small report, mark the heading rows after looking at the PDF. For a recurring format, document the pattern and test exceptions before applying it to another file. This procedure assumes the imported output preserves enough context to distinguish the rows. Without that context, inspect the suspected rows manually rather than building an aggressive text filter.

Separate the candidate filter from deletion

Microsoft: Table.SelectRows keeps rows meeting a condition. Microsoft: Table.AddIndexColumn supplies an original position column. Use that position before removing anything; it is a review reference, not proof of a source-page location.

  1. Keep the original table and add an original-row index before filtering. Add physical PDF page and reviewed row-role fields where those are available.
  2. Identify candidate headings by all relevant cells: Item equals Item, Quantity equals Quantity, and Amount equals Amount. Normalizing surrounding whitespace may help, but retain the original strings beside the comparison.
  3. Open every candidate in the PDF and mark confirmed headings. If an item happens to use the same labels, classify it from the source layout and context.
  4. Create a retained table and a separate exclusions table from the same reviewed decisions. Do not discard the exclusions; they explain the change in row count.

Try a fixture designed to defeat a single-column filter

Synthetic example: these are five imported rows, including two repeated headings and one legitimate record with a header-like first cell.

Original rowItemQuantityAmountReviewed role
1ItemQuantityAmountheading
2Bolt26.00detail
3Item17.00detail
4ItemQuantityAmountheading
5Washer31.50detail

The expected retained rows are 2, 3 and 5. A filter removing every row where Item equals “Item” would retain only rows 2 and 5 and lose the valid 7.00 record. The full signature identifies rows 1 and 4 as candidates; the page inspection confirms their role. Reproduce that three-row result in your query before trying a larger file. This is an authored fixture, not a claim that the M query has been executed in your Excel installation.

Check the dangerous variations

Test a heading with trailing spaces, an empty imported heading cell, and a legitimate row whose text resembles two of the column labels. A partial match should become a review candidate, not an automatic deletion. If the importer has already promoted the first heading to column names, do not count that heading again as a data row.

Run the filter on an unchanged copy and compare original-row identities, not only totals. A missing valid row and an extra header can cancel numerically. Keep the deletion rationale explicit enough that a second reviewer can reverse it without re-running the entire extraction.

Accept the transformation only after accounting for every row

Record five input rows, two confirmed exclusions and three retained records for this fixture. Verify that 7.00 survives, that the Quantity and Amount values stay paired with their original items, and that both excluded rows remain visible in the audit copy. On the real document, repeat the boundary check for every page with a repeated heading.

If the table cannot preserve a trustworthy row identity, use manual transcription for the affected region. The multipage review guide explains the wider coverage checks; a clean-looking combined table does not establish that all pages were interpreted correctly.

Put it to work with ParseMill

Make one real invoice your buying test

Choose an invoice you would otherwise enter by hand. Upload it, inspect the extracted fields, correct what needs attention and download Excel. Include every checking minute in the comparison. Subscribe if the result and the time saved make sense for your recurring work.

Eligible new workspaces: 10 pages for 7 days after email verification. No card or automatic subscription.

Invoice processing: $49 USD/month · 500 PDF pages · one user. Buy only after you have checked the fit on your own invoices.

Sources and editorial notes

Written by ParseMill. Worked examples are illustrative process examples, not customer results. Software availability can vary by subscription and region; check the linked documentation for your account. Review decisions and approvals remain with your team.

Explore the wider workflow