How to Import Shopify B2B Companies, Catalog Prices, and Orders
A Shopify B2B import usually means bringing in four kinds of data: products, companies with their locations and contacts, catalogs with wholesale prices and historical B2B orders. Shopify lets you import products and catalog prices by CSV in the admin, while companies need an app such as Matrixify or Onboard B2B, the Company API or Shopify’s tool for moving existing customers into companies, and past orders need the API or an import app.
The order you import in matters, because B2B records depend on each other. Companies need locations and contacts before orders can attach to them, and catalogs need products before prices can be set.
What You Can Import for Shopify B2B
Each type of B2B data has its own import route. This table shows the main options:
| B2B data | How to import it | Notes |
|---|---|---|
| Products | Shopify’s product CSV import, a bulk import app or the API | Import products before building catalogs |
| Companies, locations and contacts | Apps such as Matrixify or Onboard B2B, or the Company API through a developer | Shopify’s B2B setup guide points to apps or the API rather than a native admin CSV import |
| Existing customers who buy wholesale | Shopify’s built-in tool to add customers to companies | Moves selected customers and, optionally, their past orders into B2B companies |
| Catalog prices and quantity rules | CSV import in Markets > Catalogs | Supports fixed prices, quantity rules and volume pricing |
| Historical B2B orders | The orderCreate mutation in the Admin API, or an import app |
Companies, locations, contacts and products must already exist |
Import B2B Data in the Right Order
Following a set sequence prevents errors, since several B2B imports fail when the records they reference don’t exist yet. Work through your import in this order:
- Import products. Bring in your full catalog with SKUs, since catalog price imports identify products by SKU or handle.
- Create companies and locations. Add each business customer and its ordering locations, with addresses, tax details and payment terms.
- Add company contacts. Link buyers to locations and assign roles, such as ordering only or location admin.
- Import catalogs. Upload catalog prices, quantity rules and volume pricing.
- Assign catalogs. Connect catalogs to markets or, on Shopify Plus, directly to company locations.
- Import historical orders. Bring in past B2B orders last, linked to their company locations and contacts.
- Activate buyer access. Set up customer accounts, payment and shipping, then test ordering as a B2B buyer.
Because products come first, it helps to have clean product data with consistent SKUs before you start. Bulkflow supports bulk import, export and updates to existing product records with field mapping for Shopify, WooCommerce and Wix, which can help when your catalog needs preparing or correcting in bulk.
Import Companies, Locations and Contacts
Companies are the core of Shopify B2B, and each company needs at least one location. Shopify’s B2B setup guide suggests creating them manually, with an app such as Matrixify or through the Company API with help from a Shopify Partner.
Import apps work from a spreadsheet where each row describes a company, location or contact. Onboard B2B’s company importer, for example, uses columns like these:
| Record | Example fields |
|---|---|
| Company | Company name, external ID, customer since date and note |
| Location | Location name, external ID, phone, tax registration ID, tax exemptions, payment terms, deposit percentage and catalogs |
| Addresses | Shipping and billing address lines, city, zip, zone code and country code |
| Contact | Email, first and last name, title, role and whether they’re the primary contact |
Use external IDs from your ERP or old platform where you can, because names aren’t always unique. A company can have up to 10,000 locations, and if you import a company without a location, a default location named after the company is created.
Move existing customers into companies
If your wholesale buyers already exist as regular customers in Shopify, you don’t need to import them again. From the Customers page, you can select up to 250 customers and add them to companies, which creates one company with one location for each customer.
During this setup, you can bring over their past orders, certain tax exemptions and payment terms. Only direct-to-consumer orders move, and canceled or deleted orders can’t be migrated.
Import Catalog Prices With a CSV File
Catalogs control which products B2B buyers see and what they pay. You can import prices for a single catalog or several catalogs at once:
- Single catalog: Go to Markets > Catalogs, open the catalog, click Adjust prices, then Import CSV, preview and import.
- Multiple catalogs: Go to Markets > Catalogs, add your file, preview the import and click Import CSV.
Your file needs a few required columns and formats. Check these before uploading:
- Catalog Title identifies which catalog each row belongs to.
- Option1 Name and Option1 Value are required for every product, using “Title” and “Default Title” for products without variants.
- SKU or Handle identifies the product, with the handle used when there’s no SKU.
- Fixed Price must be filled in, and leaving both Fixed Price and Compare At blank removes the product’s fixed price.
- Published set to TRUE or FALSE includes or excludes a product from the catalog.
- Quantity rules and volume pricing can include a minimum, maximum and increment, plus up to 10 quantity and price breaks.
Enter prices as plain numbers without currency symbols. Catalog limits depend on your plan: Basic, Grow and Advanced stores can have up to 3 active B2B catalogs, while Shopify Plus allows unlimited catalogs assigned directly to company locations.
Import Historical B2B Orders
Shopify’s admin can’t import orders from a CSV file, so historical B2B orders need the Admin API or an import app. Developers use the orderCreate mutation with both a company location and a customer to associate, which creates a B2B order linked to that location.
Before importing, the company, location, contact and products must already exist, and the contact needs a role at that location. If you don’t specify prices, Shopify uses current variant prices, so include the original prices to keep your order history accurate.
Let B2B Buyers Import Their Own Orders
Some wholesale buyers prefer to upload a list of SKUs and quantities instead of browsing your store. Shopify doesn’t offer this natively, but apps such as Swift B2B Cart CSV Upload let buyers build a cart from a CSV file or pasted SKUs.
Other apps turn purchase orders into draft orders for review. Choose a tool that matches how your buyers already send orders, whether that’s spreadsheets, emailed purchase orders or quick order forms.
Common Shopify B2B Import Problems
Many B2B import errors come from missing records or mismatched identifiers. Watch for these:
- Missing dependencies. Orders or catalog prices fail because products, companies, locations or contacts weren’t created first.
- Duplicate names. Companies or locations with the same name get matched to the wrong record without external IDs.
- Missing contact roles. B2B orders can’t attach to a contact who has no role at the location.
- Catalog file errors. Required columns, such as Catalog Title or Option1 fields, are missing or prices include currency symbols.
- Plan limits. Catalogs exceed the number allowed on your plan, or can’t be assigned to locations without Shopify Plus.
- Wrong order prices. Historical orders imported without prices show today’s prices instead of what buyers actually paid.
Conclusion
A Shopify B2B import works best when you follow the dependencies: products first, then companies, locations and contacts, then catalogs and finally historical orders. Using the right tool for each data type and checking identifiers along the way gives your wholesale buyers accurate pricing and a smooth ordering experience from day one. We hope this guide helps you plan your Shopify B2B import with confidence. If you need to prepare or update product data in bulk, you can explore Bulkflow.



