Bulk CSV Import
If you’re migrating from another system or want to update hundreds of cards at once, CSV import is the fastest way in. Sideboard accepts both its own native CSV format and exports from BinderPOS, and it automatically detects which format you’ve uploaded.
Two Ways to Import
1. Sideboard Format (Full Sync)
Use a Sideboard CSV when you want the import to be the complete source of truth for your inventory. Any item in your current inventory that isn’t in the CSV will be deleted.
Best for: doing a clean inventory reset from a spreadsheet you’ve prepared in Sideboard’s export format.
2. BinderPOS Format (Partial Sync)
A BinderPOS export only affects the cards listed in the file. Items not mentioned in the CSV are completely untouched.
Best for: keeping Sideboard in sync with BinderPOS after a buying session or price adjustment, without blowing away everything else.
Import Modes
For both formats, you choose how quantities are applied:
| Mode | What it does |
|---|---|
| Set Quantity | Sets each item to exactly what’s in the CSV. A row with quantity 0 deletes the item. |
| Add Quantity | Adds the CSV quantity to whatever’s already in inventory. Useful for logging a new purchase. Negative values reduce stock (e.g., logging sales). |
BinderPOS note: Use Set Quantity with the
In stockcolumn to sync your exact stock levels. Use Add Quantity with theAdd Stockcolumn to log incremental additions.
Required vs Optional Columns
Sideboard Format
| Column | Required? | Notes |
|---|---|---|
| Sideboard ID | Required | The internal product ID from a previous Sideboard export. Used for exact matching. |
| Quantity | Required | Stock count. 0 or negative = delete the item. |
| Condition | Optional | Defaults to near_mint. See condition values below. |
| Variant | Optional | Defaults to normal. See variant values below. |
| Language | Optional | Defaults to en. |
| Card Name | Informational | Not used for matching, but helpful for human review. |
| Set Name | Informational | Not used for matching. |
| Set Code | Informational | Not used for matching. |
| Collector Number | Informational | Not used for matching. |
| Scryfall ID | Informational | Not used for matching. |
BinderPOS Format
| Column | Required? | Notes |
|---|---|---|
| SKU | Required | BinderPOS’s product SKU. Encodes set, collector number, language, finish, and condition. |
| Card Name | Recommended | Used as a fallback when SKU matching fails. |
| Set Name | Recommended | Used as a fallback when SKU matching fails. |
| In stock | Required (Set Quantity mode) | Current stock count. |
| Add Stock | Required (Add Quantity mode) | Quantity to add. |
| Handle | Optional | Helps disambiguate artist variants in certain sets. |
| Variant Title | Optional | Fallback if the SKU can’t be parsed for condition/finish. |
Generic / Custom CSV
If your file doesn’t use Sideboard or BinderPOS column names, Sideboard will try to auto-map your columns. The following column names are recognized automatically (case-insensitive):
| Your column name | Maps to |
|---|---|
Card Name, CardName | Card name |
Set Name, SetName | Set name |
Set Code, SetCode | Set code |
Collector Number | Collector number |
Quantity, Qty, In stock | Quantity |
Condition | Condition |
Variant | Variant/finish |
Language, Lang | Language |
SKU, BinderPOS SKU | BinderPOS SKU |
Column names not on this list won’t be mapped automatically. If your spreadsheet uses different names (like “Product Title” or “Stock Level”), rename the columns before importing.
Accepted Values
Condition
| Value in CSV | Meaning |
|---|---|
near_mint or NM or 1 | Near Mint |
lightly_played or LP or 2 | Lightly Played |
moderately_played or MP or 3 | Moderately Played |
heavily_played or HP or 4 | Heavily Played |
damaged or DMG or 5 | Damaged |
Variant / Finish
| Value in CSV | Meaning |
|---|---|
normal or NF | Standard non-foil |
foil or FO | Foil |
etched or ET | Etched foil |
holofoil | Holographic foil (Pokémon) |
reverse_holofoil | Reverse holographic foil (Pokémon) |
Sample CSV (Sideboard Format)
Sideboard ID,Card Name,Set Name,Set Code,Collector Number,Language,Condition,Variant,Quantity,Scryfall ID
a1b2c3d4-0001-0000-0000-000000000001,Lightning Bolt,Magic 2011,M11,141,en,near_mint,normal,4,
a1b2c3d4-0002-0000-0000-000000000002,Lightning Bolt,Magic 2011,M11,141,en,lightly_played,foil,1,
a1b2c3d4-0003-0000-0000-000000000003,Counterspell,Foundations,FDN,51,en,near_mint,normal,8,Tip: The easiest way to get a valid Sideboard CSV is to export your existing inventory first, then edit it in a spreadsheet. See Exporting Inventory.
Sample CSV (BinderPOS Format)
SKU,Card Name,Set Name,Handle,In stock,Add Stock,Variant Title
M11-141-EN-NF-1,Lightning Bolt,Magic 2011,lightning-bolt-m11,4,0,Near Mint
M11-141-EN-FO-2,Lightning Bolt,Magic 2011,lightning-bolt-m11-foil,1,0,Lightly Played Foil
FDN-51-EN-NF-1,Counterspell,Foundations,counterspell-fdn,8,0,Near MintHow Sideboard Matches Cards
When you import a BinderPOS or generic CSV, Sideboard’s matching engine works through a waterfall of strategies to find the right card in the database. Understanding this helps you diagnose and fix any rows that don’t match.
Priority Order
1. Exact ID match (highest confidence)
If the row contains a Sideboard product ID, Scryfall ID, or TCGPlayer ID, the engine looks up the card directly. This is the fastest and most reliable method. Previously matched BinderPOS SKUs are also cached here, so repeated imports of the same file get faster over time.
2. Set code + collector number
The engine reads the set code and collector number from the SKU (or from dedicated columns). It then looks up the set using:
- The exact set code from your file
- Known alternate codes for the same set (e.g., BinderPOS sometimes uses
prmfor promos that Sideboard knows asPMGD) - Common set name variations (e.g., “Store Championships 2024” maps to the same set as “Game Day & Store Championship Promos”)
For BinderPOS files, the SKU encodes all of this: M11-141-EN-NF-1 means set M11, collector number 141, English, non-foil, Near Mint.
3. Card name + set name
If the set code doesn’t resolve, the engine tries matching by card name within the set. This is less precise and disabled for MTG and Star Wars Unlimited main sets (where too many variants share the same name).
Sideboard does not attempt name-only matching without a set. A card named “Lightning Bolt” with no set information will not match, because the same card exists in dozens of sets and we can’t guess which printing you mean.
BinderPOS-Specific Guidance
Sideboard’s import wizard auto-maps the columns in your file — it recognizes common BinderPOS column names automatically and shows you how each column was matched before you confirm. You’ll still choose your import mode (Set Quantity or Add Quantity) on the next step.
A few things to know:
SKU format. BinderPOS SKUs look like SET-COLLECTOR#-LANG-VARIANT-CONDITION (e.g., BFZ-54-EN-NF-1). Promo cards often have extra segments in the middle (e.g., PRNA-151-PROMO-PACK-EN-FO-2) — this is handled automatically.
Double-faced cards. BinderPOS encodes both face collector numbers with a // (e.g., MID-317//317-EN-NF-2). Sideboard strips the second number and looks up the front face.
Non-English cards. Sideboard’s catalog is English-only. Rows for non-English cards (JP, DE, FR, etc.) will be skipped automatically with a clear note in the results. They won’t cause an error — they’re just not imported.
Partial sync behavior. Items not mentioned in a BinderPOS CSV are completely untouched, even in Set Quantity mode. This is intentional: BinderPOS exports typically cover only a subset of your inventory.
Step-by-Step: Running an Import
- Go to Inventory and open the Data tab (or the import/export page).
- Click Start Import.
- Drag and drop your CSV file or click to browse.
- Review the column mapping — Sideboard auto-maps recognized columns and shows you what it detected. Adjust any columns that weren’t picked up.
- Choose your import mode: Set Quantity or Add to Stock.
- Review the preview — a distributed sample of rows from your file to confirm cards are matching correctly.
- Click Run Import.
The import runs immediately. A summary shows how many rows were created, updated, skipped, or had errors.
What Happens to Rows That Don’t Match
Unmatched rows are skipped — they don’t cause the whole import to fail, and they don’t create orphaned entries in your inventory. After the import finishes, you’ll see a count of skipped rows in the results.
You can download a skipped rows report from the import results page. The report shows the card name, set, and the reason each row was skipped, so you know exactly what to investigate.
Common reasons a row is skipped:
- Set code not recognized (see “Unknown set” below)
- Card not in Sideboard’s catalog
- Non-English card
- Row had no quantity to add (in Add Quantity mode)
Common Errors and How to Fix Them
”Unknown set code: [CODE]”
Sideboard doesn’t recognize the set code in your file. This usually happens with promo sets, yearly event sets, or sets that use a different code in BinderPOS than in official databases.
Fix: This is something the Sideboard team can add — send us the set code and the set name via support and we’ll add the alias. Most common promo sets are already mapped; this error typically appears for newly released or regional promo sets.
”Card not found: [Card Name] ([Set Name])”
The set matched, but the specific collector number doesn’t exist in Sideboard’s catalog.
Fix: This can happen with very new sets (catalog may not be fully imported yet), tokens or non-card products, or specialty products like art cards. If you’re seeing this for a common card in a mainstream set, contact support.
”Non-English card (JP) — English only”
The card’s language code is non-English. Sideboard’s catalog only contains English printings.
Fix: These cards can’t be imported into Sideboard’s catalog-matched inventory. If you track non-English singles, consider adding them manually as custom products (see Adding Products).
Rows that were skipped as “matching errors”
In rare cases, two different rows in your CSV might incorrectly resolve to the same card in the database. When this happens, the first row is kept and the duplicate is skipped with a “matching error” note.
This is a matching precision issue on Sideboard’s end, not a problem with your data. Download the error report and send it to support — we can add the missing set alias or improve the matching for that format.
”Add quantity would go negative”
In Add Quantity mode, a row tried to reduce stock below zero. For example, subtracting 3 from a card you only have 2 of.
Fix: Adjust the quantity in your CSV so it doesn’t go below the current stock level, or use Set Quantity mode instead.
Import stuck in “Processing”
Imports usually complete within a minute for files up to a few thousand rows. If yours is stuck, wait a few more minutes then refresh. If it’s still stuck, contact support with your import ID (visible in the import history).
Undoing an Import
Every import can be fully undone. Go to the Data page, find the import in the Import History list, and click Undo from the actions menu.
Undo reverses every change made by that import:
- Cards that were created → deleted
- Cards that had quantities updated → restored to their previous quantities
- Cards that were deleted (qty = 0) → restored with their original quantities
You can only undo the most recent import while it hasn’t been superseded by another import that touched the same items.
Import History
All past imports are saved on the Data page under Import History. Each record shows:
- Date and time
- Format and mode used
- Counts: created, updated, deleted, skipped, errors
- Download link for the skipped rows report
- Undo button (if available)
What’s Next
- Managing Inventory — Edit individual items, override prices, and do bulk updates after import.
- Exporting Inventory — Get your inventory out as a CSV (great for preparing the next import).
- How Pricing Works — Understand how market data becomes your sell price.
- Creating a Buylist — Set up buy prices for cards you want to purchase.
Was this page helpful?
Spotted something wrong, or want to suggest an improvement? Email support → — your message goes straight to engineering.