[{"data":1,"prerenderedAt":-1,"prefetchLinks":49},["ShallowReactive",2],{"blog-post-EN-multi-warehouse-inventory-management-setup":3,"blog-feed-en-inventory-":27},{"id":4,"locale":5,"slug":6,"translationKey":7,"title":8,"description":9,"category":10,"tags":11,"authorName":17,"coverAccent":18,"readingMinutes":19,"published":20,"publishedAt":21,"body":22,"translations":23},"2157eb0c-e30d-47fa-88aa-3e496b99f64a","EN","multi-warehouse-inventory-management-setup","coklu-depo-stok-yonetimi-nasil-kurulur","Multi-Warehouse Inventory Management Setup","A step-by-step walkthrough of warehouse setup, order routing, location-based stock, reservations, and count sessions, showing exactly which panel screen handles each part.","inventory",[12,13,14,15,16],"multi-warehouse","inventory management","warehouse operations","count sessions","stock reservations","Daras Team","cream",5,true,"2026-08-28T00:00:00.000Z","The right moment to move from a single warehouse to multiple warehouses is when you can no longer answer \"how much stock do we have where\" from the panel — only from a spreadsheet. Multi-warehouse inventory management has four parts: defining warehouses and setting up order routing rules, entering stock on a location-by-location basis, reserving stock during temporary states like cart and checkout, and regularly reconciling system stock against a physical count. This article walks through all four parts in order, showing exactly which screen handles each step.\n\n## Why do you need multiple warehouses?\n\nAs a store running on a single warehouse grows, it typically runs into two problems: keeping stock in warehouses or in-store locations across different cities becomes necessary to cut delivery times, and it gets harder to track how much of the stock held in one place has already been allocated to which order. A multi-warehouse structure lets you see stock at each location separately and routes orders to the most suitable warehouse automatically — you no longer have to pick the warehouse by hand.\n\n## How do you add a warehouse, and which one gets the order?\n\nWhen you add a new warehouse, three pieces of information matter: a short, unique **code** (e.g. IST-MERKEZ), a **priority** value, and the **postal codes** assigned to that warehouse. When more than one warehouse matches the same region, the one with the lower priority number is tried first; postal codes are the matching criterion that decides which warehouse an order falls into.\n\nOnce this setup is in place, the system automatically routes every incoming order to the best-matching warehouse based on priority and postal code — this is called distributed order management (DOM). Before you add a warehouse, there is also a routing preview where you can enter a sample cart and see which warehouse it would go to and which line items can't be fulfilled; testing this before adding a new warehouse or postal code keeps you from getting surprised in production.\n\nTemporarily deactivating a warehouse removes it from order routing but does not delete its stock records — when the warehouse is reactivated, it picks up right where it left off.\n\n## How do you enter location-based stock?\n\nEvery product's total stock is the sum of the stock held across the warehouses it belongs to. To add stock for a product at a specific warehouse — or to update the existing quantity — you select the product, pick the warehouse, and enter the amount. In the inventory list, every product row shows a color-coded distribution bar for how much stock sits in which warehouse, so you don't need a separate lookup to break down \"40 units in total\" by city.\n\nThe warehouse performance view lets you compare SKU count, total stock, reserved quantity, and the number of zero-stock SKUs across warehouses — a warehouse that keeps accumulating zero-stock SKUs is an early sign of a supply-cycle problem at that location.\n\n## What is stock reservation, and why does it matter?\n\nWhen a customer adds a product to their cart, while checkout is waiting for payment, or when a draft order is created, that stock needs to be temporarily blocked so it can't be sold to another customer — this is called a reservation. Reservations originate from carts, checkout, draft orders, in-store sales (POS), and outbound warehouse-to-warehouse transfers.\n\nEvery reservation has a lifetime (TTL); when it expires, the stock is automatically released and becomes sellable again. You can list active reservations and, as needed, extend their lifetime, mark them as consumed once they're tied to an order, or release them manually. There's also a separate bulk-cleanup action for reservations that have expired but still show as \"active\" in the system.\n\n## How do you set up a count session (physical inventory count)?\n\nThe stock count in the system and the physical count in the warehouse drift apart over time — breakage, loss, and counting errors all play a part. To reconcile the two on a regular basis, you open a count session: you specify the target warehouse, the count type (full count or cycle count), and, optionally, the expected number of SKUs.\n\nA count session's lifecycle moves through these steps:\n\n1. **Planned** — the session has been created; counting hasn't started yet.\n2. **In progress** — counting is actively happening; for every SKU, the system quantity and the counted quantity are logged line by line.\n3. **In review** — the count is complete, and discrepancies are being reviewed.\n4. **Approved** — discrepancies are approved; stock corrections are applied automatically. This step cannot be undone.\n\nThe shrink amount identified in an approved count session is also tracked separately — seeing how much shrink a given warehouse had over a given period lets you catch a process or security problem at that location early. You can also cancel a session if something unexpected comes up; a cancelled session makes no changes to stock at all.\n\n## How do transfers between warehouses work?\n\nWhen you move stock from one warehouse to another, the outgoing warehouse's stock is decreased with a \"Transfer\" reason, and the incoming warehouse's stock is increased with the same reason. Like every other stock adjustment (manual correction, purchase, return, damage), these movements are visible per SKU in the movement history — so you can always trace back why a product's stock changed.\n\nWhile a transfer is in progress, the stock sits in an intermediate state between leaving the source warehouse and arriving at the destination; this is why, especially on long-distance transfers (between different cities, for example), it's wrong to treat stock from an incomplete transfer as \"sellable at both warehouses\" — stock deducted from the source warehouse should not be available for sale anywhere until it appears at the destination.\n\n## Tracking products and variants with barcodes\n\nWhen you're running multiple warehouses, assigning barcodes to every sellable unit — products, variants, bundles, gift cards — makes it much faster to find the right item during both counting and transfers. From the barcode mapping screen, you can assign a barcode to each unit and print labels; this is especially useful when a product has several variants (color, size), since it cuts the risk of marking the wrong variant during a count or transfer.\n\n## Frequently asked questions\n\n**If I delete a warehouse, are past orders affected?**\nNo. When a warehouse is deleted, its stock records lose their warehouse link, but past orders are not affected — only the order-routing rules that targeted that warehouse stop working.\n\n**If a reservation expires, does the customer lose the item in their cart?**\nWhen a reservation's TTL expires, the stock is released and becomes available to another customer — which is why, on carts with a long checkout window or on high-demand products, it's important to know the stock can go to someone else.\n\n**Can I still back out before approving a count session?**\nYes — a session can be edited or cancelled while it's \"In review\" or \"Planned\"; the stock correction is only applied, irreversibly, at the \"Approve\" step.\n\n**Which warehouse is tried first?**\nThe warehouse with the lower priority number is tried first; if that warehouse has no stock or its postal codes don't match, the system moves on to the next warehouse.\n\n**What happens if no warehouse can fulfill an order?**\nThe routing preview shows this separately as \"unfulfillable items\" — you see exactly which product couldn't be fulfilled and by how much. To avoid running into this live, test the preview before adding a new postal code region.\n\n**Where does the shrink amount from a count session go?**\nWhen a count is approved, the surplus or shortage quantities identified are applied as stock corrections, and their monetary value (shrink) is stored on the session record; tracking this figure per warehouse over time lets you spot early which location's loss rate is rising.\n\n## Where is this managed in Daras?\n\nIn Daras, warehouse setup and order routing are managed from the **Warehouses** page, location-based stock and stock movements from the **Inventory** page, temporary holds from the **Stock reservations** page, and physical counts from the **Count sessions** page — together, these four screens build a complete multi-warehouse operation without any coding.",[24,25],{"locale":5,"slug":6},{"locale":26,"slug":7},"TR",{"items":28,"total":31,"nextCursor":32,"categories":33},[29],{"id":4,"locale":5,"slug":6,"translationKey":7,"title":8,"description":9,"category":10,"tags":30,"authorName":17,"coverAccent":18,"readingMinutes":19,"published":20,"publishedAt":21},[12,13,14,15,16],1,null,[34,37,40,42,43,45,47],{"key":35,"count":36},"marketplace",3,{"key":38,"count":39},"invoicing",2,{"key":41,"count":31},"growth",{"key":10,"count":31},{"key":44,"count":31},"orders",{"key":46,"count":31},"shipping",{"key":48,"count":31},"storefront",[50,55],{"rel":51,"href":52,"as":53,"type":54,"crossorigin":20},"preload","\u002F_daras-fonts\u002Finter-latin-400-normal.woff2","font","font\u002Fwoff2",{"rel":51,"href":56,"as":53,"type":54,"crossorigin":20},"\u002F_daras-fonts\u002Finter-latin-ext-400-normal.woff2"]