Supplier Price List PDF/Excel to JSON & Changes avatar

Supplier Price List PDF/Excel to JSON & Changes

Pricing

Pay per usage

Go to Apify Store
Supplier Price List PDF/Excel to JSON & Changes

Supplier Price List PDF/Excel to JSON & Changes

Normalize supplier XLSX, CSV, and text-based PDF price lists into product rows with source evidence, review warnings, CSV export, and optional price-change comparison.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Sergei Pechenov

Sergei Pechenov

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

8 days ago

Last modified

Share

Normalize supplier XLSX, CSV, and text-based PDF price lists into consistent product rows for Sheets, procurement workflows, e-commerce catalogs, n8n/Make, and AI agents. Every row keeps its source sheet/row or PDF page/line, confidence, and explicit review warnings. Add the previous price list to detect added, removed, and price-changed SKUs.

Why this is different

This is not a generic PDF table dump. It maps common supplier headers to a stable price schema, preserves uncertain rows instead of silently dropping them, exports clean CSV, and compares price-list revisions.

Inputs

  • One current .xlsx, .csv, or text-based .pdf, by public HTTPS URL or file upload.
  • Optional previous document in any supported format.
  • Optional worksheet, 1-based XLSX/CSV header row, exact column mapping, default currency, and decimal separator.

The MVP intentionally does not support legacy .xls, password-protected files, scanned/OCR PDFs, macros, fuzzy item-master matching, human review, or ERP writeback.

Output row

{
"status": "ok",
"change": "priceChanged",
"sku": "A-100",
"name": "Stainless steel valve",
"price": 42.5,
"currency": "USD",
"uom": "EA",
"pack": "1",
"confidence": 1,
"warnings": [],
"source": { "fileName": "prices.xlsx", "sheet": "Products", "row": 18, "page": null, "line": null }
}

Rows without an SKU, name, or parseable price are still returned as needsReview. The Key-value store also contains SUMMARY, NORMALIZED.csv, and—when a previous list is supplied—CHANGES.csv.

Automatic mapping

The Actor recognizes common variants such as SKU, part number, item number, product code, description, list/unit/net price, currency, UOM, pack size, brand, stock, and availability. Use headerRow or columnMapping when a supplier uses unusual labels.

Safety and limits

  • 20 MB input limit, 25,000 emitted rows, the first 256 worksheet columns, and up to 100 text-PDF pages.
  • Only public HTTPS URLs; credentials and private/reserved network targets are blocked.
  • XLSX archive entry and expanded-size limits reduce zip-bomb risk.
  • Formula text or cached values may be read, but formulas and macros are never executed; macro-enabled workbooks are rejected.
  • Temporary files are deleted after processing. Output remains in your run storage according to Apify settings.
  • Process only documents you are allowed to use.

PDF quality

PDF support is for text-based, consistently aligned price lists. The Actor searches beyond covers and catalog preambles, recognizes repeated table headers, and keeps PDF page/line evidence. PDF is a display format, so rows with ambiguous alignment may be marked needsReview. Scanned PDFs fail explicitly instead of producing fabricated rows.

Support

Open a GitHub Issue with a public sample file, the expected headers/row, actual output, and run ID. Never post confidential supplier files publicly.