/projects/Jan 1, 2026

Point-7 → Shopify Converter

Python CLI that converts Point-7 product exports into Shopify-ready CSV files — variant grouping, AI categorization via the T4A API, SKU management, and HTML description cleanup.

pythonshopifygemini

The shape of the problem

Point-7 exports products as flat JSON — one entry per variant, no Shopify-compatible structure, raw descriptions with WordPress shortcodes, and missing or inconsistent SKUs. Importing this directly into Shopify produces duplicate products, broken tags, and unsearchable categories.

What I built

A zero-dependency Python CLI that takes a Point-7 JSON export and emits two Shopify CSVs: a full product catalog (shopify_import.csv) and an inventory quantities file (shopify_import_inventory.csv).

The converter groups flat variant entries by ID into proper Shopify products, sends product names and descriptions to the T4A AI categorization API (Gemini 2.5 Flash) for intelligent category assignment with local caching, explodes category paths like Katalog / Windsurf / Boards into hierarchical Shopify tags, prefixes all SKUs with P7- and auto-generates missing ones via SHA-256 hashing, strips WordPress shortcodes and converts descriptions to clean HTML, and includes both full-resolution and medium image URLs as separate rows.

Lessons

  • Local caching for AI categorization calls is essential for large catalogs — rerunning the converter after a tweak shouldn't re-spend the full API budget.
  • Zero dependencies was a deliberate call: the tool runs anywhere Python 3.10+ is installed, no venv required.
  • SHA-256-based SKU generation for missing SKUs is deterministic — running the converter twice on the same input produces identical output.