> For the complete documentation index, see [llms.txt](https://docs.rishvi.co.uk/linnworks/llms.txt).
> Use it to discover all available pages before exploring further.

# Bottle Split Packaging

Automatically split wine orders into packaging groups based on bottle sizes, distribute ice packs, create manual package splits, and assign processing identifiers for fulfilment workflows.

Wine orders often contain a mixture of bottle sizes that require different packaging rules. Manually determining package quantities, magnum allocations, and ice pack distribution can be time-consuming and prone to error.

The *Bottle Split Packaging* macro automates packaging decisions by analysing order items, normalising bottle sizes, grouping wine products into package configurations, distributing ice packs, and creating manual packaging splits within Linnworks.

This macro supports standard wine bottles, magnums, large-format bottles, and miscellaneous items such as ice packs and insurance products.

> Automatically create packaging splits based on bottle size rules and fulfilment requirements.

## **Configure the Macro**

Once the app is installed, you need to create a macro configuration so the system knows which inventory properties should be used to identify bottle sizes, wine products, and miscellaneous packaging items.

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

### **Steps to Configure**

<Tabs>
  <Tab title="Step 1">
    **Go to Apps > Macro Configuration and click + Add new configuration.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285456384-4fsc202syr3-pasted-image-1779285450937.png?fm=auto&auto=compress%2Cformat" width="1368" height="568" alt="" priority={true} fetchPriority="high" />
  </Tab>

  <Tab title="Step 2">
    **Select the Bottle Split Packaging macro and click Create Configuration.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781502955164-bbxbwwmjtr-configurefdv.png?fm=auto&auto=compress%2Cformat" width="1026" height="456" alt="" priority={true} fetchPriority="high" />

    This creates a new configuration where you can define the required parameter values.
  </Tab>

  <Tab title="Step 3">
    **In the Macro Configuration screen, enter the configuration name and required parameters.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503021873-yfldtu1emkr-pasted-image-1781503018950.png?fm=auto&auto=compress%2Cformat" width="676" height="519" alt="" />

    Configure the following parameters:

    - **SizeEpName**

    - **ProductTypeEpName**

    - **ItemNameList**

    Example values:

    ```text
    SizeEpName = Bottle Size
    ProductTypeEpName = Product Type
    ItemNameList = ICEPACK,INSURANCE
    ```

    <Callout kind="warning" collapsed="false">
      **Note:** Parameter names must match the inventory extended property names configured in Linnworks.
    </Callout>
  </Tab>

  <Tab title="Step 4">
    **Make sure to enable the macro to continue with the Rule Engine configuration.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503052578-n96wqhsuowl-pasted-image-1781503050601.png?fm=auto&auto=compress%2Cformat" width="1261" height="27" alt="" />

    <Callout kind="warning" collapsed="false">
      **Note:** If the macro is not enabled, it will not appear in the **Action** value list when setting up the rule.
    </Callout>
  </Tab>

  <Tab title="Step 5">
    **Go to Orders > Rules engine and click + Add new rule.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285543693-nb7ps4lbpej-pasted-image-1779285537548.png?fm=auto&auto=compress%2Cformat" width="1536" height="680" alt="" />
  </Tab>

  <Tab title="Step 6">
    **Enter the rule name and click Create.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503076740-iytkic6bu9r-pasted-image-1781503075867.png?fm=auto&auto=compress%2Cformat" width="1261" height="27" alt="" />
  </Tab>

  <Tab title="Step 7">
    **Click Add new, select Condition, configure the condition as required, and save it.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1779285593103-7g3wujkoz0k-pasted-image-1779285588410.png?fm=auto&auto=compress%2Cformat" width="1536" height="358" alt="" />

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503117922-x8qqwadhsgp-pasted-image-1781503116839.png?fm=auto&auto=compress%2Cformat" width="601" height="341" alt="" style="width: 601px; height: auto; cursor: pointer; margin: 0 auto;" />

    Use conditions that target orders requiring automatic bottle packaging and package splitting.
  </Tab>

  <Tab title="Step 8">
    **Add the macro action and click Save.**

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503325600-x4dq6sigdk-pasted-image-1781503324772.png?fm=auto&auto=compress%2Cformat" width="609" height="130" alt="" style="width: 609px; height: auto; cursor: pointer; margin: 0 auto;" />

    <Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503247429-r5sjj3mes2i-SaveAtyhtyhction.png?fm=auto&auto=compress%2Cformat" width="609" height="251" alt="" style="width: 609px; height: auto; cursor: pointer; margin: 0 auto;" />

    In the **Add action** window:

    - Enter the **Action name**

      Example:

      ```text
      Bottle Split Packaging
      ```

    - Set **Action type** to:

      ```text
      Execute a macro
      ```

    - In **Action value**, select:

      ```text
      Bottle Split Packaging
      ```

    - Click **Save**

    <Callout kind="warning" collapsed="false">
      **Note:** If the macro is not enabled, it will not appear in the **Action** value list.
    </Callout>
  </Tab>

  <Tab title="Step 9">
    **Review the saved rule setup and save the rule.**

<Image src="https://blob-cdn.documentation.ai/org-87fb0951-1e07-4f5d-a887-8a7327c7777d/doc-98941d2e-0032-424f-8414-3034ac5fa6ee/1781503347114-yjolh1t66sk-pasted-image-1781503345926.png?fm=auto&auto=compress%2Cformat" alt="" />

    - Verify the condition and action are connected correctly

    - Click **Save** in the bottom-right corner to save the rule
  </Tab>
</Tabs>

## **Required Parameters**

<Card title="SizeEpName" horizontal="false" target="_self">
  Defines the inventory extended property that stores the bottle size value.
</Card>

<Card title="ProductTypeEpName" horizontal="false" target="_self">
  Defines the inventory extended property used to identify wine products.
</Card>

<Card title="ItemNameList" horizontal="false" target="_self">
  Comma-separated list of miscellaneous SKUs such as ice packs or insurance items that require special handling.
</Card>

## **Supported Bottle Sizes**

The macro normalises bottle size values before processing.

| Input Examples                    | Normalized Size |
| --------------------------------- | --------------- |
| 750ml, 720ml, 500ml, 375ml, 250ml | 750ml           |
| 1.5L, 1500ml                      | 1.5l            |
| 3L, 3000ml                        | 3l              |
| 6L, 6000ml                        | 6l              |

## **Packaging Rules**

### Standard Bottle Family

The following bottle sizes are treated as standard bottle products:

- 750ml

- 720ml

- 500ml

- 375ml

- 250ml

Packaging rule:

- Maximum 12 bottles per package

### Magnum Bottles

The following sizes are treated as magnums:

- 1.5L

Packaging rule:

- Maximum 6 bottles per package

- Maximum 4 bottles per package when ice packs are present

### Large Format Bottles

The following sizes are treated as large format bottles:

- 3L

- 6L

Packaging rule:

- One bottle per package

## **Key Benefits**

<Columns cols="2">
  <Card title="Automatic Package Creation" icon="alarm-check" horizontal="false" target="_self">
    Automatically creates packaging groups based on bottle size rules.
  </Card>

  <Card title="Bottle Size Normalisation" icon="boxes" horizontal="false" target="_self">
    Handles multiple bottle size formats and converts them into standard packaging groups.
  </Card>

  <Card title="Magnum Handling" icon="bell" horizontal="false" target="_self">
    Applies dedicated packaging limits for magnum bottles.
  </Card>

  <Card title="Ice Pack Distribution" icon="bar-chart-big-icon" horizontal="false" target="_self">
    Distributes available ice packs across packages automatically.
  </Card>

  <Card title="Manual Packaging Split" icon="lucide-fast-forward" horizontal="false" target="_self">
    Creates manual package splits directly within Linnworks.
  </Card>

  <Card title="Order Identification" icon="lucide-message-circle-x" horizontal="false" target="_self">
    Automatically assigns processing identifiers after completion.
  </Card>
</Columns>

## **How It Works**

<Steps>
  <Step title="Step 1" title-type="p">
    The macro starts execution and logs the process start.
  </Step>

  <Step title="Step 2" title-type="p">
    Each selected order is retrieved from Linnworks.
  </Step>

  <Step title="Step 3" title-type="p">
    Order items are grouped by SKU and quantities are consolidated.
  </Step>

  <Step title="Step 4" title-type="p">
    The macro retrieves extended properties for each inventory item.
  </Step>

  <Step title="Step 5" title-type="p">
    Bottle size values are normalised into supported packaging groups.
  </Step>

  <Step title="Step 6" title-type="p">
    Wine products are categorised into bottle size groups.
  </Step>

  <Step title="Step 7" title-type="p">
    Ice pack and miscellaneous SKUs are separated from wine products.
  </Step>

  <Step title="Step 8" title-type="p">
    The macro creates package groups according to bottle size rules.
  </Step>

  <Step title="Step 9" title-type="p">
    Ice packs are distributed across eligible packages.
  </Step>

  <Step title="Step 10" title-type="p">
    Manual packaging split data is generated and sent to Linnworks.
  </Step>

  <Step title="Step 11" title-type="p">
    Processed orders receive a completion identifier.
  </Step>

  <Step title="Step 12" title-type="p">
    The macro logs completion and finishes execution.
  </Step>
</Steps>

## **Ice Pack Distribution Logic**

When ice pack items exist in the order:

1. Magnum packages receive ice packs first.

2. Remaining ice packs are distributed across standard bottle packages.

3. Any remaining ice packs are added to the final package.

4. Other miscellaneous items such as insurance products are added to the first package.

## **Order Identifiers**

The macro automatically assigns one of the following identifiers:

<Card title="Split Done" horizontal="false" target="_self">
  Assigned when packaging is successfully created and processed.
</Card>

<Card title="Manual Cubing Needed" horizontal="false" target="_self">
  Assigned when uncategorised items or unsupported packaging situations require manual review.
</Card>

## **Usage of App**

<Card title="Bottle Size Detection" horizontal="false" target="_self">
  Uses inventory extended properties to identify bottle sizes.
</Card>

<Card title="Wine Identification" horizontal="false" target="_self">
  Processes only items identified as Wine through the configured product type property.
</Card>

<Card title="Package Generation" horizontal="false" target="_self">
  Creates package groups based on configured bottle size rules.
</Card>

<Card title="Ice Pack Allocation" horizontal="false" target="_self">
  Distributes ice packs according to package priority rules.
</Card>

<Card title="Packaging Update" horizontal="false" target="_self">
  Creates manual package splits using Linnworks packaging APIs.
</Card>

<Card title="Execution Logging" horizontal="false" target="_self">
  Records start, validation, package creation, and completion information.
</Card>

## **Key Points to Remember**

- Bottle sizes are normalised before processing

- 750ml family bottles are packed in groups of 12

- 1.5L bottles are packed separately using magnum rules

- 3L and 6L bottles receive individual packages

- Ice packs are distributed automatically

- Miscellaneous items can be added to package groups

- Packaging splits are manually overwritten in Linnworks

- Unsupported items may trigger manual review

- Orders can receive processing identifiers automatically

<Callout kind="warning" collapsed="false">
  **Important:** Ensure the bottle size extended property contains valid and consistent values. Incorrect bottle size values may result in unexpected package allocation.
</Callout>

<Callout kind="warning" collapsed="false">
  **Important:** Review the ItemNameList configuration carefully to ensure miscellaneous items such as ice packs and insurance products are identified correctly.
</Callout>

## **What You Can Expect**

- Orders are automatically split into fulfilment packages

- Bottle size rules are applied consistently

- Ice packs are distributed automatically

- Large format bottles receive dedicated packaging

- Manual packaging splits are created in Linnworks

- Processing identifiers are assigned automatically

- Execution details are recorded in macro logs

## **Overall Impact**

This macro helps automate wine order packaging by applying bottle size rules, handling magnums and large-format bottles, distributing ice packs, and creating package splits automatically. This reduces manual packaging effort, improves consistency, and supports fulfilment efficiency.

## **Troubleshooting**

<Card title="No packages created" horizontal="false" target="_self">
  Verify that wine items contain valid bottle size and product type extended properties.
</Card>

<Card title="Order marked for manual review" horizontal="false" target="_self">
  Review uncategorised items or unsupported bottle sizes that require manual packaging decisions.
</Card>

<Card title="Ice packs missing from packages" horizontal="false" target="_self">
  Confirm that ice pack SKUs are included within the configured ItemNameList value.
</Card>

<Card title="Unexpected package quantities" horizontal="false" target="_self">
  Verify bottle size values and ensure they normalize into supported packaging groups.
</Card>

<Card title="Identifier not assigned" horizontal="false" target="_self">
  Review macro logs and confirm that packaging was successfully created.
</Card>

<Card title="Packaging split not updated" horizontal="false" target="_self">
  Verify that the order packaging calculation data is available and that the order can be updated.
</Card>

## **Summary**

The *Bottle Split Packaging* macro automatically analyses wine orders, normalises bottle sizes, creates package groups, distributes ice packs, performs manual packaging splits, and assigns processing identifiers. It helps standardise packaging workflows while reducing manual fulfilment effort.
