GTIN Catalog Guard — Barcode Checks & SKU Conflicts
Pricing
$0.10 / completed catalog check
GTIN Catalog Guard — Barcode Checks & SKU Conflicts
Check catalog CSV barcodes in bulk: GTIN/EAN/UPC check digits, damaged formats, missing codes and cross-SKU barcode reuse. JSON, CSV and HTML reports. Structure only; no GS1 registry lookup. $0.10 per completed batch; fixed demo free.
Pricing
$0.10 / completed catalog check
Rating
0.0
(0)
Developer
Brandon Gardner
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
GTIN Catalog Guard
Check product barcode columns before importing or reconciling a catalog. Find missing identifiers, unsupported lengths, damaged spreadsheet formats, bad check digits and checksum-passing barcodes shared across different SKUs.
Structure and checksum checking only. A passing checksum does not prove that a barcode was assigned by GS1, belongs to your brand, identifies the stated product, or will be accepted by a marketplace. This independent utility does not query GS1 and is not affiliated with GS1.
Try the free demo
Run {"demo":true} or use the prefilled form. The fixed synthetic sample includes eight catalog records: three pass the checksum, one is missing, and four are structurally invalid. Two different SKUs share the same barcode represented at different lengths. Seven records need review. Demo accepts no other input fields and never triggers the completed-check fee.
Check your catalog
Disable Run fixed demonstration, paste CSV text including headers, and choose column names if they differ from sku and gtin.
{"demo": false,"csvText": "sku,gtin\nITEM-A,036000291452\nITEM-B,0036000291452\nITEM-C,4006381333932\n"}
Optional skuColumn and gtinColumn select exact header names. Omit these fields in the demo. No URLs, account credentials, images or downloads are accepted. Input records may contain errors: those errors are the report, so a completed batch with invalid barcodes is still charged.
What is checked
- ASCII digits and lengths 8, 12, 13 or 14; checksum arithmetic for GTIN-8, GTIN-12/UPC-A, GTIN-13/EAN-13 and GTIN-14.
- Missing identifiers, all-zero placeholders, numeric/exponent or punctuation formats, and outer whitespace.
- Checksum-passing identifiers padded to 14 digits for grouping, preserving leading zeros. This can reveal the same identifier stored as UPC-A and EAN-13.
- Repeated barcode groups, cross-SKU barcode reuse, repeated exact SKU text and missing SKUs. These are review signals: legitimate catalog relationships can produce duplicates.
Eight-digit input is interpreted as GTIN-8. UPC-E expansion is unsupported. No missing digit or stripped leading zero is guessed. Interior spaces, dashes, currency symbols and scientific notation are rejected. Outer whitespace is trimmed for checking but reported. SKUs remain exact case-sensitive strings. Expected check digits are arithmetic evidence, not replacement product identifiers.
Reports
The Output tab displays an HTML report with the first 200 records. Storage → Key-value store contains OUTPUT (full JSON), REPORT-CSV (all records) and REPORT-HTML. The default dataset contains one summary for automation, including record counts and cross-SKU group counts. Source record numbers count non-blank data records after the header, not physical lines.
CSV identifier cells are prefixed with an apostrophe to protect spreadsheet formulas and leading zeros. Use JSON when exact raw text is needed. HTML escapes all input and loads no scripts or outside resources. Only selected SKU and GTIN columns are returned; other source columns are not exported or logged.
Limits and pricing
$0.10 per completed batch, platform usage included. Up to 5,000 non-blank records, 2 MB UTF-8 CSV, 200 distinct headers, 16,384 characters per field and 256 characters per selected SKU/GTIN cell. Each export is limited to 8 MB. Header-only CSV, malformed CSV, missing selected headers, ragged rows and oversized inputs fail without a completion event. Split an oversized catalog into batches. The active Pricing tab is authoritative.
There is no separate startup or per-row fee. A successful no-issue check is charged too. Set maximum run cost to at least $0.10 for custom input. Reports and summary are saved before charging. Retries in the same run use a stable billing key; resurrection can append another summary, but does not charge a second completed-check event in that run. A new run is a new purchase.
This is a stateless, on-demand checker. Your own workflow supplies each catalog through Console, a saved task or the Apify API. It does not monitor stores or change listings. Inputs and reports remain in the caller's Apify storage under the caller's access and retention settings. The Actor does not delete them or send them to outside services.
For registered ownership and product information, consult Verified by GS1. Arithmetic follows the GS1 check digit method; shorter identifiers are padded only for comparison as described in GS1's format guidance.
For support, open an Actor issue with a run ID and a small synthetic example. Never post private source catalogs publicly.