Orders5 min read
Export Shopify Orders With Line Item Properties to CSV or XLSX
Step by step: export Shopify orders to CSV or XLSX with engraving text, gift messages and upload links in their own columns, one column per property.
In this guide
If you sell engraved or personalised products, you have probably run Shopify’s order export and found that the engraving text, gift message or upload link is not in the file. Those details are line item properties, and the standard order CSV has no column for them. So someone opens every order and copies the text by hand.
This guide shows how to set up an export where each line item property sits in its own column, next to the item it belongs to, and how to check the file before it goes to your workshop.
Why the standard order CSV leaves out line item properties
Line item properties are the extra fields a customer fills in on a product page: engraving text, a font choice, a gift message, a file upload. In a theme they come from form inputs named properties[Engraving], properties[Gift message] and so on, as Shopify’s theme docs describe. Shopify saves them on the order’s line item, and you can see them on the order page.
You can export orders to a CSV file from the Orders page in Shopify admin. That file has line item columns such as Lineitem name, Lineitem quantity and Lineitem SKU, plus Notes and Note Attributes for the whole order. It has no column for line item properties.
Properties also belong to one item, not to the order. An order with three engraved items carries three engraving texts, and each has to stay with its own item. Two items of the same variant with different text are kept as separate line items, so they need two rows.
Check whether your gift message is a property or a note attribute
Some themes save the gift message on the item, as a line item property. Others save it for the whole order, as the order note or a note attribute (also called a cart attribute). Order notes and note attributes already appear in the standard order CSV. A gift message saved on the item does not. Open one recent order and look at where the message is shown before you plan your file.
What a good production export looks like
Decide on the layout before you export:
- One row per line item, so each engraved or personalised product is its own row and the order number repeats on every row of that order.
- One column per property: engraving text, name, font, gift message, upload link.
- Order basics beside them: order number, product, variant, SKU and quantity, plus the shipping address if the same file goes to packing.
- The right file type: CSV to import into another tool or a design program’s data merge, XLSX for people who work in Excel.
If you are unsure which layout you need, we compare them in one row per line item vs one row per order.
Step-by-step: export orders with line item properties
Step 1: Use the same property names everywhere
Each distinct property name becomes its own column, so Engraving, Engraving Text and engraving text end up in three columns. Pick one name per field and use it on every product that offers that option. If a product options app creates the fields, check the name it saves on the order, not only the label customers see.
Step 2: Choose the orders for this batch
Export only the orders you are about to make or ship, for example paid, unfulfilled orders from the last few days, or orders with a production tag. Tagging orders as they go to production makes the next batch easy to find; our guide to bulk fulfilling and tagging orders covers tagging in bulk.
Step 3: Add one column per property
Add a column for each property your team needs, such as engraving text, font, gift message and upload link, and leave out the rest. Properties whose names start with an underscore, such as _preview_id, are hidden from customers at checkout, as the Liquid line_item reference notes. Apps use them for their own data, and most production sheets do not need them.
Keep customer emails and prices out of a file that goes to an outside printer.
Step 4: Check the columns before you send the file
Open the file and check it once before it goes to production:
- Match each text to its item. On orders with several personalised items, check that each row carries its own engraving text and gift message.
- Look for a column you did not expect. An extra column usually means a property name is spelled two ways. Fix the name on the product form (step 1).
- Look for empty cells on products that require text, and for text too long for your engraving area or card.
- Open the upload links and save the artwork in your job folder, named by order number.
Step 5: Download as CSV or XLSX and hand it over
Save the file with the batch date and pass it to your workshop, fulfilment team or bookkeeper. If a customer asks why their item reads the way it does, you can show exactly what came in with the order.
Pitfalls with CSV and Excel
- Accents and emoji look broken. The CSV opened with the wrong encoding. Import it through Excel’s data import, or use an XLSX file.
- Everything lands in one column. Many European Excel setups expect a semicolon instead of a comma. An XLSX file avoids this.
- A gift message spills into new rows. A message typed over several lines should stay in one cell. If it spills, the file was not quoted correctly.
- Orders change after export. If you edit an order after exporting, export it again or note the change on the sheet.
FAQ
Can I export line item properties from Shopify without an app?
Not from the standard order CSV, which has no line item property columns. You can read the properties on each order page and copy them by hand, or use an app or custom report that reads them from your orders.
Why does one order show up as several rows?
Because the file has one row per line item. Each item keeps its own engraving text, and the order number repeats so you can still group by order.
Why is my gift message in the standard export but not my engraving text?
Your gift message is probably saved as the order note or a note attribute, which the standard order CSV includes. Your engraving text is saved on the item as a line item property, which it does not include.
For more on getting personalised details to a workshop, see exporting orders with engraving text and gift messages.
Try Columna: Order Export & Sheets
Columna: Order Export & Sheets exports Shopify orders to CSV or XLSX with line-item properties (engraving text, gift messages and upload links), each in its own column named Property: <key>. The file is processed in your browser. It is made for shops that hand orders to production, fulfilment or accounting.
Ready to stop copying engraving text by hand? Try Columna: Order Export & Sheets on the Shopify App Store and export your next batch of personalised orders.