# Stock movements

> The stock ledger, movement types, and the forms for goods receipt, goods issue, stock transfer and stock status change without a reference document.

URL: https://erpdocs.corexlogic.com/en/stok/ekranlar/stok-hareketleri

**Stok Hareketleri** (Stock Movements) is the stock ledger: every receipt, issue, transfer and status change is added
as a row, and a posted record is never changed. The four forms in the same section post movements without a reference
document (manually); document-based movements such as purchasing goods receipts, sales deliveries and production come
from their own modules and appear in the ledger with their sources.

- **Type:** Screen
- **Module:** Inventory
- **Menu path:** Stok Yönetimi › Mal Hareketleri › Stok Hareketleri · Mal Girişi · Mal Çıkışı · Stok Transferi · Stok Durumu Değişimi (Inventory Management › Goods Movements › Stock Movements · Goods Receipt · Goods Issue · Stock Transfer · Stock Status Change)
- **Screen route:** `/erp/inventory/movements`
- **Required permission:** `erp-inventory-movements.view (defteri görme) · .create (Mal Girişi, Mal Çıkışı, Stok Durumu Değişimi) · .transfer (Stok Transferi)`, `erp-inventory-lots.view (Lot süzgeci) · erp-inventory-costs.view (birim maliyet)`

## Stock ledger

![Stock Movements — stock ledger](https://erpdocs.corexlogic.com/en/en/img/screens/stok/hareket-listesi.png)
1. New Movement — receipt, issue, transfer, status change
2. Source document filter
3. Movement type filter
4. Source — the document behind the movement
5. Movement detail — read only

Columns: **Tarih** (Date; business date, with the creation time below it), **Hareket** (Movement; type + Giriş/Çıkış
(Receipt/Issue) badge; for pairs, "Transfer çifti" (Transfer pair) or "Stok durumu değişimi çifti" (Stock status change
pair)), **Ürün** (Product), **Miktar** (Quantity; with the base quantity below it if there is a unit conversion),
**Konum** (Location; warehouse and storage location), **Stok** (Stock; status and batch/serial number), **Kaynak**
(Source; document and its number; a link if you have permission), **İşlem** (Action; eye icon: movement details).

Filters: **Ara** (Search; product, batch, description), **Ürün** (Product), **Depo** (Warehouse), **Stok Durumu** (Stock
Status), **Lot** (Batch), **Kaynak Belge** (Source Document), **Hareket Türü** (Movement Type), **Yön** (Direction),
**Tarih Aralığı** (Date Range). The **Yeni Hareket** (New Movement) menu: Mal Giriş · Mal Çıkış · Transfer · Stok Durumu
Değişimi (Goods Receipt · Goods Issue · Transfer · Stock Status Change).

The movement details are read-only: "Stok defteri kaydı salt okunurdur. Düzeltme, ters yönlü yeni bir hareketle
yapılır." (A stock ledger record is read-only. Corrections are made with a new movement in the opposite direction.) A
movement without a reference document has no cancel or reversal button — correct an incorrect entry with a new
movement in the opposite direction (a Goods Issue for a receipt, a Goods Receipt for an issue) or with a
[stock adjustment](https://erpdocs.corexlogic.com/en/stok/islemler/stok-duzeltmesi-yapma).

### Movement types

| Type | Direction | Where it originates |
|---|---|---|
| Açılış Bakiyesi (Opening Balance) | Receipt | Açılış Bakiyeleri (Opening Balances) |
| Mal Kabul (Goods Receipt; "Mal Giriş" if without a reference document) | Receipt | Mal Girişi (Goods Receipt) form, purchasing goods receipt |
| Sarf / Çıkış (Consumption / Issue) | Issue | Mal Çıkışı (Goods Issue) form, sales delivery, reservation withdrawal |
| Transfer | Issue + Receipt | Stok Transferi (Stock Transfer), transfer order shipment/arrival, warehouse task |
| Stok Fazlası Düzeltmesi / Stok Eksiği Düzeltmesi (Stock Surplus Adjustment / Stock Shortage Adjustment) | Receipt / Issue | Stok Düzeltmesi (Stock Adjustment), count difference |
| Üretim Sarfı / Üretim Girişi (Production Consumption / Production Receipt) | Issue / Receipt | Production order |
| Çıkış Geri Alma / Giriş Geri Alma (Issue Reversal / Receipt Reversal) | Receipt / Issue | Reversals of adjustments, scrap and deliveries |
| Hurda (Scrap) | Issue | Hurda Fişi (Scrap Document) |
| Stok Durumu Değişimi (Stock Status Change) | Issue + Receipt | Stok Durumu Değişimi (Stock Status Change) form, quality decision |
| Müşteri İadesi (Customer Return) | Receipt | Sales return |
| Yeniden Değerleme (Revaluation) | No quantity | Valuation documents |

## Common form layout

The four forms use the same shell: the section heading on the left, the fields on the right; at the bottom **Temizle**
(Clear) and the save button ("Kaydediliyor…" (Saving…) while saving). When a product is selected, the tracking type
badge and "Temel birim: X" (Base unit: X) appear; for a batch- or serial-managed item, the **İzlenebilirlik**
(Traceability) section opens. The system asks for confirmation when you leave with unsaved changes. The success screen
shows the movement number, a summary and the **Hareket Geçmişini Aç** (Open Movement History) link.

**Hareket Tarihi** (Movement Date) defaults to now; the earliest value is the day allowed by the posting period.
Back-dated posting is available only to users with the 'Geçmiş Tarihli Kayıt' (Back-Dated Posting) permission.

## Goods Receipt

![Goods Receipt — lot-tracked product](https://erpdocs.corexlogic.com/en/en/img/screens/stok/mal-girisi.png)
1. Product — tracking and unit come from the item
2. Warehouse — required
3. Stock status — default if empty; quarantine for inspected items
4. Quantity
5. Lot number — created by this receipt if new
6. Expiry date
7. Post Goods Receipt

| Field | Mandatory | Note |
|---|---|---|
| **Ürün** (Product) | Yes | For an item that requires quality inspection, the note "Bu ürün kalite kontrol gerektiriyor." (This product requires quality inspection.) is shown. |
| **Depo** (Warehouse) | Yes | |
| **Lokasyon** (Storage Location) | If the warehouse requires it | The default is the putaway proposal or the default storage location in the item's warehouse data. A bin without sufficient capacity: "Bu göz yetmiyor: … — kayıt reddedilir." (This bin is not sufficient: … — the posting is rejected.) |
| **Stok Durumu** (Stock Status) | No | If empty, the default status (SIFIR). **For an item that requires quality inspection at receipt, the receipt is posted to the KARANTINA (Quarantine) status** and an inspection lot is opened; if a non-quarantine status is selected, the posting is rejected. |
| **Miktar** (Quantity), **Birim** (Unit) | Yes | The unit comes from the item's units; for a serial-managed item, quantity = the number of serial numbers added. |
| **Lot Numarası** (Batch Number) | For a batch-managed item | Converted to upper case; if it does not exist for the item, it is created with this receipt. **Üretim Tarihi** (Production Date), **Son Kullanma Tarihi** (Expiry Date) and **Tedarikçi Lot No** (Supplier Batch No.) are saved only when the batch is created for the first time. |
| **Seri Numaraları** (Serial Numbers) | For a serial-managed item | Scan them, or type them and click **Ekle** (Add); serial numbers are unique within the item. |
| **Açıklama** (Description) | No | At most 512 characters. |

The save button is **Mal Girişi Kaydet** (Save Goods Receipt). The form has no unit cost field; a receipt with a cost
comes from a purchasing goods receipt or an opening balance.

## Goods Issue

![Goods Issue — FEFO lot selection](https://erpdocs.corexlogic.com/en/en/img/screens/stok/mal-cikisi.png)
1. Stock status — required for issues
2. Status breakdown — quarantined stock cannot be issued
3. FEFO suggestion — earliest expiry lot
4. Quantity
5. Post Goods Issue

- **Stok Durumu (zorunlu)** (Stock Status (mandatory)) — the segment to be reduced is not assumed.
- The **Mevcut Stok** (Current Stock) panel shows the On Hand / Reserved / Available quantity of the selected location
  and the **Durum kırılımı** (Status breakdown). If the available stock is 0, the save button is disabled.
- For a batch-managed item, batches are listed in **FEFO** order (nearest expiry date first); the first suitable batch
  carries the **FEFO önerisi** (FEFO proposal) badge, and the choice is yours. A **Bloke** (Blocked) batch cannot be
  selected. An expired batch is not blocked; a warning appears.
- For a serial-managed item, serial numbers in stock are selected; the quantity is the number of serial numbers
  selected.
- The save button is **Mal Çıkışı Kaydet** (Save Goods Issue). There is no cost center field; write the purpose in
  **Açıklama** (Description).

## Stock Transfer {#stok-transferi}

![Stock Transfer — source and target](https://erpdocs.corexlogic.com/en/en/img/screens/stok/stok-transferi.png)
1. Source warehouse
2. Stock status — same on both legs
3. Target warehouse
4. Target location
5. Complete Transfer — issue and receipt in one step

**Kaynak Depo** (Source Warehouse), **Kaynak Lokasyon** (Source Storage Location), **Stok Durumu (zorunlu)** (Stock
Status (mandatory)), **Hedef Depo** (Target Warehouse), **Hedef Lokasyon** (Target Storage Location), **Miktar**
(Quantity). It is single-step: an issue and a receipt of type Transfer are posted in the same transaction (common
transfer group). A transfer to a different storage location within the same warehouse is allowed; the source and
target locations cannot be the same. The status does not change — both legs are posted in the selected status. If a
batch is selected, the same batch is used at the target. The save button is **Transferi Tamamla** (Complete Transfer).
If the time the goods spend in transit is to be tracked, use a [transfer order](https://erpdocs.corexlogic.com/en/stok/ekranlar/transfer-siparisleri).

## Stock Status Change

![Stock Status Change](https://erpdocs.corexlogic.com/en/en/img/screens/stok/durum-degisimi.png)
1. Warehouse — location does not change
2. Source stock status
3. Target stock status — must differ
4. Quantity — in base unit
5. Change Stock Status

**Depo** (Warehouse), **Lokasyon** (Storage Location), **Kaynak Stok Durumu (zorunlu)** (Source Stock Status
(mandatory)), **Hedef Stok Durumu (zorunlu)** (Target Stock Status (mandatory)), **Miktar** (Quantity; in the base
unit), **İş Tarihi** (Business Date), **Açıklama** (Description). The physical location does not change; a double entry
is created in the ledger as an issue from the source status and a receipt into the target status. The source and target
cannot be the same; an inactive status cannot be selected. The save button is **Stok Durumunu Değiştir** (Change Stock
Status).

> **Goods in quarantine**
Releasing a quality-inspected receipt from quarantine is done with the quality decision on the **Kalite Kontrol**
(Quality Inspection) screen (it is recorded with a second signature and a reason). The Stock Status Change form also
accepts an issue from the quarantine status; do not use it instead of the quality decision.

## Rejection messages {#ret-iletileri}

| Situation | Message |
|---|---|
| No status on an issue/transfer | "Çıkış ve transfer hareketlerinde stok durumu zorunludur — hangi segmentten düşüleceği varsayılamaz." (The stock status is mandatory for issue and transfer movements — the segment to be reduced cannot be assumed.) |
| Insufficient stock | "'\{kod\}' kartının '\{durum\}' durumunda yeterli stok yok. Mevcut: \{x\}, istenen: \{y\}." (There is not enough stock of item '\{kod\}' in status '\{durum\}'. On hand: \{x\}, requested: \{y\}.) |
| Stock allocated to another document | "'\{kod\}' kartının '\{durum\}' durumundaki stoğun bir bölümü başka bir belgeye tahsis edilmiş. Kullanılabilir: \{x\}, istenen: \{y\}. Tahsisi serbest bırakmadan sevk edilemez." (Part of the stock of item '\{kod\}' in status '\{durum\}' is allocated to another document. Available: \{x\}, requested: \{y\}. It cannot be shipped without releasing the allocation.) |
| Issue/transfer from quarantine | "'\{kod\}' kartının '\{durum\}' durumundaki stoğu karantinada — sevk edilemez, sarf edilemez, transfer edilemez. Önce kalite kararı verilmeli (serbest bırak ya da reddet)." (The stock of item '\{kod\}' in status '\{durum\}' is in quarantine — it cannot be shipped, consumed or transferred. A quality decision must be made first (release or reject).) |
| Non-quarantine receipt of an item requiring quality inspection | "'\{kod\}' kalite kontrolü şartlı — giriş yalnız karantina durumuna yazılabilir. Seçilen durum: '\{durum\}'. Mal muayeneden sonra kalite kararıyla kullanılabilir stoğa alınır." ('\{kod\}' requires quality inspection — the receipt can be posted only to the quarantine status. Selected status: '\{durum\}'. After inspection, the goods are moved to available stock with a quality decision.) |
| Item in a count | "'\{kod\}' kartı '\{depo\}' deposunda sayımda (\{sayım no\}) — sayım kaydedilene ya da iptal edilene kadar stok hareketi yazılamaz." (Item '\{kod\}' is being counted in warehouse '\{depo\}' (\{sayım no\}) — no stock movement can be posted until the count is posted or cancelled.) |
| Blocked batch | "'\{lot\}' lotu bloke — çıkış yapılamaz." (Batch '\{lot\}' is blocked — it cannot be issued.) |
| Batch missing | "'\{kod\}' lot takipli — lot numarası zorunludur." ('\{kod\}' is batch-managed — the batch number is mandatory.) |
| Serial number already in stock | "'\{seri\}' seri numarası zaten stokta — ikinci kez giriş yapılamaz." (Serial number '\{seri\}' is already in stock — it cannot be received a second time.) |
| Storage location mandatory | "'\{depo\}' deposunda lokasyon seçimi zorunlu — depo içi lokasyon belirtin." (Selecting a storage location is mandatory in warehouse '\{depo\}' — specify a storage location within the warehouse.) |
| Transfer to the same location | "Transferin kaynağı ile hedefi aynı olamaz." (The source and target of the transfer cannot be the same.) |
| Change to the same status | "Durum değişiminin kaynağı ile hedefi aynı olamaz." (The source and target of the status change cannot be the same.) |
| Inactive item / service item | "'\{kod\}' pasif — pasif stok kartı için hareket oluşturulamaz." ('\{kod\}' is inactive — no movement can be created for an inactive stock item.) · "'\{kod\}' hizmet kartı — stok hareketi oluşturulamaz." ('\{kod\}' is a service item — no stock movement can be created.) |
| Configurable header item | "'\{kod\}' yapılandırılabilir kart — stoğa yalnız sipariş satırına tahsisli girer (satır bağlı üretim emrinin çıktısı). Konfigürasyonu bilinmeyen giriş yapılamaz." ('\{kod\}' is a configurable item — it enters stock only allocated to a sales order line (the output of the production order linked to the line). A receipt with an unknown configuration cannot be posted.) |
| No unit conversion | "'\{kod\}' için '\{birim\}' biriminden temel birime dönüşüm tanımlı değil — farklı birimle hareket oluşturulamaz." (No conversion from unit '\{birim\}' to the base unit is defined for '\{kod\}' — no movement can be created with a different unit.) |
| Closed period | "\{gün\} tarihi kapalı dönemde: kayıtlar \{gün\} dahil kapatıldı. Belgeyi açık bir döneme tarihleyin; kapalı aya kayıt gerekiyorsa dönemin yeniden açılması gerekir (Yönetim › Kayıt Dönemleri)." (The date \{gün\} is in a closed period: postings are closed up to and including \{gün\}. Date the document in an open period; if a posting to the closed month is required, the period must be reopened (Yönetim › Kayıt Dönemleri (Administration › Posting Periods)).) |
| Concurrent change | "Stok bakiyesi bu sırada başka bir işlem tarafından değiştirildi. Lütfen tekrar deneyin." (The stock balance was changed by another transaction in the meantime. Please try again.) |

## Related

- [Post a goods receipt](https://erpdocs.corexlogic.com/en/stok/islemler/mal-girisi-yapma) · [Post a goods issue](https://erpdocs.corexlogic.com/en/stok/islemler/mal-cikisi-yapma)
- [Post a stock transfer](https://erpdocs.corexlogic.com/en/stok/islemler/stok-transferi-yapma) · [Change the stock status](https://erpdocs.corexlogic.com/en/stok/islemler/stok-durumu-degistirme)
