Import and update products from supplier CSV, XML and JSON feeds on a schedule, with field mapping, price markup and stock rules.
Available Updated Oct 19, 2026Version 1.0.0CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
Scheduled Supplier Feed Import: overview1 of 14
What it does
The CS-Cart import is manual. This add-on runs supplier feeds on a schedule: CSV, XML or JSON from an HTTP or HTTPS URL, FTP, SFTP, a server file or an upload. Map feed fields to product fields, including categories, brand, features and images, add markup and stock rules, and choose what to update. For dropshipping stores, resellers with several suppliers and marketplaces whose vendors sync their own catalogs. For CS-Cart and Multi-Vendor 4.17.2 to 4.21.x.
How it works
Open Products, Feed import and add a feed: choose the source and the format and click Save and load fields. On Field mapping pick the feed field for each product field, then set markup, rounding and stock rules and the import options. Preview shows what will happen to the first rows without saving. Run now imports with a progress bar; the cron job runs feeds at their interval. Run history shows the counters and the row log. On Multi-Vendor, vendors manage feeds for their own products.
Features
Sources: HTTP and HTTPS URLs with basic authentication, FTP and FTPS, SFTP, a file on the server and manual upload
Formats: CSV with delimiter and encoding detection, XML with a product path and XPath fields, JSON with dot paths, gzip
Field mapping with sample values, fixed default values and saved mapping presets
Product code match key; name, price, list price, quantity, status, descriptions, weight
Categories by name path or a mapping table, created when missing, and a default category
Brand and product features, with new values created when allowed
Main and additional images downloaded from URLs, again only when they change
Price markup by price range and category, in percent or a fixed amount, and list price from the feed price
Rounding to cents, whole numbers, .99, .95 or .90
Stock threshold and cap, and value replacements
Create and update, or update only selected fields such as price and stock
Products missing from the feed disabled, hidden or set to zero stock, with a safety limit
Schedule per feed with one cron job, resumable runs for large feeds and a lock against overlapping runs
Dry-run preview of the first rows and run history with a row log
Vendor mode on Multi-Vendor and per-storefront feeds on CS-Cart Ultimate
Protection against private network URLs, size and time limits and safe XML parsing
What you get
Package
kv_scheduled_feed_import-1.0.0.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Tested
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.x
Supported
Supported
Supported
Supported
4.17.2
Tested
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.21.2, Oct 19, 2026Tested on: Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2
Requirements
PHP
CS-Cart or CS-Cart Multi-Vendor 4.17.2 – 4.21.x (tested on CS-Cart 4.17.2, Multi-Vendor 4.17.2 and Multi-Vendor 4.21.2 with PHP 8.3)
PHP
PHP 7.2.5 – 8.3 with the cURL extension (downloads). XML feeds also need XMLReader and DOM, which are part of a standard PHP build
Platform
SFTP uses the phpseclib library that ships with CS-Cart 4.17.2 and later; nothing else to install
Requirement
A cron job for scheduled feeds (any hosting control panel can add one). Without cron, feeds run only when you click Run now
Core changes
None. Hooks and template overrides only
1.0.0
Oct 19, 2026
Latest
Added 10
Initial release: scheduled supplier feed import for CS-Cart and Multi-Vendor 4.17.2 - 4.21.x.
Sources: HTTP/HTTPS URL with basic authentication, FTP/FTPS, SFTP, server file, manual upload; gzip.
Formats: CSV (delimiter and encoding detection), XML (streamed, XPath fields), JSON (dot paths).
Field mapping with sample values, fixed values and mapping presets; categories (find, create or map), brand, features, images.
Rules: price markup by price range and category, list price from the feed price, rounding, stock threshold and cap, value replacements.
Import options: create and update or update only, skip unchanged rows, missing products (disable, hide, zero stock) with a safety limit.
Scheduling with one cron job (console or URL), resumable batched runs, feed lock; Run now with progress; dry-run preview.
Run history with counters and a per-row log.
Multi-Vendor vendor mode (own feeds and products only, setting to switch it off); per-storefront feeds on CS-Cart Ultimate.
Security: SSRF guard with address pinning, size and time limits, safe XML parsing, encrypted passwords.
Tested on Multi-Vendor 4.17.2, CS-Cart 4.17.2, Multi-Vendor 4.21.2. First release.
How is this different from the CS-Cart import?
The core import (and the Advanced Import add-on) is something you start by hand each time. This add-on runs on a schedule, reads URL, FTP and SFTP feeds as well as files, adds price markup and stock rules, handles products that left the feed, keeps a run history with a row log, and lets vendors run their own feeds.
Which feed formats are supported?
CSV (any common delimiter, UTF-8 or Windows-1252), XML (any structure, including YML-style offer feeds with param elements) and JSON. gzip-compressed files are unpacked. Excel files: save them as CSV.
How are existing products found?
By the product code (SKU), within the feed's vendor (Multi-Vendor) or storefront (Ultimate). Products that a feed created or updated are remembered, so later runs find them quickly.
Can I update only prices and stock?
Yes. Switch off Create new products and tick only Price and Quantity under Update on existing products. Names, descriptions, categories and images are then never changed.
What happens to products that disappear from the feed?
You choose: nothing, disable, hide or set the quantity to 0. Only products that the feed itself created or updated are affected, only after a complete run, and not when more than the safety limit of products is missing at once (for example when the supplier sent a broken file). When a product comes back, it is shown again.
How large can a feed be?
Up to the size in the settings (50 MB by default). The feed is parsed once and then imported in short steps, so tens of thousands of rows are fine; a run continues over several cron calls. Unchanged rows are skipped quickly.
Is it safe to enter a feed URL?
Yes. Addresses that point to your own server or private network are refused by default, downloads are limited in size and time, and XML feeds cannot load external files or entities. Passwords are stored encrypted and never shown again.
What if two cron jobs run at the same time?
A feed can only have one run. A second cron call continues other feeds or waits; a run whose process crashed is continued after 5 minutes.
Can vendors import their own products?
Yes, when Vendors can manage their own feeds is on (Multi-Vendor). Vendor feeds only touch the vendor's own products and follow the core vendor rules (premoderation, plan limits).
Are product images imported?
Yes, from image URLs: the first image becomes the main image, the others additional images. Images are downloaded again only when the URLs change. Images that cannot be downloaded are listed in the row log; the product is still saved.
Can it create product variations?
Not in 1.0.0. Each row becomes a standalone product; you can group them with CS-Cart's Variations afterwards.
What happens if the license lapses?
Without a valid license (no key after the 14-day start period, an invalid or revoked key, a domain the license does not cover, or no successful check for 14 days), new imports stop: the cron skips all feeds and Run now is switched off. Feeds, mappings, presets, the preview and the run history stay available, and a run that has already started finishes. Your products are never affected. Once the license is valid again, everything is back.
The admin panel shows a license notice.
Open Add-ons → Manage add-ons → Scheduled Supplier Feed Import: the License card at the top says what is wrong: no key, a key for another add-on, a revoked license, or a domain that the license does not cover. Fix it on the License tab and click Check now. See License.
Does the add-on work on my staging copy?
Yes. Subdomains of your licensed domain (for example staging.example.com) and local development hosts (localhost, private IP addresses, .local, .test) are covered by the same license.
What happens if your license server is down?
Nothing changes for 14 days: the add-on keeps working and retries every hour. Only if no check succeeds for 14 days is it switched off until the next successful check.
Does the license check slow down my storefront or checkout?
No. The check runs only in the admin panel or from cron, at most once a day, never while customers browse or check out. The add-on itself has no storefront part at all; imports run from cron or the admin panel.