Shipit DocumentationShipit Documentation
Home
API
Webhooks
Shipit Delivery Checkout
Shipit Return and Exchange
Shopify Delivery Checkout
  • English
  • Suomi
  • Svenska
  • Eesti
  • Dansk
  • Norsk
Home
API
Webhooks
Shipit Delivery Checkout
Shipit Return and Exchange
Shopify Delivery Checkout
  • English
  • Suomi
  • Svenska
  • Eesti
  • Dansk
  • Norsk
  • Shipit Delivery Checkout

    • Shipit Delivery Checkout
  • Getting Started

    • What is Delivery Checkout?
    • How It All Fits Together
    • Your First Shipping Option
    • Testing Your Checkout Setup
  • Core Concepts

    • Checkout Setups
    • Shipping Options
    • Rules
    • Pricing
    • Presentation Settings
    • Pickup Points
    • Parcels
    • Fulfillment Settings
    • Translations
    • A/B Experiments
  • Reference

    • Checkout Setup Field Reference
    • Shipping Option Field Reference
    • Parcel Preset Field Reference
    • Rule Condition Reference
    • Rule Action Reference
  • Examples

    • Show free shipping when the order total is over €100
    • Charge more for heavier orders
    • Offer cash on delivery for a specific country
    • Stop showing express delivery after 2pm and on weekends
    • Route orders to the right warehouse
    • Show a free shipping badge during weekend sales
    • Add a pickup point shipping option
    • Show different shipping options to B2B and B2C customers
    • Bulk-import shipping options from a CSV file
    • Discount shipping for loyalty members
    • Show different carriers per destination country
    • Restrict same-day delivery to a specific postcode area
    • A/B test two checkout messaging variants
    • Offer a return shipment option at checkout
    • Hide parcel lockers when an order is too heavy
  • Glossary

    • Glossary

What you'll build

A batch of shipping options created in one import step from a spreadsheet, saving you from clicking through the creation form dozens of times. After import, each option exists in Shipit and you can open them individually to add rules, translations, pickup settings, and pricing tiers.

Before you start

  • You have a list of the shipping options you want to create, including their names, carrier service codes, and base prices.
  • You have the delivery_checkout_configuration_id for the configuration these options belong to. Find this in the URL when you open the configuration in Shipit (e.g., /configurations/abc-123 → the ID is abc-123).
  • You have a spreadsheet application (Excel, Google Sheets, Numbers) to prepare the CSV.

Step 1 — Export the template CSV

Navigate to Delivery Checkout → Shipping Options and click Import from CSV. In the import dialog, click Download Template. This gives you a CSV with the correct column headers pre-filled and one example row.

Open the template in your spreadsheet application. Do not rename or reorder the columns.

Step 2 — Fill in the CSV

The importable columns are:

ColumnRequiredDescription
nameYesCustomer-facing name shown in checkout
descriptionNoShort description shown below the name
service_codeYesUnique machine-readable slug (e.g., home-delivery-standard)
base_priceYesNumeric price, no currency symbol (e.g., 4.90)
currencyYesISO 4217 code (e.g., EUR, SEK, NOK)
enabledNotrue or false — whether the method appears as an option in checkout
hiddenNotrue or false — whether the method is hidden by default (requires an enable_method rule to surface it)
delivery_checkout_configuration_idYesThe ID of the parent configuration

Fill in one row per shipping option. For 20+ options, you can often start from an export of your carrier's rate card and transform it into this format using spreadsheet formulas.

Warning: Importing with enabled = true makes options live immediately. Any customer who reaches checkout after the import is completed will see these new options. Use enabled = false if you want to review and configure each option before going live.

Step 3 — Validate your CSV before importing

Before uploading, check for these common mistakes:

  • Duplicate service codes — each service_code must be unique within a configuration. If two rows share a code, only the first will import successfully.
  • Missing required fields — any row with an empty name, service_code, base_price, currency, or delivery_checkout_configuration_id will fail.
  • Wrong configuration ID — all rows must reference a valid, existing configuration ID. A typo here will cause every row in the file to fail.
  • Incorrect currency format — use three-letter ISO codes (EUR, not € or Euro).

Step 4 — Import the CSV

In the Import from CSV dialog, click Choose File and select your prepared CSV. Click Import.

Shipit processes the file row by row. Import results appear immediately:

ResultMeaning
✓ CreatedThe row was imported and the option was created
✗ Error: duplicate service_codeA service code already exists in this configuration
✗ Error: invalid currencyThe currency code is not a recognised ISO 4217 code
✗ Error: configuration not foundThe configuration ID does not exist or you do not have access

Successful rows are created immediately even if other rows in the same file fail. You do not need to fix errors before the successful rows take effect.

Step 5 — Configure options individually after import

CSV import creates the skeleton of each option. The following settings cannot be imported via CSV and must be configured manually on each option:

  • Rules — pricing rules, show/hide conditions, and discount actions
  • Translations — locale-specific names and descriptions
  • Pickup settings — pickup point types, listing mode, and map configuration
  • Pricing tiers — weight-based price bands
  • Carrier add-ons — extra services like insurance or doorbell instructions
  • Parcel presets — box size and weight defaults

Open each imported option from the shipping options list and complete its configuration.

Tip: If many of your options share the same rule setup (for example, all standard options hide outside your delivery region), configure one option completely first, then use the Duplicate function to clone it and adjust only the name, service code, and price for each variant. This is faster than configuring rules manually on every imported option.

How it works

The CSV import endpoint validates each row independently against the same rules as the manual creation form. Valid rows are written to the database in the order they appear in the file. Because rows are processed independently, a malformed row does not block valid rows — you get partial success rather than an all-or-nothing import.

Testing it

  1. Import a small test file (3–5 rows) with enabled = false before importing your full list.
  2. Verify the options appear in the shipping options list with the correct names and prices.
  3. Open one imported option and confirm the configuration ID is correct and the base price matches your spreadsheet.
  4. Once satisfied, import the full file or update the test options to enabled = true via bulk edit.
Last Updated: 6/13/26, 7:25 AM
Contributors: Brian Faust
Prev
Show different shipping options to B2B and B2C customers
Next
Discount shipping for loyalty members