InventoryCSV Import

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:

ModeWhat it does
Set QuantitySets each item to exactly what’s in the CSV. A row with quantity 0 deletes the item.
Add QuantityAdds 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 stock column to sync your exact stock levels. Use Add Quantity with the Add Stock column to log incremental additions.


Required vs Optional Columns

Sideboard Format

ColumnRequired?Notes
Sideboard IDRequiredThe internal product ID from a previous Sideboard export. Used for exact matching.
QuantityRequiredStock count. 0 or negative = delete the item.
ConditionOptionalDefaults to near_mint. See condition values below.
VariantOptionalDefaults to normal. See variant values below.
LanguageOptionalDefaults to en.
Card NameInformationalNot used for matching, but helpful for human review.
Set NameInformationalNot used for matching.
Set CodeInformationalNot used for matching.
Collector NumberInformationalNot used for matching.
Scryfall IDInformationalNot used for matching.

BinderPOS Format

ColumnRequired?Notes
SKURequiredBinderPOS’s product SKU. Encodes set, collector number, language, finish, and condition.
Card NameRecommendedUsed as a fallback when SKU matching fails.
Set NameRecommendedUsed as a fallback when SKU matching fails.
In stockRequired (Set Quantity mode)Current stock count.
Add StockRequired (Add Quantity mode)Quantity to add.
HandleOptionalHelps disambiguate artist variants in certain sets.
Variant TitleOptionalFallback 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 nameMaps to
Card Name, CardNameCard name
Set Name, SetNameSet name
Set Code, SetCodeSet code
Collector NumberCollector number
Quantity, Qty, In stockQuantity
ConditionCondition
VariantVariant/finish
Language, LangLanguage
SKU, BinderPOS SKUBinderPOS 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 CSVMeaning
near_mint or NM or 1Near Mint
lightly_played or LP or 2Lightly Played
moderately_played or MP or 3Moderately Played
heavily_played or HP or 4Heavily Played
damaged or DMG or 5Damaged

Variant / Finish

Value in CSVMeaning
normal or NFStandard non-foil
foil or FOFoil
etched or ETEtched foil
holofoilHolographic foil (Pokémon)
reverse_holofoilReverse 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 Mint

How 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 prm for promos that Sideboard knows as PMGD)
  • 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

  1. Go to Inventory and open the Data tab (or the import/export page).
  2. Click Start Import.
  3. Drag and drop your CSV file or click to browse.
  4. Review the column mapping — Sideboard auto-maps recognized columns and shows you what it detected. Adjust any columns that weren’t picked up.
  5. Choose your import mode: Set Quantity or Add to Stock.
  6. Review the preview — a distributed sample of rows from your file to confirm cards are matching correctly.
  7. 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


Was this page helpful?

Spotted something wrong, or want to suggest an improvement? Email support → — your message goes straight to engineering.