Skip to main content
Bulk Orders Feature

Importing and processing orders from a CSV

Jon Patch avatar
Written by Jon Patch
Updated this week

Offset's Bulk Orders feature allows you to upload a CSV of new orders into Offset directly, which can be paid for individually or in a single batch credit card transaction. The tool is available platform-wide and expedites the process of inputting a large number of orders.

The most common use-case for this feature is Corporate Gifting, where a client is purchasing a large number of Gift Orders.

Building your CSV

From the Gifting page (Orders > Bulk) click the red "Import Orders" button to download the most up-to-date CSV template to fill out. This template may evolve over time, so we always recommend downloading a fresh one.

The upload process is pretty quick, but building out the CSV with all of the correct order and recipient details takes some manual effort.

Note: Make sure you're using the exact column headers and accepted formatting for the information you add to the CSV. See the Bulk Orders CSV Template Guide at the bottom of the doc for helpful notes and explanation of each column.

Uploading your CSV

Once you have your CSV ready to go, click the "Import Orders" button and upload your CSV.

The uploaded orders that you will then see on the Gifting page are draft orders. They can be freely deleted or edited prior to processing.

IMPORTANT: Unprocessed, uploaded orders are only drafts, but they DO hold inventory.

"Resume" a specific order

This button shows next to every uploaded draft order, and allows you to inspect the order details of a specific order prior to processing it. You can edit the order from this screen, or simply review it out to validate that the information you input on your CSV translated as expected. You can complete the individual order from there, or go back and process it in bulk with other orders.

IMPORTANT: If you click "resume" to inspect an order that you'd like to process in the batch, make sure you click the back button on your browser and don't click the "Save For Later" button.


Choose an Action: Payment Options

One Credit Card Transaction for Multiple Orders

The Gifting tool allows for the ability to create a single credit card transaction for a group of uploaded orders!

Under the hood, this is accomplished by charging the client for a customized-amount Gift Card, which is automatically applied to pay for each of the orders.

IMPORTANT: in order to Process Selected Orders Using a Single Credit Card Transaction, you will first need to create a properly configured Gift Card Product (if you haven't already.) See here for instructions.

Demo of Single Credit Card Transaction Workflow

Curious as to why and how Gift Cards are leveraged for our Bulk Orders tool? Check out the following demo video which covers the entire workflow of applying a single credit card transaction to multiple orders.

Bulk Offline Payment Approach

If you need to collect payment outside of the Offset platform for orders, whether through ACH transfer or Check, we recommend creating a Gift Card Code for this.

IMPORTANT: in order to Process Existing Orders Using an Existing Gift Card Code, you will first need to create a properly configured Gift Card Product (if you haven't already.) See here for instructions.

Once you've uploaded and reviewed all your orders, select the orders you wish to process and then click "Process Existing Orders Using an Existing Gift Card Code."

You'll see a popup with the total summed amount of all the orders:

Leaving this window open, open another tab and navigate to the Gift Card page in Offset (Incentives > Gift Card) click the + New Gift Card button and create a Gift Card for the amount under the client's name. This button essentially provides a way to create a Gift Card out of thin air, not tethered to a specific order.

From there, copy the Gift Card code and paste it into the modal to pay for the orders with the Gift Card.

Processing Each Order Individually

This allows for you to manage the payment of each order individually in the CSV itself. The tool will references the payment_id and payment_exempt fields on a per order basis.

Most often this would mean creating a separate credit card transaction for every order, but you can also choose to upload them as Offline / Pay Later using this approach.

Creating Multiple Credit Card Transactions

If you opt to create separate transactions for each order, please have your client contact their credit card company within 24 hours of the individual charges being batch-processed, so the card doesn't get shut down mid-batch. The behavior of creating several identical back-to-back orders looks suspicious to credit card companies.

Payment Exempt Limitations

The only downside to using the payment_exempt field in the CSV and processing individually (compared to the Gift Card approach outlined above,) is that once the orders are processed as Offline / Pay Later, they will still show as unpaid. You'll need to manually update them as paid, or reach out to our support team for assistance.


Bulk Orders CSV Template Guide

General Structure

When you're building your CSV, each SKU in an order will have its own row. If an order contains twelve bottles of one SKU, that order will have only one row. But if the order contains twelve different SKUs, that order will have twelve rows. The ID field tells the importer which rows belong together in the same order.

NOTE: The ID only serves the purpose of telling the importer which rows belong together in the same order. It isn't saved afterwards. If you then choose to process the orders, they will receive a proper order ID.

Here's an example of how this might look in your CSV (highlights only included here to clarify visually how they are grouped.)

Notes For Properly Formatting your CSV

  • green = Required field

  • white = Optional

FIELD

NOTES

FORMAT ACCEPTED

IF LEFT BLANK

id

An ID you provide in the CSV that groups the rows (SKUs) of the orders. See the "General Structure" section above for more detail.

Alpha-numeric

customer_id

The ID of the customer who is purchasing the orders (not the recipient)

order_type

Defaults to Gift

sale_credit

Sales Agent. Should match spelling and case.

shipping_email

shipping_phone

shipping_first_name

shipping_last_name

shipping_birthday

YYYY-MM-DD

shipping_company

shipping_address

shipping_address_2

shipping_city

shipping_state

shipping_zip

shipping_country

US

sku

One SKU per row (see "general structure" notes above.)

quantity

Number of bottles of the SKU in the order

price

Price you want to charge for the SKU

22.49

Default product price

requested_ship_date

YYYY-MM-DD

gift_note

special_instructions

inventory_location

Must match exactly, spelling and case

Default inventory location

method_id

Shipping Method ID number, not name

6

override_shipping

Shipping amount to charge for the individual order

10.53

Default shipping price

payment_id

The payment ID is located in the customer payment method export

If processing individually, the default card is used. If processing in bulk payment, this field is ignored.

payment_exempt

See above article for offline payment strategies.

Yes/No

insurance

Include Shipping Insurance, if configured. Retail Only.

Yes/No

batch_code

Custom feature

NA

order_tag

Allows for a tag to be attached to the order once it is processed.

override_discount

A dollar amount discount for the order. This overrides any group discount the customer might have, or adds a discount if the customer has none.

If it is set to 0, then no discount is applied to the order.

5

Whatever the default order discount behavior based on the customer (purchaser) groups applies

email_template

the options are:
"receipt" (Standard Email Receipt)
"receipt-hospitality" (Hospitality Email Receipt)
"none" (No Email Sent)

See column B

The default is "none"

Did this answer your question?