PerfectParser Docs
User GuidesParser Setup Guides

Set Up PO Fields and Line Items for Purchase Orders

Configure purchase order fields in the dashboard — define PO fields, line items, and ship-to addresses for procurement workflows.

Ready to set this up? Sign up for PerfectParser and get 20 free credits — no credit card required.

What this guide helps you do

This guide shows how to configure a purchase order parser in PerfectParser, define order and line-item fields, run a test batch, and export procurement data. Start without an AI prompt when you want maximum field discovery, then add the prompt below only if auto-detect needs help finding PO-specific labels.

Why purchase orders are hard to parse

Purchase orders are frequently confused with invoices during setup — both contain vendor names, dates, and line items, but the PO number, ship-to address, and payment terms carry different meaning. Internal PO templates often split billing and shipping addresses across separate blocks, and some formats embed the PO number in a barcode while printing a different reference in the header. Line item tables may use SKU, part number, and description in three adjacent columns with inconsistent headers. Multi-page POs repeat header metadata while line items continue, which can duplicate totals if the schema captures summary fields from every page. Getting po_number distinct from any invoice reference on the same document is essential for downstream matching workflows.

We suggest configuring the following schema fields for your Purchase Order Parser to capture all essential order data.

Field NameTypeDescription
po_numberTextThe unique purchase order reference number.
po_dateTextThe date the order was created.
vendor_nameTextThe company or supplier receiving the order.
customer_nameTextThe customer company placing the order.
billing_addressTextThe billing address for the invoice.
shipping_addressTextThe physical destination address for the delivery.
payment_termsTextThe payment terms agreed (e.g., Net 30, COD).
total_amountNumberThe overall total value of the order.
line_itemsTableTable containing sku, description, quantity, unit_price, and total for each row.

AI Prompt (Optional)

Use this only when you want to guide auto-detect toward a specific set of fields.

If you want PerfectParser to discover additional fields on its own, leave the AI Prompt (Optional) box blank for the first pass, review the detected schema, then add a prompt only if you need tighter consistency.

When you do use a prompt, copy and paste the following instructions into the AI Prompt (Optional) field during setup:

Extract the purchase order number, PO date, vendor name, customer company name, billing address, shipping address, payment terms, and total order value. Also extract the line items table containing the SKU/part number, description, quantity, unit price, and total line amount.

Set up this parser in the dashboard

Create a parser

Go to Parsers → New Parser in the dashboard. Give it a name like "Purchase Order Parser" and optionally select the document category.

Upload a sample document

Drag and drop a representative purchase order (PDF, PNG, or JPEG). Use a real PO from your procurement flow — not an invoice — so the AI learns PO-specific field placement.

Detect fields or use standard fields

Paste the AI Prompt from the section above into the AI Prompt (Optional) box if you want tighter field mapping, then click Auto-Detect. To discover more fields automatically, leave the prompt blank and click Auto-Detect. Or skip auto-detect and add fields manually using the Recommended Fields table above.

Review and save your schema

Check that po_number is captured separately from any invoice or quote reference. Confirm billing_address and shipping_address are distinct Text fields. Verify line_items is a Table with SKU stored as Text. Click Save.

Run a test batch

Navigate to Bulk Extraction, choose how your files are organised, upload a small test set of POs, and click Extract All Files. Review the results in Batch History and export to CSV or Excel.

Common mistakes

  • Using an invoice as the sample document — PO numbers and ship-to blocks will not match production PO layouts.
  • Merging bill-to and ship-to into one address field, which breaks receiving and freight routing downstream.
  • Storing SKUs in the line items table as Number instead of Text when part numbers contain letters or leading zeros.
  • Capturing total_amount from a page footer on multi-page POs without confirming it is the order total, not a page subtotal.

Next steps

Test your first extraction free — sign up for PerfectParser, no credit card needed.

FAQs

Do I need a sample purchase order to set up this parser?

Yes. Upload a PO that matches the format your vendors or internal team generates — including how line items and addresses are laid out. PO layouts differ from invoices, so use an actual PO, not an invoice, as your sample.

How do I handle ship-to vs bill-to on multi-address POs?

Define separate Text fields for billing_address and shipping_address in your schema. During review, confirm auto-detect did not merge both into one block. Add field descriptions that name the label used on your POs (e.g. 'Deliver To' vs 'Bill To').

How many credits does setup and a test extraction use?

Parser setup is free. Each PO page processed costs 1 credit. Single-page POs use 1 credit; multi-page POs with continued line items use 1 credit per page. New accounts include 20 free credits for testing.

Looking for product features and use cases?

See the Purchase Order Data Extraction solution page.

On this page