Home Help centre Connecting a supplier

Connect a CSV file or spreadsheet

Connecting a supplierUpdated 17 September 2026

Many suppliers send a price list or stock file instead of an API. Everstock can read that file and sync it like any other feed. It reads CSV and XLSX files, and it can get them from a web address, a Google Sheet, a file you upload, or an FTP or SFTP server.

Start the connection

Go to Connections, click Connect supplier, and set Connect from to CSV / spreadsheet file. Give it a Display name, for example Supplier price list. Then pick a Source in the Connection section.

Choose where the file comes from

Hosted file URL reads a file from a web address on every sync. Enter it in File URL. The address must start with https://.

A Google Sheets share link works too. Paste the normal link from your browser, and Everstock reads the sheet's CSV export. The sheet must be shared as "Anyone with the link can view", or published to the web. A private sheet cannot be read. If your sheet has several tabs, copy the link while the tab you want is open.

Upload a file takes a .csv or .xlsx file from your computer, up to 20 MB. Uploads are manual. A scheduled sync reuses the last file you uploaded until you upload a new one. To send a new file later, open the connection, go to Credentials, drop the file on Replace file, and click Upload. The banner "File uploaded" says the next run will use it.

FTP / SFTP downloads the file from your supplier's server on every sync. Pick the Protocol (FTP, FTPS (explicit TLS), or SFTP), then fill in Host, File path and Username. Leave Port blank to use the normal port. Enter a Password, or for SFTP paste a Private key instead. Private key passphrase is only needed if the key itself is locked with one.

Advanced parse settings

Most files need nothing here. Everstock detects the file type, the delimiter, the text encoding and the number format on its own. Open Advanced parse settings only if the preview looks wrong:

  • File format: Auto-detect, CSV or XLSX.
  • Delimiter: comma, semicolon, tab or pipe. CSV only.
  • Text encoding: UTF-8, or Windows-1252 for files saved by older Excel versions. CSV only.
  • Decimal format: US (1,234.56) or EU (1.234,56). Auto-detect reads each value and warns you when one could be read both ways.
  • Header row: 0 means the first row that is not blank. Raise it if your file has a title or a date above the real column names.
  • Sheet name: which tab of an XLSX file to read. Leave it blank for the first one.

Test the file and map the columns

Click Test connection in the page header. Everstock reads the file and shows a "Connected" banner that says how many rows it found. If it cannot read the file, a banner headed "Couldn't read that file" says why. Nothing is written in either case.

After a good test, the Column mapping section at the end of the form fills in. Everstock guesses which column holds each value and shows a badge next to each guess: High confidence or Likely match. Check every guess, and change any that are wrong. Pick Not mapped for a value your file does not have.

The main list covers SKU, Barcode, Quantity, Price, Currency, Title, Description, Vendor, Product type, Tags and Categories. Quantity is required, and you need a SKU or a Barcode to match products. Click More columns for the rest: Compare-at price, Cost per item, Weight, Weight unit, SEO title, SEO description, Images, Product grouping (handle or parent SKU), and the product options.

A few columns work in a special way:

  • Weight: if the column name says the unit, like "Weight (kg)", Everstock reads it from there. If not, and you have no Weight unit column, choose a Weight unit for every row.
  • Images: if your file has numbered columns like "Image 1", "Image 2" and "Image 3", you can pick all of them at once.
  • Categories: separate several categories with commas, and the levels of one category with ">", like Clothing > Shirts. See Add products to collections from supplier categories.
  • Product grouping: rows that share this value become one product with variants. Then set up each option. Map Option 1 values to the column holding the value, like "Large". For its name, either pick an Option 1 name column, or leave it on "None, type a name" and type the name, like "Size", in Option 1 name. Click Add option for a second and a third option. See Sync products with variants.

If something in the file looks odd, a banner headed "A few things worth checking" lists it. Open Preview the first 5 rows to see the raw rows.

Then set up Location, What syncs and Schedule as for any connection, and click Save in the save bar. See Connect your first supplier.

After you save

The connection page shows the file source under Credentials, with Test connection to check it again. To point at a different URL, server or protocol, or to change the column mapping, connect the file again as a new connection and delete the old one from its Danger zone section. Deleting a connection also deletes its sync history, so download any run CSVs you want to keep first.

Rows with problems

One bad row never stops a sync. A row with no SKU and no barcode cannot be matched, so it goes to review with the reason "No SKU or barcode in the feed". A quantity or price that cannot be read as a number is skipped, and the value in your store is left as it is. It is never turned into a zero. See What "For review" means.

Run Preview changes before your first real sync. It shows exactly what the file would change and writes nothing.

Need help? Visit the support page or email hello@usenormalize.com.