Catalog sync

Database Sync vs. CSV Import vs. Scheduled Import: Which Should You Use?

A plain-language guide

If your product data already lives somewhere, like a spreadsheet someone maintains or an internal system's own database, you have three realistic ways to get it into a product feed without typing anything in by hand: import a file on your own schedule, point the feed at your database and let it pull on a recurring schedule automatically, or point it at a file your own system already writes to a server and let it pull that on a schedule instead. None of them is universally "better" - they just fit different shapes of workflow.

CSV/Excel import

You export or maintain a spreadsheet, upload it, and the feed maps its columns to product fields and applies the update. It's the lower-commitment option: no database credentials to hand over, no network access to configure, and it works identically whether your source is a real system's export or a spreadsheet someone updates by hand.

The trade-off is that it's only as current as the last upload. If nobody remembers to re-upload for three days, the feed is three days stale. Nothing syncs on its own - see the true cost of manual order entry for what that lag actually costs once orders start depending on it.

Database sync

You supply a read-only query and a column mapping once, and the feed pulls fresh rows on a schedule - anywhere from every 15 minutes to once a day, your choice - with nobody needing to remember to trigger anything. It merges rather than replaces. If a sync returns fewer rows than last time (a flaky query, a temporary connection issue), it never deletes products that didn't come back. A bad sync degrades to "stale" instead of "products silently vanished."

The trade-off is setup cost: it needs real, working read access to your database, and a query you're comfortable running on a schedule against production. For a business that already treats its own database as the source of truth, this removes a manual step permanently. For one that doesn't want to expose database credentials to a third party at all, import stays the simpler, lower-trust option.

Scheduled import (FTP/SFTP/FTPS)

This is the middle ground between the two above: no database credentials to hand over, but no manual upload either. If your own system already writes a file to a server on some schedule - an overnight export job, a nightly batch process, anything that already lands a CSV or Excel file somewhere - point Feedwyre at that exact file, on that server, and it checks for it automatically on whichever hours you pick. When the file's there, it imports exactly like a manual upload would: same Merge or Replace choice, same column mapping, same validation.

The trade-off is that it's only as fresh as your own system's own export schedule - if that job runs nightly, the feed is never more current than last night's file, the same freshness ceiling a manual CSV import has. What it removes is the human step of remembering to log in and upload it. A business whose warehouse system already produces a nightly export file, but has no appetite for exposing a database connection, is exactly who this is built for.

Choosing between them

SituationBetter fit
Catalog changes are already tracked in a real databaseDatabase sync
Source is a spreadsheet someone edits manuallyCSV/Excel import
Freshness matters (stock, pricing) and can't wait on a personDatabase sync
One-time catalog load, then mostly updated via the API directlyCSV/Excel import
Not comfortable sharing DB credentials with a third partyCSV/Excel import, or scheduled import if a file already gets written somewhere
Your own system already exports a file to a server on a schedule, but no DB access to offerScheduled import
Nobody should ever have to remember to click upload againDatabase sync or scheduled import - either removes the manual step

Nothing stops using more than one of these at different points, or even at the same time on different feeds: import a spreadsheet once to seed a catalog, move to database sync once the same data is available from a live system, or set up scheduled import the day your warehouse system starts producing its own nightly export file. The feed's Query and Manage APIs behave identically either way; how the rows arrived isn't visible to anything consuming the feed. If your source of truth is actually a PIM rather than a plain database, see PIM vs. Product Feed API for how the two fit together instead of competing.

Customers keep ordering the same product...
...until stock runs low.
Update it directly in Feedwyre,
from a file on FTP,
or synced from another database table.
However you update it, every channel sees the new number - immediately.
Feedwyre feedwyre.com
0:00 / 0:24
Feedwyre dashboard - direct edit FTP file - dropped export Database - scheduled sync

How Feedwyre handles this

Database Sync connects to your own SQL Server, MySQL, or PostgreSQL database with a read-only query and column mapping, running on whichever interval fits (15 minutes up to daily), with a safety check that refuses to let a sync target resolve to an internal network address by mistake. Scheduled Import connects to your own FTP, SFTP, or FTPS server instead, checking for one exact filename on whichever hours you pick, and is available on every plan alongside Database Sync's Business-and-above availability. CSV/Excel import is available on every plan with no setup beyond mapping columns once. All three write through the same feed, so nothing downstream needs to know which one you're using. Full setup steps for each are in the docs, under Database sync and Scheduled import.

Try either one against a real catalog

Import a spreadsheet in minutes, or connect a database and let it stay current on its own.

Start free trial