Supplier Pack Guard — CSV Pack Size & Unit Cost Audit
Pricing
$0.25 / completed catalog audit
Supplier Pack Guard — CSV Pack Size & Unit Cost Audit
Compare supplier CSV catalogs by SKU. Catch hidden price increases when packs shrink, normalize grams/kg and ml/l, and flag uncertain data. Up to 5,000 rows per catalog. HTML, CSV and JSON reports. $0.25 per completed audit; fixed demo free.
Pricing
$0.25 / completed catalog audit
Rating
0.0
(0)
Developer
Brandon Gardner
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Supplier Pack Guard
Compare two supplier catalogs and find changes that a simple price comparison misses. A case shrinking from 12 items to 10 at the same price increases its per-item cost by 20%.
Designed for purchasing teams, small distributors and ecommerce catalog operators who already have permission to use their supplier files.
Try it
Run with exactly {"demo":true} to process the free fixed synthetic sample. It includes a smaller glove pack, a soap price increase, equivalent grams/kilograms, an unknown unit, and unmatched SKUs. The fixed demonstration does not trigger any priced event. It cannot process custom data.
For your data, set demo to false, paste the before and after CSV text, and confirm column mappings. No website credentials or scraping are needed.
sku,price,currency,pack_count,item_quantity,unitGLOVES-01,24,USD,12,1,eachCOFFEE-01,60,USD,12,250,g
price is the price of the entire pack. pack_count is the number of items in that pack. item_quantity is the amount inside ONE item, measured in unit. Twelve 250 g bags at $60 cost $20/kg. Twelve individual gloves use pack_count=12, item_quantity=1, unit=each.
Inputs and limits
- Two comma-separated UTF-8 CSV snapshots, each with a header and 1–5,000 rows; maximum 2 MB each.
- Required mapped columns:
sku,price,currency,pack_count,item_quantity,unit. - Optional
beforeColumnsandafterColumnsobjects map all six canonical fields to exact supplier headers. Default headers are shown above. - SKUs are matched exactly after outer whitespace removal. Leading zeros and case are preserved. Duplicate or missing SKUs stop the run; fuzzy matching is not used.
- Supported units:
each,g,kg,oz(mass),lb,ml,l. No fluid ounces, boxes, bundles, density assumptions or inferred pack sizes. - Explicit uppercase three-letter currency code; currencies are compared literally, never converted or validated against a currency registry.
- Plain nonnegative decimal prices; positive quantities. Up to 12 whole digits and 6 decimal places. No currency symbols, grouping commas, exponents or decimal commas. Item counts must be whole numbers.
thresholdPercentis a string, defaults to"5", and must be between 0 and 10000. All changes appear; this threshold adds a notable-increase flag.
For renamed columns, supply every mapping, for example:
{"sku":"Product ID","price":"Case Price","currency":"Currency","pack_count":"Case Count","item_quantity":"Item Size","unit":"Unit"}
Results
Open the run's Output tab for the readable HTML report, CSV and full JSON. If a browser blocks the embedded JSON or CSV view, open Storage → Key-value store to download the record. Reports are saved as REPORT, REPORT-CSV, REPORT-HTML; OUTPUT contains the summary. The default dataset contains an audit summary, not individual SKU findings. A resurrected run can add another summary row; it does not charge a second audit event for that run.
Each SKU has a status: unchanged, changed, needs_review, incomparable, only_in_before, or only_in_after. JSON contains original mapped values, source record numbers and normalized unit costs. Record 1 is the first data record after the header, including CSV records with embedded newlines.
Invalid prices, quantities or units produce review findings rather than guessed calculations. Structurally malformed CSV, ambiguous SKUs and oversized inputs fail the run. Matching currencies and dimensions are required for a comparison. A zero original cost has no percentage denominator and receives a specific flag if the new cost is positive.
CSV exports prefix potentially executable spreadsheet cells with an apostrophe. JSON preserves the original mapped values. HTML escapes supplied text and contains no scripts or external resources.
Pricing and privacy
$0.25 per completed catalog audit, including platform usage, for two catalogs of up to 5,000 rows each within the size limits. The live Pricing tab is authoritative. One audit-completed event is charged per valid bounded comparison, including a report with no changes or with review findings. Structural input failures do not trigger that event. Reports are stored before the event is charged. There is no separate startup or dataset-item fee. The fixed synthetic demonstration is free.
For custom data, set the run's maximum cost to at least $0.25. Each new run is a separate comparison and purchase; supplying the same files again does not create a new baseline or a subscription. Your automation must supply both snapshots each time. Use a saved task or the Apify API to repeat the comparison when a supplier sends a new catalog. Review flags before changing store prices.
Processing runs in your Apify run. No catalog data is sent to an AI provider or external website. Inputs and reports remain in Apify storage according to its retention and access settings; review those settings before supplying confidential pricing. The Actor does not automatically delete run data. Only upload data you are authorized to process. It does not edit your catalog or storefront.
Limits of the result
A missing SKU may mean an incomplete feed, not a discontinued product. Identical SKUs cannot prove product identity, quality or supplier accuracy. Taxes, discounts, freight and exchange rates are not reconciled. Costs and percentages display six decimals; flags use higher precision. Review findings before changing prices or placing orders.
For support, open an Actor issue with a small anonymized example and the run ID. Do not post confidential supplier data publicly.