There is no XML option in the Shopify admin’s order export. The export produces CSV, and that’s the only shape on offer. If a warehouse management system, ERP, EDI partner, or 3PL has handed you an XML spec and asked for a daily file, you need something between Shopify and them.
XML requirements almost always arrive from an established system that isn’t going to change for you. So the practical question isn’t whether you can produce XML — it’s how precisely you can match their schema, and how little ongoing effort that takes.
Why converting the CSV yourself is a trap
The obvious first move is to export the CSV and convert it. A script, a spreadsheet macro, an online converter. It usually produces something that looks like XML on the first attempt and fails validation on the second, because a partner’s schema is more particular than a flat file can express:
- Nesting. Orders contain line items. A CSV has repeated flat rows, so the hierarchy has to be reconstructed by grouping — and grouping logic is where converters go wrong.
- Element names and namespaces are dictated by them, not by Shopify’s column headers.
- Attributes vs. elements. Whether a value belongs in
<order id="1712">or<order><id>1712</id>is their call, and a converter has no way to guess. - Escaping and encoding. An ampersand in a customer name or an accent in an address will break a naive converter.
- Required-but-empty elements. Many schemas want the tag present even when there’s no value. Flat-file converters typically omit it.
The approaches that actually work
Build against the Admin API
Query orders, render them into the required XML, deliver the file. Full control, and the right answer when the schema is genuinely exotic or the transformation pulls in data from outside Shopify. The cost is that you now own it: API version upgrades, retries, alerting, and someone to fix it when the partner changes their spec.
Use an app that outputs XML
Exportify lists XML alongside Excel, CSV, and delimited text as an output format on every plan (see Choose a file format). You choose the fields, their names, and their order in the template builder, and the file comes out as XML rather than as a flat file you then convert.
Where a partner’s schema needs shaping beyond field selection — specific element naming, nesting, conditional or derived values — our support team builds that structure with you on the Standard and Advanced plans. That’s deliberately a conversation rather than a self-service form, because matching someone else’s schema is detail work and it’s faster if we do it than if you guess at it.
Automating the delivery
Producing the file is usually only half the requirement — the other half is that it lands on their server on a schedule. Exportify’s Advanced plan adds scheduled SFTP delivery, so the XML is generated and pushed without anyone touching it. The SFTP guide covers that setup and the alternatives in more detail.
A sample file that already validates on their end; the XSD or schema documentation; the exact root and element names; the encoding and whether they want an XML declaration; and the file-name convention plus what happens if the same name arrives twice. Having a known-good sample to compare against turns this from a negotiation into a diff.
A realistic sequence
- Get their sample file and schema documentation in writing.
- Build a template that reproduces the sample as closely as the field set allows.
- Send a real export from real orders and have them validate it — not eyeball it, validate it.
- Iterate on the structure until it passes on their side.
- Only then put it on a schedule, and agree how you’ll both notice a missed drop.
If you have a spec in hand and want to know whether Exportify can produce it before you commit, send it to our support team — a straight answer costs you nothing, and the 15-day trial means you can test the real output on real orders.