Skip to main content

Inventory Allocation - SKU Based Channel Allocation

SKU Based Channel Allocation lets you define per-product inventory sync rules for each sales channel. Set a static quantity or use a formula with reserve, percentage, min, and max values to control exactly how your inventory is synced per SKU.

SKU Based Channel Allocation gives users fine-grained control over how much inventory is synced to each sales channel at the individual product (SKU) level.

Prerequisites

  • The Sync Inventory toggle must be set to Yes on the Store Setup.

  • Inventory Sync Method must be set to Available. This feature does not apply to On Hand sync methods.

  • The product (SKU) must already exist in Logiwa.

  • At least one Sales Channel Setup must exist.


Setting Up SKU Channel Based Allocation from the Product Screen

1. Navigate to Products and open the product you want to configure.

2. Go to the Advanced tab.

3. Locate the Inventory Channel Allocation section and click Add Allocation.

4. In the modal, select the Sales Channel Setup, then Warehouse from the dropdown.

5. The Current Sellable Qty for that SKU and warehouse is displayed as a reference.

6. Choose the Allocation Method:

  • Use Static Qty - Enter a fixed quantity. This exact value will be synced on every run.

  • Add Scenarios -Enter the fields below to use formula-based calculation:

    • Reserve Qty - Quantity to hold back before the percentage is applied.

    • Allocation % - Percentage of the base stock to sync.

    • Minimum Qty - Floor for the synced quantity.

    • Maximum Qty - Ceiling for the synced quantity.

7. Click Save. The new allocation row appears in the table with columns: Channel Setup, Warehouse, Static Qty, Reserve Qty, Allocation %, Synced Qty.

8. Repeat for additional channel setups as needed.

9. Click Save on the Product drawer to commit all changes.

Note: Each combination of Client + SKU + Sales Channel Setup + Warehouse can have only one allocation rule. Duplicate combinations are not allowed.


How it Works

The system processes each SKU-level rule through the following calculation steps in order:

Step 1 - Static Quantity Override

If a Static Quantity is defined on the rule, the process short-circuits here:

  • SyncedQuantity = StaticQuantity

  • Min, Max, Reserve Qty, and Allocation % are all bypassed.

  • The static value is pushed to the store on every scheduled sync run.

  • StaticQuantity = 0 is valid - it sends 0 to the channel.

If no Static Quantity is set, the process continues to Step 2.


Step 2 - Base Stock Calculation

The base stock is derived from the live sellable inventory:

  • If Reserve Quantity is set → BaseStock = ActualSellableInventory − ReserveQuantity

  • If no Reserve Quantity → BaseStock = ActualSellableInventory


Step 3 - Percentage Calculation

  • If Allocation % is set and greater than 0 → FinalStock = BaseStock × (Allocation % / 100)

  • Otherwise → FinalStock = BaseStock

⚠️ Values above 100% are accepted and treated as intentional oversell. The calculated value flows through even if it exceeds the actual sellable inventory.


Step 4 - Negative Clamp

  • If FinalStock < 0FinalStock = 0

After this step, FinalStock is guaranteed to be non-negative.


Step 5 - Maximum Quantity Cap

  • If Maximum Quantity is set AND FinalStock > MaximumQuantityFinalStock = MaximumQuantity

  • Otherwise → FinalStock is unchanged.


Step 6 - Minimum Quantity Check

This step applies only if a Minimum Quantity is configured:

  • If FinalStock > ActualSellableInventory

    • Minimum Quantity is ignored - SyncedQuantity = FinalStock

  • If ActualSellableInventory < MinimumQuantity

    • SyncedQuantity = ActualSellableInventory

  • FinalStock < MinimumQuantity

    • SyncedQuantity = MinimumQuantity

  • If FinalStock ≥ MinimumQuantity

    • SyncedQuantity = FinalStock

  • If no Minimum Quantity is set → SyncedQuantity = FinalStock.


Step 7 - Rounding & Push

  • SyncedQuantity = Floor(SyncedQuantity) - always rounds down (e.g., 3.7 → 3, 4.2 → 4) to prevent overselling.

  • The final SyncedQuantity is pushed to the channel.


⚠️ Important - Setting a SKU Based Channel Allocation rule does not trigger an Inventory Sync.

For the configured rule to take effect on a store, a Sellable Quantity change must occur first (e.g., Receiving, Inventory Adjustment, Shipment Order Creation). This will trigger the Inventory Sync service, which will then apply the rule and push the calculated quantity to the channel.

If you want to immediately sync a newly configured SKU Based Channel Allocation rule to a channel without waiting for a quantity change, navigate to Inventory → Product Listings → Product Listings tab, find the relevant listing(s) for the channel setup, select them, and click Sync. In the confirmation pop-up, click Sync Inventory.


Bulk Import via Excel

To configure SKU Based Channel Allocation rules in bulk across many products:

  1. Navigate to Bulk Import/UpdateImport.

  2. Click Sku Based Inventory Allocation.

  1. Download the Excel template.

  2. Fill in the required fields: Client, SKU, Store, Warehouse, and at least one quantity field (Static Qty, Reserve Qty, Allocation %, Min Qty, or Max Qty).

  3. Upload the completed file.

Import Behavior:

  • If no rule exists for the Client + SKU + Store + Warehouse combination, a new allocation row is created.

  • If a rule already exists for that combination, the existing row is updated.

  • Deletion of allocation rules cannot be done via Excel import.

Validation Rules:

  • Client, SKU, Store, and Warehouse are all mandatory fields. Rows with empty values in any of these fields are rejected.

  • All referenced entities (Client, SKU, Store, Warehouse) must already exist in the system.

  • At least one quantity field must be provided per row.


Via Open API

SKU-level allocation rules can also be managed programmatically through the Logiwa Open API using the standard Product endpoints (create, update, bulk create, bulk update, patch). The inventorySyncRulesList field on the product payload carries the allocation rule data.

⚠️ Verify API field names and versioning against live API documentation before publishing.


Priority: SKU Rule vs. Channel Rule

When an Inventory Sync runs for a product, the system applies this priority order:

Priority

Rule Type

When Applied

1 (Highest)

SKU Based Channel Allocation rule

A rule exists for this SKU + Channel Setup + Warehouse combination

2

Channel Based Allocation %

No SKU rule exists; falls back to channel-level percentage

3 (Standard)

No rule

100% of available inventory is synced


Scenario Examples

Channel Setup

Warehouse

Allocation Method

Sellable Qty

Reserve Qty

Allocation %

Min Qty

Max Qty

Synced Qty

Shopify-US

Main WH

Static = 50

200

50

Shopify-US

Main WH

Static = 0

100

0

Amazon-US

Main WH

Reserve=20, %=50

100

20

50%

40

Amazon-CA

Main WH

Reserve=3

%=33

100

3

33%

32 (Floor)

WooCommerce-UK

EU WH

Reserve=80, %=100

50

80

100%

0

Shopify-DE

EU WH

%=50, Min=60

100

0

50%

60

60 (bumped to Min)

Shopify-FR

EU WH

%=50, Max=30

100

0

50%

30

30 (capped at Max)

Shopify-IT

EU WH

%=160, Min=80

100

0

160%

80

160 (oversell, Min ignored)


Important Considerations

  • SKU Rule Priority: SKU-level rules always override channel-level allocation percentage rules when both exist for the same channel setup.

  • Data Validation: Quantity fields accept only numeric values. Negative values are not allowed. Allocation % accepts decimal values (e.g., 33.33).

  • Deletion: Allocation rules can be deleted individually from the Product screen using the kebab (⋯) menu on the allocation row. Deletion via Excel import is not supported.

  • No Sync Method, No Rule: If the Sync Inventory toggle is disabled or the Inventory Sync Method is changed to On Hand, SKU-level allocation rules will not be applied during sync.

Did this answer your question?