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: | See column B | The default is "none" |