Bulk import credit (CSV)
Plan: bulk import is a plan-gated feature; check your plan's feature list. It is also blocked entirely on development stores.
This article's section starts at 0:00 in the video.
When you're done, you'll have credited (or debited) store credit for a whole list of customers from one CSV file. It's the tool for migrations, compensation batches, and B2B credit. This article is the full contract: the exact file format, how jobs run, and how errors are handled.
Prerequisites
A plan that includes bulk import (see Plans, usage & overage billing).
A live store; imports are blocked on development stores.
Your customers already exist in Shopify; the import matches rows to existing customers, it doesn't create them.
The CSV format
Amount
Yes
Positive number. Quoted fields and thousand separators are handled: "8,260.90" parses fine.
Currency
Yes
The currency code for the row's amount.
Email
One of Email / CustomerId
Matches the Shopify customer by email.
CustomerId
One of Email / CustomerId
Matches by Shopify customer ID. When both are present, CustomerId wins: a wrong ID fails the row even if the email is right.
CompanyLocationId
B2B mode only
Required on every row when the job runs in B2B mode; the credit attaches to the company location instead of a customer.
Additional constraints:
File size: 5 MB maximum. Split larger files into multiple jobs.
Amounts are always positive. Whether the job credits or debits is set on the job, not per row.
Duplicates are not deduped. Two rows for the same customer credit that customer twice. Clean your file before importing.
Run an import
Open DollarBack admin β Bulk import.
In the Upload CSV File section, click Choose CSV File and select your file.
Set Action Type: Credit or Debit.
For credits, set Expiry Days: how many days until the imported credit expires.
0(the default) means never expires. The field is disabled for debits; expiry applies to credits only.Choose your toggles:
Notify Customers, "Send notification email to customers": each credited customer gets the store-credit-credited email.
Send to Integrations, "Send event integrations": emits the credited/debited events to Klaviyo, Omnisend, and Shopify Flow, exactly as an organic credit would.
B2B Mode, "Apply store credit to a company location. CSV must include a CompanyLocationId column." See B2B store credit.
Click Import CSV.
Think before enabling Notify Customers on a large migration import: every row sends an email. For silent migrations, leave it off.
How jobs run
A job moves through: pending β processing β completed / failed / stopped.
Rows commit individually, in small batches. There is no all-or-nothing transaction: a job that fails halfway has still applied everything it processed.
Stop Import halts the job but keeps all rows already processed. Don't re-run the same file after a stop; the processed customers would be credited again.
There is no automatic per-row retry. A failed row stays failed until you fix it and import a corrected file containing only those rows.
Unknown customers don't kill the job. A row whose Email/CustomerId matches no customer is logged as "Customer not found" and processing continues with the next row.
Read the job log
Each job in the history keeps a downloadable log with one entry per row:
Customer ID
The row's resolved (or attempted) customer ID.
Customer Email
The row's email.
Action Type
Credit or debit.
Amount
The row's amount.
Currency
The row's currency.
Status
Whether the row succeeded or failed.
Message
The per-row reason on failure (e.g. "Customer not found").
Timestamp
When the row was processed.
Verify it works
Run a tiny test file first: two or three rows including yourself. After the job completes, check the customers' balances, then confirm the rows also appear in Analytics β Activity, under the Credits earned view. Remember that imports count toward outstanding liability but are excluded from the Overview's Cashback issued card and all campaign figures; see Understand your analytics.
Common issues
Rows failed with "Customer not found", the upload was rejected, or a job stopped early: see My bulk import failed for the full diagnosis checklist.
A customer was credited twice: the file contained two rows for them, or the same file was imported twice; duplicates are not deduped.
The page says bulk import isn't available: plan gate or development store; see the hint at the top.
Related articles
Last updated