Skip to Content
Source platformsUpload a CSV

Add a CSV source

Sometimes a single part of your store lives somewhere else. A common example: you’re moving your storefront from one platform, but your gift cards are managed in a different system. Instead of connecting that second system, you can upload its data as a CSV and Graftport will treat it like any other source.

A resource can have several sources at once — the connected platform and one or more CSVs. Each source has its own mapping, and its records are imported alongside the others.

Add a CSV source to a resource

Add the resource

On the migration’s Resources tab, click Add resource and pick what the file contains (Gift cards, Discount codes, …). Resources that don’t have a built-in mapping start with a blank one you’ll fill in.

Open the source list

Each resource shows a list of its sources directly below the resource name. When the connected platform can supply that resource, it appears as the first row. Some resource types (such as Gift cards) aren’t provided by every platform; those have no platform row and are fed entirely from CSV. Click Add source to attach a CSV.

Upload your file

Choose your .csv file or drag it onto the picker. Graftport reads the header row — showing how many columns and rows it found.

Choose the original ID column

Pick the column that uniquely identifies each row — for gift cards that’s usually the card code or number. Graftport uses this to match rows across re-runs so the same record is never created twice.

Add source

Click Add source. Your file is stored securely, a mapping is created for it, and the data is imported right away so the mapping editor has real rows to work with.

The separator is detected automatically — comma, semicolon, or tab — so spreadsheet exports from any region work without converting them first.

Map your columns

Each CSV source gets its own mapping, because every file’s columns are different. Click the mapping link on the source’s row to open its editor. Your uploaded rows appear as the live sample, so you can see exactly what you’re working with. Map each column to the matching field on the target record, then Publish.

Until you’ve mapped at least the required fields for the resource, a run will produce empty or rejected records. Publish your mapping before starting a run.

Preparing your CSV

  • The first row must be a header row with column names.
  • Use a comma , as the separator and UTF-8 encoding (the default when you export from a spreadsheet).
  • Fields containing commas or line breaks should be wrapped in double quotes — again, the default for spreadsheet exports.
  • Make sure your ID column has a value on every row; rows with a blank ID are skipped.

Using CSV as the only source

When the connected platform can supply a resource, it extracts from both the platform and any CSV sources you add. If you want such a resource to come only from a CSV, remove the platform row from the source list using the × control on its row. Future runs will skip the platform extract for that resource and use only the CSV sources shown. (Resources the platform can’t supply are CSV-only already and have no platform row to remove.)

Removing the platform source requires at least one CSV source to remain. A resource with no sources cannot run.

Remove a source

Use the × control on a source’s row to remove it. Removing a source clears the records it brought in; it does not change anything already in your Shopify store.

You cannot remove the last remaining source for a resource — add another source first, or remove the resource entirely.

Last updated on