Packing list digitization

Extract line items from inbound packing list PDFs, validate quantities and SKUs against open POs, and load confirmed receipts into NetSuite automatically.

Get a demo

The prompt

I want to digitize inbound packing lists from email attachments by extracting line-item data from the PDFs, validating quantities and SKUs against open purchase orders, and loading confirmed records into the ERP. Can you build me a flow that pulls attachments from email, parses the packing list fields, matches them to POs, and writes the validated data to our ERP?

Just copy and paste the prompt into a new Prowork flow to get started.

What Prowork builds

A workflow with seven steps you can edit:

1. Watch the inbox. The flow monitors a shared email address or inbox folder for messages with PDF attachments from your suppliers or freight partners. New attachment lands, the flow starts.

2. Extract the packing list fields. AI parses each PDF and pulls the line items: SKU, description, quantity, unit of measure, PO number, and any lot or batch codes on the document. Works on scanned PDFs, formatted PDFs, and the multi-page ones with tables that span pages.

3. Standardize the SKU. Map vendor item numbers to your internal SKU codes using a reference table. The vendor calls it something different from what NetSuite expects. This step handles that.

4. Pull open POs from NetSuite. The flow queries your ERP for open purchase orders that match the supplier and expected delivery window.

5. Match lines to POs. Join each packing list line to the correct PO by PO number, SKU, and expected quantity. Flag any line that doesn't match: wrong quantity, unrecognized SKU, or no open PO found.

6. Route exceptions for review. Lines that match cleanly queue for automatic receipt creation. Lines with discrepancies go to a review queue with the mismatch reason so receiving staff can resolve before posting.

7. Write receipts to NetSuite. Confirmed lines create the item receipt record in NetSuite directly. No re-keying. No copy-paste from a PDF to a screen.

Why teams stop doing this manually

Every supplier sends a different format. One prints a clean PDF with a proper table. The next sends a scanned fax that someone photographed on a phone and emailed as a JPEG attachment. A third sends an Excel file with merged cells and a grand total row that breaks every VLOOKUP you try to run against it.

The receiving team keys it in by hand because that's the only way to get it into the ERP reliably. Line by line, SKU by SKU, checking each quantity against what the PO says should be coming. On a busy dock with twenty pallets and three deliveries, that process runs until 7pm.

The mistakes show up a week later. A quantity that got transposed. A SKU that matched the wrong variant. A shipment that got receipted against the wrong PO because the PDF had an old PO number and nobody caught it. By then the inventory is live in NetSuite and unwinding it takes longer than just doing the entry over.

How it works

Step 1. Paste the prompt.

Open Prowork, paste the prompt in section 2, and let it ask follow-up questions about which inbox to watch, what your PDF structure looks like, and how your vendor item numbers map to internal SKU codes.

Step 2. Connect your data.

Email inbox (Gmail, Outlook, or a shared operations address), your NetSuite connection for open POs and receipt creation, and the vendor-to-SKU mapping table if your suppliers use different item codes.

Step 3. Run it on arrival.

The flow triggers when a new attachment lands. Receiving gets the matched and flagged output before the dock team finishes unloading. Exceptions go to a review queue. Clean matches write to NetSuite automatically.

FAQ

Will this work if my suppliers send scanned PDFs instead of native digital files?

Yes. The AI extraction step handles scanned documents, photographed pages, and poor-quality PDFs. It pulls the line items even when the formatting is inconsistent.

What happens when a packing list line doesn't match the open PO?

It goes into a review queue with the mismatch reason: wrong quantity, unrecognized SKU, PO number not found, or quantity outside your tolerance threshold. The receiving team resolves those manually. Clean matches post automatically.

We receive from dozens of suppliers, each with a different format. Do I need a separate flow per supplier?

One flow, handled by the AI extraction step. The AI parses the field values regardless of layout. If a supplier consistently uses unusual field names, add a mapping rule for that supplier. Most teams cover the full supplier roster with a single flow.

Can this write receipts to ERPs other than NetSuite?

Yes. The write-back step works with any ERP that has an API or accepts a formatted CSV upload. NetSuite, SAP, and Cin7 are the most common targets.

How is this different from doing data entry in Excel and then uploading to NetSuite?

Excel requires someone to re-key each packing list by hand, build the import file to NetSuite's spec, and catch the mismatches before upload. This flow does all three steps automatically on every delivery. When a discrepancy surfaces, it's flagged in real time, not discovered during the month-end recon.
Stop keying in packing lists by hand.
Paste the prompt, connect your inbox and ERP, and let receiving run on its own.
Start for free