Catalog Snapshot Guard — Supplier CSV Batch Review
Pricing
from $250.00 / 1,000 completed audits
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
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
0007and7stay 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
- Open the Actor's Input tab. The prefilled values form a complete synthetic example.
- For your own audit, replace
current_csvandprofilewith your CSV text and its confirmed feed rules. Replaceprevious_csvwith 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. - 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.
- Open HTML report or JSON report in the run's output. The same files are stored as
REPORT_HTMLandREPORT_JSONin that run's key-value store. Review the findings before taking action in your store.
Input configuration
| Field | Required | What to supply |
|---|---|---|
current_csv | Yes | UTF-8, comma-delimited CSV text, including the header row. |
profile | Yes | An explicit JSON profile with exact column names and feed semantics. |
previous_csv | No | Previous 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
| Output | Purpose |
|---|---|
REPORT_HTML | Readable report with findings, source fields and line references. |
REPORT_JSON | Full machine-readable audit evidence. |
OUTPUT | Report record names, hashes and summary for this run. |
| Default dataset | One limited summary of a valid completed report. |
DELIVERY_STATE | Authoritative 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 interpretnullas 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.