Overview
The app's company import tool is designed to create and update Companies, Company Locations, and Contacts directly in Shopify. This tool is helpful in cases where you have external B2B entity data that needs to be bulk imported into Shopify.
The import tool can be accessed from the Onboard B2B app under App settings and tools > Company import.
The Import companies page allows you to start a new import, check the status of an import in progress, and see a history of previous imports. Please note that the app only allows one active import at a time.
Run an import
In the Onboard B2B app, go to App settings and tools
Under Advanced tools, select Company import
Click Start a new import
Click Download .csv template to get a file with all of the accepted column headers
Fill in the template using the column descriptions below, and save it as a .csv file
Click Upload .csv file and choose your file
Click Start import
While the import is running, the Company import card shows how many rows have been imported so far. You can click Cancel import to stop it.
Import results
When the import finishes, a banner shows the result:
Import completed - All rows were imported.
Import completed with errors - Some rows could not be imported. Click Download report to see which rows failed and why.
Import failed - Too many rows failed (more than 1 in 5), so the import was stopped. Click Download error report to see what went wrong.
A row that fails is skipped, and the rest of the file continues to import. Rows that were imported before an import was stopped or cancelled stay in Shopify, so fix the errors and import only the rows that failed.
The staff member who started the import also receives a summary email when it finishes. Past imports are listed under Import history.
How rows are matched to existing records
Each row can create new records or update existing ones:
Companies are matched by
companyId, thenexternalId, thencompanyName. If no company matches, a new one is created.Locations are matched within the company by
locationId, thenlocationExternalId, thenlocationName. If no location matches, a new one is created.Contacts are matched by
contactEmail. If no customer has that email, a new customer is created. A customer who is already a contact at a different company can't be added, and that row will fail.
To add several locations or contacts to the same company, use one row for each location or contact, and repeat the same company identifier (companyName, externalId, or companyId) on each row.
Preparing a CSV file for import
Company columns
Column | Description |
| This is the automatically generated ID from Shopify. This should be left blank for new company creation, but may be used if a company already exists and you are creating company locations and/or contacts. |
| Name of the company. This is required when creating a company and may be used as a unique identifier. If you have two companies in Shopify with the same name, you will need to use |
| The external ID for the company. Shopify requires that each external ID is unique for each company. No spaces are allowed in the external ID. This ID may come from a separate external system like a CRM or other e-commerce platform. |
| This is the date and time when the company became a customer. This column can be used when creating a company, but will be ignored for any updates. Use the format |
| Free text field for internal notes about the company |
Company location columns
You can have a max of 10,000 locations per company
A company will always have at least one location. If you create a company without a location, a default location with the same name as the company will be created by Shopify
Column | Description |
| This is the automatically generated ID from Shopify. This should be left blank for new company location creation, but may be used if a location already exists and you are creating contacts. |
| Name of the location. This is required when creating a company and may be used as a unique identifier. If you have two locations with the same name within a company, you must include |
| The external ID for the location. Shopify requires that each external ID is unique for each location. No spaces are allowed in the external ID. This ID may come from a separate external system like a CRM or other e-commerce platform. |
| The phone number associated with the location. Phone numbers are validated by Shopify. Use the format |
| Free text field for notes about the location |
| The tax registration ID for this location |
| Location-specific tax setting in the store. If set to |
| Available tax exemptions for the location if |
| Preferred locale at this specific location. If blank, will inherit the locale of the shop. |
| Indicates whether the buyer will checkout to Draft Order or will checkout directly to Order. Will be |
| Payment terms setting for the location. Must be one of the allowed values: |
| A whole number between 1-99 that indicates the amount of deposit that needs to be paid on orders with given payment terms. |
| Semi-colon-separated list of Catalog names that are assigned to the company location. This column will not remove catalogs from company locations and will only add these catalogs if currently missing from a company location. Example: |
| Also known as “Allow customers to ship to any address”. Allows for locations to change the shipping address on an order. Allowed values: |
Company location address columns
Column | Description |
| Mark the billing address to be the same as the shipping address. If set to |
| Location address identity of the recipient. Example: |
| Location address first name |
| Location address last name |
| Location address phone. Phone numbers are validated by Shopify. Use the E.164 format |
| Location address 1. This field value is required to be defined for any address operations. |
| Location address 2 |
| Location address city |
| Location address zip/postal code |
| Location address two-letter province/zone code. Allowed values: Two-letter ISO 3166-2 Province Code |
| Required for any address operations. Location address two-letter country code. Allowed values: Two-letter ISO 3166 Country Code |
Contact columns
Column | Description |
| This is the automatically generated ID from Shopify |
| Required for any contact operations. The email address for the customer assigned to the company location. |
| Indicates if the contact should be marked as the primary contact for the location. Allowed values: |
| Required on every row that includes contact details. The customer’s role at the company location. Allowed values: |
| Customer first name |
| Customer last name |
| Customer job title |
General file requirements
Must be under 20MB
Must be a .csv
Must have correct headers
Start from the Download .csv template file so your headers match exactly
Any additional or misspelled headers will prevent the file from uploading
Works best with UTF-8 encoding
Exclude empty columns and rows

