Bulk Operations
Overview
Bulk Operations allow vendors to manage large amounts of data efficiently — uploading hundreds of products at once via CSV, bulk-updating stock levels, importing products from Shopify, and managing collections in bulk. These tools are essential for vendors migrating from another platform or managing a large catalog that would be impractical to update one product at a time.
How It Works
CSV Bulk Upload
The CSV bulk upload process:
- Parse CSV — Each row represents one product with columns for name, slug, SKU, price, description, images, categories, and variants.
- SKU validation — Duplicate SKUs are skipped (checked against
productsandproductsSkutables). - Image processing — Image URLs are downloaded, then re-uploaded to Cloudflare R2 (or Backblaze B2 for legacy users).
- Product insertion — Each valid product is inserted into the
productstable. - Inventory creation — Inventory records are created in
product_inventoryfor each product and its variants. - Plan limits — Product count is enforced per plan: Basic (100), Pro (1000), Growth (unlimited).
Shopify Import
For vendors migrating from Shopify:
- Upload Shopify CSV — The vendor exports their Shopify products and uploads the CSV.
- Field mapping — Shopify fields (Title, Body HTML, Vendor, Type, Tags, etc.) are mapped to Siyahfy’s schema.
- Variant handling — Shopify variant options (Option1/Value1, Option2/Value2) are converted to Siyahfy’s variant structure.
- Image download — Shopify-hosted images are downloaded and re-uploaded to Siyahfy’s storage.
- Customer import — Separately import Shopify customer data.
- Order import — Separately import Shopify order history.
- Review import — Import product reviews from Shopify exports.
Bulk Stock Update
Bulk stock update lets vendors update inventory for many products at once:
- Replace mode — Set all selected products to a specific quantity.
- Add mode — Add a quantity to the current stock of all selected products.
- Both legacy (
product_inventory) and new (inventory_items) inventory systems are updated. - Back-in-stock notifications are triggered when applicable.
Bulk Delete
Bulk delete removes products and all associated data in a single transaction:
- Fetch SKUs and images for selected products.
- Delete from
productstable. - Delete from
product_inventorytable. - Delete from
productsSkutable. - Clean up image files from storage.
Key API Endpoints
CSV Bulk Upload
Bulk Stock Update
Bulk Delete
Shopify Import
Bulk Collections
Bulk Status Update
Database Tables
| Table | Purpose |
|---|---|
products | Target table for bulk product inserts and deletes |
productsSku | SKU uniqueness registry — checked during upload, cleaned during delete |
product_inventory | Legacy inventory records created/updated/deleted during bulk operations |
inventory_items | New inventory records synced during bulk stock updates |
customers | Target table for Shopify customer import |
orders | Target table for Shopify order import |
reviews | Target table for Shopify review import |
collections | Collections managed via bulk assignment |
Related Features
- Products — Bulk operations act on the product catalog
- Inventory — Stock quantities are updated in bulk
- Integrations — Shopify import is a key integration path
- Orders — Shopify order import populates order history