Skip to content50% off₹750/user/month ₹1,500
SimpleERP

Guide · Inventory

Stock transfers between warehouses, godowns and branches

Goods move from the godown to the shop every week, and if nobody records it, both locations show the wrong stock by Saturday.

Updated · 9 min read

In short

A stock transfer moves units from one of your warehouses to another at average cost, so each location's stock changes but the business's total value does not. In SimpleERP, a posted transfer writes the out and in movements together.

What is a stock transfer between warehouses?

A stock transfer is a document that takes a quantity of a product out of one of your own locations and puts the same quantity into another. Nothing is bought or sold. The goods simply change address, and the record follows them.

A warehouse here means any place you keep stock and want to count separately: a godown, a shop floor, a factory store, a branch, a van or a project site. Each one carries its own quantity of every product, and a transfer is the only clean way to move quantity between them.

  • Two sides, one document: the source warehouse goes down and the destination goes up by the same quantity, on the same date.
  • Same cost on both sides: units leave and arrive at the product's current average cost, so no profit or loss appears.
  • Total unchanged: the business owns exactly what it owned before, so total quantity and total stock value stay where they were.

When should you use a transfer and when an adjustment?

Use a transfer when stock moves between two of your locations and use an adjustment when the total stock the business owns actually changes. The test is simple: after the movement, does the business own more, less or the same?

What happenedDocumentTotal stock value
200 chairs sent from the godown to the shopTransferUnchanged
Steel sheets moved from the main store to a project siteTransferUnchanged
12 chairs found damaged and scrappedAdjustment with a reasonFalls
Physical count finds 5 more racks than the system showsAdjustment with a reasonRises
Goods sent to a customerInvoiceFalls, with cost of goods sold
A transfer never changes what the business owns; an adjustment always does.

The common mistake is to fix a location mismatch with two adjustments: minus 200 at the godown and plus 200 at the shop. The quantities end up right, but the record now says stock was lost and found, and the reasons on both lines are false. A count that finds a shortfall at one location and an excess at another usually means a transfer was never entered. Record the transfer, then recount. The stock audit guide covers the count itself.

What does a transfer cost, and does it make a profit?

A transfer within one business makes no profit, because the units move at the product's current weighted average cost on both sides. The shop does not buy from the godown; the business moves its own goods.

When the average is kept per product across the whole business, a transfer cannot change it: the out side and the in side carry the same cost, so the average before and after is identical. The weighted average cost guide shows how receipts move the average and why issues and transfers do not.

How does a godown to shop transfer look in numbers?

Lakshmi Steel Furnitures, the fictional Coimbatore business on this site, keeps bulk stock in its Main godown at Peelamedu and sells from its Ukkadam store. On Monday the store is down to 50 steel folding chairs before a school order from Sri Vidya Matriculation School, so the store manager asks for 200 more. The average cost of the chair is ₹1,250.

WarehouseQty beforeValue beforeTransferQty afterValue after
Main godown, Peelamedu650₹8,12,500−200450₹5,62,500
Ukkadam store50₹62,500+200250₹3,12,500
Total700₹8,75,0000700₹8,75,000
200 chairs at ₹1,250 each move ₹2,50,000 of value from the godown to the store. The total stays ₹8,75,000.

Each row is quantity × ₹1,250. The godown loses ₹2,50,000 of stock value, the store gains exactly ₹2,50,000, and the inventory account in the books does not move, because both locations sit in the same inventory account. No journal is needed for the business as a whole.

Illustration of stock on hand by warehouse at average cost, with a low-stock row highlighted and a movement ledger.

Stock on hand per warehouse at average cost, with one total for the business.

Is a transfer between branches a supply under GST?

As of October 2026, a transfer between two locations under the same GSTIN is generally not a supply, so it carries no GST and needs no tax invoice. A transfer to a branch registered under a different GSTIN is generally treated as a supply between distinct persons under the CGST Act, and needs a tax invoice.

TransferGST positionWhat to record
Peelamedu godown to Ukkadam store, both under one Tamil Nadu GSTINNot a supplyA stock transfer at average cost; no invoice, no tax
Coimbatore head office to a branch in Kerala with its own GSTINGenerally a taxable supplyA tax invoice from the sending GSTIN, with input credit claimed by the receiving GSTIN

The value to put on a cross-GSTIN invoice, and whether the receiving branch can claim the full credit, are questions with their own rules. Settle them with your chartered accountant before the first shipment, not after the first notice. The multi-branch accounting guide explains when a branch needs its own GSTIN in the first place.

What about goods that are still on the road?

For most small firms, the practical rule is to post the transfer on the day the goods leave and check the quantity when they arrive. Between those two moments the stock shows at the destination, even though it is on a lorry.

With same-day or next-day deliveries the gap is hours, and the receiving end can count against the printed transfer note. Where the journey takes days, some owners add a warehouse called "In transit" and post two transfers, one on dispatch and one on receipt.

  1. Draft the transfer

    Pick the source and destination warehouses, the date and the lines. Check each line against the quantity available at the source.

  2. Post it on dispatch

    The person with approval rights posts the transfer when the goods are loaded. Print the transfer note and send it with the vehicle.

  3. Count on receipt

    The receiving end counts against the note and signs it. If 198 arrive instead of 200, record the 2 as an adjustment at the destination with a reason.

  4. Cancel, do not edit

    If the goods never left, cancel the posted transfer. The cancellation reverses both sides and keeps the history.

Should a contractor keep a warehouse for each site?

A contractor who sends material to several sites gets a far clearer picture with one warehouse per active site. The site warehouse then shows what was sent, and whatever is left at the end is either transferred back or consumed.

  • Send by transfer: cement, pipes or panels go from the main store to "Site: Saravanampatti villa" by transfer, at average cost.
  • Return by transfer: unused stock comes back the same way, so the site's figure falls and the store's rises.
  • Consume by adjustment: material used up on the site leaves through an adjustment with a reason, which moves its cost out of stock.
  • Close the site: when the job ends, the site warehouse should show zero; anything left is either returned or explained.

See how this fits construction and contractors.

How do you keep a stock register per warehouse?

A stock register per warehouse is just the list of movements filtered to one location: opening quantity, every receipt, issue and transfer in date order, and the running balance. If every movement comes from a posted document, the register needs no separate upkeep.

  • Every place that holds stock overnight has its own warehouse, including sites and vans
  • Goods change location only through a posted transfer, never through two adjustments
  • The transfer is posted on dispatch and the receiving end counts against the note
  • Shortages found on receipt are recorded as adjustments with a reason at the destination
  • Each warehouse is counted at least once a quarter, the busy ones monthly
  • The total stock value matches the inventory account at month end
  • Transfers to a different GSTIN are agreed with the CA and carry a tax invoice

When a warehouse register goes below zero, the usual cause is a transfer posted late or not at all. The negative stock guide walks through the fix.

How does SimpleERP handle stock transfers?

SimpleERP records a transfer as its own document between any two warehouses, and posting it writes both movements at the product's weighted average cost. Quantities are kept per warehouse and the average is kept per product across the business, so total stock value does not change.

  • Stock changes only through posted documents: bills, invoices, notes, adjustments, transfers and work orders.
  • Posted transfers cannot be edited. Cancelling one reverses both sides and keeps the full audit history.
  • Adjustments use count mode: enter what you counted and a reason, and the difference posts.
  • The stock screen shows total stock value beside the Inventory account balance and the difference between them.

Read more on the inventory management page, or start with the inventory management guide for the whole picture.

FAQ

Questions, answered

Does a stock transfer between warehouses change stock value?

No. A transfer between your own warehouses moves units at the current average cost, so one location's value falls and the other's rises by the same amount. The business's total stock value and the inventory account stay exactly where they were.

Is GST charged on a stock transfer to another branch?

It depends on the GSTIN. A transfer between locations under the same GSTIN is not a supply and carries no GST. A transfer to a branch with a different GSTIN is generally a supply that needs a tax invoice. Confirm your case with your chartered accountant.

Can I record a godown to shop transfer as two adjustments?

You can, but you should not. Two adjustments say stock was lost at one place and found at another, with reasons that are not true. A transfer records what actually happened, keeps both sides on one document and leaves the total untouched.

What if fewer goods arrive than were sent?

Post the transfer for the quantity that left, then record the shortfall as an adjustment at the receiving warehouse with a reason such as damaged in transit. The transfer stays true to what was dispatched, and the loss shows separately where you can see it.

Does SimpleERP have an in-transit status for transfers?

No. In SimpleERP a posted transfer moves stock immediately. Most small businesses post on dispatch and count on receipt. For long journeys you can create a warehouse named In transit and post one transfer on dispatch and another on arrival.

Run your whole business from one simple place.

Seven days free. No card. Your first GST invoice in minutes.