Catalog Snapshot Guard — Supplier CSV Batch Review avatar

Catalog Snapshot Guard — Supplier CSV Batch Review

Pricing

from $250.00 / 1,000 completed audits

Go to Apify Store
Catalog Snapshot Guard — Supplier CSV Batch Review

Catalog Snapshot Guard — Supplier CSV Batch Review

Check recurring supplier CSV batches against an explicit feed profile. Preserve raw SKUs, isolate ambiguous groups, and return HTML and JSON evidence with source-line references before your own import process.

Pricing

from $250.00 / 1,000 completed audits

Rating

0.0

(0)

Developer

jw H

jw H

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Security

Limited permissions

Share

Review a supplier's next CSV against an explicit feed profile before deciding what to import. Catalog Snapshot Guard produces a readable HTML report and a full JSON evidence record, with the original identifiers, source fields and line references preserved.

What it checks

  • Variant identity: exact group, SKU and option columns declared in your profile. Raw identifiers such as 0007 and 7 stay distinct.
  • Declared numeric rules: currency, decimal and thousands separators, price scale, quantity units and permitted quantity values.
  • Snapshot coverage: missing groups and variants, only when both snapshots are declared complete and satisfy the comparison conditions. Otherwise these counts are not evaluated.

Ambiguity holds the affected product group for review. The Actor uses deterministic Python checks; it does not infer a supplier's rules for you.

Quick start

  1. Open the Actor's Input tab. The prefilled values form a complete synthetic example.
  2. For your own audit, replace current_csv and profile with your CSV text and its confirmed feed rules. Replace previous_csv with the matching previous snapshot, or remove that optional field if you are not comparing snapshots. Do not leave the synthetic previous CSV attached to a real feed.
  3. Start a run. A missing or invalid input is never silently replaced with the example. Running the synthetic example is also a billable audit when it completes; see Pricing below.
  4. Open HTML report or JSON report in the run's output. The same files are stored as REPORT_HTML and REPORT_JSON in that run's key-value store. Review the findings before taking action in your store.

Input configuration

FieldRequiredWhat to supply
current_csvYesUTF-8, comma-delimited CSV text, including the header row.
profileYesAn explicit JSON profile with exact column names and feed semantics.
previous_csvNoPrevious CSV text for the same feed and profile. Omit it when you have no suitable previous snapshot.

In profile.columns, declare group and SKU columns, the complete list of option columns (or an explicit empty list), and the relevant price, quantity, currency and quantity-unit columns. In profile.semantics, declare the numeric formats, currency, units and SKU-sharing policy. Declare snapshot completeness truthfully; a declaration is not independent evidence that the supplier sent a complete catalogue.

Hosted input is limited to 2 MiB of total canonical UTF-8 JSON, with a 64 KiB profile limit. CSV must be comma-delimited. Record and field limits also apply. URLs and uploaded-file references are not substitutes for the required CSV text.

Complete synthetic example

This example is the same small feed used by the input form. Paste the full object into the JSON input editor:

{
"current_csv": "SKU,Price,Quantity\n0007,2.30,5\n7,3.40,6\n",
"profile": {
"profile_version": 1,
"profile_id": "synthetic-plain-sku-usd-each-v1",
"columns": {
"group": "SKU",
"sku": "SKU",
"options": [],
"price": "Price",
"quantity": "Quantity",
"currency": null,
"quantity_unit": null
},
"semantics": {
"currency": "USD",
"decimal_separator": ".",
"thousands_separator": null,
"price_scale": 2,
"quantity_unit": "each",
"quantity_must_be_integer": true,
"allow_negative_quantity": false,
"shared_sku_policy": "forbid"
},
"snapshots": {
"current": "complete",
"previous": "complete"
}
},
"previous_csv": "SKU,Price,Quantity\n0007,2.30,5\n7,3.40,6\n8,4.50,1\n"
}

The expected audit status is REVIEW_REQUIRED: the current snapshot has two accepted rows, and the previous snapshot has one additional group, 8. That is a review finding, not an execution failure or permission to delete a product. 0007 and 7 remain separate identities.

Output and delivery

OutputPurpose
REPORT_HTMLReadable report with findings, source fields and line references.
REPORT_JSONFull machine-readable audit evidence.
OUTPUTReport record names, hashes and summary for this run.
Default datasetOne limited summary of a valid completed report.
DELIVERY_STATEAuthoritative billing and delivery-state record in the run's key-value store.

The dataset contains audit status, aggregate counts and report record names. Counts can be null when a comparison was not evaluated. It contains no CSV rows, source SKU values or profile contents; use the full reports for those details. Invalid input creates no completed-report dataset row. An uncertain dataset write stops without a completion fee or an automatic append retry.

A stored summary confirms report storage. It does not establish payment, supplier completeness or permission to import or delete products.

Pricing

$0.25 per completed audit, plus separately billed Apify platform usage. Clean reports and reports requiring review are both completed audits. JSON, HTML and the dataset summary must be written and verified before the single completed-audit event.

Invalid input and incomplete report delivery do not incur that event fee; platform usage may still apply. A separately requested new run is a new audit. The synthetic example follows the same pricing.

Privacy and limits

Your input and reports are processed and stored on Apify. This is not an offline service. Access and retention depend on the platform and your settings. Full reports retain source fields and line references, so treat them as confidential as the original feed.

The audit uses no language model and fetches no source URLs. It does not import into a store, correct your feed, fetch images, compare price or inventory changes, or authorize deletion. A clean report does not establish supplier completeness or a successful import.

Troubleshooting

  • Invalid input: check the exact CSV headers and profile column names, declared numeric formats, required fields and input size. Correct the input before requesting another run.
  • REVIEW_REQUIRED: open the report and inspect the affected groups and source lines. This is an audit result, not necessarily a failed run.
  • Missing counts are null: the comparison was not evaluated. Check the previous snapshot and truthful completeness declarations; do not interpret null as zero missing products.
  • Failed or incomplete delivery: inspect that run's status and DELIVERY_STATE. Do not assume that a dataset preview proves full report delivery or that an uncertain run can be safely repeated.

Support

Contact hjwysoserious@gmail.com with the run ID and a brief description. Do not send tokens, credentials or confidential supplier CSVs in a public issue.

All included examples are synthetic. They are not customer cases or evidence of savings. Maintained by Ysoserious, the product's publisher.