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.
NOTE: If you are using this tool for the first time, shoot us a message at [email protected] or through our in-app chat widget. We're happy to review your CSV to ensure it's properly formatted and assist with any processing questions to help ensure your orders are created properly.
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.
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.
Confirming the Purchasing Customer's Details Before Uploading
Since the gift orders you're creating are most often going to be purchased by one customer (ie: your corporate client,) you'll want to ensure that the following information is added to the purchasing customer's account in Offset Commerce prior to uploading the CSV.
Name
Birthday (important for compliance)
The Credit Card they'll be using (if they're paying for the orders with a card)
Uploading Your CSV
As mentioned at the head of the article, if you haven't used this tool before we recommend you send us a copy of your CSV to review prior to uploading so we can review it and help ensure it's properly formatted. Once you have your CSV ready to go, click the "Import Orders" button and upload your CSV.
The list of uploaded orders that you will then see on the Bulk Orders 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.
Spot Checking Uploaded Orders Before Processing
Before you process a large number of orders you should validate that the information you uploaded was interpreted by our import tool as expected.
The "View" button shows next to every uploaded draft order, and clicking it allows you to inspect the order details of a specific order prior to processing it. Pick an order and check that the details match what you have in your CSV.
You can edit a specific order from this screen (changes are saved automatically,) or simply review it to validate that the information you input on your CSV translated as expected. Clicking the "Save for later" button will return you to the Bulk Orders page. You can complete the individual order from there as well, if you'd like to process individually. If there is an issue affecting several of your orders, you will probably want to delete them all, fix the issue in your CSV, and re-upload.
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!
After selecting the option, the next screen will allow you to choose the customer's credit card and process the orders. After processing, you will see individual orders for each order in the Orders tab, and an additional order for the client for the full amount.
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 use Process Selected Orders Using a Single Credit Card Transaction, you will first need to create a Gift Card Product (if you haven't already,) and you'll need to select it in Settings > More > POS, Admin, & Bulk so the Bulk Orders tool knows which one to use. 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.
Accepting Payment Offline using the Payment Exempt Field in the CSV
If you are receiving payment outside of Offset for your Corporate Orders, you can still use the Bulk Orders tool to import them.
In the CSV you can define if you'd like an order to be payment exempt. If you set all orders as exempt and select "Process Each Order Individually" the orders will be created as The tool will references the payment_id and payment_exempt fields on a per order basis.
Marking Payment Exempt Orders as Paid
The only catch to using the payment_exempt field in the CSV and processing individually, 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 once you receive payment. You can do this in bulk from the Orders page by filtering and selecting the orders you wish to update, and selecting the "Bulk Edit" option.
Processing Orders with Individual Credit Card Transactions
If you opt to create separate credit card transactions for each order, and all are being placed by the same customer 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.
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.
We recommend using ascending numbers for IDs (1, 2, 3, etc.) so you can easily identify how many total orders are in the CSV and later validate the total that were imported.
NOTE: The ID only serves the purpose of telling the importer which rows belong together in the same order on your CSV. It isn't saved. If you then choose to process the uploaded 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. Enter 0.00 for free shipping. |
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 | If you would like to send individual order emails to the purchasing customer, the options are: | See column B | Default if blank is "none" |






