When a customer places an order in Shopify, it flows into Evolution as a project. Depending on your settings, Evolution can also raise the invoice and record the payment automatically. As you pick and dispatch the project, fulfilment status is pushed back to Shopify so the shopper sees their order progress.
The order lifecycle
- A customer places an order in Shopify.
- Shopify notifies Evolution and the order is stored as a pending order.
- Evolution immediately tries to process it: it matches the customer to an account, creates a project, and (if enabled) raises the invoice and payment.
- If everything resolves, the project is created and the order is marked processed.
- If the customer can't be matched (or something needs attention), the order stays in the Unprocessed Orders list on the plugin page for you to handle.
- You pick and dispatch the project in Evolution.
- Each dispatch you commit becomes a shipment on the Shopify order, with its tracking and, later, its delivery.
Order Processing settings
These settings on the plugin page tell Evolution how to build the project for an incoming order. Set them before you go live.
| Setting | What it does |
|---|---|
| Project Category for Incoming Orders | Category used for the created project |
| Project Estimator for Incoming Orders | Staff member set as estimator |
| Project Manager for Incoming Orders | Staff member set as project manager |
| Branch for Incoming Orders | Branch the project is created against |
| Status for Incoming Orders | Active or On-hold |
| Inventory Category for Incoming Orders Items not in Evolution ERP | Category used to auto-create any ordered item not found in Evolution |
| Order Metafields to Project Notes | Copies chosen order metafields onto the project as notes (see below) |
Each setting falls back to a sensible default if left unset, but configuring them keeps orders landing where you expect.

Order metafields as project notes
If your store collects extra details on an order — delivery instructions, a gate code, a site contact — and stores them in order metafields, Evolution can copy them onto the project as notes, so the team sees them without opening Shopify.
Setting up a mapping
- In the Shopify plugin settings, find Order Metafields to Project Notes under Order Processing.
- Click Add Mapping.
- Choose the Shopify Order Metafield. The list shows every order metafield defined in your store.
- Choose the Note Category the value should be filed under: Accounts, Delivery, General, Manufacturing or Service.
Each change saves straight away. Add as many mappings as you need; the same metafield can be mapped to more than one category. Click the bin icon to remove a mapping.
What happens when an order comes in
- When the project is created from the order, each mapped metafield becomes a note on the project, in the chosen category, headed with the metafield's name.
- Metafields that are empty on the order are skipped, so no blank notes are added.
- The note is recorded against the project's estimator (the Project Estimator for Incoming Orders setting).
- This applies to orders that arrive after the mapping is set up. Existing projects are not updated.
Invoicing, Payment & Shipping settings
Invoicing
- Create Invoice on Project Creation — raise an invoice automatically.
- Invoice Type — the quote/invoice type to use.
- Invoice Account Type — the account the invoice posts to (if left as none, each item's own income account is used).
- Create Payment Record — keep payments in step between Shopify and Evolution: money paid in Shopify is recorded on the invoice, and money received in Evolution is sent back to the Shopify order. See Payments in both directions.
Payment
- Default Payment Type — Cash, Cheque, Credit Card, Money Order, Direct Deposit or Direct Debit.
- Default Payment To — the account the payment is banked to.
Shipping
- Create Shipping Line Item on Project — add the Shopify shipping charge as a line on the project.
- Shipping Inventory Item — the inventory item used for that shipping line.
Payments in both directions
Not every order is paid at checkout. A customer may pay by bank deposit, an account customer may pay on terms, or a deposit may be taken now and the rest later. With Create Payment Record on, Evolution keeps the amount paid the same on both sides, whichever side the money arrives on. It compares how much has been paid, not the payment method.
Paid in Shopify
- When an order is paid at checkout, or marked paid or part paid in Shopify later, the difference is recorded as a payment on the project’s invoice. It uses your Default Payment Type and Default Payment To account, and is sent to Xero like any other payment.
- When the order is paid in full, the invoice balance is settled, so a few cents of rounding between the two totals doesn’t leave the invoice open. A bigger difference, such as freight added in Evolution, stays on the invoice.
- If the payment arrives before the project or invoice has been created, it is recorded once they exist.
Paid in Evolution
- Payments entered on the invoice, payments brought in from Xero (automatically or with Sync from Xero) and credit notes applied to the invoice are all sent to the Shopify order.
- When the invoice is fully paid, the order is marked Paid in Shopify.
- A paid order never closes the project. Close it the usual way when your own close-out steps are done.
- Part payments are only accepted by Shopify from Shopify Plus stores. On a Plus store each part payment is added to the order as a manual payment named Evolution – <payment type>. On other plans a note is added to the project and the order is marked paid once the invoice is fully paid.
- Payments made on the invoice screen and credit notes applied there are sent straight away. Payments imported by the scheduled Xero sync are sent within about 15 minutes.
Refunds and cancellations need a person
Evolution never takes money off either side by itself. If an order is refunded or cancelled in Shopify, no payment is added, reversed or sent. Instead the project is flagged for invoicing review (Shopify Payment Check) with a note saying what Shopify shows and what Evolution has recorded. Adjust the invoice or the Shopify order yourself.
If Shopify can’t be updated (for example, the store is offline or the connection has expired), the project notes the problem and Evolution keeps trying. After repeated failures the project is flagged for review.
How the customer is matched
Evolution matches the Shopify customer to an account using the customer mapping strategy (Shopify Customer ID → email → name → phone numbers → create a new account). The strategy is described in full on the Customers page. The order records which method matched, shown as Customer Mapping Used on the order information screen.
Unprocessed Orders & manual override
Orders that couldn't be processed automatically appear in the Unprocessed Orders table on the plugin page, showing the order date, number, Shopify ID, confirmation number, customer, email and phone, with a link to view the order in Shopify.

To process one manually:
- Use the Override Evo Customer search on the row to pick the correct Evolution account.
- Choose Create Project.
The project (and, if enabled, invoice and payment) is then created against the account you chose, and the mapping method is recorded as Override.
How order lines map to items
Each line on the Shopify order is matched to an Evolution inventory item by, in order:
- the Shopify variant / product it was published from,
- the item SKU, then
- the item code.
If a line still can't be matched, a new inventory item is created under the Inventory Category for Incoming Orders Items not in Evolution ERP so the order can still be fulfilled. Shopify's shipping charge is added as its own line when the shipping setting is enabled.
What an auto-created item looks like
An item created this way is not a bare placeholder. It inherits the same defaults from that category as an item added by hand — the Income/Sales, Purchase/Expense and Inventory Asset accounts, the sell and buy tax codes, the stocked flag, sub-category, costing method, on-cost and on-cost type, minimum markup and maximum discount — and it brings across Shopify's cost price for that variant where the store holds one. That is what lets the resulting invoice post and commit on its own.
The item is checked as it is created. If everything needed is there it is created clean and can be used immediately. If something is missing the item is still created — an order is never refused because a product record was incomplete — but it is flagged for review, and its Item Notes list exactly what could not be filled in. Fix those and clear the review flag. The Inventory Import Validation report lists everything still flagged, and the item's history records whether it passed or what it failed on.
GST on order lines
The tax code on each invoice line is resolved in a defined order, and whichever step supplied it is recorded against the invoice — so a missing tax code shows up instead of quietly costing you the GST:
- an order Shopify flagged as tax free stays tax free;
- a company not registered for GST is never charged tax — and if Shopify charged some anyway, that discrepancy is recorded against the invoice;
- otherwise the item's own sell tax code;
- then a tax code matching the rate Shopify actually charged;
- then your company's default sell tax code.
Whether your company charges GST at all comes from Company Setup. Where your store quotes GST-inclusive prices, the price stored on an auto-created item has the GST divided back out, because Evolution holds sell prices excluding tax.
Fulfilment back to Shopify
Each dispatch you commit in Evolution becomes one shipment (a fulfilment) on the Shopify order. It carries exactly the items and quantities on that dispatch, plus its tracking. If an order goes out in three dispatches, the customer sees three shipments, each with its own tracking number and delivery date.
| In Evolution | What happens in Shopify |
|---|---|
| Dispatch saved as a draft or Delivery Pending | Nothing yet. Shipping orders only change when the dispatch is committed. |
| Dispatch committed | A shipment is created with the dispatch's items, quantities and tracking (con note, carrier and tracking link). Shopify emails the customer. |
| Con note added or changed after commit | The tracking on that dispatch's shipment is updated, and the customer is emailed. |
| Goods in transit (Shipping hub stage, or the con note's ship date has arrived) | The shipment shows In transit. |
| Proof of delivery: the dispatch is signed, or marked delivered in the Shipping hub | The shipment shows Delivered, dated when it was delivered. |
| Dispatch un-committed | Its shipment is cancelled, so Shopify can fulfil those items again. |
Pick-up orders
For a pick-up order, saving a dispatch (even as a draft) marks its items Ready for Pickup in Shopify, and the customer is told they can collect. If the dispatch covers only some of the order, Shopify splits the order first, so only those items show as ready. Committing the dispatch records the items as picked up. Shopify has no "not ready" step, so deleting a draft after its items were marked ready leaves them marked ready in Shopify.
The order's status in Evolution
- Shipping orders show Shipped once a dispatch has been sent to Shopify, and Delivered once every item has proof of delivery.
- Pick-up orders show Ready for Collection while a dispatch's items are marked ready, and Collected once every item is on a committed dispatch.
Good to know
- Only the order's own lines are sent. Freight, labour and anything else added to the project in Evolution stays in Evolution.
- Shopify counts whole units, so a part quantity (for example 2.5) is sent as the whole units (2).
- If an item was already fulfilled in Shopify by hand, there is nothing left to send. The dispatch's history says so and the dispatch is left alone.
- If Shopify refuses a shipment, the reason is written to the dispatch's history and it is tried again in about 10 minutes, or as soon as you change the dispatch.
- Commits made in the customer portal and changes made in the Shipping hub reach Shopify within 15 minutes, through the Shopify scheduled sync.
- Every shipment, tracking update, delivery and cancellation is logged on the dispatch, with the Shopify order number.
Payment status is reflected too: an order paid at checkout shows as Prepaid/Paid. Payments themselves are covered in Payments in both directions.

The Order Information screen
Each project created from a Shopify order has an Order Information view. It is read-only and shows the order number, confirmation number, status, the customer mapping used, links to the order in Shopify, payment information (subtotal, discounts, total due, amount paid, balance), the ordered items, and shipping details. The Shipments table lists each Shopify shipment with the dispatch it was sent for (linked), its items, tracking, Shopify status, and the dates it was fulfilled and delivered. A shipment made directly in Shopify shows with no dispatch. A reference table for the order pipeline is also included. Administrators can open the raw order data for troubleshooting.
