Last week I shipped a workflow I built for a friend who runs an online shop. He called me again a few days later with a new headache: he's drowning in Purchase Orders. Every single one gets opened by hand, the data typed into a Google Sheet, and that sheet uploaded into his ERP to update his numbers. Hours a week, pure copy-paste.

So I built him something to kill that step. He uploads the PO PDFs through a simple n8n form, and a structured Google Sheet comes out the other end. He just downloads it and pushes it to his ERP.

How it's set up:

The form accepts multiple PDFs at once, so he can batch a whole stack instead of doing them one by one. Each PO loops through on its own so nothing gets jumbled.

The extraction runs on the easybits Extractor node (@easybits/n8n-nodes-extractor). I set the field structure up in two parts: the header fields that appear once per PO (PO number, PO date, delivery date, mark for, PR number, reference no), plus an articles array for the line items, each holding article name, unit and quantity. That array is the key bit, it gives you one entry per row of the PO table, and I flatten it into one sheet row per article with the header details repeated on each.