Supplier Price List PDF/Excel to JSON & Changes
Pricing
Pay per usage
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
8 days ago
Last modified
Categories
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.