Rule MacroRIS-RM-2281 – Shopify Customisation to Notes

Shopify Customisation to Notes

Automatically extract order note details, line item SKU/title information, and usable customization properties from Shopify order XML into Linnworks order notes. Add Despatch Date as an order extended property when missing.

Overview

Shopify Customisation to Notes is an automated XML data extraction solution for Linnworks. It reads selected Shopify order XML records and copies useful order notes, line item details, and customisation properties into a readable Linnworks order note.

Shopify XML can contain important fulfilment information such as personalised text, engraving details, product options, and other line item properties. Without automation, warehouse and fulfilment teams may need to inspect the XML manually to find these values.

The macro also checks whether the order already contains a Despatch Date extended property. When the property is missing and the order has a Despatch By Date, the macro creates the extended property automatically.

Orders already containing a note created by this macro are skipped to prevent duplicate extracted notes.

Keep Shopify order notes and customisation details visible in Linnworks while reducing manual XML checks during fulfilment.

Who Should Use Shopify Customisation to Notes

Key Features

How Shopify Customisation to Notes Works

Shopify Customisation to Notes runs through a defined sequence every time it processes one or more selected orders. The macro is triggered through the Linnworks Rule Engine and receives the relevant order IDs automatically.

Step 1: Order retrieval

The macro reads each order ID supplied through the OrderIds parameter and retrieves the corresponding Linnworks order details.

Step 2: Despatch Date validation

The macro checks whether the order already contains a Despatch Date extended property.

Step 3: Despatch Date creation

If the property is missing and the order has a Despatch By Date, the macro creates the Despatch Date order extended property using the format yyyy MMM dd.

Step 4: Duplicate-processing check

Existing order notes are checked for a note created by Add Note From ShopifyXMLDataExtract macro. Previously processed orders are skipped.

Step 5: XML retrieval and parsing

The macro retrieves all available XML records attached to the order and parses each record where possible.

Step 6: Order note extraction

The XML order note is checked and included only when it matches the expected order number pattern.

Step 7: Line item processing

Each LineItem node is read, and the SKU and title are added to the generated note.

Step 8: Property filtering

Line item properties are evaluated, and empty, image-upload, Customily, hidden, and system-style values are excluded.

Step 9: Order note creation

When at least one line item contains a Properties node, the macro creates a new non-internal Linnworks order note containing the extracted details.

Step 10: Existing note handling

Previous order notes are marked as internal, except where an existing note matches the extracted XML order note.

Configure the Macro

Once the app is installed, you need to create a macro configuration so the system knows which macro to run and allows it to be selected in the Rule Engine.

This setup can be adjusted anytime based on your operational requirements.

Steps to Configure

Go to Apps > Macro Configuration and click + Add new configuration.

Key Benefits

Manually inspecting Shopify order XML can slow down fulfilment and increase the chance of missing important product customisation details. Shopify Customisation to Notes makes this information directly available within the Linnworks order.

Reduce manual XML checks, improve customisation visibility, and make important Shopify order details easier to access during fulfilment.

Usage of App

Shopify Customisation to Notes is triggered through the Linnworks Rule Engine to extract Shopify XML details into order notes automatically.

Execution

Trigger via Rule Engine

Call the Shopify Customization To Notes macro through the Rule Engine with the required OrderIds. The xmlnodelist and dynamicFields parameters are present in the macro signature but are not used by the current logic.

Outcome

When the macro runs against an order, it:

Checks Despatch Date

Determines whether the order already contains a Despatch Date extended property and creates it when required.

Checks previous processing

Reviews existing order notes to determine whether the macro has already processed the order.

Reads Shopify XML

Retrieves and parses the XML records associated with the selected Linnworks order.

Extracts qualifying order details

Reads the matching XML order note, line item SKUs, titles, and usable property values.

Filters unwanted properties

Removes empty, image-upload, Customily, hidden, and system-style values from the extracted content.

Creates a Linnworks order note

Saves the extracted details as a non-internal note created by Add Note From ShopifyXMLDataExtract macro.

Input Parameters

Shopify Customisation to Notes contains the following parameters:

ParameterRequiredUsed by Current LogicDescription
OrderIdsYesYesThe Linnworks order IDs to process. Passed through the Rule Engine.
xmlnodelistPresentNoExists in the macro signature but is not used in the current logic.
dynamicFieldsPresentNoExists in the macro signature but is not used in the current logic.

The following behaviour is built into the macro:

SettingDescription
Processed note creatorAdd Note From ShopifyXMLDataExtract macro
Generated note visibilityThe newly created extracted note is saved with Internal = false.
Despatch Date formatThe extended property is formatted as yyyy MMM dd.
Line item search pathThe macro searches using //Order/LineItems/LineItem.
Order note creation conditionA generated note is created only when at least one line item contains a Properties node.
Existing note handlingPrevious notes are marked internal unless a note matches the extracted XML order note.

Property Values Skipped by the Macro

The macro excludes a property when its value is empty or its name starts with one of the following values:

Excluded Property Prefix
_customily
_Image Upload
_customily-production-url
**IMPORTANT
_Upload Image
_has_gpo
Image
Photo Upload

This filtering helps keep the final Linnworks order note focused on usable fulfilment and customisation information.

Extracted Note Format

When valid XML data is found, the macro builds the note using the following structure:

ContentFormat
XML order noteIncluded when it matches the expected order number pattern
Line itemSKU - Title
Customisation propertyName: Value

For example, when the XML contains:

XML ValueExample
Order Note206-4618037-1259539
SKUCUSTOM-MUG-001
TitlePersonalised Mug
PropertyName: John
PropertyMessage: Happy Birthday

The created Linnworks order note contains the order note, line item identification, and qualifying property values in a readable format.

Best Practices

Use targeted Rule Engine conditions and verify sample Shopify XML structures before enabling the macro across a large order volume.

FAQ

How is Shopify Customisation to Notes triggered?

The macro is triggered through the Linnworks Rule Engine. Matching order IDs are supplied automatically through the OrderIds parameter.

Does the macro require custom configuration values?

The xmlnodelist and dynamicFields parameters exist in the macro signature but are not used by the current logic. The macro processes the order IDs supplied through the Rule Engine.

What information does the macro extract?

The macro can extract a qualifying XML order note, line item SKUs, line item titles, and usable customisation property names and values.

Does the macro process all XML records?

Yes. The documented behaviour reads and parses each available XML record attached to the order.

When is the XML order note included?

The XML order note is included only when it matches the expected order number pattern.

How are line items displayed in the generated note?

Each line item is added using the format SKU - Title.

How are customisation properties displayed?

Qualifying properties are added using the format Name: Value.

Are all Shopify properties included?

No. Empty values and properties beginning with excluded image-upload, Customily, hidden, and system-style prefixes are skipped.

When is an extracted note created?

A note is created only when at least one line item contains a Properties node.

Is the generated order note internal?

No. The newly generated extracted note is saved with Internal = false.

How does the macro prevent duplicate notes?

It checks whether an existing order note was created by Add Note From ShopifyXMLDataExtract macro. If found, the order is skipped.

What happens to existing order notes?

Existing notes are marked as internal, except where an existing note matches the extracted XML order note.

When is Despatch Date added?

The macro adds the Despatch Date extended property when it is missing and the order has a Despatch By Date.

What format is used for Despatch Date?

The value is formatted as yyyy MMM dd.

What happens if the XML cannot be parsed?

The parsing error is logged, and the macro continues processing where possible.

What happens when there are no LineItem nodes?

No line item details can be extracted from that XML structure.

What happens when no line item has Properties?

The macro does not create the extracted order note.

Please review these pages to understand how data is handled and the terms governing the use of this application.

Summary

Shopify Customisation to Notes automates the extraction of useful Shopify XML information into Linnworks order notes.

Once connected to the Rule Engine, the macro checks Despatch Date, prevents duplicate processing, reads the order XML, extracts qualifying order notes and line item customisation details, filters unwanted properties, and creates a readable non-internal order note.

For orders that do not produce the expected note, review the Rule Engine and macro logs, confirm that the order has valid XML, and verify that at least one line item contains a Properties node with qualifying values.